Ejemplo n.º 1
0
def post_account():
    # Prepare basic response
    response = basic_response.get_basic_response()

    # Get request JSON
    account_data_from_request = request.get_json()
    # Check if it's valid JSON
    if account_data_from_request is None:
        response['status']['code'] = status_codes.BAD_REQUEST
        response['status']['errors'].append(
            'Incoming data is not application/json')
    else:
        try:
            # Initialize account (exception will be thrown is JSON is not valid)
            account = Account(account_data_from_request)
            # Add to database (exception will be thrown from database if smth is wrong)
            DB_SESSION.add(account)
            DB_SESSION.commit()
            # Respond to user with new ID
            response['count'] = 1
            response['accounts'].append(account.to_dict())
            response['status']['code'] = status_codes.CREATED
        except ModelInitializationException as initError:
            response['status']['code'] = status_codes.BAD_REQUEST
            response['status']['errors'] = initError.errors
        except IntegrityError as integrityError:
            response['status']['code'] = status_codes.INTERNAL_SERVER_ERROR
            response['status']['errors'] = integrityError.detail
        except ProgrammingError as programmingError:
            response['status']['code'] = status_codes.INTERNAL_SERVER_ERROR
            response['status']['errors'].append(str(programmingError.orig))

    return jsonify(response)
Ejemplo n.º 2
0
def get_transactions():
    # Prepare basic response
    response = basic_response.get_basic_response()

    # Query database for all transactions
    transactions = Transaction.query.all()

    # Put count of transactions to response object
    response['count'] = len(transactions)
    for transaction in transactions:
        response['transactions'].append(transaction.to_dict())

    return jsonify(response)
Ejemplo n.º 3
0
def get_entities():
    # Prepare basic response
    response = basic_response.get_basic_response()

    # Query database for all entities
    entities = Counterparty.query.all()

    # Put count of entities to response object
    response['count'] = len(entities)
    for entity in entities:
        response['entities'].append(entity.to_dict())

    return jsonify(response)
Ejemplo n.º 4
0
def get_entity(entity_id):
    # Prepare basic response
    response = basic_response.get_basic_response()

    # Query database for entity by id
    entity = Counterparty.query.filter_by(id=entity_id).first()

    if entity is None:
        response['status']['code'] = status_codes.NOT_FOUND
    else:
        response['count'] = 1
        response['entities'].append(entity.to_dict())

    return jsonify(response)
Ejemplo n.º 5
0
def get_transaction(transaction_id):
    # Prepare basic response
    response = basic_response.get_basic_response()

    # Query database for transaction by id
    transaction = Transaction.query.filter_by(id=transaction_id).first()

    if transaction is None:
        response['status']['code'] = status_codes.NOT_FOUND
    else:
        response['count'] = 1
        response['transactions'].append(transaction.to_dict())

    return jsonify(response)
Ejemplo n.º 6
0
def get_account(account_id):
    # Prepare basic response
    response = basic_response.get_basic_response()

    # Query database for account by id
    account = Account.query.filter_by(id = account_id).first()

    if account is None:
        response['status']['code'] = status_codes.NOT_FOUND
    else:
        response['count'] = 1
        response['accounts'].append(account.to_dict())

    return jsonify(response)
Ejemplo n.º 7
0
def not_found(message):
    return jsonify(error(404, message), 404)
Ejemplo n.º 8
0
def success(response_body):
    return jsonify(response_body, 200)
Ejemplo n.º 9
0
def created(response_body):
    return jsonify(response_body, 204)
Ejemplo n.º 10
0
def bad_request(message):
    return jsonify(error(400, message), 400)