authentikate/app/Models/Invitation.php
Javier Feliz 6771d84909
Some checks failed
linter / quality (push) Successful in 3m13s
tests / ci (push) Has been cancelled
Invitation email
2025-08-02 00:22:46 -04:00

36 lines
676 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Invitation extends Model
{
protected $guarded = ['id'];
protected $casts = [
'expires_at' => 'datetime',
'accepted_at' => 'datetime'
];
public function status(): string
{
return !empty($this->accepted_at) ? 'accepted' : 'pending';
}
public function isPending(): bool
{
return empty($this->accepted_at);
}
public function accept(): void
{
$this->accepted_at = now();
$this->save();
}
public function getInviteUrl(): string
{
return route('register', ['code' => $this->code]);
}
}