グループ招待の通知とか

Resolve #5880
Resolve #5927
This commit is contained in:
syuilo 2020-02-13 02:17:54 +09:00
parent 037d4b581b
commit 2feef81516
17 changed files with 163 additions and 82 deletions

View file

@ -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
});
});