def update_group(self, tenant, region_name, app_id, app_name, note="", username=None): # check app id if not app_id or not str.isdigit(app_id) or int(app_id) < 0: raise ServiceHandleException(msg="app id illegal", msg_show="应用ID不合法") # check username if username: try: data = {"username": username} user_repo.get_user_by_username(username) group_repo.update(app_id, **data) return except ErrUserNotFound: raise ServiceHandleException(msg="user not exists", msg_show="用户不存在,请选择其他应用负责人", status_code=404) # check app name self.check_app_name(tenant, region_name, app_name) group = group_repo.get_group_by_unique_key(tenant.tenant_id, region_name, app_name) if group and int(group.ID) != int(app_id): raise ServiceHandleException(msg="app already exists", msg_show="应用名{0}已存在".format(app_name)) data = { "note": note, } if app_name: data["group_name"] = app_name group_repo.update(app_id, **data)
def add_group(self, tenant, region_name, group_name): if not group_name: return 400, u"组名不能为空", None group = group_repo.get_group_by_unique_key(tenant.tenant_id, region_name, group_name) if group: return 409, u"组名{0}已存在".format(group_name), None new_group = group_repo.add_group(tenant.tenant_id, region_name, group_name) return 200, u"添加成功", new_group
def add_group(self, tenant, region_name, group_name, group_note=""): self.check_group_name(tenant, region_name, group_name) group = group_repo.get_group_by_unique_key(tenant.tenant_id, region_name, group_name) if group: raise ServiceHandleException( msg="app already exists", msg_show="应用名{0}已存在".format(group_name)) return group_repo.add_group(tenant.tenant_id, region_name, group_name, group_note)
def update_group(self, tenant, region_name, group_id, group_name): if not group_id or group_id < 0: return 400, u"组ID不合法", None if not group_name: return 400, u"组名不能为空", None group = group_repo.get_group_by_unique_key(tenant.tenant_id, region_name, group_name) if group: return 403, u"组名{0}已存在".format(group_name), None group_repo.update_group_name(group_id, group_name) return 200, u"修改成功", group_name
def __add_group(self, tenant, region_name, app_name, note="", username=""): self.check_app_name(tenant, region_name, app_name) if group_repo.get_group_by_unique_key(tenant.tenant_id, region_name, app_name): raise ServiceHandleException(msg="app name exist", msg_show="应用名称已存在") return group_repo.add_group(tenant.tenant_id, region_name, app_name, group_note=note, username=username)
def check_app_name(tenant, region_name, group_name, app: ServiceGroup = None): if not group_name: raise ServiceHandleException(msg="app name required", msg_show="应用名不能为空") if len(group_name) > 128: raise ServiceHandleException(msg="app_name illegal", msg_show="应用名称最多支持128个字符") r = re.compile('^[a-zA-Z0-9_\\.\\-\\u4e00-\\u9fa5]+$') if not r.match(group_name): raise ServiceHandleException(msg="app_name illegal", msg_show="应用名称只支持中英文, 数字, 下划线, 中划线和点") exist_app = group_repo.get_group_by_unique_key(tenant.tenant_id, region_name, group_name) if not exist_app: return if not app or exist_app.app_id != app.app_id: raise ServiceHandleException(msg="app name exist", msg_show="应用名称已存在")
def update_group(self, tenant, region_name, group_id, group_name, group_note=""): if not group_id or group_id < 0: raise ServiceHandleException(msg="app id illegal", msg_show="应用ID不合法") self.check_group_name(tenant, region_name, group_name) group = group_repo.get_group_by_unique_key(tenant.tenant_id, region_name, group_name) if group and group.ID != group_id: raise ServiceHandleException( msg="app already exists", msg_show="应用名{0}已存在".format(group_name)) group_repo.update_group_name(group_id, group_name, group_note)
def update_group(self, tenant, region_name, app_id, app_name, note="", username=None, overrides="", version="", revision=0): # check app id if not app_id or not str.isdigit(app_id) or int(app_id) < 0: raise ServiceHandleException(msg="app id illegal", msg_show="应用ID不合法") # check username if username: try: data = {"username": username} user_repo.get_user_by_username(username) group_repo.update(app_id, **data) return except ErrUserNotFound: raise ServiceHandleException(msg="user not exists", msg_show="用户不存在,请选择其他应用负责人", status_code=404) # check app name if app_name: self.check_app_name(tenant, region_name, app_name) if overrides: overrides = self._parse_overrides(overrides) group = group_repo.get_group_by_unique_key(tenant.tenant_id, region_name, app_name) if group and int(group.ID) != int(app_id): raise ServiceHandleException(msg="app already exists", msg_show="应用名{0}已存在".format(app_name)) data = { "note": note, } if app_name: data["group_name"] = app_name if version: data["version"] = version group_repo.update(app_id, **data) region_app_id = region_app_repo.get_region_app_id(region_name, app_id) region_api.update_app(region_name, tenant.tenant_name, region_app_id, { "overrides": overrides, "version": version, "revision": revision, })