def CreateTarget(current_user, user_type, user_id): if current_user != user_id: access_dao = AccessDao() if not access_dao.CheckCoachTargetsAccess(current_user, user_id): return ResponseHelper.ReturnBadRequestResponse() if not request.data: return ResponseHelper.ReturnBadRequestResponse() else: request_data = json.loads(request.data) target = Target( None, # For Id that is auto generated by a trigger user_id, # Ensure log is created for the current user, request_data[str(TargetsTable.CONTENT)], request_data[str(TargetsTable.STATUS)], request_data[str(TargetsTable.WEEK)], request_data[str(TargetsTable.YEAR)]) target_dao = TargetDao() if target_dao.CreateTarget(target): return ResponseHelper.ReturnCreatedResponse("Target Created") else: return ResponseHelper.ReturnConflictResponse( "Unable to Create Target!")
def CheckCoachTargetAccess(current_user, user_type, athlete_id): if not athlete_id: return ResponseHelper.ReturnBadRequestResponse() if user_type != RequestConstants.USER_TYPE_COA: return ResponseHelper.ReturnBadRequestResponse() access_dao = AccessDao() if access_dao.CheckCoachTargetsAccess(current_user, athlete_id): return ResponseHelper.ReturnOkResponse("Ok") else: return ResponseHelper.ReturnUnauthorizedResponse( "Needs to request access!")
def DeleteTarget(current_user, user_type, user_id, target_id): if current_user != user_id: access_dao = AccessDao() if not access_dao.CheckCoachTargetsAccess(current_user, user_id): return ResponseHelper.ReturnBadRequestResponse() target_dao = TargetDao() if target_dao.DeleteTarget(user_id, target_id): return ResponseHelper.ReturnOkResponse("Target Deleted") else: return ResponseHelper.ReturnConflictResponse( "Unable to Delete Target!")
def GetTargets(current_user, user_type, user_id, week_num, year_num): if current_user != user_id: access_dao = AccessDao() if not access_dao.CheckCoachTargetsAccess(current_user, user_id): return ResponseHelper.ReturnBadRequestResponse() if not week_num: return ResponseHelper.ReturnBadRequestResponse() target_dao = TargetDao() targets = target_dao.GetTargetsByWeek(user_id, week_num, year_num) if targets: return ResponseHelper.ReturnOkDataResponse("Request OK", {"Targets": targets}) else: return ResponseHelper.ReturnNotFoundResponse("No Targets Found!")
def UpdateTarget(current_user, user_type, user_id, target_id): if current_user != user_id: access_dao = AccessDao() if not access_dao.CheckCoachTargetsAccess(current_user, user_id): return ResponseHelper.ReturnBadRequestResponse() if not request.data: return ResponseHelper.ReturnBadRequestResponse() else: request_data = json.loads(request.data) update_data = UpdateData( request_data[RequestConstants.UPDATE_REQUEST_MEMBER_KEYS], request_data[RequestConstants.UPDATE_REQUEST_MEMBER_VALUES], [TargetsTable.ID, TargetsTable.ATHLETE_ID], [target_id, user_id]) if TargetsTable.ID in update_data.memberKeys: return ResponseHelper.ReturnBadRequestResponse() if TargetsTable.ATHLETE_ID in update_data.memberKeys: return ResponseHelper.ReturnBadRequestResponse() target_dao = TargetDao() if target_dao.UpdateTarget(update_data): return ResponseHelper.ReturnOkResponse("Target Updated") else: return ResponseHelper.ReturnConflictResponse( "Unable to Update Target!")