/
Centermant
/
web-nodejs
Обзор
Документация
Войти
/
Centermant
/
web-nodejs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/server.js
57 строк
2 KB
Centermant
feat(lab11)
16 дек 2025, 00:57
16 дек 2025, 00:57
01b83c7
Код
Авторство
О чём код?
import Fastify from 'fastify'; import FastifyStatic from '@fastify/static'; import fastifyPostgres from '@fastify/postgres'; import fastifyCookie from '@fastify/cookie'; import fastifyJwt from '@fastify/jwt'; import dotenv from 'dotenv'; import path from 'path'; import { fileURLToPath } from 'url'; dotenv.config({ path: '.env.local' }); const fastify = Fastify({ logger: true }); const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); fastify.register(fastifyJwt, { secret: process.env.SECRET_KEY }); fastify.decorate("authenticate", async function(request, reply){ try{ await request.jwtVerify(); } catch(err){ reply.code(401).send({ error: "Unauthorized" }); } }); // Регистрация плагина для работы с PostgreSQL fastify.register(fastifyPostgres, { connectionString: process.env.DATABASE_URL }); // Регистрация плагина для работы с cookies fastify.register(fastifyCookie); // Регистрация плагина для статики fastify.register(FastifyStatic, { root: path.join(__dirname, '..', 'public'), index: "index.html", wildcard: false }); // Импорт и регистрация роутов import lab7Routes from './src/routes/lab7/index.js'; fastify.register(lab7Routes, { prefix: '/api/lab7' }); import lab8Routes from './src/routes/lab8/index.js'; fastify.register(lab8Routes, { prefix: '/api/lab8' }); import lab9Routes from './src/routes/lab9/index.js'; fastify.register(lab9Routes, { prefix: '/api/lab9' }); import lab10Task1Routes from './src/routes/lab10/task1.js'; fastify.register(lab10Task1Routes, { prefix: '/api/lab10' }); import lab10Task2Routes from './src/routes/lab10/task2.js'; fastify.register(lab10Task2Routes, { prefix: '/api/lab10/task2' }); import lab11Routes from './src/routes/lab11/index.js'; fastify.register(lab11Routes, { prefix: '/api/lab11/' }); const start = async () => { try { await fastify.listen({ port: 3000, host: '0.0.0.0' }); } catch (err) { fastify.log.error(err); process.exit(1); } }; start();