diff options
| author | Adam Soltys <[email protected]> | 2023-02-06 16:48:13 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-02-06 16:48:13 -0800 |
| commit | 9c667055c6367e1b2e239686e72f52995679a47e (patch) | |
| tree | 0b1d4aee51ec2d4e92d08a9d1404ba4e2ecd462a /lib/app.js | |
| parent | 15294844dbc8e73b4d1e92008a7eebc6b86b9ec5 (diff) | |
| parent | 6f5602d112b68adb7452abf3047f20c32e7725b6 (diff) | |
| download | coinos-server-9c667055c6367e1b2e239686e72f52995679a47e.tar.gz coinos-server-9c667055c6367e1b2e239686e72f52995679a47e.zip | |
Merge branch 'master' into test
Diffstat (limited to 'lib/app.js')
| -rw-r--r-- | lib/app.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/app.js b/lib/app.js new file mode 100644 index 00000000..4691786a --- /dev/null +++ b/lib/app.js @@ -0,0 +1,40 @@ +import config from "$config"; +import fastify from "fastify"; +import fastifyWs from "@fastify/websocket"; +import fastifyMultipart from "@fastify/multipart"; +import fastifyStatic from "@fastify/static"; +import fastifyPassport from "@fastify/passport"; +import fastifySecureSession from "@fastify/secure-session"; + +import path from "path"; +import pino from "pino"; + +import { jwtStrategy } from "$lib/auth"; +import { socketServer } from "$lib/sockets"; + +const app = fastify({ + logger: pino(), + disableRequestLogging: true, + maxParamLength: 500 +}); + +app.register(fastifySecureSession, { + key: Buffer.from(config.jwt, "hex") +}); + +app.register(fastifyPassport.initialize()); +app.register(fastifyPassport.secureSession()); + +fastifyPassport.use("jwt", jwtStrategy); + +app.register(fastifyMultipart); + +app.register(fastifyStatic, { + root: path.join("/app/data/uploads"), + prefix: "/public/" +}); + +app.register(fastifyWs); +app.register(socketServer); + +export default app; |
