import { db } from "../../db/postgre.js"; import { Clip } from "../entities/clip.js"; import { Users } from "../index.js"; import { awaitAll } from "../../prelude/await-all.js"; export const ClipRepository = db.getRepository(Clip).extend({ async pack (src) { const clip = typeof src === "object" ? src : await this.findOneByOrFail({ id: src }); return await awaitAll({ id: clip.id, createdAt: clip.createdAt.toISOString(), userId: clip.userId, user: Users.pack(clip.user || clip.userId), name: clip.name, description: clip.description, isPublic: clip.isPublic }); }, packMany (clips) { return Promise.all(clips.map((x)=>this.pack(x))); } });