Beispiel #1
0
 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.*"]
             })
     ]
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #5
0
 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())
Beispiel #6
0
 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')
Beispiel #7
0
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)
]