finalize hosting
This commit is contained in:
@@ -99,3 +99,48 @@ def registerHostingEndpoints(app, database):
|
||||
except Exception as e:
|
||||
return jsonify(success=False, message=str(e)), 500
|
||||
|
||||
@app.route('/hosting/create', methods=['POST'])
|
||||
def create_and_reserve_item():
|
||||
token = request.json.get('token')
|
||||
name = request.json.get('name') # Name of the item to create
|
||||
capacity = request.json.get('capacity') # Capacity of the item
|
||||
|
||||
if not token:
|
||||
return jsonify(success=False, message="Token is required"), 400
|
||||
if not name:
|
||||
return jsonify(success=False, message="Забыл имя"), 400
|
||||
if capacity is None:
|
||||
return jsonify(success=False, message="Забыл количество мест"), 400
|
||||
|
||||
query_session = "SELECT * FROM sessions WHERE Token=%s"
|
||||
|
||||
try:
|
||||
# Verify user by token
|
||||
result = database.query(query_session, params=(token,))
|
||||
if not result:
|
||||
return jsonify(success=False, message="Token is invalid or expired"), 401
|
||||
|
||||
user_name = result[0][1] # Assuming user name is in the second column of session result
|
||||
|
||||
# Check if the item already exists
|
||||
item_check_query = "SELECT * FROM hosting WHERE Name = %s"
|
||||
item_check_result = database.query(item_check_query, params=(name,))
|
||||
|
||||
if item_check_result: # If an item with the same name already exists
|
||||
return jsonify(success=False, message="Уже существует"), 400
|
||||
|
||||
# Insert the new item and reserve it for the user
|
||||
insert_query = """
|
||||
INSERT INTO hosting (Name, Capacity, reservedBy)
|
||||
VALUES (%s, %s, %s)
|
||||
"""
|
||||
params = (name, capacity, user_name) # Reserve the item to the user
|
||||
database.query(insert_query, params=params)
|
||||
|
||||
return jsonify(success=True, message="Создано"), 201
|
||||
|
||||
except Exception as e:
|
||||
return jsonify(success=False, message=str(e)), 500
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user