mirror of
https://github.com/saltbo/zpan.git
synced 2026-09-01 05:44:38 +08:00
23 lines
785 B
TypeScript
23 lines
785 B
TypeScript
import { OpenAPIHono } from '@hono/zod-openapi'
|
|
import { AuthorizationScope } from '@shared/authorization'
|
|
import { adminOverviewSchema } from '@shared/schemas'
|
|
import type { Env } from '../middleware/platform'
|
|
import { getAdminOverview } from '../usecases/admin-overview'
|
|
import { authRoute, jsonContent } from './openapi'
|
|
|
|
const route = authRoute(
|
|
{ scopes: [AuthorizationScope.SITE_ANALYTICS_READ], siteRole: 'admin' },
|
|
{
|
|
operationId: 'getSiteAnalytics',
|
|
summary: 'Get site analytics',
|
|
tags: ['Site Analytics'],
|
|
method: 'get',
|
|
path: '/',
|
|
responses: { 200: jsonContent(adminOverviewSchema, 'Site analytics') },
|
|
},
|
|
)
|
|
|
|
export const adminOverview = new OpenAPIHono<Env>().openapi(route, async (c) =>
|
|
c.json(await getAdminOverview(c.get('deps')), 200),
|
|
)
|