From 5996d383c46cdb2d05de852f4a66fdaf1be3ac5e Mon Sep 17 00:00:00 2001 From: pratyushkrsahu <ps01598@surrey.ac.uk> Date: Mon, 6 May 2024 18:44:01 +0100 Subject: [PATCH] Update done to bike service --- bikes_service/main.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/bikes_service/main.py b/bikes_service/main.py index 28103db..d13ba09 100644 --- a/bikes_service/main.py +++ b/bikes_service/main.py @@ -35,11 +35,11 @@ app.add_middleware( # ) db_connection = mysql.connector.connect( - host='database_mysql', # or '127.0.0.1' for IPv4 loopback + host='database-1.cz0ucmk42cu5.us-east-1.rds.amazonaws.com', # or '127.0.0.1' for IPv4 loopback port='3306', # Specify the port number here - user='root', - password='root_password', - database='your_database' + user='admin', + password='Test#321', + database='cycle_connect' ) cursor = db_connection.cursor() @@ -118,7 +118,24 @@ async def read_bikes(): bike_objects.append(bike_obj) return bike_objects - +@app.get("/bikes/available", response_model=List[BikeResponse]) +async def read_available_bikes(): + cursor.execute('SELECT * FROM Bikes WHERE bike_status = "available"') + bikes = cursor.fetchall() + bike_objects = [] + for bike in bikes: + bike_obj = BikeResponse( + bike_id=bike[0], + model=bike[1], + bike_status=bike[2], + current_location=bike[3], + bike_condition=bike[4], + price_per_hour=bike[5], + last_maintenance_date=str(bike[6]), # Convert date to string + maintenance_history=bike[7] + ) + bike_objects.append(bike_obj) + return bike_objects @app.get("/bikes/{bike_id}", response_model=Bike) async def read_bike(bike_id: int): cursor.execute('SELECT * FROM Bikes WHERE bike_id = ?', (bike_id,)) -- GitLab