Group

class based approach to interacting with Domo Membership
auth = dmda.DomoTokenAuth(
    domo_instance=os.environ["DOMO_INSTANCE"],
    domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],
)

group_id = 1513712315

source

Membership

 Membership (auth:domolibrary.client.DomoAuth.DomoAuth, parent:Any=None,
             parent_id:int=None, owners:List[str]=<factory>,
             members:List[str]=<factory>,
             _add_member_ls:List[str]=<factory>,
             _remove_member_ls:List[str]=<factory>,
             _add_owner_ls:List[str]=<factory>,
             _remove_owner_ls:List[str]=<factory>)

source

Membership_Entity

 Membership_Entity (entity:Any)

source

UpdateMembership

 UpdateMembership (cls_instance, member_name=None, entity_id=None)

base exception

Group Membership


source

GroupMembership

 GroupMembership (auth:domolibrary.client.DomoAuth.DomoAuth,
                  parent:Any=None, parent_id:int=None,
                  owners:List[str]=<factory>, members:List[str]=<factory>,
                  _add_member_ls:List[str]=<factory>,
                  _remove_member_ls:List[str]=<factory>,
                  _add_owner_ls:List[str]=<factory>,
                  _remove_owner_ls:List[str]=<factory>)
group_membership = GroupMembership(auth=auth, parent_id=group_id)

await group_membership.get_members(return_raw=False)
[Membership_Entity(entity=DomoUser(id='1216550715', display_name='8:26 - go to sleep', email_address='test4@domo.com', role_id=2, department='test', title=None, avatar_key='/api/content/v1/avatar/USER/1216550715', phone_number='152', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2022, 10, 5, 3, 0, 21), last_activity_dt=datetime.datetime(2024, 1, 22, 20, 2, 32, 453000), custom_attributes={}, role=DomoRole(id=2, name='Privileged', description='Full access except for editing users and settings owners', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None)),
 Membership_Entity(entity=DomoUser(id='1893952720', display_name='Jae Wilson1', email_address='jae@datacrew.space', role_id=810756122, department='Business Improvement', title=None, avatar_key='/api/content/v1/avatar/USER/1893952720', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 18), last_activity_dt=datetime.datetime(2024, 11, 27, 18, 21, 22, 860000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None)),
 Membership_Entity(entity=DomoUser(id='233216585', display_name='test - updated via dl 2024-11-27', email_address='test4@test.com', role_id=3, department=None, title=None, avatar_key='/api/content/v1/avatar/USER/233216585', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2024, 11, 18, 17, 26, 50), last_activity_dt=None, custom_attributes={}, role=DomoRole(id=3, name='Editor', description='Can edit Cards, Pages, DataSets, and Dataflows', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None)),
 Membership_Entity(entity=DomoUser(id='663516735', display_name='test 3', email_address='test33@test.com', role_id=810756122, department=None, title=None, avatar_key='/api/content/v1/avatar/USER/663516735', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to='1216550715', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2023, 3, 16, 23, 2, 31), last_activity_dt=datetime.datetime(2024, 1, 22, 21, 47, 2, 625000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None)),
 Membership_Entity(entity=DomoUser(id='1149821919', display_name='test 3 - updated 2024-10-28', email_address='delete_test3@test.com', role_id=108369421, department=None, title=None, avatar_key='/api/content/v1/avatar/USER/1149821919', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2024, 7, 24, 17, 38, 24), last_activity_dt=None, custom_attributes={}, role=DomoRole(id=108369421, name='test_update_metadata', description='last updated - 2024-11-27', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None))]
group_membership._list_to_json(group_membership.members)
[{'type': 'USER', 'id': '1216550715'},
 {'type': 'USER', 'id': '1893952720'},
 {'type': 'USER', 'id': '233216585'},
 {'type': 'USER', 'id': '663516735'},
 {'type': 'USER', 'id': '1149821919'}]
await group_membership.get_owners(debug_api = False, return_raw = False)
[Membership_Entity(entity=DomoUser(id='1893952720', display_name='Jae Wilson1', email_address='jae@datacrew.space', role_id=810756122, department='Business Improvement', title=None, avatar_key='/api/content/v1/avatar/USER/1893952720', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 18), last_activity_dt=datetime.datetime(2024, 11, 27, 18, 21, 22, 860000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None))]
group_membership._list_to_json(group_membership.owners)
[{'type': 'USER', 'id': '1893952720'}]

implement CRUD methods

oe = await dmdu.DomoUser.get_by_id(auth=auth, user_id = auth.user_id)

group_membership = GroupMembership(auth =auth, parent_id = 1513712315)


await group_membership.remove_members(
    remove_user_ls=[Membership_Entity(entity = oe)]
)
[Membership_Entity(entity=DomoUser(id='1216550715', display_name='8:26 - go to sleep', email_address='test4@domo.com', role_id=2, department='test', title=None, avatar_key='/api/content/v1/avatar/USER/1216550715', phone_number='152', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2022, 10, 5, 3, 0, 21), last_activity_dt=datetime.datetime(2024, 1, 22, 20, 2, 32, 453000), custom_attributes={}, role=DomoRole(id=2, name='Privileged', description='Full access except for editing users and settings owners', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None)),
 Membership_Entity(entity=DomoUser(id='233216585', display_name='test - updated via dl 2024-11-27', email_address='test4@test.com', role_id=3, department=None, title=None, avatar_key='/api/content/v1/avatar/USER/233216585', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2024, 11, 18, 17, 26, 50), last_activity_dt=None, custom_attributes={}, role=DomoRole(id=3, name='Editor', description='Can edit Cards, Pages, DataSets, and Dataflows', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None)),
 Membership_Entity(entity=DomoUser(id='663516735', display_name='test 3', email_address='test33@test.com', role_id=810756122, department=None, title=None, avatar_key='/api/content/v1/avatar/USER/663516735', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to='1216550715', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2023, 3, 16, 23, 2, 31), last_activity_dt=datetime.datetime(2024, 1, 22, 21, 47, 2, 625000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None)),
 Membership_Entity(entity=DomoUser(id='1149821919', display_name='test 3 - updated 2024-10-28', email_address='delete_test3@test.com', role_id=108369421, department=None, title=None, avatar_key='/api/content/v1/avatar/USER/1149821919', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2024, 7, 24, 17, 38, 24), last_activity_dt=None, custom_attributes={}, role=DomoRole(id=108369421, name='test_update_metadata', description='last updated - 2024-11-27', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None))]
oe = await dmdu.DomoUser.get_by_id(auth=auth, user_id = auth.user_id)

group_membership = GroupMembership(auth =auth, parent_id = 1513712315)


await group_membership.add_owners(
    add_owner_ls =[Membership_Entity(entity = oe)]
)
[Membership_Entity(entity=DomoUser(id='1893952720', display_name='Jae Wilson1', email_address='jae@datacrew.space', role_id=810756122, department='Business Improvement', title=None, avatar_key='/api/content/v1/avatar/USER/1893952720', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 18), last_activity_dt=datetime.datetime(2024, 11, 27, 18, 21, 22, 860000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None))]