def post(): """Post a new user using the request body who has a proper invitation.""" try: request_json = request.get_json() invitation_token = request.headers.get('invitation_token', None) invitation = InvitationService.validate_token(invitation_token).as_dict() valid_format, errors = schema_utils.validate(request_json, 'anonymous_user') if not valid_format: return {'message': schema_utils.serialize(errors)}, http_status.HTTP_400_BAD_REQUEST membership_details = { 'email': invitation['recipientEmail'], 'membershipType': invitation['membership'][0]['membershipType'], 'update_password_on_login': False } membership_details.update(request_json) user = UserService.create_user_and_add_membership([membership_details], invitation['membership'][0]['org']['id'], single_mode=True) user_dict = user['users'][0] if user_dict['http_status'] != http_status.HTTP_201_CREATED: response, status = {'code': user_dict['http_status'], 'message': user_dict['error']}, user_dict[ 'http_status'] else: InvitationService.accept_invitation(invitation['id'], None, None, False) response, status = user, http_status.HTTP_201_CREATED except BusinessException as exception: response, status = {'code': exception.code, 'message': exception.message}, exception.status_code return response, status
def post(): """Admin users can post multiple users to his org.Use it for anonymous purpose only.""" try: request_json = request.get_json() valid_format, errors = schema_utils.validate(request_json, 'bulk_user') token = g.jwt_oidc_token_info if not valid_format: return {'message': schema_utils.serialize(errors)}, http_status.HTTP_400_BAD_REQUEST users = UserService.create_user_and_add_membership(request_json['users'], request_json['orgId'], token) response, status = users, http_status.HTTP_201_CREATED except BusinessException as exception: response, status = {'code': exception.code, 'message': exception.message}, exception.status_code return response, status
def post(): """Admin users can post multiple users to his org.Use it for anonymous purpose only.""" try: request_json = request.get_json() valid_format, errors = schema_utils.validate( request_json, 'bulk_user') if not valid_format: return { 'message': schema_utils.serialize(errors) }, http_status.HTTP_400_BAD_REQUEST users = UserService.create_user_and_add_membership( request_json['users'], request_json['orgId']) is_any_error = any(user['http_status'] != 201 for user in users['users']) response, status = users, http_status.HTTP_207_MULTI_STATUS if is_any_error else http_status.HTTP_200_OK except BusinessException as exception: response, status = { 'code': exception.code, 'message': exception.message }, exception.status_code return response, status