Exemplo n.º 1
0
def replace_slip(event, context):
    try:
        slip = SlipModel.get(hash_key=event['pathParameters']['id'])
    except DoesNotExist:
        return {
            'statusCode': 404,
            'body': json.dumps({'error_message': 'SLIP was not found'})
        }

    slip_data = json.loads(event['body'])
    if 'number' not in slip_data:
        return {
            'statusCode':
            422,
            'body':
            json.dumps({
                'error_message':
                '\'number\' is only replaceable item. \'number\' requred.'
            })
        }

    if 'number' in slip_data:
        slip.number = slip_data['number']

    slip.save()
    return {'statusCode': 201, 'body': json.dumps(dict(slip))}
Exemplo n.º 2
0
def get_slip(event, context):
    try:
        slip = SlipModel.get(hash_key=event['pathParameters']['id'])
    except DoesNotExist:
        return {
            'statusCode': 404,
            'body': json.dumps({'error_message': 'SLIP was not found'})
        }
    return {'statusCode': 200, 'body': json.dumps(dict(slip))}
Exemplo n.º 3
0
def mod_slip(event, context):
    try:
        slip = SlipModel.get(hash_key=event['pathParameters']['id'])
    except DoesNotExist:
        return {
            'statusCode': 404,
            'body': json.dumps({'error_message': 'SLIP was not found'})
        }

    # slip number is the only modifiable thing right now
    slip_data = json.loads(event['body'])
    if 'number' in slip_data:
        slip.number = slip_data['number']

    slip.save()
    return {'statusCode': 200, 'body': json.dumps(dict(slip))}
Exemplo n.º 4
0
def delete_slip(event, context):
    slip = SlipModel.get(hash_key=event['pathParameters']['id'])
    # If boat contains a slip, set the boat at_sea to true
    if slip.current_boat:
        bid = slip.current_boat[-6:]
        boat = BoatModel.get(hash_key=bid)
        boat.update(actions=[BoatModel.at_sea.set(True)])

    sid = slip.id
    slip.delete()
    return {
        'statusCode':
        200,
        'body':
        json.dumps({
            'success': 'Slip {0} deleted'.format(sid),
            'slip_id': sid
        })
    }