|
|
|
|
@ -7,9 +7,7 @@
|
|
|
|
|
from flask import Blueprint, request, jsonify
|
|
|
|
|
from app import db
|
|
|
|
|
from app.controllers.auth_controller import int_jwt_required
|
|
|
|
|
from app.database import Task, TaskType, TaskStatus
|
|
|
|
|
from app.services.user_service import UserService
|
|
|
|
|
from app.services.task_service import TaskService
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
user_bp = Blueprint('user', __name__)
|
|
|
|
|
@ -49,35 +47,3 @@ def update_user_config(current_user_id):
|
|
|
|
|
db.session.rollback()
|
|
|
|
|
return _json_error(f'更新配置失败: {exc}', 500)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@user_bp.route('/tasks', methods=['GET'])
|
|
|
|
|
@int_jwt_required
|
|
|
|
|
def list_user_tasks(current_user_id):
|
|
|
|
|
task_type_code = request.args.get('type')
|
|
|
|
|
status_code = request.args.get('status')
|
|
|
|
|
|
|
|
|
|
query = Task.query.filter_by(user_id=current_user_id)
|
|
|
|
|
|
|
|
|
|
if task_type_code:
|
|
|
|
|
task_type = TaskType.query.filter_by(task_type_code=task_type_code).first()
|
|
|
|
|
if not task_type:
|
|
|
|
|
return _json_error('任务类型不存在', 404)
|
|
|
|
|
query = query.filter(Task.tasks_type_id == task_type.task_type_id)
|
|
|
|
|
|
|
|
|
|
if status_code:
|
|
|
|
|
status = TaskStatus.query.filter_by(task_status_code=status_code).first()
|
|
|
|
|
if not status:
|
|
|
|
|
return _json_error('任务状态不存在', 404)
|
|
|
|
|
query = query.filter(Task.tasks_status_id == status.task_status_id)
|
|
|
|
|
|
|
|
|
|
tasks = query.order_by(Task.created_at.desc()).all()
|
|
|
|
|
return jsonify({'tasks': [TaskService.serialize_task(task) for task in tasks]}), 200
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@user_bp.route('/tasks/<int:task_id>', methods=['GET'])
|
|
|
|
|
@int_jwt_required
|
|
|
|
|
def get_user_task(task_id, current_user_id):
|
|
|
|
|
task = Task.query.filter_by(tasks_id=task_id, user_id=current_user_id).first()
|
|
|
|
|
if not task:
|
|
|
|
|
return _json_error('任务不存在或无权限', 404)
|
|
|
|
|
return jsonify({'task': TaskService.serialize_task(task)}), 200
|
|
|
|
|
|