Files
outline/server/routes/api/utils.ts
Tom Moor 86f1645199 feat: Automatic invite reminder email (#3354)
* feat: Add user flags concept, for tracking bits on a user

* feat: Example flag usage for user invite resend abuse

* wip

* test

* fix: Set correct flag
2022-04-12 20:12:33 -07:00

31 lines
941 B
TypeScript

import Router from "koa-router";
import { AuthenticationError } from "@server/errors";
import CleanupDeletedDocumentsTask from "@server/queues/tasks/CleanupDeletedDocumentsTask";
import CleanupDeletedTeamsTask from "@server/queues/tasks/CleanupDeletedTeamsTask";
import CleanupExpiredFileOperationsTask from "@server/queues/tasks/CleanupExpiredFileOperationsTask";
import InviteReminderTask from "@server/queues/tasks/InviteReminderTask";
const router = new Router();
router.post("utils.gc", async (ctx) => {
const { token, limit = 500 } = ctx.body;
if (process.env.UTILS_SECRET !== token) {
throw AuthenticationError("Invalid secret token");
}
await CleanupDeletedDocumentsTask.schedule({ limit });
await CleanupExpiredFileOperationsTask.schedule({ limit });
await CleanupDeletedTeamsTask.schedule({ limit });
await InviteReminderTask.schedule();
ctx.body = {
success: true,
};
});
export default router;