Fixed 267U.pre2

This commit is contained in:
2026-07-26 18:25:37 +09:00
parent 50bfaeafdf
commit 317d00a284
1286 changed files with 80222 additions and 1 deletions
@@ -0,0 +1,51 @@
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
});
});
@@ -0,0 +1,38 @@
import define from "../../../define.js";
import { Plans, UserPlans, Users } from "../../../../../models/index.js";
export const meta = {
tags: [
"admin"
],
requireCredential: true,
requireAdmin: true
};
export const paramDef = {
type: "object",
properties: {
userId: {
type: "string",
format: "misskey:id"
}
},
required: [
"userId"
]
};
export default define(meta, paramDef, async (ps)=>{
await Users.findOneByOrFail({
id: ps.userId
});
const joins = await UserPlans.find({
where: {
userId: ps.userId
},
relations: [
"plan"
],
order: {
createdAt: "ASC"
}
});
return await Plans.packMany(joins.map((join)=>join.plan).filter((plan)=>plan != null));
});
@@ -0,0 +1,40 @@
import define from "../../../define.js";
import { UserPlans, Users } from "../../../../../models/index.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 UserPlans.delete({
userId: ps.userId,
planId: ps.planId
});
insertModerationLog(me, "removeUserPlan", {
targetId: ps.userId,
planId: ps.planId
});
});