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

52 lines
1.2 KiB
JavaScript

import { publishMainStream } from "../../../services/stream.js";
import { Users, Pages } from "../../../models/index.js";
import define from "../define.js";
import { ApiError } from "../error.js";
export const meta = {
requireCredential: true,
secure: true,
errors: {
noSuchPage: {
message: "No such page.",
code: "NO_SUCH_PAGE",
id: "4a13ad31-6729-46b4-b9af-e86b265c2e74"
}
}
};
export const paramDef = {
type: "object",
properties: {
pageId: {
type: "string",
format: "misskey:id"
},
event: {
type: "string"
},
var: {}
},
required: [
"pageId",
"event"
]
};
export default define(meta, paramDef, async (ps, user)=>{
const page = await Pages.findOneBy({
id: ps.pageId
});
if (page == null) {
throw new ApiError(meta.errors.noSuchPage);
}
publishMainStream(page.userId, "pageEvent", {
pageId: ps.pageId,
event: ps.event,
var: ps.var,
userId: user.id,
user: await Users.pack(user.id, {
id: page.userId
}, {
detail: true
})
});
});