43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from pathlib import Path
|
|
|
|
from flask import Flask, jsonify, request
|
|
from flask_cors import CORS
|
|
from werkzeug.utils import secure_filename
|
|
|
|
# Создаем приложение Flask
|
|
app = Flask(__name__)
|
|
CORS(app)
|
|
|
|
METADATA_DIR = Path(__file__).parent / ".metadata"
|
|
|
|
@app.route('/AI', methods=['POST'], strict_slashes=False)
|
|
def ai_request():
|
|
try:
|
|
id = request.form.get("id")
|
|
text = request.form.get("text")
|
|
files = request.files.getlist("files")
|
|
|
|
request_dir = METADATA_DIR / (secure_filename(id) or "unknown")
|
|
request_dir.mkdir(parents=True, exist_ok=True)
|
|
|
|
saved_files = []
|
|
for file in files:
|
|
filename = secure_filename(file.filename)
|
|
if not filename:
|
|
continue
|
|
file.save(request_dir / filename)
|
|
saved_files.append(filename)
|
|
|
|
return jsonify({
|
|
"id": id,
|
|
"text": text,
|
|
"files": saved_files,
|
|
}), 200
|
|
except Exception as e:
|
|
return jsonify({"error": str(e)}), 500
|
|
|
|
@app.route('/health', methods=['GET'])
|
|
def health_check():
|
|
"""Проверка работоспособности API"""
|
|
return {"status": "ok", "message": "API is running"}, 200
|