Fix Deprecation Warning and code cleanup

This commit is contained in:
2026-03-01 13:56:17 +02:00
parent 97901f02a6
commit e4345ddc50
2 changed files with 17 additions and 22 deletions
+14 -19
View File
@@ -5,29 +5,26 @@ from app.utils import generate_short_code
from dotenv import load_dotenv from dotenv import load_dotenv
import os import os
import sqlite3 import sqlite3
from contextlib import asynccontextmanager
load_dotenv() @asynccontextmanager
async def lifespan(app: FastAPI):
app = FastAPI() conn = sqlite3.connect('urls.db')
DB_PATH = "urls.db"
def get_db_connection():
conn = sqlite3.connect(DB_PATH)
return conn
# URL schema
class URLRequest(BaseModel):
url: str
@app.on_event("startup")
def startup():
conn = get_db_connection()
conn.execute('''CREATE TABLE IF NOT EXISTS urls conn.execute('''CREATE TABLE IF NOT EXISTS urls
(id INTEGER PRIMARY KEY, short_code TEXT, original_url TEXT, clicks INTEGER)''') (id INTEGER PRIMARY KEY, short_code TEXT, original_url TEXT, clicks INTEGER)''')
conn.commit() conn.commit()
yield
conn.close() conn.close()
app = FastAPI(lifespan=lifespan)
def get_db_connection():
conn = sqlite3.connect('urls.db')
return conn
class URLRequest(BaseModel):
url: str
@app.get("/") @app.get("/")
def home(): def home():
return {"message": "URL Shortener API"} return {"message": "URL Shortener API"}
@@ -35,7 +32,6 @@ def home():
@app.post("/shorten") @app.post("/shorten")
def shorten_url(request: URLRequest): def shorten_url(request: URLRequest):
short_code = generate_short_code() short_code = generate_short_code()
conn = get_db_connection() conn = get_db_connection()
while conn.execute("SELECT 1 FROM urls WHERE short_code = ?", (short_code,)).fetchone(): while conn.execute("SELECT 1 FROM urls WHERE short_code = ?", (short_code,)).fetchone():
@@ -57,7 +53,6 @@ def redirect_to_url(short_code: str):
raise HTTPException(status_code=404, detail="Shortened URL not found") raise HTTPException(status_code=404, detail="Shortened URL not found")
original_url, clicks = url_data original_url, clicks = url_data
conn.execute("UPDATE urls SET clicks = ? WHERE short_code = ?", (clicks + 1, short_code)) conn.execute("UPDATE urls SET clicks = ? WHERE short_code = ?", (clicks + 1, short_code))
conn.commit() conn.commit()
conn.close() conn.close()
BIN
View File
Binary file not shown.