PHP Classes

File: LEIAME.md

Recommend this page to a friend!
  Classes of Thiago Przyczynski   Laravel LGPD   LEIAME.md   Download  
File: LEIAME.md
Role: Auxiliary data
Content type: text/markdown
Description: Auxiliary data
Class: Laravel LGPD
Manage the LGPD law terms and site user acceptance
Author: By
Last change:
Date: 2 years ago
Size: 4,300 bytes
 

Contents

Class file image Download

LGPD Laravel Package

Implementação da LGPD ligada ao cadastro de usuários do Laravel.

Instalação

` composer require thiagoprz/lgpd`

  • Adicionar o service provider (apenas se não tiver o package auto discover habilitado) no arquivo config/app.php:
... 
'providers' => [
    ...
    \Thiagoprz\Lgpd\LgpdServiceProvider::class,
],
...

  • Migrar as tabelas:

` php artisan migrate`

  • Adicionar as rotas para implementar os termos no seu projeto (api.php ou web.php):

// LGPD CRUD resources (GET, POST, PATCH e DELETE já implementados)
Route::resource('lgpdterm', 'Thiagoprz\Lgpd\Http\Controllers\LgpdTermController');
Route::resource('lgpdtermitem', 'Thiagoprz\Lgpd\Http\Controllers\LgpdTermItemController');
Route::resource('lgpduseracceptance', 'Thiagoprz\Lgpd\Http\Controllers\LgpdUserAcceptanceController');

  • Publicas as views para poder implementar os formulários e telas de gestão dos termos e aceites necessários.

` php artisan vendor:publish --provider="Thiagoprz\Lgpd\LgpdServiceProvider"`

As views estarão publicadas na pasta: `resources/views/vendor/lgpd`.

Tables

  • lgpd_terms: termos LGPD

    | Coluna | Tipo | Descrição | Nulo | | ------ | --------- | ------------------- | --- | | id | bigint | ID (auto incremento) | No | | term | text | Texto dos termos | No | | publishing_date | datetime | Data e hora em que os termos se tornarão obrigatórios | No | | version | varchar | Versão dos termos | Yes | | created_at | datetime | Data e hora da criação | No | | updated_at | datetime | Data e hora da última alteração | Yes |

  • lgpd_term_items: aceites dos termos LGPD

    | Coluna | Tipo | Descrição | Nulo | | ------ | --------- | ------------------- | --- | | id | bigint | ID (auto incremento) | No | | lgpd_term_id | bigint | ID do Termo | No | | term | varchar(400) | Texto do aceite de termos | No | | created_at | datetime | Data e hora da criação | No | | updated_at | datetime | Data e hora da última alteração | Yes |

  • lgpd_user_acceptance: Registros de aceite dos usuários

    | Coluna | Tipo | Descrição | Nulo | | ------ | --------- | ------------------- | --- | | id | bigint | ID (auto incremento) | No | | lgpd_term_id | bigint | ID do termo | No | | user_id | bigint | ID do usuário | No | | created_at | datetime | Data e hora da criação | No | | updated_at | datetime | Data e hora da última alteração | Yes |

Objetivo

O objetivo do projeto é permitir criar um texto de termos e nele conter um ou vários aceites contendo as especificidades dos termos apresentados. Por exemplo: em projetos que possuem transações financeiras muitas vezes será necessário indicar os termos de uso da própria ferramenta mais os termos de uso do gateway ou banco ligado ao processo de cobranças e pagamentos, estes dois termos podem ser apresentados juntos porém idealmente o sistema precisa especificar que as cláusulas de cada um foram aceitas pelo usuário.