import type { FastifyServerOptions } from "fastify"; import type { FastifyDynamicSwaggerOptions } from "@fastify/swagger"; import type { FastifySwaggerUiOptions } from "@fastify/swagger-ui"; type Default = { readonly fastifyOptions: FastifyServerOptions; readonly swaggerOptions: FastifyDynamicSwaggerOptions; readonly swaggerUIOptions: FastifySwaggerUiOptions; }; export const DEFAULT: Default = { fastifyOptions: { logger: true, ajv: { customOptions: { removeAdditional: "failing" }, }, bodyLimit: 30 * 1024 * 1024, }, swaggerOptions: { openapi: { info: { title: "Hub Admin Backend", description: "Тестирование сервиса админ панели хаба", version: "0.1.0", }, components: { securitySchemes: { bearer: { description: "Authorization header token, sample: Bearer ", type: "http", bearerFormat: "JWT", scheme: "bearer", }, }, }, }, hideUntagged: true, }, swaggerUIOptions: { routePrefix: "/swagger", uiConfig: { docExpansion: "full", deepLinking: false, }, }, };