Filippo Bertilotti
2024-07-26 2bfce618a9d3b4cd86be2acd551a56aa45800efd
commit | author | age
9f6455 1 <?php
DC 2
3 namespace App\Vola\Repositories;
4
5 use Illuminate\Database\Eloquent\Model;
6
7 interface GenericRepositoryInterface
8 {
9     public function get(int $id, bool $trashed = false, array $relations = []) : Model;
10
11     public function update(array $data, Model $instance);
12
13     public function search(array $params = [], bool $onlyTrashed = false, array $relations = [], bool $paginate = false, $withTrashed = false, $groupBy = null);
14
15     public function destroy(int $id);
16
17     public function restore(Model $instance);
18
19     public function store(array $params);
20
21     public function load(Model $model, array $relations);
22
23     public function beginTransaction();
24
25     public function commitTransaction();
26
27     public function rollbackTransaction();
28
29     public function firstOrCreate(array $attributes, array $params);
30
31     public function deleteByCondition(array $params);
32
33     public function updateOrCreate(array $attributes, array $params, $withTrashed = false);
34
35     public function syncRelations(Model $model, $relation, array $values);
36
37     public function truncate();
38 }