Skip to main content

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:
PlanoDescrição
freePlano gratuito com recursos básicos
proRecursos avançados habilitados
enterpriseCustomizaçõ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

  1. Clique em Nova Organização
  2. Preencha:
    • Nome — nome da instituição
    • Slug — identificador único (URL-friendly, ex.: edufuturo)
    • Logo — URL da imagem
    • Plano — free, pro ou enterprise
  3. 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.