Files
2026-07-26 18:25:37 +09:00

31 lines
976 B
JavaScript

import { db } from "../../db/postgre.js";
import { App } from "../entities/app.js";
import { AccessTokens } from "../index.js";
export const AppRepository = db.getRepository(App).extend({
async pack (src, me, options) {
const opts = Object.assign({
detail: false,
includeSecret: false,
includeProfileImageIds: false
}, options);
const app = typeof src === "object" ? src : await this.findOneByOrFail({
id: src
});
return {
id: app.id,
name: app.name,
callbackUrl: app.callbackUrl,
permission: app.permission,
...opts.includeSecret ? {
secret: app.secret
} : {},
...me ? {
isAuthorized: await AccessTokens.countBy({
appId: app.id,
userId: me.id
}).then((count)=>count > 0)
} : {}
};
}
});