from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse, JSONResponse
from pydantic import BaseModel, EmailStr
import pymysql
import random
import hashlib
import requests
from datetime import datetime, timedelta
from jose import JWTError, jwt
from dotenv import load_dotenv
import os
from fastapi import Depends, HTTPException
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from fastapi import Header
from typing import Optional
from fastapi import File, UploadFile, Form
import shutil
import uuid



load_dotenv()

BASE_API_URL = os.getenv('BASE_API_URL', '/api')

app = FastAPI()

ALGORITHM = "HS256"


DB_HOST     = os.getenv('DB_HOST')
DB_USER     = os.getenv('DB_USER')
DB_PASSWORD = os.getenv('DB_PASSWORD')
DB_NAME     = os.getenv('DB_NAME')

# ─── DB Connection ────────────────────────────────────────────────────────────
def get_db_connection():
    return pymysql.connect(
        host        = DB_HOST,
        user        = DB_USER,
        password    = DB_PASSWORD,
        database    = DB_NAME,
        cursorclass = pymysql.cursors.DictCursor
    )
    
@app.get(f"{BASE_API_URL}/")
def hello_world():
    return {"message": "Hello World!!"}