import define from "../../../define.js"; import { Plans, UserPlans, Users } from "../../../../../models/index.js"; import { genId } from "../../../../../misc/gen-id.js"; import { insertModerationLog } from "../../../../../services/insert-moderation-log.js"; export const meta = { tags: [ "admin" ], requireCredential: true, requireAdmin: true }; export const paramDef = { type: "object", properties: { userId: { type: "string", format: "misskey:id" }, planId: { type: "string", format: "misskey:id" } }, required: [ "userId", "planId" ] }; export default define(meta, paramDef, async (ps, me)=>{ await Users.findOneByOrFail({ id: ps.userId }); await Plans.findOneByOrFail({ id: ps.planId }); const exists = await UserPlans.findOneBy({ userId: ps.userId, planId: ps.planId }); if (exists) return; await UserPlans.insert({ id: genId(), createdAt: new Date(), userId: ps.userId, planId: ps.planId }); insertModerationLog(me, "addUserPlan", { targetId: ps.userId, planId: ps.planId }); });