restructure

This commit is contained in:
matthias@matsewe.de
2024-05-22 19:44:24 +02:00
parent 32d2170a1b
commit f6016f5736
11 changed files with 195 additions and 115 deletions

View File

@@ -1,26 +1,35 @@
from sqlalchemy.orm import Mapped, mapped_column
from app.database import Base
from sqlalchemy import Integer, ForeignKey
from sqlalchemy.sql import func
from typing import Optional
from pydantic import BaseModel
from datetime import datetime
class GoogleFile(BaseModel):
file_id: str
file_name: str
class Genre(BaseModel):
genre_id: Optional[int]
genre_name: str
class Song(Base):
__tablename__ = 'songs'
id: Mapped[int] = mapped_column(primary_key=True)
og_artist: Mapped[Optional[str]]
aca_artist: Mapped[Optional[str]]
title: Mapped[Optional[str]]
url: Mapped[Optional[str]]
yt_id: Mapped[Optional[str]]
spfy_id: Mapped[Optional[str]]
thumbnail: Mapped[Optional[str]]
is_aca: Mapped[Optional[bool]]
arng_url: Mapped[Optional[str]]
categories: Mapped[Optional[dict[str, bool]]]
main_category: Mapped[Optional[str]]
singable: Mapped[Optional[bool]]
class Song(BaseModel):
id: int
og_artist: Optional[str]
aca_artist: Optional[str]
title: Optional[str]
url: Optional[str]
yt_id: Optional[str]
spfy_id: Optional[str]
thumbnail: Optional[str]
is_aca: bool
arng_url: Optional[str]
categories: dict[str, bool]
main_category: str
singable: bool
vote: Optional[int]
class Vote(Base):
__tablename__ = 'votes'
id: Mapped[int] = mapped_column(primary_key=True)
song_id: Mapped[int] = mapped_column(Integer, ForeignKey("songs.id"))
user_id: Mapped[int]
vote: Mapped[Optional[int]]
time_created: Mapped[datetime] = mapped_column(server_default=func.now())
time_updated: Mapped[Optional[datetime]
] = mapped_column(onupdate=func.now())