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

48 lines
1.1 KiB
JavaScript

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
});
});