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
3// ╔════════════════════════════════════════════════════════════╗
4// ║ MIT Licence (#Expat) - https://opensource.org/licenses/MIT ║
5// ║ Copyright 2026 Frederic Poeydomenge <dyno@phexium.com>     ║
6// ╚════════════════════════════════════════════════════════════╝
7
8declare(strict_types=1);
9
10namespace Phexium\Plugin\SqlDriver\Port;
11
12use Phexium\Domain\Id\IdInterface;
13use Phexium\Domain\Specification\SpecificationInterface;
14
15interface SqlDriverInterface
16{
17    public function findAll(string $table): array;
18
19    public function findById(string $table, IdInterface $id): ?array;
20
21    public function findBy(string $table, SpecificationInterface $specification, ?array $orderBy = null, ?int $offset = null, ?int $limit = null): array;
22
23    public function findOneBy(string $table, SpecificationInterface $specification): ?array;
24
25    public function save(string $table, array $row): void;
26
27    public function deleteById(string $table, IdInterface $id): int;
28
29    public function exists(string $table, IdInterface $id): bool;
30}