This commit is contained in:
@@ -7,23 +7,21 @@ from typing import Literal
|
||||
import motor.motor_asyncio
|
||||
from bson import json_util
|
||||
from bson.objectid import ObjectId
|
||||
from dotenv import find_dotenv, load_dotenv
|
||||
from fastapi import FastAPI, Request
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi.responses import FileResponse
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from prettytable import PrettyTable
|
||||
from pydantic import BaseModel
|
||||
|
||||
env_file = find_dotenv(".env")
|
||||
load_dotenv("../.env")
|
||||
|
||||
IS_PROD = os.getenv("PRODUCTION", "") == "true"
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
|
||||
class Config:
|
||||
MONGO_SERVER: str = os.environ.get("MONGO_SERVER", "")
|
||||
MONGO_DB: str = os.environ.get("MONGO_DB", "")
|
||||
class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(env_file="../.env")
|
||||
|
||||
is_prod: bool = Field(default=False)
|
||||
mongo_server: str = Field(default="")
|
||||
mongo_db: str = Field(default="")
|
||||
|
||||
|
||||
class Document(BaseModel):
|
||||
@@ -35,18 +33,14 @@ class Document(BaseModel):
|
||||
async def lifespan(app: FastAPI):
|
||||
table = PrettyTable()
|
||||
table.field_names = ["VARIABLE", "VALUE"]
|
||||
table.add_rows(
|
||||
[
|
||||
[env_variable, os.environ.get(env_variable)]
|
||||
for env_variable in ["MONGO_SERVER", "MONGO_DB"]
|
||||
]
|
||||
)
|
||||
table.add_rows(Settings().__dict__.items())
|
||||
print(table)
|
||||
yield
|
||||
|
||||
|
||||
app = FastAPI(openapi_url=("/openapi.json" if not IS_PROD else ""), lifespan=lifespan)
|
||||
|
||||
app = FastAPI(
|
||||
openapi_url=("/openapi.json" if not Settings().is_prod else ""), lifespan=lifespan
|
||||
)
|
||||
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
@@ -56,8 +50,8 @@ app.add_middleware(
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
client = motor.motor_asyncio.AsyncIOMotorClient(Config.MONGO_SERVER, 27017)
|
||||
db = client[Config.MONGO_DB]
|
||||
client = motor.motor_asyncio.AsyncIOMotorClient(Settings().mongo_server, 27017)
|
||||
db = client[Settings().mongo_db]
|
||||
|
||||
|
||||
def object_id_from_date(date: int) -> ObjectId:
|
||||
|
||||
Reference in New Issue
Block a user