import define from "../../define.js"; import { ApiError } from "../../error.js"; import { Apps } from "../../../../models/index.js"; export const meta = { tags: [ "app" ], errors: { noSuchApp: { message: "No such app.", code: "NO_SUCH_APP", id: "dce83913-2dc6-4093-8a7b-71dbb11718a3" } }, res: { type: "object", optional: false, nullable: false, ref: "App" } }; export const paramDef = { type: "object", properties: { appId: { type: "string", format: "misskey:id" } }, required: [ "appId" ] }; export default define(meta, paramDef, async (ps, user, token)=>{ const isSecure = user != null && token == null; // Lookup app const ap = await Apps.findOneBy({ id: ps.appId }); if (ap == null) { throw new ApiError(meta.errors.noSuchApp); } return await Apps.pack(ap, user, { detail: true, includeSecret: isSecure && ap.userId === user.id }); });