@@ -1,5 +1,5 @@
|
||||
import { EntityRepository, Repository } from 'typeorm';
|
||||
import { Users, Notes } from '..';
|
||||
import { Users, Notes, UserGroupInvitations } from '..';
|
||||
import { Notification } from '../entities/notification';
|
||||
import { ensure } from '../../prelude/ensure';
|
||||
import { awaitAll } from '../../prelude/await-all';
|
||||
@@ -39,7 +39,10 @@ export class NotificationRepository extends Repository<Notification> {
|
||||
...(notification.type === 'pollVote' ? {
|
||||
note: Notes.pack(notification.note || notification.noteId!, notification.notifieeId),
|
||||
choice: notification.choice
|
||||
} : {})
|
||||
} : {}),
|
||||
...(notification.type === 'groupInvited' ? {
|
||||
invitation: UserGroupInvitations.pack(notification.userGroupInvitationId!),
|
||||
} : {}),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
24
src/models/repositories/user-group-invitation.ts
Normal file
24
src/models/repositories/user-group-invitation.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { EntityRepository, Repository } from 'typeorm';
|
||||
import { UserGroupInvitation } from '../entities/user-group-invitation';
|
||||
import { UserGroups } from '..';
|
||||
import { ensure } from '../../prelude/ensure';
|
||||
|
||||
@EntityRepository(UserGroupInvitation)
|
||||
export class UserGroupInvitationRepository extends Repository<UserGroupInvitation> {
|
||||
public async pack(
|
||||
src: UserGroupInvitation['id'] | UserGroupInvitation,
|
||||
) {
|
||||
const invitation = typeof src === 'object' ? src : await this.findOne(src).then(ensure);
|
||||
|
||||
return {
|
||||
id: invitation.id,
|
||||
group: await UserGroups.pack(invitation.userGroup || invitation.userGroupId),
|
||||
};
|
||||
}
|
||||
|
||||
public packMany(
|
||||
invitations: any[],
|
||||
) {
|
||||
return Promise.all(invitations.map(x => this.pack(x)));
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
import { EntityRepository, Repository } from 'typeorm';
|
||||
import { UserGroupInvite } from '../entities/user-group-invite';
|
||||
import { UserGroups } from '..';
|
||||
import { ensure } from '../../prelude/ensure';
|
||||
|
||||
@EntityRepository(UserGroupInvite)
|
||||
export class UserGroupInviteRepository extends Repository<UserGroupInvite> {
|
||||
public async pack(
|
||||
src: UserGroupInvite['id'] | UserGroupInvite,
|
||||
) {
|
||||
const invite = typeof src === 'object' ? src : await this.findOne(src).then(ensure);
|
||||
|
||||
return {
|
||||
id: invite.id,
|
||||
group: await UserGroups.pack(invite.userGroup || invite.userGroupId),
|
||||
};
|
||||
}
|
||||
|
||||
public packMany(
|
||||
invites: any[],
|
||||
) {
|
||||
return Promise.all(invites.map(x => this.pack(x)));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user