# MIGRAÇÃO DOS ARQUIVOS DO RAI PARA O FILEWS ## Segurança * Neste momento, não será usado o recurso de id temporário do filews. Pode ser feito depois. * Usar o id temporário requer reratoração profunda de frontend e backend devido à maneira que o rai opera. * De qualquer forma, a segurança vai melhorar pois o token passará a ser checado, o que não acontece hoje. ## Fase 1 - Alterações no filews * A infra deve mapear a pasta /home/bu/arquivos/ para ser visível na maquina do filews. * Criar no filews o endpoint filews.ssp.go.gov.br/proxy para acessar os arquivos estatáticos da /home/bu/arquivos/. * Apontar o DNS arquivos.ssp.go.gov.br para filews.ssp.go.gov.br/proxy * O filews.ssp.go.gov.br/proxy também reconhece se o **ID** do arquivo é **rai** OU **filews**. * Se o ID for rai, continua buscando o arquivo na /home/bu/arquivos/. * Se o ID for filews, chekar se namespace é "rai" e fazer loadArquivo sem checkar token (emulando como é hoje). * Criar endpoint /migrarArquivosRAI/{origem}/{tamnhoLote} * Criar as colunas OLD_FILE_PATH e STATUS_MIGRACAO para cada campo a ser migrado no schema BU. Verificar última sessão *Campos com ID de arquivos no RAI*. ## Fase 2 - Iniciar migração * Configurar o webjobs para chamar o /migrarArquivosRAI ## Fase 3 - Filews com upload de stream * Fazer o `/uploadArquivo` suportar stream ## Fase 4 - Grande alteração no atendimentows * Remover a conversão de webm para mp3 no front e backend. * Alterar os metodos de upload para para não mais salvar arquivos em /home/bu/arquivos/. Ja inserir o arquivo na tablema com STATUS_MIGRACAO == NAO_NECESSARIO ## Fase 5 - Finalizar migração * Tratar todos os casos de FALHA * A migração estará completa se **todas** as linhas tiverem `STATUS_MIGRACAO` igual `MIGRADO` OU `NAO_NECESSARIO` * Após migração completa, desligar o job no webjobs. ## Fase 6 - Refatoração das views e backends * Subistituir todas referencias de arquivos.ssp.go.gov.br por filews.ssp.go.gov.br e adicionar o TOKEN do SSO. * Sistemas FORA do SSO não devem chamar o arquivos.ssp.go.gov.br ou filews.ssp.go.gov.br DIRETAMENTE. Eles devem passar pelos seus respectivos backends onde são adicionados tokens internos após validar regra de exceção. Refatorar se preciso. ## Fase 7 - Limpeza * Baixar os endpoints /proxy, /migrarArquivosRAI e o DNS arquivos.ssp.go.gov.br. * Baixar o nginx interno que contém as diretivas try_files * Apagar a pasta /home/bu/arquivos e seu link NFS. * Apagar as colunas OLD_FILE_PATH e STATUS_MIGRACAO no atendimentows # MAIS INFORMAÇÕES ## Frontend que usam o arquivos.ssp.go.gov.br - atendimentoview - mportalview - despachoview - escalaview - recomprensaview - geocontrolview - raivirtualview - consultaobjetosview ## Backdend que usam o arquivos.ssp.go.gov.br - atendimentows - pdfws - expressows - sisvtr ## Campos com ID de arquivos ``` BU.ARQUIVO.NOME BU.ARQUIVOOBJETO.NOME BU.ANEXOPROJUDI.NOMEARQUIVOFS BU.OCORRENCIAPESSOA.ASSINATURAPESSOAPATH BU.OCORRENCIAOBJETO.ASSINATURARECEBEDORPATH BU.OCORRENCIARESGATE.ASSINATURAPROFISAUDEPATH BU.OCORRENCIARESGATE.ASSINATURARECUSATRANSPORTEPATH RECOMPENSA.ARMA_IMAGENS.IMAGENS RECOMPENSA.MANDADO_ANEXOS.ANEXOS ``` ## Campos adicionados ``` ALTER TABLE BU.ARQUIVO ADD OLD_FILE_PATH VARCHAR2(255); ALTER TABLE BU.ARQUIVO ADD STATUS_MIGRACAO VARCHAR2(100); ALTER TABLE BU.ARQUIVOOBJETO ADD OLD_FILE_PATH VARCHAR2(255); ALTER TABLE BU.ARQUIVOOBJETO ADD STATUS_MIGRACAO VARCHAR2(100); ALTER TABLE BU.ANEXOPROJUDI ADD OLD_FILE_PATH VARCHAR2(255); ALTER TABLE BU.ANEXOPROJUDI ADD STATUS_MIGRACAO VARCHAR2(100); ALTER TABLE BU.OCORRENCIAPESSOA ADD OLD_FILE_PATH VARCHAR2(255); ALTER TABLE BU.OCORRENCIAPESSOA ADD STATUS_MIGRACAO VARCHAR2(100); ALTER TABLE BU.OCORRENCIAOBJETO ADD OLD_FILE_PATH VARCHAR2(255); ALTER TABLE BU.OCORRENCIAOBJETO ADD STATUS_MIGRACAO VARCHAR2(100); ALTER TABLE BU.OCORRENCIARESGATE ADD RECUSA_OLD_FILE_PATH VARCHAR2(255); ALTER TABLE BU.OCORRENCIARESGATE ADD RECUSA_STATUS_MIGRACAO VARCHAR2(100); ALTER TABLE BU.OCORRENCIARESGATE ADD PROFI_OLD_FILE_PATH VARCHAR2(255); ALTER TABLE BU.OCORRENCIARESGATE ADD PROFI_STATUS_MIGRACAO VARCHAR2(100); ALTER TABLE RECOMPENSA.ARMA_IMAGENS ADD OLD_FILE_PATH VARCHAR2(255); ALTER TABLE RECOMPENSA.ARMA_IMAGENS ADD STATUS_MIGRACAO VARCHAR2(100); ALTER TABLE RECOMPENSA.MANDADO_ANEXOS ADD OLD_FILE_PATH VARCHAR2(255); ALTER TABLE RECOMPENSA.MANDADO_ANEXOS ADD STATUS_MIGRACAO VARCHAR2(100); ```