@@ -37,12 +37,16 @@ class GroupMemberManager(CRUDMixin, RESTManager):
3737_obj_cls = GroupMember
3838_from_parent_attrs = {"group_id" :"id" }
3939_create_attrs = RequiredOptional (
40- required = ("access_level" ,"user_id" ),optional = ("expires_at" ,)
40+ required = ("access_level" ,"user_id" ),
41+ optional = ("expires_at" ,"tasks_to_be_done" ),
4142 )
4243_update_attrs = RequiredOptional (
4344required = ("access_level" ,),optional = ("expires_at" ,)
4445 )
45- _types = {"user_ids" :types .ArrayAttribute }
46+ _types = {
47+ "user_ids" :types .ArrayAttribute ,
48+ "tasks_to_be_done" :types .ArrayAttribute ,
49+ }
4650
4751def get (
4852self ,id :Union [str ,int ],lazy :bool = False ,** kwargs :Any
@@ -97,12 +101,16 @@ class ProjectMemberManager(CRUDMixin, RESTManager):
97101_obj_cls = ProjectMember
98102_from_parent_attrs = {"project_id" :"id" }
99103_create_attrs = RequiredOptional (
100- required = ("access_level" ,"user_id" ),optional = ("expires_at" ,)
104+ required = ("access_level" ,"user_id" ),
105+ optional = ("expires_at" ,"tasks_to_be_done" ),
101106 )
102107_update_attrs = RequiredOptional (
103108required = ("access_level" ,),optional = ("expires_at" ,)
104109 )
105- _types = {"user_ids" :types .ArrayAttribute }
110+ _types = {
111+ "user_ids" :types .ArrayAttribute ,
112+ "tasks_to_be_dones" :types .ArrayAttribute ,
113+ }
106114
107115def get (
108116self ,id :Union [str ,int ],lazy :bool = False ,** kwargs :Any