archive-backend/models/audio_model.py
2026-11-07 11:40:36 +00:00

24 lines
882 B
Python

from sqlalchemy import ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column, relationship
from ..core.db import Base
class AudioPlaylist(Base):
__tablename__ = "audioplaylists"
id: Mapped[int] = mapped_column(primary_key=True)
title: Mapped[str] = mapped_column(String(64))
audios: Mapped[list["Audio"]] = relationship(back_populates="playlist")
class Audio(Base):
__tablename__ = "audios"
id: Mapped[int] = mapped_column(primary_key=True)
filename: Mapped[str] = mapped_column(String(255), unique=True)
path: Mapped[str] = mapped_column(String(512))
preview_path: Mapped[str] = mapped_column(String(256))
name: Mapped[str] = mapped_column(String(255))
playlist_id: Mapped[int | None] = mapped_column(ForeignKey("audioplaylists.id"))
playlist: Mapped[AudioPlaylist | None] = relationship(back_populates="audios")