Fixed 267U.pre2
This commit is contained in:
@@ -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}`;
|
||||
}
|
||||
Reference in New Issue
Block a user