Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3namespace App\Notification\Domain\Port\Driven;
4
5use App\Notification\Domain\Model\NotificationLog;
6use App\Notification\Domain\Model\NotificationStatus;
7
8/**
9 * @author Wilhelm Zwertvaegher
10 */
11interface NotificationLogRepository
12{
13    /**
14     * @param string $messageId
15     * @return array<NotificationLog>
16     */
17    public function findByMessageId(string $messageId): array;
18
19    /**
20     * @param string $messageId
21     * @param string $sender
22     * @return array<NotificationLog>
23     */
24    public function findByMessageIdAndSender(string $messageId, string $sender): array;
25
26    /**
27     * @param string $messageId
28     * @param string $sender
29     * @param NotificationStatus $status
30     * @return array<NotificationLog>
31     */
32    public function findByMessageIdAndSenderAndStatus(string $messageId, string $sender, NotificationStatus $status): array;
33
34    /**
35     * @param string $messageId
36     * @param NotificationStatus $status
37     * @return array<NotificationLog>
38     */
39    public function findByMessageIdAndStatus(string $messageId, NotificationStatus $status): array;
40
41    public function hasSuccess(string $messageId, string $sender): bool;
42
43    public function save(NotificationLog $notificationLog): void;
44
45}