Fix the frontend API calls and implement logins on frontend #7
@@ -104,15 +104,21 @@ def profile():
|
|||||||
message="Access granted", user=auth_manager.get_user_by_id(current_user)
|
message="Access granted", user=auth_manager.get_user_by_id(current_user)
|
||||||
), 200
|
), 200
|
||||||
|
|
||||||
|
@app.route("/user/datasets")
|
||||||
|
@jwt_required()
|
||||||
|
def get_user_datasets():
|
||||||
|
current_user = int(get_jwt_identity())
|
||||||
|
return jsonify(dataset_manager.get_user_datasets(current_user)), 200
|
||||||
|
|
||||||
@app.route("/upload", methods=["POST"])
|
@app.route("/upload", methods=["POST"])
|
||||||
@jwt_required()
|
@jwt_required()
|
||||||
def upload_data():
|
def upload_data():
|
||||||
if "posts" not in request.files or "topics" not in request.files:
|
if "posts" not in request.files or "topics" not in request.files or "name" not in request.form:
|
||||||
return jsonify({"error": "Missing required files or form data"}), 400
|
return jsonify({"error": "Missing required files or form data"}), 400
|
||||||
|
|
||||||
post_file = request.files["posts"]
|
post_file = request.files["posts"]
|
||||||
topic_file = request.files["topics"]
|
topic_file = request.files["topics"]
|
||||||
|
dataset_name = request.form["name"]
|
||||||
|
|
||||||
if post_file.filename == "" or topic_file.filename == "":
|
if post_file.filename == "" or topic_file.filename == "":
|
||||||
return jsonify({"error": "Empty filename"}), 400
|
return jsonify({"error": "Empty filename"}), 400
|
||||||
@@ -129,7 +135,7 @@ def upload_data():
|
|||||||
|
|
||||||
posts_df = pd.read_json(post_file, lines=True, convert_dates=False)
|
posts_df = pd.read_json(post_file, lines=True, convert_dates=False)
|
||||||
topics = json.load(topic_file)
|
topics = json.load(topic_file)
|
||||||
dataset_id = dataset_manager.save_dataset_info(current_user, f"dataset_{current_user}", topics)
|
dataset_id = dataset_manager.save_dataset_info(current_user, dataset_name, topics)
|
||||||
|
|
||||||
process_dataset.delay(
|
process_dataset.delay(
|
||||||
dataset_id,
|
dataset_id,
|
||||||
|
|||||||
@@ -18,6 +18,10 @@ class DatasetManager:
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def get_user_datasets(self, user_id: int) -> list[dict]:
|
||||||
|
query = "SELECT * FROM datasets WHERE user_id = %s"
|
||||||
|
return self.db.execute(query, (user_id, ), fetch=True)
|
||||||
|
|
||||||
def get_dataset_content(self, dataset_id: int) -> pd.DataFrame:
|
def get_dataset_content(self, dataset_id: int) -> pd.DataFrame:
|
||||||
query = "SELECT * FROM events WHERE dataset_id = %s"
|
query = "SELECT * FROM events WHERE dataset_id = %s"
|
||||||
result = self.db.execute(query, (dataset_id,), fetch=True)
|
result = self.db.execute(query, (dataset_id,), fetch=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user