add database and test that it work

This commit is contained in:
Rainy21
2026-03-12 17:32:40 -04:00
parent 46bc71f16a
commit 855a9971cb
6 changed files with 16 additions and 14 deletions
+7 -11
View File
@@ -1,18 +1,14 @@
from pydantic import Secret from sqlalchemy.orm import Session
import sqlalchemy.orm import Session
from . import models from . import models
def create_url(db:Session, short_code:str , long_url:str):
db_url = models.URL( def create_url(db: Session, short_code: str, long_url: str):
short_code=short_code, db_url = models.URL(short_code=short_code, long_url=long_url)
long_url=long_url
)
db.add(db_url) db.add(db_url)
db.commit() db.commit()
db.refresh(db_url) db.refresh(db_url)
return db_url return db_url
def get_url(db:Session , short_code:str):
return db.query(models.URL).filter( def get_url(db: Session, short_code: str):
models.URL.short_code == short_code return db.query(models.URL).filter(models.URL.short_code == short_code).first()
).first()
+3 -2
View File
@@ -9,7 +9,8 @@ import random
from db.database import SessionLocal, engine from db.database import SessionLocal, engine
from db import models, crud, schemas from db import models, crud, schemas
models.Base.metadata.create_call(bind=engine) models.Base.metadata.create_all(bind=engine)
app = FastAPI() app = FastAPI()
@@ -41,4 +42,4 @@ def redirect_url(short_code: str, db: Session = Depends(get_db)):
if not db_url: if not db_url:
raise HTTPException(status_code=404, detail="URL not found") raise HTTPException(status_code=404, detail="URL not found")
return {"long_url": db_url.long_url} return RedirectResponse(url=db_url.long_url)
View File
+1
View File
@@ -1,3 +1,4 @@
fastapi fastapi
uvicorn uvicorn
sqlalchemy sqlalchemy
redis
+4
View File
@@ -0,0 +1,4 @@
INFO: Started server process [60747]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
BIN
View File
Binary file not shown.