Реалізація експорту даних
Експорт даних користувача, транзакцій, аналітики у структурированні формати. Потребує аутентифікації користувача, контролю доступу, обмеження частоти, щоб запобігти зловживанню.
Ендпоїнт експорту даних
class DataExportController
{
public function export(Request $request)
{
$format = $request->query('format', 'json'); // json, csv, xlsx
$data = [
'user' => auth()->user(),
'orders' => auth()->user()->orders()->get(),
'transactions' => auth()->user()->transactions()->get(),
];
return match($format) {
'csv' => $this->exportCsv($data),
'xlsx' => $this->exportExcel($data),
'json' => response()->json($data),
};
}
private function exportCsv($data)
{
$csv = "ID,Name,Email\n";
$csv .= "{$data['user']->id},{$data['user']->name},{$data['user']->email}\n";
return response($csv, 200, [
'Content-Type' => 'text/csv',
'Content-Disposition' => 'attachment; filename="export.csv"',
]);
}
}
Відповідність GDPR
- Перевірте особу користувача
- Логуйте всі експорти
- Обмежте частоту експорту (один раз на день)
- Закінчення посилання на завантаження через 7 днів
- Видаліть експортовані файли зі сховища
Терміни реалізації
Базовий експорт даних: 1 день. З відповідністю GDPR та кількома форматами: 2–3 дні.







