first commit

This commit is contained in:
2026-04-07 16:05:05 +08:00
commit 9d9bdbb1ce
136 changed files with 5103 additions and 0 deletions
+75
View File
@@ -0,0 +1,75 @@
from flask import jsonify, request
from flask_jwt_extended import jwt_required
from . import api_bp
from ..models import Model
from ..schemas import ModelSchema, ModelCreateSchema
from ..services import ModelService
model_schema = ModelSchema()
model_create_schema = ModelCreateSchema()
@api_bp.route("/models", methods=["GET"])
@jwt_required()
def get_models():
models = Model.query.all()
return jsonify(model_schema.dump(models, many=True))
@api_bp.route("/models", methods=["POST"])
@jwt_required()
def create_model():
data = request.get_json()
errors = model_create_schema.validate(data)
if errors:
return jsonify({"error": errors}), 400
try:
model = ModelService.create_model(data)
return jsonify(model_schema.dump(model)), 201
except ValueError as e:
return jsonify({"error": str(e)}), 400
@api_bp.route("/models/<int:model_id>", methods=["GET"])
@jwt_required()
def get_model(model_id):
model = Model.query.get(model_id)
if not model:
return jsonify({"error": "模型不存在"}), 404
return jsonify(model_schema.dump(model))
@api_bp.route("/models/<int:model_id>", methods=["PUT"])
@jwt_required()
def update_model(model_id):
model = Model.query.get(model_id)
if not model:
return jsonify({"error": "模型不存在"}), 404
data = request.get_json()
try:
updated_model = ModelService.update_model(model, data)
return jsonify(model_schema.dump(updated_model))
except ValueError as e:
return jsonify({"error": str(e)}), 400
@api_bp.route("/models/<int:model_id>", methods=["DELETE"])
@jwt_required()
def delete_model(model_id):
try:
ModelService.delete_model(model_id)
return jsonify({"message": "模型已删除"})
except ValueError as e:
return jsonify({"error": str(e)}), 400
@api_bp.route("/models/default", methods=["GET"])
@jwt_required()
def get_default_model():
model = Model.query.filter_by(is_default=True, is_active=True).first()
if not model:
return jsonify({"error": "默认模型不存在"}), 404
return jsonify(model_schema.dump(model))