• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

AdCombo / flask-combo-jsonapi / 3771624463

pending completion
3771624463

push

github

GitHub
Merge pull request #68 from AdCombo/fix__init_subclass__for_multi_project

60 of 60 new or added lines in 1 file covered. (100.0%)

1351 of 1620 relevant lines covered (83.4%)

0.83 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/flask_combo_jsonapi/plugin.py
1
"""Base class for Plugin classes."""
2
from typing import List, Tuple, Dict, Any
×
3

4
from sqlalchemy.orm import Query
×
5

6
from flask_combo_jsonapi.exceptions import PluginMethodNotImplementedError
×
7

8

9
class BasePlugin(object):
×
10
    """Base class for JsonAPI plugin classes."""
11
    def before_init_plugin(self, *args, app=None, **kwargs) -> None:
×
12
        """Перед инициализацией json_api"""
13
        raise PluginMethodNotImplementedError
×
14

15
    def after_init_plugin(self, *args, app=None, **kwargs) -> None:
×
16
        """После инициализацией json_api"""
17
        raise PluginMethodNotImplementedError
×
18

19
    def before_route(self,
×
20
                     resource: Any = None,
21
                     view=None,
22
                     urls: Tuple[str] = None,
23
                     self_json_api: Any = None,
24
                     **kwargs) -> None:
25
        """
26
        Предобработка ресурс менеджеров до создания роутера
27
        :param Union[ResourceList, ResourceDetail] resource: ресурс менеджер
28
        :param view: название ресурс менеджера
29
        :param urls: список url, по которым будет доступен данный ресурс
30
        :param Api self_json_api: self json_api
31
        :param kwargs:
32
        :return:
33
        """
34
        raise PluginMethodNotImplementedError
×
35

36
    def after_route(self,
×
37
                    resource: Any = None,
38
                    view=None,
39
                    urls: Tuple[str] = None,
40
                    self_json_api: Any = None,
41
                    **kwargs) -> None:
42
        """
43
        Постбработка ресурс менеджеров после создания роутера
44
        :param Union[ResourceList, ResourceDetail] resource: ресурс менеджер
45
        :param view: название ресурс менеджера
46
        :param urls: список url, по которым будет доступен данный ресурс
47
        :param Api self_json_api: self json_api
48
        :param kwargs:
49
        :return:
50
        """
51
        raise PluginMethodNotImplementedError
×
52

53
    def after_init_schema_in_resource_list_post(self, *args, schema=None, model=None, **kwargs) -> None:
×
54
        """
55
        Выполняется после иницциализация marshmallow схемы в ResourceList.post
56
        :param args:
57
        :param schema:
58
        :param model:
59
        :param kwargs:
60
        :return:
61
        """
62
        raise PluginMethodNotImplementedError
×
63

64
    def after_init_schema_in_resource_list_get(self, *args, schema=None, model=None, **kwargs) -> None:
×
65
        """
66
        Выполняется после иницциализация marshmallow схемы в ResourceList.get
67
        :param args:
68
        :param schema:
69
        :param model:
70
        :param kwargs:
71
        :return:
72
        """
73
        raise PluginMethodNotImplementedError
×
74

75
    def after_init_schema_in_resource_detail_get(self, *args, schema=None, model=None, **kwargs) -> None:
×
76
        """
77
        Выполняется после иницциализация marshmallow схемы в ResourceDetail.get
78
        :param args:
79
        :param schema:
80
        :param model:
81
        :param kwargs:
82
        :return:
83
        """
84
        raise PluginMethodNotImplementedError
×
85

86
    def after_init_schema_in_resource_detail_patch(self, *args, schema=None, model=None, **kwargs) -> None:
×
87
        """
88
        Выполняется после иницциализация marshmallow схемы в ResourceDetail.patch
89
        :param args:
90
        :param schema:
91
        :param model:
92
        :param kwargs:
93
        :return:
94
        """
95
        raise PluginMethodNotImplementedError
×
96

97
    def data_layer_before_create_object(self, *args, data=None, view_kwargs=None, self_json_api=None, **kwargs) -> None:
×
98
        """
99
        Выполняется после десериализации данных и до создания запроса к бд на создание нового объекта
100
        :param args:
101
        :param data:
102
        :param view_kwargs:
103
        :param self_json_api:
104
        :param kwargs:
105
        :return:
106
        """
107
        raise PluginMethodNotImplementedError
×
108

109
    def data_layer_create_object_clean_data(self, *args, data: Dict = None, view_kwargs=None,
×
110
                                            join_fields: List[str] = None, self_json_api=None, **kwargs) -> Dict:
111
        """
112
        Обрабатывает данные, которые пойдут непосредственно на создание нового объекта
113
        :param args:
114
        :param Dict data: Данные, на основе которых будет создан новый объект
115
        :param view_kwargs:
116
        :param List[str] join_fields: список полей, которые являются ссылками на другие модели
117
        :param Api self_json_api:
118
        :param kwargs:
119
        :return: возвращает обновлённый набор данных для нового объекта
120
        """
121
        raise PluginMethodNotImplementedError
×
122

123
    def data_layer_after_create_object(self, *args, data=None, view_kwargs=None, self_json_api=None, obj=None,
×
124
                                       **kwargs) -> None:
125
        """
126
        Выполняется после создание нового объекта, но до сохранения в БД
127
        :param args:
128
        :param data:
129
        :param view_kwargs:
130
        :param Api self_json_api:
131
        :param obj:
132
        :param kwargs:
133
        :return:
134
        """
135
        raise PluginMethodNotImplementedError
×
136

137
    def data_layer_get_object_update_query(self, *args, query: Query = None, qs: Any = None,
×
138
                                           view_kwargs=None, self_json_api=None, **kwargs) -> Query:
139
        """
140
        Во время создания запроса к БД на выгрузку объекта. Тут можно пропатчить запрос к БД
141
        :param args:
142
        :param Query query: Сформированный запрос к БД
143
        :param QueryStringManager qs: список параметров для запроса
144
        :param view_kwargs: список фильтров для запроса
145
        :param Api self_json_api:
146
        :param kwargs:
147
        :return: возвращает пропатченный запрос к бд
148
        """
149
        raise PluginMethodNotImplementedError
×
150

151
    def data_layer_get_collection_update_query(self, *args, query: Query = None, qs: Any = None,
×
152
                                               view_kwargs=None, self_json_api=None, **kwargs) -> Query:
153
        """
154
        Во время создания запроса к БД на выгрузку объектов. Тут можно пропатчить запрос к БД
155
        :param args:
156
        :param Query query: Сформированный запрос к БД
157
        :param QueryStringManager qs: список параметров для запроса
158
        :param view_kwargs: список фильтров для запроса
159
        :param Api self_json_api:
160
        :param kwargs:
161
        :return: возвращает пропатченный запрос к бд
162
        """
163
        raise PluginMethodNotImplementedError
×
164

165
    def data_layer_update_object_clean_data(self, *args, data: Dict = None, obj=None, view_kwargs=None,
×
166
                                            join_fields: List[str] = None, self_json_api=None, **kwargs) -> Dict:
167
        """
168
        Обрабатывает данные, которые пойдут непосредственно на обновления объекта
169
        :param args:
170
        :param Dict data: Данные, на основе которых будет создан новый объект
171
        :param obj: Объект, который будет обновлён
172
        :param view_kwargs:
173
        :param List[str] join_fields: список полей, которые являются ссылками на другие модели
174
        :param Api self_json_api:
175
        :param kwargs:
176
        :return: возвращает обновлённый набор данных для обновления объекта
177
        """
178
        raise PluginMethodNotImplementedError
×
179

180
    def data_layer_delete_object_clean_data(self, *args, obj=None, view_kwargs=None, self_json_api=None,
×
181
                                            **kwargs) -> None:
182
        """
183
        Выполняется до удаления объекта в БД
184
        :param args:
185
        :param obj: удаляемый объект
186
        :param view_kwargs:
187
        :param Api self_json_api:
188
        :param kwargs:
189
        :return:
190
        """
191
        raise PluginMethodNotImplementedError
×
192

193
    def before_data_layers_filtering_alchemy_nested_resolve(self, self_nested: Any) -> Any:
×
194
        """
195
        Вызывается до создания фильтра в функции Nested.resolve, если после выполнения вернёт None, то
196
        дальше продолжиться работа функции resolve, если вернёт какое либо значения отличное от None, То
197
        функция resolve завершается, а результат hook функции передаётся дальше в стеке вызова
198
        :param Nested self_nested: instance Nested
199
        :return:
200
        """
201
        raise PluginMethodNotImplementedError
×
202

203
    def before_data_layers_sorting_alchemy_nested_resolve(self, self_nested: Any) -> Any:
×
204
        """
205
        Вызывается до создания сортировки в функции Nested.resolve, если после выполнения вернёт None, то
206
        дальше продолжиться работа функции resolve, если вернёт какое либо значения отличное от None, То
207
        функция resolve завершается, а результат hook функции передаётся дальше в стеке вызова
208
        :param Nested self_nested: instance Nested
209
        :return:
210
        """
211
        raise PluginMethodNotImplementedError
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc