import datetime as dt
from sqlalchemy import Column, DateTime, Integer, String, UniqueConstraint
from sqlalchemy.orm import declarative_base
Base = declarative_base()
from datetime import datetime, timedelta, timezone
from fastapi.security import OAuth2PasswordBearer
from jose import jwt
from passlib.context import CryptContext
from datetime import datetime, timedelta, timezone
from jose import jwt, JWTError
from jose.exceptions import ExpiredSignatureError
SECRET_KEY = "change-me-in-production"
import base64
import json
from datetime import datetime
from typing import NamedTuple
from fastapi import HTTPException
import asyncio
import uuid
from dataclasses import dataclass, field
from typing import Any, Dict, Optional
-- KEYS[1] = bucket key
-- ARGV[1] = capacity, ARGV[2] = refill_per_sec, ARGV[3] = now (float seconds)
local capacity = tonumber(ARGV[1])
local rate = tonumber(ARGV[2])
local now = tonumber(ARGV[3])
import enum
import datetime as dt
from sqlalchemy import Column, Integer, String, BigInteger, Enum, DateTime
from sqlalchemy.orm import declarative_base
import hmac
import hashlib
import time
from fastapi import Request, HTTPException, status
import asyncio
from typing import Awaitable, Callable, Dict, TypeVar
T = TypeVar("T")
from enum import Enum
from typing import Optional
from fastapi import Query
from pydantic import BaseModel, Field, field_validator