initial commit for GitHub

This commit is contained in:
Lucas Jensen
2024-12-01 19:15:25 -08:00
commit 925b334e4c
91 changed files with 8031 additions and 0 deletions

72
server/app/main.py Normal file
View File

@@ -0,0 +1,72 @@
from asyncio import gather
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
from app.controller import controller
from app.model.albums import Album
from app.model.artwork import Artwork
from app.model.bio import Bio, ProfessionalService
from app.model.quotes import Quote
from app.model.video import Video
from app.routers.albums import router as albums_router
from app.routers.artwork import router as artwork_router
from app.routers.bio import router as bio_router
from app.routers.quotes import router as quotes_router
from app.routers.videos import router as videos_router
from .origins import origins
app = FastAPI()
app.include_router(albums_router)
app.include_router(artwork_router)
app.include_router(bio_router)
app.include_router(quotes_router)
app.include_router(videos_router)
# noinspection PyTypeChecker
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
class MeganJohns(BaseModel):
albums: list[Album]
artwork: list[Artwork]
quotes: list[Quote]
videos: list[Video]
bio: Bio
professional_services: list[ProfessionalService]
version: str
@app.get("/")
async def root() -> MeganJohns:
albums, artwork, bio, quotes, videos, services = await gather(
controller.get_all_albums(),
controller.get_all_artwork(),
controller.get_bio(),
controller.get_all_quotes(),
controller.get_all_videos(),
controller.get_all_professional_services(),
)
return MeganJohns(
albums=albums,
artwork=artwork,
quotes=quotes,
videos=videos,
bio=bio,
professional_services=services,
version=await controller.get_version(),
)
@app.get("/version")
async def version() -> str:
return await controller.get_version()