Executando verificação de segurança...
1

Dúvida | Nest.js + Prisma com multi-tenancy

estou construindo uma aplicação onde estou usando nest.js + prisma para o backend. Queria saber como eu posso implementar um sistema de multi tenancy, para resolver o problema de cross-tenant data(um usuario pegar o dado de outro). Como vocês lidam com esse problema nas aplicações de vocês?

Carregando publicação patrocinada...
1

Tenho a tabela tenant, e todos as demais tabelas tem relação com ela, direta ou indiretamente.

Em todas as requisições, passe o id do tenant e liste somente os registros certos.

Ja vi gente falando em usar múltiplos bancos de dados e até múltiplos schemas do PostgreSQL. Cada caso é um caso. No meu caso optei pelo mais simples.

1

então, em relação a queries, estou fazendo isso e está funcionando corretamente. meu maior problema agora é na parte do create, por Ex: tenho produto 1 no tenant 1, e vou fazer um orçamento no tenant 2, se eu colocar o produto 1 no orçamento, ele gera, o que está errado. eu queria uma forma de validar isso ou algo parecido.

1
1
1
1

No meu caso eu tenho usuários que pertencem a tenants e usuários que não pertencem a nenhum, como administradores.

Dessa forma, eu tenho uma tabela user_role que relaciona os usuários às suas permissões. Ou seja, o mesmo usuário pode estar em vários tenants. Essa tabela tem o id do usuário, o id da permissão e o id do tenant. esse último não é obrigatório. Um usuário pode ser administrador do sistema e ser operador de um tenant, por exemplo.