Merge pull request #1346 from akihikodaki/user

Implement Activity Streams representation of user
This commit is contained in:
syuilo
2018-04-01 12:27:16 +09:00
committed by GitHub
4 changed files with 63 additions and 55 deletions

View File

@ -278,61 +278,6 @@ export const pack = (
resolve(_user);
});
/**
* Pack a user for ActivityPub
*
* @param user target
* @return Packed user
*/
export const packForAp = (
user: string | mongo.ObjectID | IUser
) => new Promise<any>(async (resolve, reject) => {
let _user: any;
const fields = {
// something
};
// Populate the user if 'user' is ID
if (mongo.ObjectID.prototype.isPrototypeOf(user)) {
_user = await User.findOne({
_id: user
}, { fields });
} else if (typeof user === 'string') {
_user = await User.findOne({
_id: new mongo.ObjectID(user)
}, { fields });
} else {
_user = deepcopy(user);
}
if (!_user) return reject('invalid user arg.');
const userUrl = `${config.url}/@@${_user._id}`;
resolve({
"@context": ["https://www.w3.org/ns/activitystreams", {
"@language": "ja"
}],
"type": "Person",
"id": userUrl,
"following": `${userUrl}/following.json`,
"followers": `${userUrl}/followers.json`,
"liked": `${userUrl}/liked.json`,
"inbox": `${userUrl}/inbox.json`,
"outbox": `${userUrl}/outbox.json`,
"sharedInbox": `${config.url}/inbox`,
"url": `${config.url}/@${_user.username}`,
"preferredUsername": _user.username,
"name": _user.name,
"summary": _user.description,
"icon": [
`${config.drive_url}/${_user.avatarId}`
]
});
});
/*
function img(url) {
return {