🧭
Blitz plugin for Prisma-multi-tenant
🧭 Add multi-tenancy to your Blitz application
Installation
npm i -g prisma-multi-tenant # CLI for tenant management
npm i @prisma-multi-tenant/blitz # Blitz plugin
prisma-multi-tenant init # Init multi-tenancy in your Blitz project
Usage
First, add the multiTenantMiddleware
to your blitz.config.js
file:
const { multiTenantMiddleware } = require('@prisma-multi-tenant/blitz')
module.exports = {
// ...
middleware: [
multiTenantMiddleware((req, res) => {
// The name can come from anywhere (headers, token, ...)
return 'dev' // or 'my_tenant_A' or anything
}),
],
}
Note: Restart the server after modifying
blitz.config.js
Then, in your queries and mutations, access the tenant from the context:
export default async function getProjects(args, ctx) {
const projects = await ctx.db.project.findMany(args)
return projects
}
Example
Check out an example application using Blitz and the multi-tenant plugin here.
Documentation
Read more on how prisma-multi-tenant
can help you achieve multi-tenancy for your apps:
-
✨ Getting Started✨ - Complete documentation
- How to integrate with:
-
Examples
- Basic (JS)
- Basic (TS)
- Express
- Apollo
- Blitz
- Redwood
- Bison (TODO)
- Issues with Vercel
- Contributing guide
Author
- Twitter: @Errorname_
- Github: @Errorname
- Prisma's Slack: @Errorname
🤝 Contributors
Contributions, issues, and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a
📝 License
Copyright © 2020 Thibaud Courtoison.
This project is MIT licensed.