Funcionalidades
Espaços de trabalho
A raiz da hierarquia, e a única fronteira de isolamento do NoteBugs.
Um espaço de trabalho (tenant, no código e na API) é um NoteBugs inteiro dentro do mesmo NoteBugs: colunas próprias, projetos próprios, etiquetas próprias, cards próprios. Nada atravessa a fronteira, nem um vínculo entre dois cards.
Para que existe
- Separar contextos que não se misturam: o trabalho de um cliente, o time interno, os projetos pessoais.
- Dar a cada contexto o próprio conjunto de colunas: um quadro de suporte não tem as mesmas etapas de um quadro de produto.
- Ser a unidade de acesso: uma pessoa é membro de alguns espaços e simplesmente não vê os outros.
Como funciona
- 1Um espaço novo nasce com as 5 colunas padrão, criadas na mesma transação. Não há seed nem passo de configuração.
- 2Card, projeto, etiqueta e coluna carregam
tenantId, e ele é imutável: nenhum schema de edição aceita esse campo. - 3O epic é a exceção: ele herda o espaço do projeto, e por isso
POST /api/epicsnão pedetenantId. - 4Quem não é membro de espaço nenhum recebe um quadro vazio, e não um erro: é um estado da conta.
Pontos de atenção
- O último espaço não é apagado. A checagem acontece dentro da transação, para que duas requisições simultâneas não passem as duas.
- Apagar leva tudo junto (cards, projetos, epics, etiquetas, comentários e os arquivos no volume), e por isso a rota exige a frase
APAGAR TENANTno corpo. - O número do card (`#42`) é único na instalação inteira, e não por espaço: ele serve para citar o card num commit, então dois
#42em espaços diferentes não podem existir. - A ordem dos espaços tem rota própria (
/api/tenants/order) e recebe um subconjunto, como epics e colunas.