diff --git a/panera_shifts/__init__.py b/panera_shifts/__init__.py index 5871929..ee62e1c 100644 --- a/panera_shifts/__init__.py +++ b/panera_shifts/__init__.py @@ -8,9 +8,9 @@ from panera_shifts.login import login_user from panera_shifts.oauth_required import ( get_bearer_token, get_cafe_id, - get_iBOH_id, get_shifts, get_timezone, + get_employee_id, ) logger = logging.getLogger(__name__) @@ -29,13 +29,18 @@ def get_shifts_between(session, start_date: datetime.date, end_date: datetime.da bearer_token = get_bearer_token(session) logger.info("Acquired OAuth bearer token") logger.debug(f"Bearer token: {bearer_token}") + cafe_id = get_cafe_id(session) logger.debug(f"Cafe id: {cafe_id}") - iBOH_id = get_iBOH_id(session, bearer_token) - logger.debug(f"iBOH id: {iBOH_id}") + # iBOH_id = get_iBOH_id(session, bearer_token) + # logger.debug(f"iBOH id: {iBOH_id}") + + employee_id = get_employee_id(session) + logger.debug(f"Employee id: {employee_id}") + timezone_info = get_timezone(session, bearer_token, cafe_id) logger.debug(f"Timezone: {timezone_info}") - ret = get_shifts(session, bearer_token, iBOH_id, cafe_id, start_date, end_date) + ret = get_shifts(session, bearer_token, employee_id, start_date, end_date) ret["data"]["timezone"] = timezone_info["timezone"] logger.info("Ended get_shifts_between") logger.debug(pprint.pformat(ret)) diff --git a/panera_shifts/oauth_required.py b/panera_shifts/oauth_required.py index a2f5222..79cc456 100644 --- a/panera_shifts/oauth_required.py +++ b/panera_shifts/oauth_required.py @@ -16,18 +16,22 @@ def get_cafe_id(session): return cafe -def get_iBOH_id(session, bearer_token): - headers = {"authorization": f"Bearer {bearer_token}"} - r = session.get( - "https://pantry.panerabread.com/apis/pantry-ui-service/user-profile/v1/user/ibohid", - headers=headers, - ) - data = json.loads(r.text) - return data["ibohid"] +# def get_iBOH_id(session, bearer_token): +# headers = {"authorization": f"Bearer {bearer_token}"} +# r = session.get( +# "https://pantry.panerabread.com/apis/pantry-ui-service/user-profile/v1/user/ibohid", +# headers=headers, +# ) +# data = json.loads(r.text) +# return data["ibohid"] +def get_employee_id(session): + user_data = get_signed_in_user(session) + return user_data["userId"] def get_timezone(session, bearer_token, cafe_id): headers = {"authorization": f"Bearer {bearer_token}"} + base_url = ( "https://pantry.panerabread.com/apis/selfservice-ui-service/v1/migration/check" ) @@ -40,20 +44,18 @@ def get_timezone(session, bearer_token, cafe_id): def get_shifts( session, bearer_token, - iBOH_id, - cafe_id, + employee_id, start_date: datetime.date, end_date: datetime.date, ): headers = {"authorization": f"Bearer {bearer_token}"} - base_url = f"https://iportal.panerabread.com/pantry-apis/scheduling-ui-service/associate/{iBOH_id}/shifts" + base_url = f"https://pantry.panerabread.com/apis/selfservice-ui-service/v1/employees/{employee_id}/self_service" + # base_url = f"https://iportal.panerabread.com/pantry-apis/scheduling-ui-service/associate/{iBOH_id}/shifts" query = { - "cafeNo": cafe_id, - "withHistory": True, - "startDate": start_date.strftime("%Y-%m-%d"), - "endDate": end_date.strftime("%Y-%m-%d"), + "shiftStartDate": start_date.strftime("%Y-%m-%d"), + "shiftEndDate": end_date.strftime("%Y-%m-%d"), } r = session.get(base_url, params=query, headers=headers)