def generate_default_groups() -> list: return [ UserGroup( **{ "label": "Admin", "name": "admin", "public_id": 1, "rights": [ "base.system.*", "base.system.security", "base.system.user_management.rst", "base.framework.*", "base.framework.object.view", "base.framework.object.edit", "base.framework.object.delete", "base.framework.type.view", "base.framework.type.edit", "base.framework.type.delete" ] }), UserGroup( **{ "label": "User", "name": "user", "public_id": 2, "rights": [ "base.framework.object.view", "base.framework.object.edit", "base.framework.object.delete", "base.framework.type.view" ] }), UserGroup( **{ "label": "Guest", "name": "guest", "public_id": 3, "rights": ["base.framework.object.view"] }), UserGroup( **{ "label": "Rest", "name": "rest", "public_id": 4, "rights": ["base.framework.*"] }) ]
def get_group(self, public_id: int) -> UserGroup: try: founded_group = self._get(collection=UserGroup.COLLECTION, public_id=public_id) return UserGroup(**founded_group) except NoDocumentFound as e: raise UserManagerGetError(e)
def get_groups(self) -> list: group_list = [] for founded_group in self._get_many(collection=UserGroup.COLLECTION): try: group_list.append(UserGroup(**founded_group)) except CMDBError: LOGGER.debug("Error while group parser: {}".format(founded_group)) continue return group_list
def add_group(request_user: User): http_post_request_data = json.dumps(request.json) new_group_data = json.loads(http_post_request_data, object_hook=json_util.object_hook) new_group_data['public_id'] = user_manager.get_new_id(UserGroup.COLLECTION) try: new_group = UserGroup(**new_group_data) except (CMDBError, Exception) as err: LOGGER.error(err.message) return abort(400) try: insert_ack = user_manager.insert_group(new_group) except UserManagerInsertError as err: LOGGER.error(err) return abort(400) return make_response(insert_ack)
def insert_group(self, insert_group: UserGroup) -> int: try: return self.dbm.insert(collection=UserGroup.COLLECTION, data=insert_group.to_database()) except Exception: raise UserManagerInsertError(insert_group.get_name())
def get_group_by(self, **requirements) -> UserGroup: try: return UserGroup(**self._get_by(collection=UserGroup.COLLECTION, **requirements)) except NoDocumentFound: raise UserManagerGetError(f'Group not found')
from cmdb.user_management.user import User from cmdb.user_management.user_base import UserManagementBase from cmdb.user_management.user_group import UserGroup from cmdb.user_management.user_manager import UserManager __COLLECTIONS__: List[object] = [ User, UserGroup ] __ADMIN_GROUP_RIGHTS__: List[str] = [ 'base.*' ] __USER_GROUP_RIGHTS__: List[str] = [ 'base.framework.object.*', 'base.framework.type.view', 'base.framework.category.view', 'base.framework.log.view', 'base.user-management.user.view', 'base.user-management.group.view', 'base.docapi.template.view' ] __FIXED_GROUPS__: List[UserGroup] = [ UserGroup(public_id=1, name='admin', label='Administrator', rights=__ADMIN_GROUP_RIGHTS__, deletable=False), UserGroup(public_id=2, name='user', label='User', rights=__USER_GROUP_RIGHTS__, deletable=False) ]