Open zailaib opened 6 months ago
not working code
// tenant-isolation.js import Utils from '~/server/Utils'; export default defineNuxtPlugin({ name: 'switch-tenant-db', async setup(nuxtApp) { const url = nuxtApp.ssrContext?.event?.node?.req?.url; console.log("url is:", url); if (url == "/my" || url == "/login") { console.log("do not switch tenant db"); } else { const cookieStr = nuxtApp.ssrContext?.event?.headers.get("cookie") || ""; const cookies = Utils.parseCookiesByStr(cookieStr); console.log("cookies is:", cookies); const tenant_id = cookies.tenant_id; const dbName = `tenant_${tenant_id}`; // 根据租户标识符构建数据库名称 console.log("switch tenant db"); if (nuxtApp.ssrContext && nuxtApp.ssrContext.runtimeConfig) { nuxtApp.ssrContext.runtimeConfig = Object.assign({}, nuxtApp.ssrContext.runtimeConfig, { mongoose: { uri: nuxtApp.ssrContext.runtimeConfig.mongoose.uri, options: { dbName: dbName, }, modelsDir: nuxtApp.ssrContext.runtimeConfig.mongoose.modelsDir }, }); console.log("after switch is:", nuxtApp.ssrContext?.runtimeConfig?.mongoose); } } } });
not working code