calckey/packages/backend/src/models/repositories/user-group-invitation.ts

24 lines
673 B
TypeScript

import { db } from "@/db/postgre.js";
import { UserGroupInvitation } from "@/models/entities/user-group-invitation.js";
import { UserGroups } from "../index.js";
export const UserGroupInvitationRepository = db
.getRepository(UserGroupInvitation)
.extend({
async pack(src: UserGroupInvitation["id"] | UserGroupInvitation) {
const invitation =
typeof src === "object" ? src : await this.findOneByOrFail({ id: src });
return {
id: invitation.id,
group: await UserGroups.pack(
invitation.userGroup || invitation.userGroupId,
),
};
},
packMany(invitations: any[]) {
return Promise.all(invitations.map((x) => this.pack(x)));
},
});