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
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)
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
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)
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()
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
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
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
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) }
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)
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)
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)