feat(pockethost): Cron-based webhooks

This commit is contained in:
Ben Allfree 2025-08-07 21:05:23 +00:00
parent d5e850041e
commit 42d2085f69
2 changed files with 5 additions and 0 deletions

View File

@ -9,6 +9,9 @@ routerAdd("POST", "/api/instance", (c) => {
routerAdd("DELETE", "/api/instance/:id", (c) => { routerAdd("DELETE", "/api/instance/:id", (c) => {
return require(`${__hooks}/mothership`).HandleInstanceDelete(c); return require(`${__hooks}/mothership`).HandleInstanceDelete(c);
}, $apis.requireRecordAuth()); }, $apis.requireRecordAuth());
routerAdd("POST", "/api/instance/:id/webhook/test", (c) => {
return require(`${__hooks}/mothership`).HandleInstanceWebhookTest(c);
}, $apis.requireRecordAuth());
routerAdd("GET", "/api/instance/resolve", (c) => { routerAdd("GET", "/api/instance/resolve", (c) => {
return require(`${__hooks}/mothership`).HandleInstanceResolve(c); return require(`${__hooks}/mothership`).HandleInstanceResolve(c);
}, $apis.requireAdminAuth()); }, $apis.requireAdminAuth());

View File

@ -2,6 +2,7 @@ import {
InstanceFields, InstanceFields,
InstanceId, InstanceId,
LoggerService, LoggerService,
LogLevelName,
mkInstanceUrl, mkInstanceUrl,
mkSingleton, mkSingleton,
MothershipAdminClientService, MothershipAdminClientService,
@ -16,6 +17,7 @@ export type CronServiceConfig = SingletonBaseConfig & {}
export const CronService = mkSingleton(async (config: Partial<CronServiceConfig>) => { export const CronService = mkSingleton(async (config: Partial<CronServiceConfig>) => {
const mirror = await MothershipMirrorService() const mirror = await MothershipMirrorService()
const logger = (config.logger ?? LoggerService()).create(`CronService`) const logger = (config.logger ?? LoggerService()).create(`CronService`)
logger.setLevel(LogLevelName.Debug)
const { dbg, error, info, warn } = logger const { dbg, error, info, warn } = logger
info(`Starting`) info(`Starting`)