From cfb1f69ffb97438affa0c53e4479fb79ee01fb88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Mon, 2 Oct 2023 16:08:12 -0400 Subject: [PATCH] refactor(server/middleware): move common logic for maintaining a database connection to another file --- lib/server/plugnplay.ts | 20 ++++++++++++++++++++ plugins/01.db.server.ts | 15 +++++++++++++++ server/middleware/00.dbconn.ts | 27 ++++++++------------------- 3 files changed, 43 insertions(+), 19 deletions(-) create mode 100644 lib/server/plugnplay.ts create mode 100644 plugins/01.db.server.ts diff --git a/lib/server/plugnplay.ts b/lib/server/plugnplay.ts new file mode 100644 index 0000000..76520c2 --- /dev/null +++ b/lib/server/plugnplay.ts @@ -0,0 +1,20 @@ +import mongoose from "mongoose"; +import { Biffno } from "~/models/challenges/biffno"; +import { Ficmas } from "~/models/challenges/ficmas"; +import { Challenge } from "~/models/challenges/gen"; + +export default async function () { + let beep = useRuntimeConfig(); + Challenge; + Biffno; + Ficmas; + console.log(mongoose.connection.modelNames); + console.log(beep); + try { + await mongoose.connect(beep.database.uri); + // if (!!!mongoose.connections.length) + } catch (e) { + console.error(e); + throw createError({ statusCode: 500, message: "whoops." }); + } +} diff --git a/plugins/01.db.server.ts b/plugins/01.db.server.ts new file mode 100644 index 0000000..3316ee9 --- /dev/null +++ b/plugins/01.db.server.ts @@ -0,0 +1,15 @@ +import mongoose from "mongoose"; +import * as net from "net"; +import plugnplay from "~/lib/server/plugnplay"; +import { Biffno } from "~/models/challenges/biffno"; +import { Ficmas } from "~/models/challenges/ficmas"; +import { Challenge } from "~/models/challenges/gen"; +export default defineNuxtPlugin({ + name: "mongo", + // enforce: 'pre', + async setup(nuxtApp) { + // net.setDefaultAutoSelectFamily(true) + console.log("plugin->connecting........"); + await plugnplay(); + }, +}); diff --git a/server/middleware/00.dbconn.ts b/server/middleware/00.dbconn.ts index 8f498cd..047d229 100644 --- a/server/middleware/00.dbconn.ts +++ b/server/middleware/00.dbconn.ts @@ -1,19 +1,8 @@ -import mongoose from "mongoose" -import {Ficmas} from "~/models/challenges/ficmas" -import {Challenge} from "~/models/challenges/gen" -import {Biffno} from "~/models/challenges/biffno" - -export default eventHandler(async (event) => { - let beep = useRuntimeConfig() - console.log(beep) - Challenge; - Biffno; - Ficmas; - try { - console.log("connecting........") - await mongoose.connect(beep.database.uri) - } catch(e) { - console.error(e) - throw createError({statusCode: 500, message: "whoops."}) - } -}) \ No newline at end of file +import mongoose from "mongoose"; +import plugnplay from "~/lib/server/plugnplay"; + +export default eventHandler(async (event) => { + console.log("mid->connecting........"); + + await plugnplay(); +});