@@ -43,19 +43,6 @@ def create_object(self, **kwargs) -> Result:
4343        session .commit ()
4444        return  new_obj 
4545
46-     def  create (
47-         self , data : dict , deserialize : bool  =  False , serialize : bool  =  False 
48-     ) ->  Result  or  dict :
49-         if  deserialize :
50-             data  =  self .deserialize_data ('input_schema_of_create' , data )
51- 
52-         new_object  =  self .create_object (** data )
53- 
54-         if  serialize :
55-             return  self .serialize_data ('output_schema_of_create' , new_object )
56- 
57-         return  new_object 
58- 
5946
6047class  ReadMixin :
6148    """Read objects from database. 
@@ -95,7 +82,7 @@ def _calculate_items_per_page(
9582        self , session : Session , statement : Select , per_page : int 
9683    ) ->  tuple [int , int ]:
9784        total  =  session .execute (
98-             statement .with_only_columns (func .count ()).order_by (None )
85+             statement .with_only_columns (func .count (self . Meta . model . id )).order_by (None )
9986        ).scalar_one ()
10087
10188        if  per_page  ==  0 :
@@ -115,9 +102,7 @@ def _paginate(
115102        page : int  =  1 ,
116103        per_page : Optional [int ] =  20 ,
117104        max_per_page : Optional [int ] =  100 ,
118-         serialize : bool  =  False ,
119105        include_metadata : bool  =  False ,
120-         fields : Optional [list ] =  None ,
121106    ) ->  dict :
122107        session : Session  =  self ._get_option_from_meta ('session' )
123108
@@ -139,30 +124,21 @@ def _paginate(
139124        else :
140125            paginated_rows  =  []
141126
142-         if  serialize :
143-             items ['items' ] =  self .serialize_data ('output_schema_of_read' , paginated_rows , fields )
144-         else :
145-             items ['items' ] =  paginated_rows 
127+         items ['items' ] =  paginated_rows 
146128
147129        return  items 
148130
149-     def  paginate (
131+     def  base_paginate (
150132        self ,
151133        page : int  =  1 ,
152134        per_page : Optional [int ] =  None ,
153135        max_per_page : Optional [int ] =  None ,
154136        statement : Optional [Select ] =  None ,
155-         deserialize : bool  =  False ,
156-         serialize : bool  =  False ,
157137        include_metadata : bool  =  False ,
158-         fields : Optional [list ] =  None ,
159138        ** kwargs ,
160139    ) ->  Result  or  dict :
161140        model  =  self ._get_option_from_meta ('model' )
162141
163-         if  deserialize :
164-             kwargs  =  self .deserialize_data ('input_schema_of_read' , kwargs )
165- 
166142        filterable_fields  =  self ._get_option_from_meta ('filterable' , ())
167143        interval_filterable_fields  =  self ._get_option_from_meta ('interval_filterable' , ())
168144        searchable_fields  =  self ._get_option_from_meta ('searchable' , ())
@@ -189,9 +165,7 @@ def paginate(
189165            page = page ,
190166            per_page = per_page ,
191167            max_per_page = max_per_page ,
192-             serialize = serialize ,
193168            include_metadata = include_metadata ,
194-             fields = fields ,
195169        )
196170
197171        return  items 
@@ -204,19 +178,6 @@ def read_object(self, id: Any) -> Result:
204178        stmt  =  select (model ).where (model .id  ==  id )
205179        return  session .scalars (stmt ).one ()
206180
207-     def  read (
208-         self , data : dict , deserialize : bool  =  False , serialize : bool  =  False 
209-     ) ->  Result  or  dict :
210-         if  deserialize :
211-             data  =  self .deserialize_data ('input_schema_of_read' , data )
212- 
213-         object_  =  self .read_object (** data )
214- 
215-         if  serialize :
216-             return  self .serialize_data ('output_schema_of_read' , object_ )
217- 
218-         return  object_ 
219- 
220181
221182class  UpdateMixin :
222183    """Update object in database. 
@@ -247,19 +208,6 @@ def update_object(self, id: Any, **kwargs) -> Result:
247208        obj  =  session .scalars (stmt ).one ()
248209        return  obj 
249210
250-     def  update (
251-         self , data : dict , deserialize : bool  =  False , serialize : bool  =  False 
252-     ) ->  Result  or  dict :
253-         if  deserialize :
254-             data  =  self .deserialize_data ('input_schema_of_update' , data )
255- 
256-         updated_object  =  self .update_object (** data )
257- 
258-         if  serialize :
259-             return  self .serialize_data ('output_schema_of_update' , updated_object )
260- 
261-         return  updated_object 
262- 
263211
264212class  DeleteMixin :
265213    """Delete object from database.""" 
@@ -271,8 +219,3 @@ def delete_object(self, id: Any) -> None:
271219        model  =  self ._get_option_from_meta ('model' )
272220
273221        session .execute (delete (model ).where (model .id  ==  id ))
274- 
275-     def  delete (self , data : dict , deserialize : bool  =  False ) ->  None :
276-         if  deserialize :
277-             data  =  self .deserialize_data ('input_schema_of_read' , data )
278-         self .delete_object (** data )
0 commit comments