1
0
Files
breadcrumb-the-shire/modules/notifications/lib/Module/Notifications/Repository/NotificationRepositoryInterface.php

27 lines
791 B
PHP

<?php
namespace MintyPHP\Module\Notifications\Repository;
interface NotificationRepositoryInterface
{
/** @return int|false Insert ID on success, false on failure */
public function create(array $data): int|false;
/**
* @return list<array<string, mixed>>
*/
public function listByUser(int $userId, ?int $tenantId, int $limit, int $offset): array;
public function countUnreadByUser(int $userId, ?int $tenantId): int;
public function markRead(int $id, int $userId, ?int $tenantId): bool;
public function markAllReadByUser(int $userId, ?int $tenantId): int;
public function delete(int $id, int $userId, ?int $tenantId): bool;
public function deleteAllByUser(int $userId): int;
public function purgeReadOlderThanDays(int $days): int;
}