davide.cucurnia@vola.it
2024-02-01 398fc70ad81e71951105c4a950be0f8c4024bd01
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
<?php
 
namespace App\Vola\Repositories;
 
use Illuminate\Database\Eloquent\Model;
 
interface GenericRepositoryInterface
{
    public function get(int $id, bool $trashed = false, array $relations = []) : Model;
 
    public function update(array $data, Model $instance);
 
    public function search(array $params = [], bool $onlyTrashed = false, array $relations = [], bool $paginate = false, $withTrashed = false, $groupBy = null);
 
    public function destroy(int $id);
 
    public function restore(Model $instance);
 
    public function store(array $params);
 
    public function load(Model $model, array $relations);
 
    public function beginTransaction();
 
    public function commitTransaction();
 
    public function rollbackTransaction();
 
    public function firstOrCreate(array $attributes, array $params);
 
    public function deleteByCondition(array $params);
 
    public function updateOrCreate(array $attributes, array $params, $withTrashed = false);
 
    public function syncRelations(Model $model, $relation, array $values);
 
    public function truncate();
}