UNPKG

node-tenancy

Version:

Making multi-tenancy easier with Node.js & typescript

40 lines (33 loc) 1.06 kB
import {Elysia} from "elysia"; import {APIRoutes} from "../routes/APIRoutes"; import {config, TenantSchema} from "node-tenancy"; import {Schema} from "mongoose"; // import {getMessages, publishMessage} from "../controllers/RabbitmqController"; import {getMessages, publishMessage} from "../controllers/RedisController"; const app = new Elysia(); interface User { username: string; email: string; active: boolean; createdAt: Date; } const userSchema = new Schema<User>({ username: String, email: {type: String, required: true}, active: {type: Boolean, default: true}, createdAt: {type: Date, default: Date.now} }); getMessages('test', true).then().catch(e => console.log(e)); publishMessage('test', {'message': 'test'}, true).then().catch(e => console.log(e)); // Configure tenancy config.setConfig({ central_domains: ["admin.myapp.com"], tenant_schemas: { "User": userSchema }, central_schemas: { "Tenant": TenantSchema } }); app.use(APIRoutes); app.listen(process.env.PORT ?? 3000);