30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
import { db } from "../../db/postgre.js";
|
|
import { Users } from "../index.js";
|
|
import { VerifiedBadgeRequest } from "../entities/verified-badge-request.js";
|
|
import { awaitAll } from "../../prelude/await-all.js";
|
|
export const VerifiedBadgeRequestRepository = db.getRepository(VerifiedBadgeRequest).extend({
|
|
async pack (src) {
|
|
const request = typeof src === "object" ? src : await this.findOneByOrFail({
|
|
id: src
|
|
});
|
|
return await awaitAll({
|
|
id: request.id,
|
|
createdAt: request.createdAt.toISOString(),
|
|
resolvedAt: request.resolvedAt?.toISOString() ?? null,
|
|
status: request.status,
|
|
comment: request.comment,
|
|
userId: request.userId,
|
|
resolverId: request.resolverId,
|
|
user: Users.pack(request.user || request.userId, null, {
|
|
detail: true
|
|
}),
|
|
resolver: request.resolverId ? Users.pack(request.resolver || request.resolverId, null, {
|
|
detail: true
|
|
}) : null
|
|
});
|
|
},
|
|
packMany (requests) {
|
|
return Promise.all(requests.map((x)=>this.pack(x)));
|
|
}
|
|
});
|