@@ -435,19 +435,29 @@ def _render_full_resource(self, instance, include, fields):
435435 return to_ret
436436
437437 def _check_instance_relationships_for_delete (self , instance ):
438+ """
439+ Ensure we are authorized to delete this and all cascaded resources.
440+
441+ :param instance: The instance to check the relationships of.
442+ """
438443 check_permission (instance , None , Permissions .DELTE )
439444 for rel_key , rel in instance .__mapper__ .relationships .items ():
440445 check_permission (instance , rel_key , Permissions .EDIT )
441446 if rel .cascade .delete :
442447 if rel .direction == MANYTOONE :
443- self . _check_instance_relationships_for_delete ( getattr (
444- instance , rel_key ) )
448+ related = getattr (instance , rel_key )
449+ self . _check_instance_relationships_for_delete ( related )
445450 else :
446451 instances = getattr (instance , rel_key )
447452 for to_check in instances :
448453 self ._check_instance_relationships_for_delete (to_check )
449454
450455 def _parse_fields (self , query ):
456+ """
457+ Parse the querystring args for fields.
458+
459+ :param query: Dict of query args
460+ """
451461 field_args = {
452462 k : v
453463 for k , v in query .items () if k .startswith ('fields[' )
@@ -458,6 +468,11 @@ def _parse_fields(self, query):
458468 return fields
459469
460470 def _parse_include (self , include ):
471+ """
472+ Parse the querystring args or parent includes for includes.
473+
474+ :param include: Dict of query args or includes
475+ """
461476 ret = {}
462477 for item in include :
463478 if '.' in item :
@@ -471,6 +486,11 @@ def _parse_include(self, include):
471486 return ret
472487
473488 def _parse_page (self , query ):
489+ """
490+ Parse the querystring args for pagination.
491+
492+ :param query: Dict of query args
493+ """
474494 args = {k [5 :- 1 ]: v for k , v in query .items () if k .startswith ('page[' )}
475495 if {'number' , 'size' } == set (args .keys ()):
476496 if not args ['number' ].isdecimal () or not args ['size' ].isdecimal ():
0 commit comments