Fix report emails and modmail sanitization

This commit is contained in:
Essem 2023-07-19 19:53:07 -05:00
parent 2c3d222d3b
commit 4174e3d070
No known key found for this signature in database
GPG Key ID: 7D497397CC3A2A8C
2 changed files with 15 additions and 12 deletions

View File

@ -1,4 +1,4 @@
import * as sanitizeHtml from "sanitize-html";
import sanitizeHtml from "sanitize-html";
import define from "../../define.js";
import { Users, UserProfiles } from "@/models/index.js";
import { ApiError } from "../../error.js";

View File

@ -1,12 +1,14 @@
import * as sanitizeHtml from "sanitize-html";
import * as mfm from "mfm-js";
import sanitizeHtml from "sanitize-html";
import { publishAdminStream } from "@/services/stream.js";
import { AbuseUserReports, Users } from "@/models/index.js";
import { AbuseUserReports, UserProfiles, Users } from "@/models/index.js";
import { genId } from "@/misc/gen-id.js";
import { sendEmail } from "@/services/send-email.js";
import { fetchMeta } from "@/misc/fetch-meta.js";
import { getUser } from "../../common/getters.js";
import { ApiError } from "../../error.js";
import define from "../../define.js";
import { toHtml } from "@/mfm/to-html.js";
export const meta = {
tags: ["users"],
@ -84,6 +86,7 @@ export default define(meta, paramDef, async (ps, me) => {
],
});
const meta = await fetchMeta();
for (const moderator of moderators) {
publishAdminStream(moderator.id, "newAbuseUserReport", {
id: report.id,
@ -91,16 +94,16 @@ export default define(meta, paramDef, async (ps, me) => {
reporterId: report.reporterId,
comment: report.comment,
});
}
const meta = await fetchMeta();
if (meta.email) {
sendEmail(
meta.email,
"New abuse report",
sanitizeHtml(ps.comment),
sanitizeHtml(ps.comment),
);
const profile = await UserProfiles.findOneBy({ userId: moderator.id });
if (profile?.email) {
sendEmail(
profile.email,
"New abuse report",
sanitizeHtml(toHtml(mfm.parse(ps.comment))!),
sanitizeHtml(toHtml(mfm.parse(ps.comment))!),
);
}
}
});
});