def update_user(self, admin_token, user_id, user, tenant_id): self.__validate_token(admin_token) dtenant = db_api.tenant_get(tenant_id) if dtenant == None: raise fault.UnauthorizedFault("Unauthorized") if not dtenant.enabled: raise fault.TenantDisabledFault("Your account has been disabled") duser = db_api.user_get(user_id) if not duser: raise fault.ItemNotFoundFault("The user could not be found") if not duser.enabled: raise fault.UserDisabledFault("User has been disabled") if not isinstance(user, users.User): raise fault.BadRequestFault("Expecting a User") if db_api.user_get_email(user.email) is not None: raise fault.EmailConflictFault( "Email already exists") values = {'email': user.email} db_api.user_update(user_id, values) duser = db_api.user_get_update(user_id) return users.User(duser.password, duser.id, tenant_id, duser.email, duser.enabled)
def create_user(self, admin_token, tenant_id, user): self.__validate_token(admin_token) dtenant = db_api.tenant_get(tenant_id) if dtenant == None: raise fault.UnauthorizedFault("Unauthorized") if not dtenant.enabled: raise fault.TenantDisabledFault("Your account has been disabled") if not isinstance(user, users.User): raise fault.BadRequestFault("Expecting a User") if user.user_id == None: raise fault.BadRequestFault("Expecting a unique User Id") if db_api.user_get(user.user_id) != None: raise fault.UserConflictFault( "An user with that id already exists") if db_api.user_get_email(user.email) != None: raise fault.EmailConflictFault( "Email already exists") duser = db_models.User() duser.id = user.user_id duser.password = user.password duser.email = user.email duser.enabled = user.enabled duser.tenant_id = tenant_id db_api.user_create(duser) return user