Exemplo n.º 1
0
def delete_car(current_user, car_id):
    car = Car.get_car_by_id(car_id)
    if not car:
        return response('failed', 'car not found', 404)
    data = cars_schema.dump(car).data
    if data.get('owner_id') != current_user.id:
            return response('failed', 'It\'s not your car', 400)
    car.delete()

    return response('success', 'car deleted', 204)
Exemplo n.º 2
0
def update_car(current_user, car_id):
    if request.content_type == 'application/json' :
        req_data = request.get_json()
        car = Car.get_car_by_id(car_id)
        if not car:
            return response('failed', 'car not found', 404)
        data = cars_schema.dump(car).data
        if data.get('owner_id') != current_user.id:
            return response('failed', 'It\'s not your car', 400)
        data, error = cars_schema.load(req_data, partial=True)
        if error:
            return response('failed', error, 400)
        car.update(data)
        data = cars_schema.dump(car).data
        return response_for_get_cars(data)
Exemplo n.º 3
0
def add_car(current_user):
    json_data = request.get_json()
    json_data['owner_id'] = current_user.id
    json_data['created_at'] = datetime.datetime.utcnow()
    data, error = car_schema.load(json_data)
    if error:
        return response('failed', error, 400)

    car = Car(current_user.id, data)
    car.save()
    data = car_schema.dump(car).data
    return response_for_added_car(car, 201)    
Exemplo n.º 4
0
def route_not_found(e):
    return response('failed', 'Endpoint not found', 404)
Exemplo n.º 5
0
def internal_server_error(e):
    return response('failed', 'Internal server error', 500)
Exemplo n.º 6
0
def method_not_found(e):
    return response('failed',
                    'This method is not allowed for the requested URL', 405)
Exemplo n.º 7
0
def get_car_by_id(current_user, car_id):
    car = Car.get_car_by_id(car_id)
    if not car:
        return response('failed', 'car not found', 404)
    data = car_schema.dump(car).data
    return response_for_user_car(data)