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,42 @@
import { MemorietArchives, Memoriets, Notes, Users } from "../../../models/index.js";
import deleteNote from "../../../services/note/delete.js";
import { queueLogger } from "../../logger.js";
import { genId } from "../../../misc/gen-id.js";
const logger = queueLogger.createSubLogger("check-expired-memoriets");
export async function checkExpiredMemoriets() {
logger.info("Checking expired Memoriets...");
const expired = await Memoriets.createQueryBuilder("memoriet").where("memoriet.expiresAt IS NOT NULL").andWhere("memoriet.expiresAt < :now", {
now: new Date()
}).getMany();
for (const memoriet of expired){
const note = await Notes.findOneBy({
id: memoriet.noteId
});
if (note != null) {
const user = await Users.findOneBy({
id: note.userId
});
if (user != null) {
await MemorietArchives.save({
id: genId(),
createdAt: memoriet.createdAt,
deletedAt: new Date(),
userId: memoriet.userId,
text: note.text?.replace(/\n?#Memoriet\b/gi, "").trim() || null,
cw: note.cw,
fileIds: note.fileIds,
textLayers: memoriet.textLayers,
visibility: note.visibility
}).catch((err)=>{
logger.warn(`Failed to archive expired Memoriet ${memoriet.id}: ${err}`);
});
await deleteNote(user, note, true).catch((err)=>{
logger.warn(`Failed to delete expired Memoriet note ${note.id}: ${err}`);
});
}
}
await Memoriets.delete(memoriet.id);
}
logger.succ("All expired Memoriets checked.");
return `done: ${expired.length}`;
}