Changed it so that tasks can be dragged and reordered, as well as having tasks breathe to leave a space where the task will go when you let go
This commit is contained in:
+8
-3
@@ -99,17 +99,21 @@ def delete_user(user_id: str, db: Session = Depends(get_db), current_user: model
|
||||
|
||||
@app.get("/tasks", response_model=List[schemas.Task])
|
||||
def read_tasks(db: Session = Depends(get_db), current_user: models.User = Depends(auth.get_current_user)):
|
||||
return db.query(models.Task).filter(models.Task.deleted_at == None).all()
|
||||
return db.query(models.Task).filter(models.Task.deleted_at == None).order_by(models.Task.position.asc()).all()
|
||||
|
||||
@app.get("/tasks/deleted", response_model=List[schemas.Task])
|
||||
def read_deleted_tasks(db: Session = Depends(get_db), current_user: models.User = Depends(auth.get_current_user)):
|
||||
if current_user.account_type != "admin":
|
||||
raise HTTPException(status_code=403, detail="Not enough permissions")
|
||||
return db.query(models.Task).filter(models.Task.deleted_at != None).all()
|
||||
return db.query(models.Task).filter(models.Task.deleted_at != None).order_by(models.Task.position.asc()).all()
|
||||
|
||||
@app.post("/tasks", response_model=schemas.Task)
|
||||
def create_task(task: schemas.TaskCreate, db: Session = Depends(get_db), current_user: models.User = Depends(auth.get_current_user)):
|
||||
task_id = task.id or f"t_{uuid.uuid4().hex[:8]}"
|
||||
|
||||
# Calculate position (max in column + 1000)
|
||||
max_pos = db.query(func.max(models.Task.position)).filter(models.Task.assignee_id == task.assignee_id).scalar() or 0.0
|
||||
|
||||
db_task = models.Task(
|
||||
id=task_id,
|
||||
title=task.title,
|
||||
@@ -120,7 +124,8 @@ def create_task(task: schemas.TaskCreate, db: Session = Depends(get_db), current
|
||||
source=task.source,
|
||||
status=task.status,
|
||||
due_at=task.due_at,
|
||||
reminder_at=task.reminder_at
|
||||
reminder_at=task.reminder_at,
|
||||
position=max_pos + 1000.0
|
||||
)
|
||||
db.add(db_task)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user