feat: migrate to Nuxt 4 (Nitro) and Tailwind CSS v3

This commit is contained in:
RhenCloud 2026-08-13 17:43:33 +08:00
parent f4959eebf8
commit b139712a91
No known key found for this signature in database
GPG key ID: A574A617378C4E0B
166 changed files with 19790 additions and 5539 deletions

View file

@ -0,0 +1,20 @@
import { pruneAuditLogs } from "../lib/lib/audit";
import { cfEnv } from "../lib/cf";
import { log } from "../lib/lib/log";
/** Scheduled: prune audit log entries past AUDIT_RETENTION_DAYS (cron every 5 minutes). */
export default defineTask({
meta: { name: "audit:prune", description: "Prune old audit log entries" },
async run(event) {
try {
const env = cfEnv(event);
const days = Math.max(Number(env.AUDIT_RETENTION_DAYS ?? 90) || 90, 1);
const removed = await pruneAuditLogs(env.DB, days);
if (removed > 0) log.info({ removed }, "Pruned audit logs");
return { result: "ok", removed };
} catch (err) {
log.error({ err }, "Audit log prune from cron failed");
return { result: "error" };
}
},
});

View file

@ -0,0 +1,17 @@
import { syncCommands } from "../lib/drivers/discord/commands";
import { cfEnv } from "../lib/cf";
import { log } from "../lib/lib/log";
/** Scheduled: sync Discord application commands (cron every 5 minutes). */
export default defineTask({
meta: { name: "discord:sync", description: "Sync Discord application commands" },
async run(event) {
try {
await syncCommands(cfEnv(event));
return { result: "ok" };
} catch (err) {
log.error({ err }, "Discord command sync from cron failed");
return { result: "error" };
}
},
});

View file

@ -0,0 +1,17 @@
import { syncTelegramWebhook } from "../lib/drivers/telegram/commands";
import { cfEnv } from "../lib/cf";
import { log } from "../lib/lib/log";
/** Scheduled: sync the Telegram webhook URL (cron every 5 minutes). */
export default defineTask({
meta: { name: "telegram:sync", description: "Sync Telegram webhook URL" },
async run(event) {
try {
await syncTelegramWebhook(cfEnv(event));
return { result: "ok" };
} catch (err) {
log.error({ err }, "Telegram webhook sync from cron failed");
return { result: "error" };
}
},
});