push node module 'caus lazy
ingnore node_modules, dont't be stupid
This commit is contained in:
38
back/main.py
38
back/main.py
@@ -1,9 +1,9 @@
|
||||
from typing import Union
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi import FastAPI, HTTPException
|
||||
from src.mongo import getMongo
|
||||
from pydantic import BaseModel
|
||||
from uuid import UUID, uuid4
|
||||
from http import HTTPStatus
|
||||
import os
|
||||
|
||||
|
||||
class DirectorInput(BaseModel):
|
||||
@@ -13,7 +13,7 @@ class DirectorInput(BaseModel):
|
||||
|
||||
|
||||
class Director(DirectorInput):
|
||||
id: str
|
||||
_id: str
|
||||
|
||||
|
||||
class MovieInput(BaseModel):
|
||||
@@ -24,7 +24,7 @@ class MovieInput(BaseModel):
|
||||
|
||||
|
||||
class Movie(MovieInput):
|
||||
id: str
|
||||
_id: str
|
||||
director: Director
|
||||
|
||||
|
||||
@@ -37,13 +37,21 @@ class ReviewInput(BaseModel):
|
||||
|
||||
|
||||
class Review(ReviewInput):
|
||||
id: str
|
||||
_id: str
|
||||
|
||||
|
||||
db, client = getMongo()
|
||||
db, client = getMongo(os.environ.get("DB_URI", None))
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=['*'],
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
|
||||
@app.get("/directors")
|
||||
def getDirectors() -> list[Director]:
|
||||
@@ -57,7 +65,7 @@ def getDirector(director_id: str):
|
||||
|
||||
@app.post("/directors")
|
||||
def addDirector(director: DirectorInput) -> Director:
|
||||
director = Director(**director.model_dump(), id=str(uuid4()))
|
||||
director = Director(**director.model_dump())
|
||||
db["directors"].insert_one(director.model_dump())
|
||||
return director
|
||||
|
||||
@@ -66,9 +74,9 @@ def addDirector(director: DirectorInput) -> Director:
|
||||
def updateDirector(director_id: str, director: DirectorInput) -> Director:
|
||||
db["directors"].replace_one(
|
||||
{"id": director_id},
|
||||
Director(id=director_id, **director.model_dump()).model_dump(),
|
||||
Director(_id=director_id, **director.model_dump()).model_dump(),
|
||||
)
|
||||
return Director(id=director_id, **director.model_dump())
|
||||
return Director(_id=director_id, **director.model_dump())
|
||||
|
||||
|
||||
@app.delete("/directors/{director_id}")
|
||||
@@ -97,7 +105,7 @@ def addMovie(movie: MovieInput) -> Movie:
|
||||
raise HTTPException(
|
||||
status_code=404, detail=f"director with id '{movie.director_id}' not found"
|
||||
)
|
||||
movie = Movie(**movie.model_dump(), id=str(uuid4()))
|
||||
movie = Movie(**movie.model_dump())
|
||||
db["movies"].insert_one(movie.model_dump())
|
||||
return movie
|
||||
|
||||
@@ -109,9 +117,9 @@ def updateMovie(movie_id: str, movie: MovieInput) -> Movie:
|
||||
|
||||
db["movies"].replace_one(
|
||||
{"id": movie_id},
|
||||
Movie(id=movie_id, **movie.model_dump()).model_dump(),
|
||||
Movie(_id=movie_id, **movie.model_dump()).model_dump(),
|
||||
)
|
||||
return Movie(id=movie_id, **movie.model_dump())
|
||||
return Movie(_id=movie_id, **movie.model_dump())
|
||||
|
||||
|
||||
@app.delete("/movies/{movie_id}")
|
||||
@@ -139,7 +147,7 @@ def addReview(review: ReviewInput) -> Review:
|
||||
raise HTTPException(
|
||||
status_code=404, detail=f"movie with id '{review.movie_id}' not found"
|
||||
)
|
||||
review = Review(**review.model_dump(), id=str(uuid4()))
|
||||
review = Review(**review.model_dump())
|
||||
db["reviews"].insert_one(review.model_dump())
|
||||
return review
|
||||
|
||||
@@ -151,9 +159,9 @@ def updateReview(review_id: str, review: Review) -> Review:
|
||||
|
||||
db["reviews"].replace_one(
|
||||
{"id": review_id},
|
||||
Review(id=review_id, **review.model_dump()).model_dump(),
|
||||
Review(_id=review_id, **review.model_dump()).model_dump(),
|
||||
)
|
||||
return Review(id=review_id, **review.model_dump())
|
||||
return Review(_id=review_id, **review.model_dump())
|
||||
|
||||
|
||||
@app.delete("/reviews/{review_id}")
|
||||
|
||||
Reference in New Issue
Block a user