aboutsummaryrefslogtreecommitdiffstats
path: root/lib/app.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-01-17 12:33:17 -0800
committerAdam Soltys <[email protected]>2023-01-17 12:33:17 -0800
commit4b51fb8325acafac4e9231754dc58663f6431e1e (patch)
tree20614504eb55d4620048c1875e26ccd1e4794a06 /lib/app.js
parent31823676432b637f2cd8314ca0e1ce890219b9b4 (diff)
downloadcoinos-server-4b51fb8325acafac4e9231754dc58663f6431e1e.tar.gz
coinos-server-4b51fb8325acafac4e9231754dc58663f6431e1e.zip
rename app
Diffstat (limited to 'lib/app.js')
-rw-r--r--lib/app.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/app.js b/lib/app.js
new file mode 100644
index 00000000..af2bd59f
--- /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/uploads"),
+ prefix: "/public/"
+});
+
+app.register(fastifyWs);
+app.register(socketServer);
+
+export default app;