@@ -75,8 +75,8 @@ class GetMixin(_RestManagerBase):
7575 _computed_path : Optional [str ]
7676 _from_parent_attrs : Dict [str , Any ]
7777 _obj_cls : Optional [Type [base .RESTObject ]]
78- _parent = Optional [base .RESTObject ]
79- _parent_attrs = Dict [str , Any ]
78+ _parent : Optional [base .RESTObject ]
79+ _parent_attrs : Dict [str , Any ]
8080 _path : Optional [str ]
8181 gitlab : gitlab .Gitlab
8282
@@ -119,8 +119,8 @@ class GetWithoutIdMixin(_RestManagerBase):
119119 _computed_path : Optional [str ]
120120 _from_parent_attrs : Dict [str , Any ]
121121 _obj_cls : Optional [Type [base .RESTObject ]]
122- _parent = Optional [base .RESTObject ]
123- _parent_attrs = Dict [str , Any ]
122+ _parent : Optional [base .RESTObject ]
123+ _parent_attrs : Dict [str , Any ]
124124 _path : Optional [str ]
125125 gitlab : gitlab .Gitlab
126126
@@ -188,8 +188,8 @@ class ListMixin(_RestManagerBase):
188188 _computed_path : Optional [str ]
189189 _from_parent_attrs : Dict [str , Any ]
190190 _obj_cls : Optional [Type [base .RESTObject ]]
191- _parent = Optional [base .RESTObject ]
192- _parent_attrs = Dict [str , Any ]
191+ _parent : Optional [base .RESTObject ]
192+ _parent_attrs : Dict [str , Any ]
193193 _path : Optional [str ]
194194 gitlab : gitlab .Gitlab
195195
@@ -248,8 +248,8 @@ class RetrieveMixin(ListMixin, GetMixin):
248248 _computed_path : Optional [str ]
249249 _from_parent_attrs : Dict [str , Any ]
250250 _obj_cls : Optional [Type [base .RESTObject ]]
251- _parent = Optional [base .RESTObject ]
252- _parent_attrs = Dict [str , Any ]
251+ _parent : Optional [base .RESTObject ]
252+ _parent_attrs : Dict [str , Any ]
253253 _path : Optional [str ]
254254 gitlab : gitlab .Gitlab
255255
@@ -260,8 +260,8 @@ class CreateMixin(_RestManagerBase):
260260 _computed_path : Optional [str ]
261261 _from_parent_attrs : Dict [str , Any ]
262262 _obj_cls : Optional [Type [base .RESTObject ]]
263- _parent = Optional [base .RESTObject ]
264- _parent_attrs = Dict [str , Any ]
263+ _parent : Optional [base .RESTObject ]
264+ _parent_attrs : Dict [str , Any ]
265265 _path : Optional [str ]
266266 gitlab : gitlab .Gitlab
267267
@@ -328,8 +328,8 @@ class UpdateMixin(_RestManagerBase):
328328 _computed_path : Optional [str ]
329329 _from_parent_attrs : Dict [str , Any ]
330330 _obj_cls : Optional [Type [base .RESTObject ]]
331- _parent = Optional [base .RESTObject ]
332- _parent_attrs = Dict [str , Any ]
331+ _parent : Optional [base .RESTObject ]
332+ _parent_attrs : Dict [str , Any ]
333333 _path : Optional [str ]
334334 _update_uses_post : bool = False
335335 gitlab : gitlab .Gitlab
@@ -422,8 +422,8 @@ class SetMixin(_RestManagerBase):
422422 _computed_path : Optional [str ]
423423 _from_parent_attrs : Dict [str , Any ]
424424 _obj_cls : Optional [Type [base .RESTObject ]]
425- _parent = Optional [base .RESTObject ]
426- _parent_attrs = Dict [str , Any ]
425+ _parent : Optional [base .RESTObject ]
426+ _parent_attrs : Dict [str , Any ]
427427 _path : Optional [str ]
428428 gitlab : gitlab .Gitlab
429429
@@ -456,8 +456,8 @@ class DeleteMixin(_RestManagerBase):
456456 _computed_path : Optional [str ]
457457 _from_parent_attrs : Dict [str , Any ]
458458 _obj_cls : Optional [Type [base .RESTObject ]]
459- _parent = Optional [base .RESTObject ]
460- _parent_attrs = Dict [str , Any ]
459+ _parent : Optional [base .RESTObject ]
460+ _parent_attrs : Dict [str , Any ]
461461 _path : Optional [str ]
462462 gitlab : gitlab .Gitlab
463463
@@ -486,8 +486,8 @@ class CRUDMixin(GetMixin, ListMixin, CreateMixin, UpdateMixin, DeleteMixin):
486486 _computed_path : Optional [str ]
487487 _from_parent_attrs : Dict [str , Any ]
488488 _obj_cls : Optional [Type [base .RESTObject ]]
489- _parent = Optional [base .RESTObject ]
490- _parent_attrs = Dict [str , Any ]
489+ _parent : Optional [base .RESTObject ]
490+ _parent_attrs : Dict [str , Any ]
491491 _path : Optional [str ]
492492 gitlab : gitlab .Gitlab
493493
@@ -498,8 +498,8 @@ class NoUpdateMixin(GetMixin, ListMixin, CreateMixin, DeleteMixin):
498498 _computed_path : Optional [str ]
499499 _from_parent_attrs : Dict [str , Any ]
500500 _obj_cls : Optional [Type [base .RESTObject ]]
501- _parent = Optional [base .RESTObject ]
502- _parent_attrs = Dict [str , Any ]
501+ _parent : Optional [base .RESTObject ]
502+ _parent_attrs : Dict [str , Any ]
503503 _path : Optional [str ]
504504 gitlab : gitlab .Gitlab
505505
@@ -509,13 +509,12 @@ class NoUpdateMixin(GetMixin, ListMixin, CreateMixin, DeleteMixin):
509509class SaveMixin (_RestObjectBase ):
510510 """Mixin for RESTObject's that can be updated."""
511511
512- manager : UpdateMixin
513-
514512 _id_attr : Optional [str ]
515513 _attrs : Dict [str , Any ]
516514 _module : ModuleType
517515 _parent_attrs : Dict [str , Any ]
518516 _updated_attrs : Dict [str , Any ]
517+ manager : base .RESTManager
519518
520519 def _get_updated_data (self ) -> Dict [str , Any ]:
521520 updated_data = {}
@@ -546,6 +545,8 @@ def save(self, **kwargs: Any) -> None:
546545
547546 # call the manager
548547 obj_id = self .get_id ()
548+ if TYPE_CHECKING :
549+ assert isinstance (self .manager , UpdateMixin )
549550 server_data = self .manager .update (obj_id , updated_data , ** kwargs )
550551 if server_data is not None :
551552 self ._update_attrs (server_data )
@@ -554,13 +555,12 @@ def save(self, **kwargs: Any) -> None:
554555class ObjectDeleteMixin (_RestObjectBase ):
555556 """Mixin for RESTObject's that can be deleted."""
556557
557- manager : DeleteMixin
558-
559558 _id_attr : Optional [str ]
560559 _attrs : Dict [str , Any ]
561560 _module : ModuleType
562561 _parent_attrs : Dict [str , Any ]
563562 _updated_attrs : Dict [str , Any ]
563+ manager : base .RESTManager
564564
565565 def delete (self , ** kwargs : Any ) -> None :
566566 """Delete the object from the server.
@@ -572,6 +572,8 @@ def delete(self, **kwargs: Any) -> None:
572572 GitlabAuthenticationError: If authentication is not correct
573573 GitlabDeleteError: If the server cannot perform the request
574574 """
575+ if TYPE_CHECKING :
576+ assert isinstance (self .manager , DeleteMixin )
575577 self .manager .delete (self .get_id ())
576578
577579
0 commit comments