DevGang
Авторизоваться

Laravel: экспорт персональных данных

На прошлой неделе Фрик Ван дер Хертен выпустил пакет Spatie под названием «Экспорт личных данных Laravel», который поможет вам создавать ZIP-файлы, содержащие личные данные, в ваших приложениях Laravel:

Этот пакет позволяет пользователю легко загружать экспорт, содержащий все личные данные. Такой экспорт состоит из zip-файла, содержащего все пользовательские свойства и связанную информацию.

В связи с растущей обеспокоенностью по поводу конфиденциальности в социальных сетях и других веб-приложениях, вы можете подумать об экспорте пользовательских данных. Как видно из readme пакета, вы настраиваете экспорт файлов и данных, определяя метод selectPersonalData для модели пользователя:

public function selectPersonalData(PersonalDataSelection $personalDataSelection) {
   $personalDataSelection
       ->add('user.json', ['name' => $this->name, 'email' => $this->email])
       ->addFile(storage_path("avatars/{$this->id}.jpg");
       ->addFile('other-user-data.xml', 's3');
}

Пакет Laravel Personal Data Export обеспечивает настройку того, сколько дней личные данные будут доступны пользователю, а также некоторые другие настраиваемые параметры:

return [
   /*
    * Диск, на котором будет храниться экспорт, по умолчанию.
    */
   'disk' => 'personal-data-exports',

   /*
    * Количество дней, в течение которых экспорт будет доступен.
    */
   'delete_after_days' => 5,

   /*
    * Определяет, должен ли пользователь войти в систему, чтобы иметь доступ
    * к экспорту.
    */
   'authentication_required' => true,

   /*
    * Почтовое сообщение, которое будет отправлено пользователю после 
    * создания экспорта.
    */
   'mailable' => \Spatie\PersonalDataExport\Mail\PersonalDataExportCreatedMail::class,
];

Этот пакет заботится о шаблоне всех задач, связанных с инициацией экспорта данных, а затем выполняет их примерно в следующей последовательности:

Сначала пакет генерирует данные при отправке CreatePersonalDataExportJob в приложении (задание в очереди по умолчанию).

Затем, когда задание выполняется, экспортированные данные архивируются и копируются на настроенный диск. Наконец, пользователь получает уведомление по электронной почте с URL-адресом для загрузки.

Почти каждая часть (если не все) процесса экспорта настраивается. Вы можете проверить этот пакет на GitHub по адресу spatie/laravel-personal-data-export.

#PHP #Laravel
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу