diff options
Diffstat (limited to 'src/server/api/endpoints/users/groups')
3 files changed, 31 insertions, 25 deletions
diff --git a/src/server/api/endpoints/users/groups/invitations/accept.ts b/src/server/api/endpoints/users/groups/invitations/accept.ts index 33779dd349..cb5cb7bd05 100644 --- a/src/server/api/endpoints/users/groups/invitations/accept.ts +++ b/src/server/api/endpoints/users/groups/invitations/accept.ts @@ -2,14 +2,14 @@ import $ from 'cafy'; import { ID } from '../../../../../../misc/cafy-id'; import define from '../../../../define'; import { ApiError } from '../../../../error'; -import { UserGroupJoinings, UserGroupInvites } from '../../../../../../models'; +import { UserGroupJoinings, UserGroupInvitations } from '../../../../../../models'; import { genId } from '../../../../../../misc/gen-id'; import { UserGroupJoining } from '../../../../../../models/entities/user-group-joining'; export const meta = { desc: { 'ja-JP': 'ユーザーグループへの招待を承認します。', - 'en-US': 'Accept invite of a user group.' + 'en-US': 'Accept invitation of a user group.' }, tags: ['groups', 'users'], @@ -19,11 +19,11 @@ export const meta = { kind: 'write:user-groups', params: { - inviteId: { + invitationId: { validator: $.type(ID), desc: { 'ja-JP': '招待ID', - 'en-US': 'The invite ID' + 'en-US': 'The invitation ID' } }, }, @@ -39,15 +39,15 @@ export const meta = { export default define(meta, async (ps, user) => { // Fetch the invitation - const invite = await UserGroupInvites.findOne({ - id: ps.inviteId, + const invitation = await UserGroupInvitations.findOne({ + id: ps.invitationId, }); - if (invite == null) { + if (invitation == null) { throw new ApiError(meta.errors.noSuchInvitation); } - if (invite.userId !== user.id) { + if (invitation.userId !== user.id) { throw new ApiError(meta.errors.noSuchInvitation); } @@ -56,8 +56,8 @@ export default define(meta, async (ps, user) => { id: genId(), createdAt: new Date(), userId: user.id, - userGroupId: invite.userGroupId + userGroupId: invitation.userGroupId } as UserGroupJoining); - UserGroupInvites.delete(invite.id); + UserGroupInvitations.delete(invitation.id); }); diff --git a/src/server/api/endpoints/users/groups/invitations/reject.ts b/src/server/api/endpoints/users/groups/invitations/reject.ts index e9e7bc8b48..b9c25c7670 100644 --- a/src/server/api/endpoints/users/groups/invitations/reject.ts +++ b/src/server/api/endpoints/users/groups/invitations/reject.ts @@ -2,12 +2,12 @@ import $ from 'cafy'; import { ID } from '../../../../../../misc/cafy-id'; import define from '../../../../define'; import { ApiError } from '../../../../error'; -import { UserGroupInvites } from '../../../../../../models'; +import { UserGroupInvitations } from '../../../../../../models'; export const meta = { desc: { 'ja-JP': 'ユーザーグループへの招待を拒否します。', - 'en-US': 'Reject invite of a user group.' + 'en-US': 'Reject invitation of a user group.' }, tags: ['groups', 'users'], @@ -17,11 +17,11 @@ export const meta = { kind: 'write:user-groups', params: { - inviteId: { + invitationId: { validator: $.type(ID), desc: { 'ja-JP': '招待ID', - 'en-US': 'The invite ID' + 'en-US': 'The invitation ID' } }, }, @@ -37,17 +37,17 @@ export const meta = { export default define(meta, async (ps, user) => { // Fetch the invitation - const invite = await UserGroupInvites.findOne({ - id: ps.inviteId, + const invitation = await UserGroupInvitations.findOne({ + id: ps.invitationId, }); - if (invite == null) { + if (invitation == null) { throw new ApiError(meta.errors.noSuchInvitation); } - if (invite.userId !== user.id) { + if (invitation.userId !== user.id) { throw new ApiError(meta.errors.noSuchInvitation); } - await UserGroupInvites.delete(invite.id); + await UserGroupInvitations.delete(invitation.id); }); 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 + }); }); |