finalize hosting

This commit is contained in:
tylen
2025-11-02 15:42:34 +02:00
parent d1eeea0800
commit c2e6f81775
3 changed files with 135 additions and 27 deletions

View File

@@ -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