Browse Source

Backend changed

master
Raphael Roberts 4 years ago
parent
commit
672347900c
  1. 13
      panera_shifts/__init__.py
  2. 32
      panera_shifts/oauth_required.py

13
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))

32
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)

Loading…
Cancel
Save