Esempio n. 1
0
def login_to_app():
    username, password = check_credentials_exist(request)
    if not username:
        return responses.response_invalid_request(password)
    if AppEngine.is_logged_user(username, password):
        return responses.response_200(request.json)
    return responses.response_wrong_credentials()
Esempio n. 2
0
def create_new_event():
    errors = validator.EventScheme().validate(request.json)
    if errors:
        return responses.response_invalid_request(errors)
    pin_code = AppEngine.create_new_event(request.json)
    event = AppEngine.get_event_by_pin_code(pin_code)
    return responses.response_200(event.get_event_info())
Esempio n. 3
0
def check_participant_user_name(pin_code, userEmail):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    if userEmail in event.participants_dict.keys():
        return responses.response_invalid_user_name()
    else:
        return responses.response_200(event.get_event_info())
Esempio n. 4
0
def is_participant_event_owner(pin_code, user_name):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    if user_name not in event.participants_dict.keys():
        return responses.response_invalid_user_name()
    is_owner = event.is_event_owner(user_name)
    return responses.response_200({"is_owner": is_owner})
Esempio n. 5
0
def sign_up():
    username, password = check_credentials_exist(request)
    if not username:
        return responses.response_invalid_request(password)
    if AppEngine.signup_new_user(username, password):
        return responses.response_200(request.json)
    else:
        return responses.response_invalid_user_name()
Esempio n. 6
0
def get_participant_owes(pin_code, userEmail):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    try:
        owes = event.split_investment()[userEmail]
        return responses.response_200({"owes": owes})
    except KeyError:
        return responses.response_invalid_user_name()
Esempio n. 7
0
def remove_item():
    errors = validator.DeleteItem().validate(request.json)
    if errors:
        return responses.response_invalid_request(errors)
    event = AppEngine.get_event_by_pin_code(request.json["pin_code"])
    try:
        event.remove_item(request.json["title"])
        return responses.response_200({"message": "deleted"})
    except ValueError as ex:
        return responses.response_invalid_request({"message": str(ex)})
Esempio n. 8
0
def get_equipment_list(pin_code, regenerate):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    items_dict = event.get_equipment_list(regenerate)
    try:
        json_response = _get_equipment_list_response(items_dict)
    except Exception as e:
        return responses.response_internal_error(e)
    return responses.response_200(json_response)
Esempio n. 9
0
def set_info():
    try:
        request_dict = validator.EventInfo().load(request.json)
        pin_code = request_dict["pin_code"]
        event = AppEngine.get_event_by_pin_code(pin_code)
        if not event:
            return responses.response_invalid_event()
        event.set_info(request_dict["info"])
        return responses.response_200(event.get_event_info())
    except ValidationError as errors:
        return responses.response_invalid_request(errors.messages)
Esempio n. 10
0
def set_kind_of_meal():
    try:
        request_dict = validator.KindOfMEalScheme().load(request.json)
        pin_code = request_dict["pin_code"]
        event = AppEngine.get_event_by_pin_code(pin_code)
        if not event:
            return responses.response_invalid_event()
        event.set_kind_of_meal(request_dict["kind_of_meal"])
        return responses.response_200(request_dict)
    except ValidationError as errors:
        return responses.response_invalid_request(errors.messages)
Esempio n. 11
0
def add_message():
    try:
        request_dict = validator.MessageSchema().load(request.json)
        pin_code = request_dict["pin_code"]
        event = AppEngine.get_event_by_pin_code(pin_code)
        if not event:
            return responses.response_invalid_event()
        event.add_message(request_dict["title"], request_dict["text"],
                          request_dict["author"])
        return responses.response_200(request_dict)
    except ValidationError as errors:
        return responses.response_invalid_request(errors.messages)
Esempio n. 12
0
def get_participant_events():
    app.app.logger.debug("In get_participant_events")
    app.app.logger.debug(f"Got request: {request} of type: {type(request)}")
    app.app.logger.debug(f"Got json: {request.json} ")
    user_email = request.json.get('userEmail', None)
    if not user_email:
        return responses.response_invalid_request(
            {"message": "UserEmail is required"})
    if user_email not in AppEngine.users_dict.keys():
        return responses.response_invalid_user_name()
    events_dict = AppEngine.get_user_events(user_email)
    return responses.response_200(events_dict)
Esempio n. 13
0
def get_rides(pin_code):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    rides_dict = event.rides_board.get_rides()
    json_response = {}
    try:
        for key, val in rides_dict.items():
            json_response[key] = json.loads(RideEncoder().encode(val))
    except Exception as e:
        return responses.response_internal_error(e)
    return responses.response_200(json_response)
Esempio n. 14
0
def add_item_in_charge():
    errors = validator.AddItemInCharge().validate(request.json)
    if errors:
        return responses.response_invalid_request(errors)
    event = AppEngine.get_event_by_pin_code(request.json["pin_code"])
    if not event:
        return responses.response_invalid_event()
    title = request.json['title']
    in_charge = request.json['user_name']
    try:
        event.equipment_list.add_in_charge(title, in_charge)
        return responses.response_200(
            json.loads(ItemEncoder().encode(
                event.get_equipment_list()[title])))
    except Exception as ex:
        return responses.response_invalid_request({"message": str(ex)})
Esempio n. 15
0
def add_item():
    errors = validator.Item().validate(request.json)
    if errors:
        return responses.response_invalid_request(errors)
    event = AppEngine.get_event_by_pin_code(request.json["pin_code"])
    if not event:
        return responses.response_invalid_event()
    title = request.json['title']
    amount = request.json['amount']
    try:
        event.equipment_list.add_new_item(title, amount)
        return responses.response_200(
            json.loads(ItemEncoder().encode(
                event.get_equipment_list()[title])))
    except Exception as ex:
        return responses.response_invalid_request({"message": str(ex)})
Esempio n. 16
0
def add_ride():
    errors = validator.RideScheme().validate(request.json)
    if errors:
        return responses.response_invalid_request(errors)
    event = AppEngine.get_event_by_pin_code(request.json["pin_code"])
    if not event:
        return responses.response_invalid_event()
    try:
        driver_user_name = request.json['driver_user_name']
        driver = event.participants_dict[driver_user_name]
        source = request.json['source']
        available_seats = request.json['available_seats']
        departure_time = request.json['departure_time']
        event.rides_board.add_ride(driver, available_seats, source, departure_time)
        return responses.response_200({"response": "added ride"})
    except KeyError:
        return responses.response_invalid_user_name()
Esempio n. 17
0
def set_item_price():
    errors = validator.SetItemPrice().validate(request.json)
    if errors:
        return responses.response_invalid_request(errors)
    event = AppEngine.get_event_by_pin_code(request.json["pin_code"])
    if not event:
        return responses.response_invalid_event()
    title = request.json['title']
    price = request.json['price']
    who_paid = request.json['user_name']
    try:
        event.set_item_price(title, price, who_paid)
        return responses.response_200(
            json.loads(ItemEncoder().encode(
                event.get_equipment_list()[title])))
    except ValueError as ex:
        return responses.response_invalid_request({"message": str(ex)})
Esempio n. 18
0
def add_new_participant():
    errors = validator.ParticipantScheme().validate(request.json)
    if errors:
        return responses.response_invalid_request(errors)
    event_pin_code = request.json["pin_code"]
    event = AppEngine.get_event_by_pin_code(event_pin_code)
    if not event:
        return responses.response_invalid_event()
    user_name = request.json['userEmail']
    meal_preference = request.json['mealPreference']
    glass_preference = request.json['glassPreference']
    chaser_preference = request.json['chaserPreference']
    allergies = request.json['allergies']
    if event.add_participant(user_name, meal_preference, allergies,
                             glass_preference, chaser_preference):
        return responses.response_200((event.get_event_info()))
    else:
        return responses.response_invalid_user_name()
Esempio n. 19
0
def get_all_participants_owes(pin_code):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    owes_list = event.split_investment()
    return responses.response_200(owes_list)
Esempio n. 20
0
def get_current_money_spent(pin_code):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    money_spent = event.cashier.get_money_spent()
    return responses.response_200({"money_spent": money_spent})
Esempio n. 21
0
def get_event_info(pin_code):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    return responses.response_200(event.get_event_info())
Esempio n. 22
0
def get_beverage_statistics(pin_code):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    return responses.response_200(event.get_beverages_statistics())
Esempio n. 23
0
def get_all_participants(pin_code):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    participants_list = list(event.participants_dict.keys())
    return responses.response_200({"participants": participants_list})
Esempio n. 24
0
def is_alive():
    app.logger.info("Server is UP!")
    return response_200({"message": "The server is up Queen! :)"})
Esempio n. 25
0
def get_messages_board(pin_code):
    event = AppEngine.get_event_by_pin_code(pin_code)
    if not event:
        return responses.response_invalid_event()
    messages_list = event.get_messages()
    return responses.response_200({"messages": messages_list})