*/ public const LOGIN_PURPOSES = [self::PURPOSE_LOGIN, self::PURPOSE_IMAGE_CONFIRMATION]; protected $fillable = [ 'user_id', 'token_hash', 'purpose', 'source', 'payload', 'expires_at', 'consumed_at', 'ip_requested', 'ip_consumed', ]; protected function casts(): array { return [ 'payload' => 'array', 'expires_at' => 'datetime', 'consumed_at' => 'datetime', ]; } /** * @return BelongsTo */ public function user(): BelongsTo { return $this->belongsTo(User::class); } }