first commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
from flask import jsonify
|
||||
from flask_jwt_extended import jwt_required
|
||||
from . import api_bp
|
||||
from ..models import Skill
|
||||
from ..schemas import SkillSchema
|
||||
from ..services import SkillService
|
||||
|
||||
|
||||
skill_schema = SkillSchema()
|
||||
|
||||
|
||||
@api_bp.route("/skills", methods=["GET"])
|
||||
@jwt_required()
|
||||
def get_skills():
|
||||
skills = Skill.query.all()
|
||||
return jsonify(skill_schema.dump(skills, many=True))
|
||||
|
||||
|
||||
@api_bp.route("/skills/<int:skill_id>", methods=["GET"])
|
||||
@jwt_required()
|
||||
def get_skill(skill_id):
|
||||
skill = Skill.query.get(skill_id)
|
||||
if not skill:
|
||||
return jsonify({"error": "技能不存在"}), 404
|
||||
return jsonify(skill_schema.dump(skill))
|
||||
|
||||
|
||||
@api_bp.route("/skills/<int:skill_id>/install", methods=["POST"])
|
||||
@jwt_required()
|
||||
def install_skill(skill_id):
|
||||
try:
|
||||
SkillService.install_skill(skill_id)
|
||||
return jsonify({"message": "技能已安装"})
|
||||
except ValueError as e:
|
||||
return jsonify({"error": str(e)}), 400
|
||||
|
||||
|
||||
@api_bp.route("/skills/<int:skill_id>/uninstall", methods=["POST"])
|
||||
@jwt_required()
|
||||
def uninstall_skill(skill_id):
|
||||
try:
|
||||
SkillService.uninstall_skill(skill_id)
|
||||
return jsonify({"message": "技能已卸载"})
|
||||
except ValueError as e:
|
||||
return jsonify({"error": str(e)}), 400
|
||||
Reference in New Issue
Block a user