44you must inherit from this base class
55"""
66
7- import types
87from typing import Dict , List , Optional , Tuple , Type
98
9+ from fastapi import Request
10+
1011from fastapi_jsonapi .data_typing import TypeModel , TypeSchema
1112from fastapi_jsonapi .querystring import QueryStringManager
1213from fastapi_jsonapi .schema import BaseJSONAPIItemInSchema
1617class BaseDataLayer :
1718 """Base class of a data layer"""
1819
19- REWRITABLE_METHODS = (
20- "query" ,
21- "before_create_object" ,
22- "after_create_object" ,
23- "before_get_object" ,
24- "after_get_object" ,
25- "before_get_collection" ,
26- "after_get_collection" ,
27- "before_update_object" ,
28- "after_update_object" ,
29- "before_delete_object" ,
30- "after_delete_object" ,
31- "before_create_relationship" ,
32- "after_create_relationship" ,
33- "before_get_relationship" ,
34- "after_get_relationship" ,
35- "before_update_relationship" ,
36- "after_update_relationship" ,
37- "before_delete_relationship" ,
38- "after_delete_relationship" ,
39- "retrieve_object_query" ,
40- )
41-
4220 def __init__ (
4321 self ,
22+ request : Request ,
4423 schema : Type [TypeSchema ],
4524 model : Type [TypeModel ],
4625 url_id_field : str ,
@@ -51,7 +30,7 @@ def __init__(
5130 ** kwargs ,
5231 ):
5332 """
54-
33+ :param request:
5534 :param schema:
5635 :param model:
5736 :param url_id_field:
@@ -61,8 +40,9 @@ def __init__(
6140 :param type_: resource type
6241 :param kwargs:
6342 """
64- self .model = model
43+ self .request = request
6544 self .schema = schema
45+ self .model = model
6646 self .url_id_field = url_id_field
6747 self .id_name_field = id_name_field
6848 self .disable_collection_count : bool = disable_collection_count
@@ -561,13 +541,3 @@ async def after_delete_relationship(
561541 :param view_kwargs: kwargs from the resource view
562542 """
563543 raise NotImplementedError
564-
565- def bound_rewritable_methods (self , methods ):
566- """
567- Bound additional methods to current instance
568-
569- :param class methods: methods
570- """
571- for key , value in methods .items ():
572- if key in self .REWRITABLE_METHODS :
573- setattr (self , key , types .MethodType (value , self ))
0 commit comments