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,45 @@
import { genId } from "../../misc/gen-id.js";
import { ScheduledNotes, Users } from "../../models/index.js";
import { createNoteFromApiData } from "./create-from-api.js";
export async function scheduleNote(user, data, scheduledAt) {
return await ScheduledNotes.save({
id: genId(),
createdAt: new Date(),
scheduledAt,
userId: user.id,
status: "scheduled",
data,
noteId: null,
error: null
});
}
export async function publishScheduledNote(scheduledNoteId) {
const scheduled = await ScheduledNotes.findOneBy({
id: scheduledNoteId
});
if (!scheduled) return "skip: scheduled note not found";
if (scheduled.status !== "scheduled") return `skip: status=${scheduled.status}`;
if (scheduled.scheduledAt.getTime() > Date.now() + 1000) return "skip: not due yet";
await ScheduledNotes.update(scheduled.id, {
status: "processing",
error: null
});
try {
const user = await Users.findOneByOrFail({
id: scheduled.userId
});
const note = await createNoteFromApiData(user, scheduled.data, scheduled.scheduledAt);
await ScheduledNotes.update(scheduled.id, {
status: "published",
noteId: note.id,
error: null
});
return `published: ${note.id}`;
} catch (err) {
await ScheduledNotes.update(scheduled.id, {
status: "failed",
error: err?.message ?? String(err)
});
throw err;
}
}