55"""
66
77import types
8- from typing import Optional , Tuple , Type
8+ from typing import List , Optional , Tuple , Type
99
1010from fastapi_jsonapi .data_typing import TypeModel , TypeSchema
1111from fastapi_jsonapi .querystring import QueryStringManager
@@ -242,7 +242,7 @@ def query(self, view_kwargs):
242242 """
243243 raise NotImplementedError
244244
245- def before_create_object (self , data , view_kwargs ):
245+ async def before_create_object (self , data , view_kwargs ):
246246 """
247247 Provide additional data before object creation
248248
@@ -251,7 +251,7 @@ def before_create_object(self, data, view_kwargs):
251251 """
252252 raise NotImplementedError
253253
254- def after_create_object (self , obj , data , view_kwargs ):
254+ async def after_create_object (self , obj , data , view_kwargs ):
255255 """
256256 Provide additional data after object creation
257257
@@ -307,7 +307,7 @@ async def before_update_object(self, obj, data, view_kwargs):
307307 """
308308 raise NotImplementedError
309309
310- def after_update_object (self , obj , data , view_kwargs ):
310+ async def after_update_object (self , obj : TypeModel , data , view_kwargs ):
311311 """
312312 Make work after update object
313313
@@ -317,7 +317,7 @@ def after_update_object(self, obj, data, view_kwargs):
317317 """
318318 raise NotImplementedError
319319
320- def before_delete_object (self , obj , view_kwargs ):
320+ async def before_delete_object (self , obj : TypeModel , view_kwargs ):
321321 """
322322 Make checks before delete object
323323
@@ -326,7 +326,7 @@ def before_delete_object(self, obj, view_kwargs):
326326 """
327327 raise NotImplementedError
328328
329- def after_delete_object (self , obj , view_kwargs ):
329+ async def after_delete_object (self , obj : TypeModel , view_kwargs ):
330330 """
331331 Make work after delete object
332332
@@ -335,11 +335,29 @@ def after_delete_object(self, obj, view_kwargs):
335335 """
336336 raise NotImplementedError
337337
338- def delete_objects (self , objects , view_kwargs ):
338+ async def delete_objects (self , objects : List [ TypeModel ] , view_kwargs ):
339339 # TODO: doc
340340 raise NotImplementedError
341341
342- def before_create_relationship (
342+ async def before_delete_objects (self , objects : List [TypeModel ], view_kwargs : dict ):
343+ """
344+ Make checks before deleting objects.
345+
346+ :param objects: an object from data layer.
347+ :param view_kwargs: kwargs from the resource view.
348+ """
349+ pass
350+
351+ async def after_delete_objects (self , objects : List [TypeModel ], view_kwargs : dict ):
352+ """
353+ Any action after deleting objects.
354+
355+ :param objects: an object from data layer.
356+ :param view_kwargs: kwargs from the resource view.
357+ """
358+ pass
359+
360+ async def before_create_relationship (
343361 self ,
344362 json_data ,
345363 relationship_field ,
@@ -357,7 +375,7 @@ def before_create_relationship(
357375 """
358376 raise NotImplementedError
359377
360- def after_create_relationship (
378+ async def after_create_relationship (
361379 self ,
362380 obj ,
363381 updated ,
@@ -419,7 +437,7 @@ async def after_get_relationship(
419437 """
420438 raise NotImplementedError
421439
422- def before_update_relationship (
440+ async def before_update_relationship (
423441 self ,
424442 json_data ,
425443 relationship_field ,
@@ -437,7 +455,7 @@ def before_update_relationship(
437455 """
438456 raise NotImplementedError
439457
440- def after_update_relationship (
458+ async def after_update_relationship (
441459 self ,
442460 obj ,
443461 updated ,
@@ -459,7 +477,7 @@ def after_update_relationship(
459477 """
460478 raise NotImplementedError
461479
462- def before_delete_relationship (
480+ async def before_delete_relationship (
463481 self ,
464482 json_data ,
465483 relationship_field ,
@@ -476,7 +494,7 @@ def before_delete_relationship(
476494 """
477495 raise NotImplementedError
478496
479- def after_delete_relationship (
497+ async def after_delete_relationship (
480498 self ,
481499 obj ,
482500 updated ,
0 commit comments