ssag-core-def-01-contexto-projeto.mddocs/core/def/ssag-core-def-01-contexto-projeto.mdDefinir oficialmente o conceito de Projeto no SSAG.Core e como o contexto ativo é resolvido, propagado e consumido pelas camadas (UI, API e Application).
No SSAG.Core, Projeto representa:
📌 Regra de Ouro: nenhuma operação relevante ocorre fora de um Projeto ativo.
ProjectContext fica disponível no circuito do BlazorVantagens:
Riscos/atenções:
Projeto ativo por request
Informado em toda requisição via:
ssag:project_id)X-SSAG-ProjectId)Vantagens:
Riscos/atenções:
Esse modelo evita retrabalho e suporta:
ProjectContext é o objeto canônico que representa o projeto ativo durante a execução.
public class ProjectContext
{
public string ProjectId { get; init; } = default!;
public IReadOnlyList<string> ModulosHabilitados { get; init; } = Array.Empty<string>();
public bool HasModulo(string moduloId)
=> ModulosHabilitados.Contains(moduloId);
}
ProjectContext| Elemento | Papel |
|---|---|
| SYS_PRJ | Catálogo de projetos |
| SYS_PRJ_MOD | Módulos habilitados por projeto |
| Claims | Transporte do contexto |
| ProjectContext | Consumo interno e governança |
O SSAG.Core opera como framework orientado a contexto: o Projeto ativo é parte da governança, segurança e execução.
⬆️ Voltar para a Raiz: ssag-core.md
➡️ Próximo: ssag-core-def-02-seguranca-claims.md