SGEProduto · Domínio · Desenvolvimento
Repositório

technical-hub · planned

Services

Índice dos serviços de domínio planejados para cálculos, documentos, snapshots e transições.

Services concentram regras que combinam dados, mas não representam por si só um caso de uso com autorização e efeitos colaterais. Actions orquestram transações, Policies autorizam e Jobs executam trabalho assíncrono.

Inventário planejado

ServiçoContrato
InternshipEndDateCalculatorprevisão reproduzível de término.
InternshipGradeCalculatornota do supervisor e soma consolidada.
InternshipSnapshotBuildercria snapshots tipados no aceite sem buscar dados atuais depois.
InternshipStateTransitionServiceguardas puras de transição do estágio.
InternshipExecutionStatusResolverdetermina o estado de execução para uma data e uma pausa ativa, sem efeitos colaterais.
EvaluationStateTransitionServiceguardas de edição, envio, retorno, aprovação e cancelamento.
RegistrationRequestApprovalServiceassocia/cria supervisor ou concedente em transação.
EmancipationReviewServiceaprova/devolve prova sem expor arquivo no log.
TemplateVariableCatalog / TemplateValidatorcatálogo e validação de DOCX.
DocumentSnapshotBuilder / DocumentVariableResolvercontexto histórico e valores do documento.
RemunerationParagraphFormatter / DocxDocumentGeneratortexto jurídico e geração temporária.

O conjunto documental é detalhado em Geração de documentos DOCX e variáveis. Nenhum desses serviços deve retornar resposta HTTP, ler sessão global ou decidir permissão do usuário.

Actions correspondentes

  • AcceptInternshipRequest — valida cadastros/aceite, cria estágio com snapshots e jornada inicial em uma transação;
  • RecalculateProjectedEndDate — bloqueia o estágio, calcula, persiste resultado/base e registra auditoria;
  • ApproveSupervisorEvaluation — valida carga, escolhe avaliação vigente e recalcula notas;
  • UpdateAdvisorGrades — autoriza o orientador e recalcula a nota consolidada;
  • GenerateInternshipDocument — gera e registra documento de forma idempotente;
  • ReviewInternshipCancellationRequest — decide, aplica efeitos e inicia a rescisão documental.
  • SynchronizeInternshipExecutionStatus — bloqueia o estágio, aplica a transição temporal válida, audita e notifica sem duplicar eventos;
  • NotifyProjectedInternshipEnd — cria o único lembrete de sete dias para o discente e o resumo interno diário do Setor, de forma idempotente;
  • NotifySignatureAvailability — valida os interessados selecionados, cria os avisos internos/externos adequados e despacha e-mail após o commit.

Regra de teste

Services puros recebem DTOs/objetos de valor e têm testes unitários sem banco quando possível. Actions têm testes de feature cobrindo transação, concorrência, autorização, Activity Log, notificações e rollback.