2222from auth import auth_info , UserValidationException , validate_user
2323from django .conf import settings
2424from django .db import close_old_connections
25+ from api_logging import *
2526
2627logger = logging .getLogger (settings .LOGGER_NAME )
2728
@@ -37,57 +38,60 @@ def cohort(cohort_id):
3738 user_info = auth_info ()
3839 user = validate_user (user_info ['email' ], cohort_id )
3940
40- response = None
4141 code = None
42+ response_obj = None
4243
4344 if not user :
44- response = jsonify ({
45- 'code' : 500 ,
45+ response_obj = {
4646 'message' : 'Encountered an error while attempting to identify this user.'
47- })
48- response . status_code = 500
47+ }
48+ code = 500
4949 else :
50- if request .method == 'GET' :
51- include_barcodes = (request .args .get ('include_barcodes' , default = "false" , type = str ).lower () == "true" )
52- cohort_info = get_cohort_info (cohort_id , include_barcodes )
50+ if cohort_id <= 0 :
51+ logger .warn ("[WARNING] Invalid cohort ID {}" .format (str (cohort_id )))
52+ code = 400
53+ response_obj = {
54+ 'message' : '"{}" is not a valid cohort ID.' .format (str (cohort_id ))
55+ }
5356 else :
54- cohort_info = edit_cohort (cohort_id , user , delete = (request .method == 'DELETE' ))
57+ st_logger .write_text_log_entry (log_name , user_activity_message .format (user_info ['email' ], request .method , request .full_path ))
58+ if request .method == 'GET' :
59+ include_barcodes = (request .args .get ('include_barcodes' , default = "false" , type = str ).lower () == "true" )
60+ cohort_info = get_cohort_info (cohort_id , include_barcodes )
61+ else :
62+ cohort_info = edit_cohort (cohort_id , user , delete = (request .method == 'DELETE' ))
5563
56- if cohort_info :
57- response_obj = {}
64+ if cohort_info :
65+ response_obj [ 'data' ] = cohort_info
5866
59- if 'message' in cohort_info :
60- code = 400
67+ if 'message' in cohort_info :
68+ code = 400
69+ else :
70+ code = 200
6171 else :
62- code = 200
63-
64- response_obj ['data' ] = cohort_info
65- response_obj ['code' ] = code
66- response = jsonify (response_obj )
67- response .status_code = code
68-
69- else :
70- response = jsonify ({
71- 'code' : 404 ,
72- 'message' : "Cohort ID {} was not found." .format (str (cohort_id ))})
73- response .status_code = 404
72+ response_obj = {
73+ 'message' : "Cohort ID {} was not found." .format (str (cohort_id ))
74+ }
75+ code = 404
7476
7577 except UserValidationException as e :
76- response = jsonify ({
77- 'code' : 403 ,
78+ response_obj = {
7879 'message' : str (e )
79- })
80- response . status_code = 403
80+ }
81+ code = 403
8182 except Exception as e :
8283 logger .exception (e )
83- response = jsonify ({
84- 'code' : 500 ,
84+ response_obj = {
8585 'message' : 'Encountered an error while attempting to retrieve this cohort\' s information.'
86- })
87- response . status_code = 500
86+ }
87+ code = 500
8888 finally :
8989 close_old_connections ()
9090
91+ response_obj ['code' ] = code
92+ response = jsonify (response_obj )
93+ response .status_code = code
94+
9195 return response
9296
9397
@@ -98,7 +102,7 @@ def cohorts():
98102 POST: Add a new cohort
99103 """
100104
101- response = None
105+ response_obj = None
102106 info = None
103107 code = None
104108
@@ -107,58 +111,57 @@ def cohorts():
107111 user = validate_user (user_info ['email' ])
108112
109113 if not user :
110- response = jsonify ( {
114+ response_obj = {
111115 'code' : 500 ,
112116 'message' : 'Encountered an error while attempting to identify this user.'
113- })
114- response . status_code = 500
117+ }
118+ code = 500
115119 else :
120+ st_logger .write_text_log_entry (log_name , user_activity_message .format (user_info ['email' ], request .method , request .full_path ))
116121 if request .method == 'GET' :
117122 info = get_cohorts (user_info ['email' ])
118123 else :
119124 info = create_cohort (user )
120125
121126 if info :
122127 response_obj = {}
123-
128+
124129 if 'message' in info :
125130 code = 400
126131 else :
127132 code = 200
128133
129134 response_obj ['data' ] = info
130- response_obj ['code' ] = code
131- response = jsonify (response_obj )
132- response .status_code = code
133135
134136 # Lack of a valid object means something went wrong on the server
135137 else :
136- response = jsonify ({
137- 'code' : 500 ,
138+ response_obj = {
138139 'message' : "Error while attempting to {}." .format (
139140 'retrieve the cohort list' if request .method == 'GET' else 'create this cohort'
140141 )
141- })
142- response . status_code = 500
142+ }
143+ code = 500
143144
144145 except UserValidationException as e :
145- response = jsonify ({
146- 'code' : 403 ,
146+ response_obj = {
147147 'message' : str (e )
148- })
149- response . status_code = 403
148+ }
149+ code = 403
150150 except Exception as e :
151151 logger .exception (e )
152- response = jsonify ({
153- 'code' : 500 ,
152+ response_obj = {
154153 'message' : 'Encountered an error while attempting to {}.' .format (
155154 "retrieve a list of cohorts" if request .method == 'GET' else "create this cohort"
156155 )
157- })
158- response . status_code = 500
156+ }
157+ code = 500
159158 finally :
160159 close_old_connections ()
161-
160+
161+ response_obj ['code' ] = code
162+ response = jsonify (response_obj )
163+ response .status_code = code
164+
162165 return response
163166
164167
@@ -182,22 +185,30 @@ def cohort_file_manifest(cohort_id):
182185 }
183186 code = 500
184187 else :
185- file_manifest = get_file_manifest (cohort_id , user )
186- if file_manifest :
187- # Presence of a message means something went wrong with our request
188- if 'message' in file_manifest :
189- response_obj = file_manifest
190- code = 400
188+ if cohort_id <= 0 :
189+ logger .warn ("[WARNING] Invalid cohort ID {}" .format (str (cohort_id )))
190+ code = 400
191+ response_obj = {
192+ 'message' : '"{}" is not a valid cohort ID.' .format (str (cohort_id ))
193+ }
194+ else :
195+ st_logger .write_text_log_entry (log_name , user_activity_message .format (user_info ['email' ], request .method , request .full_path ))
196+ file_manifest = get_file_manifest (cohort_id , user )
197+ if file_manifest :
198+ # Presence of a message means something went wrong with our request
199+ if 'message' in file_manifest :
200+ response_obj = file_manifest
201+ code = 400
202+ else :
203+ code = 200
204+ response_obj = {
205+ 'data' : file_manifest
206+ }
191207 else :
192- code = 200
193208 response_obj = {
194- 'data ' : file_manifest
209+ 'message ' : "Error while attempting to retrieve file manifest for cohort {}." . format ( str ( cohort_id ))
195210 }
196- else :
197- response_obj = {
198- 'message' : "Error while attempting to retrieve file manifest for cohort {}." .format (str (cohort_id ))
199- }
200- code = 500
211+ code = 500
201212
202213 except UserValidationException as e :
203214 response_obj = {
@@ -227,6 +238,8 @@ def cohort_preview():
227238 code = None
228239 response_obj = None
229240
241+ st_logger .write_text_log_entry (log_name , activity_message .format (request .method , request .full_path ))
242+
230243 try :
231244 cohort_counts = get_cohort_counts ()
232245
0 commit comments