You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

49 lines
1.2 KiB

import json
from panera_sync.user import get_signed_in_user
import datetime
def get_bearer_token(session):
user_data = get_signed_in_user(session)
return user_data["oauthToken"]["id_token"]
def get_cafe_id(session):
user_data = get_signed_in_user(session)
data = user_data["department"]
cafe, useless = data.split("-")
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_shifts(
session,
bearer_token,
iBOH_id,
cafe_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"
query = {
"cafeNo": cafe_id,
"withHistory": True,
"startDate": start_date.strftime("%Y-%m-%d"),
"endDate": end_date.strftime("%Y-%m-%d"),
}
r = session.get(base_url, params=query, headers=headers)
breakpoint()
return json.loads(r.text)