34 lines
767 B
TypeScript
34 lines
767 B
TypeScript
import define from '../../../define';
|
|
import { UserGroups, UserGroupJoinings } from '../../../../../models';
|
|
import { types, bool } from '../../../../../misc/schema';
|
|
|
|
export const meta = {
|
|
desc: {
|
|
'ja-JP': '自分の所属するユーザーグループ一覧を取得します。'
|
|
},
|
|
|
|
tags: ['groups', 'account'],
|
|
|
|
requireCredential: true,
|
|
|
|
kind: 'read:user-groups',
|
|
|
|
res: {
|
|
type: types.array,
|
|
optional: bool.false, nullable: bool.false,
|
|
items: {
|
|
type: types.object,
|
|
optional: bool.false, nullable: bool.false,
|
|
ref: 'UserGroup',
|
|
}
|
|
},
|
|
};
|
|
|
|
export default define(meta, async (ps, me) => {
|
|
const joinings = await UserGroupJoinings.find({
|
|
userId: me.id,
|
|
});
|
|
|
|
return await Promise.all(joinings.map(x => UserGroups.pack(x.userGroupId)));
|
|
});
|