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,70 @@
import * as sanitizeHtml from "sanitize-html";
import define from "../../define.js";
import { Users, UserProfiles } from "../../../../models/index.js";
import { ApiError } from "../../error.js";
import { sendEmail } from "../../../../services/send-email.js";
import { createNotification } from "../../../../services/create-notification.js";
import config from "../../../../config/index.js";
export const meta = {
tags: [
"users"
],
requireCredential: true,
requireModerator: true,
description: "Send a moderation notice.",
errors: {
noSuchUser: {
message: "No such user.",
code: "NO_SUCH_USER",
id: "1acefcb5-0959-43fd-9685-b48305736cb5"
},
noEmail: {
message: "No email for user.",
code: "NO_EMAIL",
id: "ac9d2d22-ef73-11ed-a05b-0242ac120003"
}
}
};
export const paramDef = {
type: "object",
properties: {
userId: {
type: "string",
format: "misskey:id"
},
comment: {
type: "string",
minLength: 1,
maxLength: 2048
}
},
required: [
"userId",
"comment"
]
};
export default define(meta, paramDef, async (ps)=>{
const [user, profile] = await Promise.all([
Users.findOneBy({
id: ps.userId
}),
UserProfiles.findOneBy({
userId: ps.userId
})
]);
if (user == null || profile == null) {
throw new ApiError(meta.errors.noSuchUser);
}
createNotification(user.id, "app", {
customBody: ps.comment,
customHeader: "Moderation Notice",
customIcon: config?.images?.info
});
setImmediate(async ()=>{
const email = profile.email;
if (email == null) {
throw new ApiError(meta.errors.noEmail);
}
sendEmail(email, "Moderation notice", sanitizeHtml(ps.comment), sanitizeHtml(ps.comment));
});
});