Chatbot-Backend / public_api /public_api_auth.py
srilakshu012456's picture
Create public_api_auth.py
da46fdf verified
#inside .env file
#service_url="http://euwdsw202em01:4660/service"
#console_url="http://euwdsw202em01:4660/console"
import requests
from dotenv import load_dotenv
import os
# Load variables from .env file
load_dotenv()
usr_id = os.getenv("usr_id")
password = os.getenv("password")
def login():
url = "http://euwdsw202em01:4660/ws/auth/login"
# Query parameters
params = {
"usr_id": usr_id,
"password": password
}
headers = {
#"Accept": "*/*",
"Cache-Control": "no-cache",
"Accept": "application/json"
}
try:
session = requests.Session()
response = session.get(url, params=params, headers=headers,verify=False)
#print("Content-Type:", response.headers.get("Content-Type"))
if response.status_code == 200:
wh_url = f"http://euwdsw202em01:4660/api/user/v1/users/{usr_id}/warehouses"
wh_response = session.get(wh_url, verify=False)
authorized_wh = "WH1" # Fallback default
if wh_response.status_code == 200:
wh_data = wh_response.json().get("data", [])
if wh_data:
# Logic: Take the first warehouse ID they are assigned to
# Or find the one marked as 'primary' if the API provides it
authorized_wh = wh_data[0].get("wh_id", "WH1")
print(f"Login Success. User {usr_id} assigned to {authorized_wh}")
# Return the session AND the locked warehouse ID
return session, authorized_wh, True
else:
print({"login": "failed", "status_code": response.status_code})
return None, None, False
except Exception as e:
print({"login": "error", "error": str(e)})
return None, None, False
#if __name__ == "__main__":
# login()