Skip to content

Commit 98afc1c

Browse files
committed
wave4 change
1 parent 61c3168 commit 98afc1c

File tree

3 files changed

+40
-7
lines changed

3 files changed

+40
-7
lines changed
84.4 KB
Loading

app/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
from app.routes.goal_routes import bp as goals_bp
66
import os
77

8+
from dotenv import load_dotenv
9+
load_dotenv()
10+
811
def create_app(config=None):
912
app = Flask(__name__)
1013

app/routes/task_routes.py

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
from ..models.task import Task
2-
from flask import Blueprint, abort, make_response, request, Response,jsonify
2+
from flask import Blueprint, abort, make_response, request, Response,jsonify,current_app
33
from ..db import db
44
from .route_utilities import validate_model,create_model,get_models_with_filters
55
from datetime import datetime
6+
import requests,os
67

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

@@ -104,12 +105,12 @@ def del_task(id):
104105

105106

106107

107-
@bp.patch("/<id>/mark_complete")
108-
def mark_complete(id):
109-
task = validate_model(Task, id)
110-
task.completed_at = datetime.utcnow()
111-
db.session.commit()
112-
return Response(status=204, mimetype="application/json")
108+
# @bp.patch("/<id>/mark_complete")
109+
# def mark_complete(id):
110+
# task = validate_model(Task, id)
111+
# task.completed_at = datetime.utcnow()
112+
# db.session.commit()
113+
# return Response(status=204, mimetype="application/json")
113114

114115

115116
@bp.patch("/<id>/mark_incomplete")
@@ -119,3 +120,32 @@ def mark_incomplete(id):
119120
task.completed_at = None
120121
db.session.commit()
121122
return Response(status=204, mimetype="application/json")
123+
124+
125+
126+
@bp.patch("/<id>/mark_complete")
127+
def mark_task_complete(id):
128+
task = validate_model(Task, id)
129+
#task = Task.query.get(id)
130+
131+
132+
task.completed_at = datetime.utcnow()
133+
db.session.commit()
134+
135+
136+
slack_token = os.environ.get("SLACK_BOT_TOKEN")
137+
slack_channel = os.environ.get("SLACK_CHANNEL", "#test_task_slack_api")
138+
message = f"Task *{task.title}* has been completed!"
139+
140+
if not current_app.config.get("TESTING"):
141+
response = requests.post(
142+
"https://slack.com/api/chat.postMessage",
143+
headers={"Authorization": f"Bearer {slack_token}"},
144+
145+
json={"channel": slack_channel, "text": message}
146+
)
147+
if current_app.config.get("TESTING"):
148+
return Response(status=204, mimetype="application/json")
149+
150+
151+
return jsonify({"task": task.to_dict()}), 200

0 commit comments

Comments
 (0)