import { db } from "../../db/postgre.js";
import { Users } from "../index.js";
import { Muting } from "../entities/muting.js";
import { awaitAll } from "../../prelude/await-all.js";
export const MutingRepository = db.getRepository(Muting).extend({
    async pack (src, me) {
        const muting = typeof src === "object" ? src : await this.findOneByOrFail({
            id: src
        });
        return await awaitAll({
            id: muting.id,
            createdAt: muting.createdAt.toISOString(),
            expiresAt: muting.expiresAt ? muting.expiresAt.toISOString() : null,
            muteeId: muting.muteeId,
            mutee: Users.pack(muting.muteeId, me, {
                detail: true
            })
        });
    },
    packMany (mutings, me) {
        return Promise.all(mutings.map((x)=>this.pack(x, me)));
    }
});
