-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMapperRepository.php
More file actions
40 lines (22 loc) · 1.33 KB
/
MapperRepository.php
File metadata and controls
40 lines (22 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
declare(strict_types=1);
namespace A50\Database\Repository;
use A50\Database\Id;
interface MapperRepository
{
public function save(object $entity): void;
public function updateBy(object $entity, array $criteria, ?array $fields = null): void;
public function updateOneById(object $entity, Id $id, ?array $fields = null): void;
public function deleteBy(array $criteria): void;
public function deleteOneById(Id $id): void;
public function deleteManyByIds(array $ids): void;
public function findAll(?array $select = null, ?array $orderBy = null): ?array;
public function findBy(array $criteria, ?array $select = null, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): ?array;
public function findOneBy(array $criteria, ?array $select = null): ?object;
public function findOneById(Id $id, ?array $select = null): ?object;
public function count(?array $criteria = null): int;
public function getBy(array $criteria, ?array $select = null, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array;
public function getOneBy(array $criteria, ?array $select = null, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): object;
public function getOneById(Id $id, ?array $select = null): object;
public function existsBy(array $criteria): bool;
}