Skip to content

Commit f4bb566

Browse files
committed
add wave3
1 parent 4e5a789 commit f4bb566

File tree

1 file changed

+50
-1
lines changed

1 file changed

+50
-1
lines changed

app/routes.py

+50-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from app.models.task import Task
44
from flask import request, Blueprint, make_response, jsonify
55
from sqlalchemy import asc, desc
6+
from datetime import date
67

78
tasks_bp = Blueprint("tasks", __name__, url_prefix="/tasks")
89

@@ -24,7 +25,7 @@ def handle_tasks():
2425
tasks = Task.query.order_by(asc(Task.title))
2526
elif title_query == "desc":
2627
tasks = Task.query.order_by(desc(Task.title))
27-
28+
2829
tasks_response = []
2930

3031
for task in tasks:
@@ -108,4 +109,52 @@ def handle_tasks_id(task_id):
108109
return make_response(jsonify({"details":delete_id_response}))
109110

110111

112+
@tasks_bp.route("/<task_id>/mark_complete", methods = ["PATCH"])
113+
def handle_complete(task_id):
114+
task = Task.query.get(task_id)
115+
116+
if task is None :
117+
return make_response("", 404)
118+
119+
task.completed_at = date.today()
120+
121+
db.session.commit()
122+
data_response = {
123+
"task": {
124+
"id": task.task_id,
125+
"title": task.title,
126+
"description": task.description,
127+
"is_complete": True
128+
}
129+
}
130+
131+
132+
return make_response(jsonify(data_response),200)
133+
134+
135+
136+
@tasks_bp.route("/<task_id>/mark_incomplete", methods = ["PATCH"])
137+
def handle_incomplete(task_id):
138+
task = Task.query.get(task_id)
139+
140+
if task is None:
141+
return make_response("",404)
142+
143+
data_response = {
144+
"task": {
145+
"id": task.task_id,
146+
"title": task.title,
147+
"description": task.description,
148+
"is_complete": False
149+
}
150+
}
151+
db.session.commit()
152+
if task.completed_at is None :
153+
return make_response(jsonify(data_response),200)
154+
155+
task.completed_at = None
156+
return make_response(jsonify(data_response),200)
157+
158+
159+
111160

0 commit comments

Comments
 (0)