|
|
|
@ -0,0 +1,49 @@ |
|
|
|
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) |