1
0
Files
breadcrumb-the-shire/core/Repository/Auth/EmailVerificationRepositoryInterface.php

20 lines
556 B
PHP
Raw Normal View History

2026-03-05 08:26:51 +01:00
<?php
namespace MintyPHP\Repository\Auth;
/** Contract for email verification code lifecycle: creation, lookup, attempt tracking, and completion. */
2026-03-05 08:26:51 +01:00
interface EmailVerificationRepositoryInterface
{
public function create(int $userId, string $codeHash, string $expiresAt): ?int;
public function invalidateForUser(int $userId): bool;
public function findActiveByUserId(int $userId): ?array;
public function findById(int $id): ?array;
public function incrementAttempts(int $id): bool;
public function markUsed(int $id): bool;
}