Skip to content

Commit

Permalink
fix(api): permissions for CIType group editing
Browse files Browse the repository at this point in the history
  • Loading branch information
pycook committed Apr 29, 2024
1 parent 06ae1bc commit ef25c94
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions cmdb-api/api/views/cmdb/ci_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from api.lib.cmdb.ci_type import CITypeTemplateManager
from api.lib.cmdb.ci_type import CITypeTriggerManager
from api.lib.cmdb.ci_type import CITypeUniqueConstraintManager
from api.lib.cmdb.const import PermEnum, ResourceTypeEnum, RoleEnum
from api.lib.cmdb.const import PermEnum, ResourceTypeEnum
from api.lib.cmdb.perms import CIFilterPermsCRUD
from api.lib.cmdb.preference import PreferenceManager
from api.lib.cmdb.resp_format import ErrFormat
Expand Down Expand Up @@ -119,7 +119,6 @@ def delete(self):
class CITypeGroupView(APIView):
url_prefix = ("/ci_types/groups",
"/ci_types/groups/config",
"/ci_types/groups/order",
"/ci_types/groups/<int:gid>")

def get(self):
Expand All @@ -138,16 +137,8 @@ def post(self):

return self.jsonify(group.to_dict())

@perms_role_required(app_cli.app_name, app_cli.resource_type_name, app_cli.op.Model_Configuration,
app_cli.op.update_CIType_group, app_cli.admin_name)
@args_validate(CITypeGroupManager.cls)
def put(self, gid=None):
if "/order" in request.url:
group_ids = request.values.get('group_ids')
CITypeGroupManager.order(group_ids)

return self.jsonify(group_ids=group_ids)

name = request.values.get('name') or abort(400, ErrFormat.argument_value_required.format("name"))
type_ids = request.values.get('type_ids')

Expand All @@ -164,6 +155,18 @@ def delete(self, gid):
return self.jsonify(gid=gid)


class CITypeGroupOrderView(APIView):
url_prefix = "/ci_types/groups/order"

@perms_role_required(app_cli.app_name, app_cli.resource_type_name, app_cli.op.Model_Configuration,
app_cli.op.update_CIType_group, app_cli.admin_name)
def put(self):
group_ids = request.values.get('group_ids')
CITypeGroupManager.order(group_ids)

return self.jsonify(group_ids=group_ids)


class CITypeQueryView(APIView):
url_prefix = "/ci_types/query"

Expand Down

0 comments on commit ef25c94

Please sign in to comment.