UNPKG

@fangcha/backend-kit

Version:
58 lines (45 loc) 1.56 kB
import { SpecFactory } from '@fangcha/router' import { RetainedHealthApis } from '@fangcha/app-models' import { _FangchaState } from '../../main' const factory = new SpecFactory('Health Apis') factory.prepare(RetainedHealthApis.Ping, async (ctx) => { ctx.body = 'PONG' }) factory.prepare(RetainedHealthApis.PingHealth, async (ctx) => { await _FangchaState.checkHealth() ctx.body = _FangchaState.retainHealthWord || 'PONG' }) factory.prepare(RetainedHealthApis.PingAuth, async (ctx) => { ctx.body = 'PONG' }) factory.prepare(RetainedHealthApis.PingPrint, async (ctx) => { console.info('query: ', JSON.stringify(ctx.request.query, null, 2)) ctx.body = 'PONG' }) factory.prepare(RetainedHealthApis.PingPrint2, async (ctx) => { console.info('query: ', JSON.stringify(ctx.request.query, null, 2)) console.info('body: ', JSON.stringify(ctx.request.body, null, 2)) ctx.body = 'PONG' }) factory.prepare(RetainedHealthApis.PingQuery, async (ctx) => { ctx.body = ctx.request.query }) factory.prepare(RetainedHealthApis.PingFullData, async (ctx) => { ctx.body = { headers: ctx.request.headers, query: ctx.request.query, bodyData: ctx.request.body, } }) factory.prepare(RetainedHealthApis.PingError, async (_ctx) => { throw new Error('Ping Error Test') }) factory.prepare(RetainedHealthApis.SystemInfoGet, async (ctx) => { ctx.body = _FangchaState.appInfo() }) export const HealthSpecs = factory.buildSpecs() export const HealthDocItem = { name: '健康检查', pageURL: '/api-docs/v1/health', specs: HealthSpecs, }