def delete(record_id):
    record = Record.get(id=record_id)

    if not record:
        abort(404)

    record.delete()
    db.commit()

    return '', 204
def show(record_id):
    # This will serialize our data
    schema = RecordSchema()
    # This gets a record by ID
    record = Record.get(id=record_id)

    # If we can't find a record, send a 404 response
    if not record:
        abort(404)

    # otherwise, send back the record data as JSON
    return schema.dumps(record)
def update(record_id):
    schema = RecordSchema()
    record = Record.get(id=record_id)

    if not record:
        abort(404)

    try:
        data = schema.load(request.get_json())
        record.set(**data)
        db.commit()
    except ValidationError as err:
        return jsonify({'message': 'Validation failed', 'errors': err.messages}), 422

    return schema.dumps(record)