Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5namespace App\Trip\Domain;
6
7use App\Trip\Domain\ValueObject\MemberId;
8use App\Trip\Domain\ValueObject\TripId;
9use App\Trip\Domain\ValueObject\TripRole;
10
11interface TripMemberRepository
12{
13    public function save(TripMember $member): void;
14
15    public function remove(TripMember $member): void;
16
17    /** The user's role on the trip, or null if they hold no membership row. */
18    public function roleOf(TripId $tripId, MemberId $userId): ?TripRole;
19
20    public function find(TripId $tripId, MemberId $userId): ?TripMember;
21
22    /** @return list<TripMember> */
23    public function ofTrip(TripId $tripId): array;
24
25    /** @return list<TripMember> */
26    public function ofUser(MemberId $userId): array;
27}