From f3a858956e6a730fe793233da302cf2b77cc2821 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Fri, 19 May 2023 19:19:17 +0700 Subject: [PATCH] Init db and and use dotenv to load database credentials --- api.py | 16 +++++++++++++++- requirements.txt | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/api.py b/api.py index bcc9f46..957e8d9 100644 --- a/api.py +++ b/api.py @@ -1,14 +1,28 @@ from fastapi import FastAPI, HTTPException from fastapi.responses import RedirectResponse, FileResponse from fastapi.staticfiles import StaticFiles +from dotenv import load_dotenv import couchdb +import os import uuid import validators +load_dotenv() + +COUCHDB_USER = os.getenv("COUCHDB_USER") +COUCHDB_PASSWORD = os.getenv("COUCHDB_PASSWORD") +COUCHDB_HOST = os.getenv("COUCHDB_HOST") +COUCHDB_PORT = os.getenv("COUCHDB_PORT") + app = FastAPI() app.mount("/static", StaticFiles(directory="static", html=True), name="static") -couch = couchdb.Server("http://admin:password@127.0.0.1:5984") +couch = couchdb.Server(f"http://{COUCHDB_USER}:{COUCHDB_PASSWORD}@{COUCHDB_HOST}:{COUCHDB_PORT}") + +@app.on_event("startup") +async def startup_event(): + if 'urls' not in couch: + couch.create_database('urls') @app.get("/") async def root(): diff --git a/requirements.txt b/requirements.txt index c511b6c..e466ed3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ uvicorn couchdb aiofiles validators +python-dotenv