Backend: - AccountDeletionController com 4 endpoints principais - requestDeletionCode: Envia código de 6 dígitos por email (válido 10min) - exportBackup: Exporta todos os dados do usuário em JSON - executeHardDelete: Deleta permanentemente conta e dados com validação de código - importBackup: Importa backup completo com mapeamento de IDs Frontend: - FactoryResetWizard: Wizard de 4 etapas (Warning → Backup → Code → Confirmation) - ImportBackupModal: Drag & drop para importar backup JSON - Integração na página Profile com seção de Gerenciamento de Dados - accountDeletionService: Serviços API completos Email: - Template HTML para código de confirmação - Avisos visuais sobre irreversibilidade da ação i18n: - Traduções completas em pt-BR, es, en - 50+ strings de tradução adicionadas - Avisos e mensagens de erro traduzidos Funcionalidades: ✅ Hard delete com confirmação dupla (código + texto DELETAR) ✅ Backup completo em JSON (transações, contas, categorias, etc) ✅ Importação de backup com mapeamento inteligente de IDs ✅ Email com código de segurança ✅ Wizard responsivo com 4 etapas ✅ Validação de arquivos e tamanho (max 50MB) ✅ Drag & drop para upload ✅ Estatísticas de importação ✅ Logout automático após delete
57 lines
1.1 KiB
PHP
57 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Mail;
|
|
|
|
use Illuminate\Bus\Queueable;
|
|
use Illuminate\Mail\Mailable;
|
|
use Illuminate\Mail\Mailables\Content;
|
|
use Illuminate\Mail\Mailables\Envelope;
|
|
use Illuminate\Queue\SerializesModels;
|
|
|
|
class AccountDeletionConfirmation extends Mailable
|
|
{
|
|
use Queueable, SerializesModels;
|
|
|
|
public $code;
|
|
public $userName;
|
|
|
|
/**
|
|
* Create a new message instance.
|
|
*/
|
|
public function __construct($code, $userName)
|
|
{
|
|
$this->code = $code;
|
|
$this->userName = $userName;
|
|
}
|
|
|
|
/**
|
|
* Get the message envelope.
|
|
*/
|
|
public function envelope(): Envelope
|
|
{
|
|
return new Envelope(
|
|
subject: 'Código de Confirmação - Exclusão de Conta',
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Get the message content definition.
|
|
*/
|
|
public function content(): Content
|
|
{
|
|
return new Content(
|
|
view: 'emails.account-deletion-confirmation',
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Get the attachments for the message.
|
|
*
|
|
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
|
|
*/
|
|
public function attachments(): array
|
|
{
|
|
return [];
|
|
}
|
|
}
|