Download the PHP package uspdev/assinatura without Composer
On this page you can find all versions of the php package uspdev/assinatura. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download uspdev/assinatura
More information about uspdev/assinatura
Files in uspdev/assinatura
Package assinatura
Short Description Assinatura eletrônica no âmbito da USP
License GPL-2.0-or-later
Informations about the package assinatura
O que a aplicação que usa a biblioteca vai fazer?
Para instalar o pacote basta rodar
``` composer required uspdev/assinatura
1 - Guardar o arquivo original na pasta storage da aplicação, suponha que o arquivo venha de um formulaŕio $request->file('file') exemplo:
$path_arquivo = $request->file('file')->store('SUA-PASTA-NO-STORAGE');
2 - Colocar metadados do arquivo original na tabela arquivos da biblioteca assinaturas, exemplo:
$original_name = $request->file('file')->getClientOriginalName();
$checksum = # VERIFICAR COMO CALCULAR o checksum!!!
use Uspdev\Assinatura\Models\Arquivo;
$arquivo = new Arquivo;
$arquivo->path_arquivo = $path_arquivo;
$arquivo->original_name = $original_name;
$arquivo->checksum = $checksum;
$arquivo->save();
3 - Ainda na aplicação, informar as pessoas que vão assinar o documento $arquivo_id. Exemplo com um assinante USP e um externo:
use Uspdev\Assinatura\Models\Assinatura;
$assinante_usp = new Assinatura;
$assinante_usp->arquivo_id = $arquivo_id;
$assinante_usp->nome = $nome_usp;
$assinante_usp->email = $email_usp;
$assinante_usp->codpes = $codpes_usp;
$assinante_usp->ordem_assinatura = 1;
$assinante_usp->save();
$assinante_externo = new Assinatura;
$assinante_externo->nome = $nome_externo;
$assinante_externo->email = $email_externo;
$assinante_externo->arquivo_id = $arquivo_id;
$assinante_externo->ordem_assinatura = 2;
$assinante_externo->save();
O que a biblioteca vai fazer?
Ao ser registrado uma nova linha na tabela assinaturas, um Observer vai disparar uma ação para cada linha nova:
-
Geração do código de validação: verificar se há alguma linha anterior com o mesmo código de arquivo, se existir, copiar o código de validação. Se não existir, gerar um código de validação.
-
Caso 1 - tem o campo número USP no novo registro:
- Disparar um email para essa pessoa avisando que há um documento para ser assinado
- Na biblioteca assinatura, deve existir uma rota, controller e view para listas os documentos que uma determinada pessoa tem para assinar.
- Na mesma página acima ter um botão para assinar, preenchendo: data_assinatura, gerar um arquivo novo (a partir do arquivo original) com as assinaturas e guardar no storage, populando o campo caminho_arquivo_assinado.
- Guardar o hash/checksum do arquivo gerado.
-
Caso 2 - não tem o campo número USP no novo registro:
- Gerar uma UrlTemporaria para essa pessoa assinar e enviar essa url por email
- Deve existir uma rota, controller e view assinar AQUELE documento específico que a pessoa que entrou pela UrlTemporaria para gerar o arquivo assinado pelo sistema.
- Guardar o hash/checksum do arquivo gerado.
- Página de consulta:
A biblioteca deve fornecer uma rota/controller/view que retorna o arquivo mais recente assinado baseado no codigo_validacao. No arquivo assinado fornecer esse link para consulta {{ env('APP_URL') }}/consulta;
Voltando a aplicação
Como a aplicação pega o documento assinado tendo o $arquivo_id:
use Uspdev\Assinatura\AssinaturaService;
$ultimo_documento = AssinaturaService::ultimo_documento($arquivo_id);
All versions of assinatura with dependencies
uspdev/replicado Version ^1
laravel/breeze Version ^1
barryvdh/laravel-dompdf Version ^2
codedge/laravel-fpdf Version ^1