import Fastify, { type FastifyInstance } from 'fastify'; import type { Controller } from './Controller'; import { registerAuthHook } from './authHook'; export interface BuildServerOptions { secretKey: string; controllers: Controller[]; } export function buildServer(options: BuildServerOptions): FastifyInstance { const app = Fastify({ logger: false }); registerAuthHook(app, options.secretKey); for (const controller of options.controllers) { controller.register(app); } return app; }