<?php
require_once __DIR__.'/../config/config.php';require_once __DIR__.'/../config/database.php';require_once __DIR__.'/../includes/functions.php';
if(!isLoggedIn()){http_response_code(401);exit('Sessão expirada.');}
if($_SERVER['REQUEST_METHOD']!=='POST'){http_response_code(405);exit('Método não permitido.');}
if(!validarCsrfToken($_POST[CSRF_TOKEN_NAME]??'')){http_response_code(419);exit('Sessão expirada.');}
$uid=(int)$_SESSION['usuario_id'];$subjectId=(int)($_POST['subject_user_id']??$uid);
try{
 $data=afPrivacyBuildExport($pdo,$uid,$subjectId);$json=json_encode($data,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT|JSON_INVALID_UTF8_SUBSTITUTE);
 if($json===false)throw new RuntimeException('Não foi possível gerar o arquivo.');
 $hash=hash('sha256',$json);$protocol=afLogPrivacyExport($pdo,$uid,$subjectId,$data,$hash);
 $filename='aura-farming-dados-'.$subjectId.'-'.date('Ymd-His').'.json';
 header('Content-Type: application/json; charset=UTF-8');header('Content-Disposition: attachment; filename="'.$filename.'"');header('Content-Length: '.strlen($json));header('Cache-Control: no-store, private');header('X-Privacy-Export-Protocol: '.$protocol);echo $json;exit;
}catch(Throwable $e){http_response_code(403);header('Content-Type: text/plain; charset=UTF-8');echo APP_DEBUG?$e->getMessage():'Não foi possível exportar os dados.';}
