Ir para o conteúdo principal

[Gov.Doc] Alterações necessárias para descontinuar o uso do contexto

Data de elaboração 04/11/2022
Responsável pelo estudo

Nara Carolina Galvão Feitosa

Raissa de Sousa Stodulski
Taillon Miguel Gonçalves

Vinicius da Rosa Pereira
Ádelle Camarão Monteiro

Equipe do estudo Tambakiss
Alvo Gov.Doc
Origem

Melhorar implementação já feita pois o contexto é para ser usado somente na API

Objetivo Se o contexto e regras de negócios centralizarem no Gov.Doc API, irá parar de gerar trabalho dobrado. Hoje, se alterar algo no Gov.Doc, precisa alterar no Gov.Doc API também.
Documentação correlata (opcional)
Observações


1. Introdução

Para cessar implementações duplicadas no Gov.Doc e Gov.Doc API, se deixarmos o contexto e toda a regra de negócio na API, podemos implementar novas funcionalidades ou corrigir as já existentes somente na API. 

2. Alterações necessárias

 2.1 BlocosDeAssinaturas

  • Index
    • [API]API] Criar endpoint paraBlocosDeAssinaturas/Cpf/{cpf} buscar- blocosnome dedo assinaturasmétodo pelo CPFBuscarPorCpf
    • [Sistema]Sistema] Chamar novo endpoint BuscarPorCpf
  • Recebidos
    • [API]API] Criar endpoint paraBlocosDeAssinaturas/Recebidos/{cpf} buscar- blocosnome dedo assinaturasmétodo peloRecebidos
      • Filtrar: CPF, justificativa de recusa nula e status diferente de assinado
    • [Sistema]Sistema] Chamar novo endpoint Recebidos
  • Criar
    • [API]API] Criar endpoint paraDocumentos/Cpf/{cpf} buscar- nome do método documentosBuscarPorCpf pelo
      • Parâmetros 
        • IdBlocoDeAssinatura, opcional
        • PodeAdicionarNoBloco, opcional
      • Filtrar: CPF, não excluído.
        • Se PodeAdicionarNoBloco for true, filtrar os sem bloco e não excluído
          • Parâmetro opcional: idBlocoDeAssinatura
          • Filtro vai ficar: sem bloco ou com oonde IdBlocoDeAssinatura = idBlocoDeAssinaturaIdBlocoDeAssinatura (se for informado por parâmetro)
      • [Sistema]Sistema] Chamar novo endpoint no Criar (Get)
        BuscarPorCpf

  • Editar
    • [Sistema]Sistema] Chamar endpoint existente BlocoDeAssinatura/BlocosDeAssinaturas/{id} (Get) no Editar (Get)
  • DetalhesBlocoRecebido
    • [Sistema]Sistema] Chamar endpoint existente BlocoDeAssinatura/BlocosDeAssinaturas/{id} (Get)
  • Detalhes
    • [Sistema]Sistema] Chamar endpoint existente BlocoDeAssinatura/BlocosDeAssinaturas/{id} (Get)
  • Recusar
    • [Sistema]Sistema] Chamar endpoint existente BlocoDeAssinatura/BlocosDeAssinaturas/{id} (Get)
    • [API]API] Criar endpoint BlocosDeAssinaturas/Recusar - nome do método Recusar
    • [Sistema]Sistema] Chamar novo endpoint Recusar

2.2 Documentos

  • Index
    • [Sistema]Sistema] Chamar novos endpointsendpoints: BuscarPorId, Buscar e BuscarPorCpf
    • [API]API] Criar endpoint Modelos/{id} - nome do método BuscarPorId
    • [API]API] Criar endpoint Modelos - nome do método Buscar
    • [API]API] CriarAlterar endpoint paracriado consultarDocumentos/Cpf/{cpf} - nome do método BuscarPorCpf
      • Parâmetros novos:
        • IncluirDocumentosCompartilhados, opcional
        • IncluirArquivados, opcional
      • Filtrar:
        • Se IncluirDocumentosCompartilhados for true, trazer documentos compartilhados com o cpf
        • ou
        • Se criadosIncluirArquivados pelofor cpffalse, quefiltrar os documentosoos foramarquivados.
        • excluídos
        nem
      • arquivados
  • Autenticidade
    • [API]API] Criar endpoint paraDocumentos/Numeracao/{numeracao} consultar- documentosnome comdo aquelamétodo numeraçãoBuscarPorNumeracao
    • [Sistema]Sistema] Chamar novo endpoint BuscarPorNumeracao
  • Arquivados
    • [API]API] Criar endpoint paraDocumentos/Arquivados/{cpf} consultar- documentosnome arquivadosdo (método Arquivados
      • Filtrar: não excluídos, daquele cpf e arquivados)arquivados
    • [Sistema]Sistema] Chamar novo endpoint Arquivados
  • Criar
    • [API]API] Chamar novos endpointsendpoints: criadosBuscarPorId
        e
      • ConsultarBuscar todos os modelos
      • Consultar modelo pelo id
      (modelos)
  • Editar
    • [Sistema]Sistema] Chamar endpoint existente para buscar documento pelo IdDocumentos/{id}
  • Restringir
    • [API]API] Criar endpoint Documentos/{id}/Restringir - nome do método Restringir
    • [Sistema]Sistema] Chamar novo endpoint Restringir
  • Remover restrição
    • [API]API] Criar endpoint Documentos/{id}/RemoverRestrição - nome do método RemoverRestricao
    • [Sistema]Sistema] Chamar novo endpoint RemoverRestricao
  • Excluir
    • [API]API] Criar endpoint Documentos/{id} (DELETE) - nome do método Excluir
    • [Sistema]Sistema] Chamar novo endpoint Excluir
  • Historico
    • [Sistema]Sistema] Chamar endpoint existente para buscar documento pelo IdDocumentos/{id}
  • Visualizar
    • [Sistema]Sistema] Chamar endpoint existente para buscar documento pelo IdDocumentos/{id}
    • [API]API] Criar endpoint AlterarCodigoVerificadorDocumentos/{id}/AtualizarCodigoVerificador - nome do método AtualizarCodigoVerificador
    • [Sistema]Sistema] Chamar novo endpoint AtualizarCodigoVerificador
  • Compartilhar
    • [Sistema]Sistema] Chamar endpoint existente para buscar documento pelo IdDocumentos/{id}
  • Assinar
    • [Sistema]Sistema] Chamar endpoint existente para buscar documento pelo IdDocumentos/{id}
    • [Sistema]Sistema] Chamar novo endpoint AlterarCodigoVerificadorAtualizarCodigoVerificador
  • Desarquivar
    • [API]API] Criar endpoint Documentos/{id}/Desarquivar - nome do método Desarquivar
    • [Sistema]Sistema] Chamar novo endpoint Desarquivar
  • asdGerarLog
    • [Sistema] Chamar endpoint existente Documentos/{id}
    • asd[API] Criar endpoint Documentos/{id}/Historico (POST) - nome do método RegistrarNoHistorico
    • [Sistema] Chamar novo endpoint RegistrarNoHistorico

    Conforme

  • visto no fórum do Stack Overflow, seria só mudar o tipo do parâmetro para lista e quando passar o parâmetro, repetir o

2.3 DocumentosEditor

  • Todas as actions
    • [API] Criar endpoint Editor/FontsFamilies - nome do método Fontes
    • [API] Criar endpoint Editor/FontsSizes - nome do método TamanhosFontes
    • [API] Criar endpoint Editor/Tools - nome do método Ferramentas
    • [Sistema] Chamar novos endpoints: Fontes, TamanhosFontes e Ferramentas

2.4 Erros

ConforNão possui acesso ao contexto.

2.5 Home

  • Painel
    • [API] Criar controller/endpoint Painel (GET) - nome do método Buscar
    • [Sistema] Chamar novo endpoint Buscar

2.6 Imagens

Não possui acesso ao contexto.

2.7 Modelos

  • Index
    •  [API] Alterar endpoint criado Modelos - nome do método Buscar
      • Parâmetros novos:
        • IncluirNumeracaoDoUltimoDocumento, opcional
      • Filtrar:
        • Se IncluirNumeracaoDoUltimoDocumento for true, pegar numeração do último documento do modelo
    • [Sistema] Chamar novo endpoint: Buscar
  • Criar
    • [API] Criar endpoint Modelos (POST) - nome do método Criar
    • [Sistema] Chamar novo endpoint Criar
  • Editar
    • [API] Criar endpoint Modelos/{id} (PUT) - nome do método Editar
    • [Sistema] Chamar novo endpoint Editar
  • Ativar
    • [API] Criar endpoint Modelos/{id}/Ativar - nome do método Ativar
    • [Sistema] Chamar novo endpoint Ativar
  • Desativar
    • [API] Criar endpoint Modelos/{id}/Ativar - nome do método Desativar
    • [Sistema] Chamar novo endpoint Desativar

2.8 PatchNotes

Não possui acesso ao contexto.

2.9 Sistemas

  • Index
    • [API] Criar controller/endpoint Sistemas (GET) - nome do método Buscar
    • [Sistema] Chamar novo endpoint Buscar
  • Criar
    • [API] Criar controller/endpoint Sistemas (POST) - nome do método Criar
    • [Sistema] Chamar novo endpoint Criar
  • Detalhes
    • [API] Criar endpoint Sistemas/{id} (GET) - nome do método BuscarPorId
    • [Sistema] Chamar novo endpoint BuscarPorId

2.10 UsuariosExterno

  • SolicitarAssinatura
    • [API] Criar endpoint Documentos/{id}/SolicitarAssinatura - nome do método SolicitarAssinatura
    • [Sistema] Chamar novo endpoint SolicitarAssinatura
3.Conclusão

Concluímos que essaessas alteraçãões necessárias para descontinuar o deveuso atenderdo acontexto. necessidade.O projeto ainda é passível de outras soluçõesmelhorias casocomo essa nãpadrão atenda mas que acreditamos não será necessário, pois essa alteração é simples e de baixaAPI complexidade.Restful.