Admin endpoints
This commit is contained in:
@ -1,17 +1,37 @@
|
||||
// @flow
|
||||
import User from '../models/User';
|
||||
|
||||
function present(ctx: Object, user: User) {
|
||||
type Options = {
|
||||
includeDetails?: boolean,
|
||||
};
|
||||
|
||||
type UserPresentation = {
|
||||
id: string,
|
||||
username: string,
|
||||
name: string,
|
||||
avatarUrl: ?string,
|
||||
email?: string,
|
||||
isAdmin?: boolean,
|
||||
};
|
||||
|
||||
export default (
|
||||
ctx: Object,
|
||||
user: User,
|
||||
options: Options = {}
|
||||
): UserPresentation => {
|
||||
ctx.cache.set(user.id, user);
|
||||
|
||||
return {
|
||||
id: user.id,
|
||||
username: user.username,
|
||||
name: user.name,
|
||||
email: user.email,
|
||||
avatarUrl:
|
||||
user.avatarUrl || (user.slackData ? user.slackData.image_192 : null),
|
||||
};
|
||||
}
|
||||
const userData = {};
|
||||
userData.id = user.id;
|
||||
userData.username = user.username;
|
||||
userData.name = user.name;
|
||||
userData.avatarUrl =
|
||||
user.avatarUrl || (user.slackData ? user.slackData.image_192 : null);
|
||||
|
||||
export default present;
|
||||
if (options.includeDetails) {
|
||||
userData.isAdmin = user.isAdmin;
|
||||
userData.email = user.email;
|
||||
}
|
||||
|
||||
return userData;
|
||||
};
|
||||
|
Reference in New Issue
Block a user