import fastify from 'fastify' import getOrCreateSqlite from './db/sqlite.js' // get config import config from './_config.js' config() // create server const server = fastify() // add rate limit import rateLimit from '@fastify/rate-limit' server.register(rateLimit, { max: process.env.APP_RATE_LIMIT_MAX, timeWindow: process.env.APP_RATE_LIMIT_TIMEWINDOW }) /** * * */ server.decorate('db', () => { return getOrCreateSqlite({ 'uri': process.env.APP_SQLITE_URI_MAIN, 'create': true, 'readwrite': true }) }) /** * routing * */ import flowHttp from './http/api/flow.js' server .register(flowHttp, { 'prefix': '/api/flow/v1' }) export default server