-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDbGateway.php
More file actions
64 lines (55 loc) · 1.95 KB
/
Copy pathDbGateway.php
File metadata and controls
64 lines (55 loc) · 1.95 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
namespace core\protocols;
use core\models\CartElement;
use core\models\Category;
use core\models\User;
use core\models\Item;
use core\protocols\Model;
/*
* Интерфейс доступа к БД, Gateway
* Абстрагирует работу с данными в БД с помощью моделей, загрузка данных в модели реализуется через репозитории (папка repos)
*/
interface DbGateway {
public function create_model(string $model): void;
public function create_user(User $user): int;
public function get_user_by_id(int $id): User | bool;
public function get_user_by_email(string $email): User | bool;
public function check_user(string $email, string $password): bool;
public function update_user(User $user): void;
public function delete_user(int $id): void;
// public function create_item(Item $item): void;
//
// public function get_item(int $id): Item;
//
// public function update_item(int $id, Item $item): void;
//
// public function delete_item(int $id): void;
//
// public function create_category(Category $category): void;
//
// public function get_category(int $id): Category;
//
// public function update_category(int $id, Category $category): void;
//
// public function delete_category(int $id): void;
//
// public function add_to_cart(CartElement $cart_element): void;
//
// public function del_from_cart(int $user_id, int $element_id): void;
//
// public function buy_cart(int $user_id): void;
//
// public function clear_cart(int $user_id): void;
//
// public function list_items(): array;
//
// public function list_categories(): array;
//
public function list_users(): array;
//
// public function list_cart(int $user_id): array;
//
// public function attach_item_to_category(Item $item, Category $category): void;
//
// public function deattach_item_from_category(int $item_id, int $category_id): void;
}