Beispiel #1
0
def create_users_with_list_input():

    if connexion.request.is_json:

        users = [User.from_dict(d) for d in connexion.request.get_json()]

        result = []

        for u in users:
            try:
                SchemaValidator.validate_create_user_schema(
                    u.to_json(show_id=False, show_password=True))
                other_user = UserService.get_by_username(u.username)

                if other_user is None:

                    new_user = UserService.create(u)

                    if result is not None:
                        result.append(
                            ApiResponse(status.HTTP_200_OK, 'Ok', new_user.id))
                    else:
                        result.append(
                            ApiResponse(status.HTTP_400_BAD_REQUEST,
                                        'BAD_REQUEST', 'Something went wrong'))
                else:
                    result.append(
                        ApiResponse(status.HTTP_400_BAD_REQUEST, 'BAD_REQUEST',
                                    'Username already taken'))
            except jsonschema.exceptions.ValidationError as e:
                result.append(
                    ApiResponse(status.HTTP_400_BAD_REQUEST, 'BAD_REQUEST',
                                e.message))

        return ResponseHelper.response_200(result)
Beispiel #2
0
def create_user():
    try:

        if connexion.request.is_json:

            SchemaValidator.validate_create_user_schema(
                connexion.request.get_json())

            body = User.from_dict(connexion.request.get_json())

            other_user = UserService.get_by_username(body.username)

            if other_user is None:

                result = UserService.create(body)

                if result is not None:
                    return ResponseHelper.response_201(result.to_json())
                else:
                    return ResponseHelper.response_400('Something went wrong')
            else:
                return ResponseHelper.response_400('Username already taken')

    except jsonschema.exceptions.ValidationError as e:
        return ResponseHelper.response_400(e.message)