47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
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 <token>",
|
||
type: "http",
|
||
bearerFormat: "JWT",
|
||
scheme: "bearer",
|
||
},
|
||
},
|
||
},
|
||
},
|
||
hideUntagged: true,
|
||
},
|
||
swaggerUIOptions: {
|
||
routePrefix: "/swagger",
|
||
uiConfig: {
|
||
docExpansion: "full",
|
||
deepLinking: false,
|
||
},
|
||
},
|
||
};
|