PySimpleSocial/orm/media.py

33 lines
758 B
Python

"""
Media relation
"""
from piccolo.table import Table
from piccolo.columns import UUID, Text, Boolean, Date, SmallInt, Varchar
from piccolo.columns.defaults.date import DateNow
from enum import Enum, auto
class MediaType(Enum):
"""
Represents a media type
"""
URL: int = auto()
BLOB: int = auto()
FILE: int = auto()
class Media(Table):
"""
A piece of media on a CDN
"""
media_id = Varchar(length=64, primary_key=True)
media_type = SmallInt(null=False, choices=MediaType)
content = Text(null=False)
content_type = Varchar(length=32, null=False)
flagged = Boolean(default=False, null=False)
deleted = Boolean(default=False, null=False)
creation_date = Date(default=DateNow(), null=False)