. */ namespace App; use Illuminate\Validation\Rule; use Illuminate\Database\Eloquent\Factories\HasFactory; class AccountCreationToken extends Consommable { use HasFactory; protected $hidden = ['id', 'updated_at', 'created_at']; protected $appends = ['expire_at']; protected ?string $configExpirationMinutesKey = 'account_creation_token_expiration_minutes'; public function accountCreationRequestToken() { return $this->hasOne(AccountCreationRequestToken::class, 'acc_creation_token_id'); } public function account() { return $this->belongsTo(Account::class); } public function consume() { $this->used = true; $this->save(); } public function consumed(): bool { return $this->used == true; } public function toLog() { return [ 'token' => $this->token, 'pn_param' => $this->pn_param, 'used' => $this->used, 'account_id' => $this->account_id, 'ip' => $this->ip, 'user_agent' => $this->user_agent, ]; } }