def get(self, request, tenant_name, *args, **kwargs): """ 获取某指定团队信息 --- parameters: - name: tenant_name description: 团队名称 required: true type: string paramType: path """ try: tenant = tenant_service.get_tenant(tenant_name) user_list = tenant_service.get_users_by_tenantID(tenant.ID) user_num = len(user_list) rt_list = [{ "tenant_id": tenant.tenant_id, "tenant_name": tenant.tenant_name, "user_num": user_num, "tenant_alias": tenant.tenant_alias }] result = generate_result("0000", "success", "查询成功", list=rt_list) except Tenants.DoesNotExist as e: logger.exception(e) result = generate_result("1001", "tenant not exist", "租户{}不存在".format(tenant_name)) except Exception as e: logger.exception(e) result = generate_result("9999", "system error", "系统异常") return Response(result)
def add_user(self, request, tenant_name): phone = request.data.get("phone", None) user_name = request.data.get("user_name", None) email = request.data.get("email", None) password = request.data.get("password", None) tenant = tenantService.get_tenant(tenant_name) if Users.objects.filter(nick_name=user_name).exists(): raise UserExistError("用户名已存在") if Users.objects.filter(email=email).exists(): raise EmailExistError("邮箱已存在") if Users.objects.filter(phone=phone).exists(): raise PhoneExistError("手机号已存在") user = Users(email=email, nick_name=user_name, phone=phone, client_ip=self.get_client_ip(request), rf="backend") user.set_password(password) user.save() PermRelTenant.objects.create(user_id=user.pk, tenant_id=tenant.pk, identity='admin') codeRepositoriesService.createUser(user, email, password, user_name, user_name)
def post(self, request, tenant_name, *args, **kwargs): """ 为团队添加用户 --- parameters: - name: tenant_name description: 团队名 required: true type: string paramType: path - name: user_name description: 用户名 required: true type: string paramType: form """ try: user_name = request.data.get("user_name", None) if not user_name: raise ParamsError("用户名为空") user = user_service.get_user_by_username(user_name) tenant = tenant_service.get_tenant(tenant_name) tenant_service.add_user_to_tenant(tenant, user) result = generate_result("0000", "success", "用户添加成功") except PermTenantsExistError as e: result = generate_result("1009", "permtenant exist", e.message) except UserNotExistError as e: result = generate_result("1008", "user not exist", e.message) except Tenants.DoesNotExist as e: logger.exception(e) result = generate_result("1001", "tenant not exist", "租户{}不存在".format(tenant_name)) except Exception as e: logger.exception(e) result = generate_result("9999", "system error", "系统异常") return Response(result)
def post(self, request, tenant_name, *args, **kwargs): """ 为团队添加用户 --- parameters: - name: tenant_name description: 团队名 required: true type: string paramType: path - name: user_name description: 用户名 required: true type: string paramType: form - name: identity description: 权限 required: true type: string paramType: form """ try: user_name = request.data.get("user_name", None) if not user_name: return Response( generate_result("1003", "username is null", "用户名不能为空")) identity = request.data.get("identity", "viewer") if not identity: return Response( generate_result("1003", "identity is null", "用户权限不能为空")) user = user_service.get_user_by_username(user_name) tenant = tenant_service.get_tenant(tenant_name) if not tenant: result = generate_result("1001", "tenant not exist", "租户{}不存在".format(tenant_name)) return Response(result) enterprise = enterprise_services.get_enterprise_by_id( tenant.enterprise_id) tenant_service.add_user_to_tenant(tenant, user, identity, enterprise) result = generate_result("0000", "success", "用户添加成功") except PermTenantsExistError as e: result = generate_result("1009", "permtenant exist", e.message) except UserNotExistError as e: result = generate_result("1008", "user not exist", e.message) except Tenants.DoesNotExist as e: logger.exception(e) result = generate_result("1001", "tenant not exist", "租户{}不存在".format(tenant_name)) except Exception as e: logger.exception(e) result = generate_result("9999", "system error", "系统异常") return Response(result)
def get(self, request, tenant_name, user_name, *args, **kwargs): """ 查询某团队下的某个用户 --- parameters: - name: tenant_name description: 团队名 required: true type: string paramType: path - name: user_name description: 用户名 required: true type: string paramType: path """ try: user = user_service.get_user_by_username(user_name) tenant = tenant_service.get_tenant(tenant_name) perm_tenants = PermRelTenant.objects.filter(tenant_id=tenant.ID, user_id=user.pk) if not perm_tenants: result = generate_result( "1010", "tenant user not exist", "租户{0}下不存在用户{1}".format(tenant_name, user_name)) else: code = "0000" msg = "success" list = [] res = { "tenant_id": tenant.tenant_id, "tenant_name": tenant.tenant_name, "user_id": user.user_id, "nick_name": user.nick_name, "email": user.email, "phone": user.phone } list.append(res) result = generate_result(code, msg, "查询成功", list=list) except UserNotExistError as e: result = generate_result("1008", "user not exist", e.message) except Tenants.DoesNotExist as e: logger.exception(e) result = generate_result("1001", "tenant not exist", "租户{}不存在".format(tenant_name)) except Exception as e: logger.exception(e) result = generate_result("9999", "system error", "系统异常") return Response(result)
def get(self, request, tenant_name, *args, **kwargs): """ 获取某团队下的所有用户 --- parameters: - name: tenant_name description: 租户名称 required: true type: string paramType: path """ result = {} try: tenant = tenant_service.get_tenant(tenant_name) if not tenant: result = generate_result("1001", "tenant not exist", "租户{}不存在".format(tenant_name)) return Response(result) user_list = tenant_service.get_tenant_users(tenant_name) list = [] for user in user_list: result_map = dict() result_map["user_id"] = user.user_id result_map["email"] = user.email result_map["nick_name"] = user.nick_name tenant_list = user_service.get_user_tenants(user.user_id) result_map["tenants"] = tenant_list list.append(result_map) result = generate_result( "0000", "success", "查询成功", list=list ) except Tenants.DoesNotExist as e: logger.exception(e) result = generate_result("1001", "tenant not exist", "租户{}不存在".format(tenant_name)) except Exception as e: logger.exception(e) result = generate_result("9999", "system error", "系统异常") return Response(result)