Exemplo n.º 1
0
def get_ongoing_trips_by_user(user_id, current_date=date.today()):
    user = get_user_by_id(user_id)
    if not user:
        raise UserNotFoundException(user_id)

    ongoing_trips = get_ongoing_trips(user.users_trips, current_date)
    return ongoing_trips
Exemplo n.º 2
0
def make_admin(user_id, to_do: bool):
    user = get_user_by_id(user_id)
    if user is None:
        raise UserNotFoundException(user_id)
    if user.admin != to_do:
        user.admin = to_do
        save_changes(user)
Exemplo n.º 3
0
def get_finished_trips_by_user(user_id):
    user = get_user_by_id(user_id)
    if not user:
        raise UserNotFoundException(user_id)

    closed_trips = list(filter(lambda trip: trip.closed, user.users_trips))
    return closed_trips
Exemplo n.º 4
0
def ban(user_id, to_ban: bool):
    user = get_user_by_id(user_id)
    if user is None:
        raise UserNotFoundException(user_id)
    if user.banned != to_ban:
        user.banned = to_ban
        save_changes(user)
Exemplo n.º 5
0
def get_expenses(trip_id, user_id):
    if not trip_exists(trip_id):
        raise TripNotFoundException(trip_id)

    if not get_user_by_id(user_id):
        raise UserNotFoundException(user_id)

    return Expense.query.filter_by(trip_id=trip_id).filter_by(
        user_id=user_id).all()
Exemplo n.º 6
0
def create_expense(expense):
    if not trip_exists(expense.trip_id):
        raise TripNotFoundException(expense.trip_id)

    if not get_user_by_id(expense.user_id):
        raise UserNotFoundException(expense.user_id)

    save_changes(expense)
    return expense
Exemplo n.º 7
0
def create_reimbursement(reimbursement):
    if reimbursement.expense_id:
        expense = get_expense(reimbursement.expense_id)
        if not expense:
            raise ExpenseNotFoundException(reimbursement.expense_id)

    if not get_user_by_id(reimbursement.emitter_id):
        raise UserNotFoundException(reimbursement.emitter_id)

    save_changes(reimbursement)
    return reimbursement
Exemplo n.º 8
0
def get_coming_trips_by_user(user_id, current_date=date.today()):
    user = get_user_by_id(user_id)
    if not user:
        raise UserNotFoundException(user_id)

    coming_trips = get_coming_trips(user.users_trips, current_date)

    for trip in coming_trips:
        trip.countdown = get_countdown(trip, current_date)

    return coming_trips
Exemplo n.º 9
0
def get_trip_stats(user_id: int):
    user: User = get_user_by_id(user_id)
    if not user:
        raise UserNotFoundException(user_id)

    return {
        'trips_number': len(user.users_trips),
        'steps_number': len(user.users_steps),
        'countries_visited': count_countries(user.users_steps),
        'cities_visited': count_cities(user.users_steps)
    }
Exemplo n.º 10
0
def get_all_user_information(user_id):
    user = get_user_by_id(user_id)
    if not user:
        raise UserNotFoundException(user_id)

    trips = get_user_trips(user)
    steps = get_user_steps_by_trips(user, trips)
    messages = get_user_messages_by_trips(user, trips)
    expenses = get_user_expenses_by_trips(user, trips)
    reimbursements = get_user_reimbursements_by_trips(user, trips)
    return GDPR(user, trips, steps, messages, expenses, reimbursements)
Exemplo n.º 11
0
def update_profile_picture(file_id, user_id):
    user: User = get_user_by_id(user_id)
    if not user:
        raise UserNotFoundException(user_id)

    file: File = get_file(file_id)
    if not file:
        raise FileNotFoundException()

    if user.picture_path is not None:
        delete(user.picture_path)

    user.picture_path = file.id
    save_changes(user)
Exemplo n.º 12
0
def delete_all_user_information(user_id):
    user = get_user_by_id(user_id)
    if not user:
        raise UserNotFoundException(user_id)
    user = remove_user_informations(user)
    save_changes(user)