[Snow Team] core-infra: auto-commit work

This commit is contained in:
yml
2026-05-21 22:23:08 +08:00
parent 9656a92c8f
commit 5a5bcea904
3 changed files with 60 additions and 3 deletions
+39
View File
@@ -207,3 +207,42 @@ function formatResponseDateTime(value) {
return `${tokens.year}-${tokens.month}-${tokens.day} ${tokens.hour}:${tokens.minute}:${tokens.second}`
}
type RouteHandlerOptions = {
successMessage?: string
errorMessage?: string
scope?: string
}
type RouteFileHandlerOptions = {
errorMessage?: string
scope?: string
}
export function createRouteHandler(
action: (req: any, res: any) => unknown | Promise<unknown>,
{ successMessage = 'ok', errorMessage, scope }: RouteHandlerOptions = {},
) {
return async (req, res) => {
try {
const data = await action(req, res)
res.json(buildSuccessPayload(data, successMessage))
} catch (error) {
sendRouteError(res, error, errorMessage, scope)
}
}
}
export function createRouteFileHandler(
action: (req: any, res: any) => string | Promise<string>,
{ errorMessage, scope }: RouteFileHandlerOptions = {},
) {
return async (req, res) => {
try {
const filePath = await action(req, res)
res.sendFile(filePath)
} catch (error) {
sendRouteError(res, error, errorMessage, scope)
}
}
}