O que são Organizações?
Uma Organização representa uma instituição ou empresa dentro da plataforma. Todo conteúdo — usuários, alunos, testes, turmas — pertence a uma organização.
Isso permite que múltiplas instituições usem a mesma instalação do AssessIQ com dados completamente isolados.
Estrutura
Organização
├── Usuários (ADMIN, PROFESSOR)
├── Alunos
├── Professores (perfil)
├── Candidatos
├── Testes / Formulários
└── Submissões
Planos de Organização
As organizações têm um campo plan que pode ser usado para controlar funcionalidades:
| Plano | Descrição |
|---|
free | Plano gratuito com recursos básicos |
pro | Recursos avançados habilitados |
enterprise | Customizações e suporte dedicado |
Gerenciando Organizações
Somente ADMIN e SUPER_ADMIN podem gerenciar organizações.
Acesso: Menu lateral → Admin → Organizações
Criar Nova Organização
- Clique em Nova Organização
- Preencha:
- Nome — nome da instituição
- Slug — identificador único (URL-friendly, ex.:
edufuturo)
- Logo — URL da imagem
- Plano — free, pro ou enterprise
- Confirme com Salvar
Editar ou Desativar
Clique no menu de ações (⋮) da organização desejada para editar dados ou desativar a organização. Organizações desativadas continuam no banco com isActive: false.
Vinculando Usuários a Organizações
Ao criar um usuário, é possível atribuí-lo diretamente a uma organização via o campo Organização no formulário de criação.
Para mover um usuário entre organizações, edite o usuário e altere o campo organizationId.
Isolamento de Dados
Todas as queries do Prisma filtram por organizationId automaticamente via getOrgId():
import { getOrgId } from "@/lib/org";
const orgId = await getOrgId();
const students = await prisma.student.findMany({
where: { organizationId: orgId },
});
SUPER_ADMIN pode visualizar dados de todas as organizações ao mesmo tempo. Os demais roles veem apenas a própria organização.