def get_admins_for_membership(membership_id, status=Status.ACTIVE.value): """Get admins for an org.""" membership = MembershipModel.find_membership_by_id(membership_id) org_id = membership.org_id return UserModel.find_users_by_org_id_by_status_by_roles( org_id, CLIENT_ADMIN_ROLES, status)
def find_membership_by_id(cls, membership_id, token_info: Dict = None): """Retrieve a membership record by id.""" membership = MembershipModel.find_membership_by_id(membership_id) if membership: # Ensure that this user is an ADMIN or OWNER on the org associated with this membership # or that the membership is for the current user if membership.user.username != token_info.get('username'): check_auth(org_id=membership.org_id, token_info=token_info, one_of_roles=(ADMIN, OWNER)) return Membership(membership) return None
def find_membership_by_id(cls, membership_id, **kwargs): """Retrieve a membership record by id.""" user_from_context: UserContext = kwargs['user_context'] membership = MembershipModel.find_membership_by_id(membership_id) if membership: # Ensure that this user is an COORDINATOR or ADMIN on the org associated with this membership # or that the membership is for the current user if membership.user.username != user_from_context.user_name: check_auth(org_id=membership.org_id, one_of_roles=(COORDINATOR, ADMIN, STAFF)) return Membership(membership) return None