feat(scan): implement scan attempt tracking and validation logic

This commit is contained in:
2026-09-07 16:39:14 -03:00
parent b607c1b673
commit 193e10dc48
10 changed files with 287 additions and 63 deletions

View File

@@ -16,6 +16,7 @@ use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Collection;
#[Fillable([
@@ -81,6 +82,12 @@ class Ticket extends Model
return $this->belongsTo(User::class, 'scanner_user_id')->withTrashed();
}
/** @return HasMany<ScanAttempt, $this> */
public function scanAttempts(): HasMany
{
return $this->hasMany(ScanAttempt::class);
}
/** @return BelongsTo<PurchaseItem, $this> */
public function sourcePurchaseItem(): BelongsTo
{