diff options
Diffstat (limited to 'src/server/api/endpoints/users/groups/invite.ts')
| -rw-r--r-- | src/server/api/endpoints/users/groups/invite.ts | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/server/api/endpoints/users/groups/invite.ts b/src/server/api/endpoints/users/groups/invite.ts index 503184a92f..bd32b00a63 100644 --- a/src/server/api/endpoints/users/groups/invite.ts +++ b/src/server/api/endpoints/users/groups/invite.ts @@ -3,9 +3,10 @@ import { ID } from '../../../../../misc/cafy-id'; import define from '../../../define'; import { ApiError } from '../../../error'; import { getUser } from '../../../common/getters'; -import { UserGroups, UserGroupJoinings, UserGroupInvites } from '../../../../../models'; +import { UserGroups, UserGroupJoinings, UserGroupInvitations } from '../../../../../models'; import { genId } from '../../../../../misc/gen-id'; -import { UserGroupInvite } from '../../../../../models/entities/user-group-invite'; +import { UserGroupInvitation } from '../../../../../models/entities/user-group-invitation'; +import { createNotification } from '../../../../../services/create-notification'; export const meta = { desc: { @@ -86,19 +87,24 @@ export default define(meta, async (ps, me) => { throw new ApiError(meta.errors.alreadyAdded); } - const invite = await UserGroupInvites.findOne({ + const existInvitation = await UserGroupInvitations.findOne({ userGroupId: userGroup.id, userId: user.id }); - if (invite) { + if (existInvitation) { throw new ApiError(meta.errors.alreadyInvited); } - await UserGroupInvites.save({ + const invitation = await UserGroupInvitations.save({ id: genId(), createdAt: new Date(), userId: user.id, userGroupId: userGroup.id - } as UserGroupInvite); + } as UserGroupInvitation); + + // 通知を作成 + createNotification(user.id, me.id, 'groupInvited', { + userGroupInvitationId: invitation.id + }); }); |