class Announcement(db.Model): __tablename__ = 'ANNOUNCEMENTS' announcementID = db.Column(db.Integer, primary_key=True, autoincrement=True) message = db.Column(db.String(1024), nullable=False) def __init__(self, message): self.message = message
class ArchiveCoco(db.Model): __tablename__ = 'COCO' archiveID = db.Column(db.Integer, primary_key=True, autoincrement=True) # We are not actually storing URLs, but the 11-character Youtube IDs archiveURL = db.Column(db.String(11), nullable=False) def __init__(self, archiveURL): self.archiveURL = archiveURL
class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(50), nullable=False, unique=True) password = db.Column(db.String(200), nullable=False) def __init__(self, username, password): self.username = username self.password = password
class Message(db.Model): __tablename__ = 'MESSAGES' messageID = db.Column(db.Integer, primary_key=True, autoincrement=True) orig_msg = db.Column(db.String(2048), nullable=False) tl_msg = db.Column(db.String(2048), nullable=True) region = db.Column(db.String(2), nullable=True) username = db.Column(db.String(64), nullable=True) def __init__(self, orig_msg, tl_msg, region, username): self.orig_msg = orig_msg self.tl_msg = tl_msg self.region = region self.username = username
class Gallery(db.Model): __tablename__ = 'GALLERY' artworkID = db.Column(db.Integer, primary_key=True, autoincrement=True) artworkLink = db.Column(db.String(2048), nullable=False) artistLink = db.Column(db.String(2048), nullable=True) username = db.Column(db.String(64), nullable=True) title = db.Column(db.String(64), nullable=True) def __init__(self, artworkLink, username, title, artistLink): self.artworkLink = artworkLink self.artistLink = artistLink self.username = username self.title = title
class Games(db.Model): __tablename__ = 'GAMES' gameID = db.Column(db.Integer, primary_key=True, autoincrement=True) gameLink = db.Column(db.String(2048), nullable=False) gitLink = db.Column(db.String(2048), nullable=True) title = db.Column(db.String(64), nullable=False) description = db.Column(db.String(256), nullable=True) def __init__(self, gameLink, gitLink, title, description): self.gameLink = gameLink self.gitLink = gitLink self.title = title self.description = description
class Video(db.Model): __tablename__ = 'VIDEOS' videoID = db.Column(db.Integer, primary_key=True, autoincrement=True) videoLink = db.Column(db.String(256), nullable=False) artistLink = db.Column(db.String(256), nullable=True) username = db.Column(db.String(64), nullable=True) title = db.Column(db.String(64), nullable=True) def __init__(self, videoLink, username, title, artistLink): self.videoLink = videoLink self.artistLink = artistLink self.username = username self.title = title
class Animation(db.Model): __tablename__ = 'ANIMATION' animationID = db.Column(db.Integer, primary_key=True, autoincrement=True) animationLink = db.Column(db.String(2048), nullable=False) artistLink = db.Column(db.String(2048), nullable=True) username = db.Column(db.String(64), nullable=True) title = db.Column(db.String(64), nullable=True) def __init__(self, animationLink, username, title, artistLink): self.animationLink = animationLink self.artistLink = artistLink self.username = username self.title = title
class Message(db.Model): __tablename__ = 'MESSAGES' messageID = db.Column(db.Integer, primary_key=True, autoincrement=True) orig_msg = db.Column(db.String(2048), nullable=False) tl_msg = db.Column(db.String(2048), nullable=True) # Longest is Iofi's name with her katakana recipient = db.Column(db.String(35), nullable=False) username = db.Column(db.String(64), nullable=True) def __init__(self, orig_msg, tl_msg, recipient, username): self.orig_msg = orig_msg self.tl_msg = tl_msg self.recipient = recipient self.username = username
class Message(db.Model): __tablename__ = 'MESSAGES' messageID = db.Column(db.Integer, primary_key=True, autoincrement=True) # historically, we've had really long messages orig_msg = db.Column(db.String(4096), nullable=False) tl_msg = db.Column(db.String(4096), nullable=True) country = db.Column(db.String(16), nullable=True) username = db.Column(db.String(64), nullable=True) def __init__(self, orig_msg, tl_msg, country, username): self.orig_msg = orig_msg self.tl_msg = tl_msg self.country = country self.username = username
class MultiGallery(db.Model): __tablename__ = 'MULTIGALLERY' artworkID = db.Column(db.Integer, primary_key=True, autoincrement=True) setID = db.Column(db.Integer, db.ForeignKey('SETMETADATA.setID'), nullable=False) setmetadata = db.relationship("SetMetadata") artworkLink = db.Column(db.String(2048), nullable=False) def __init__( self, setID, artworkLink, ): self.setID = setID self.artworkLink = artworkLink
class MultiGallery(db.Model): __tablename__ = 'MULTIGALLERY' artworkID = db.Column(db.Integer, primary_key=True, autoincrement=True) setID = db.Column(db.String(32), db.ForeignKey(SetMetadata.setID), nullable=False) setmetadata = db.relationship(SetMetadata) artworkLink = db.Column(db.String(256), nullable=False) blurhash = db.Column(db.String(64), nullable=True) def __init__( self, setID, artworkLink, blurhash, ): self.setID = setID self.artworkLink = artworkLink self.blurhash = blurhash
class SetMetadata(db.Model): __tablename__ = 'SETMETADATA' metadataID = db.Column(db.Integer, primary_key=True, autoincrement=True) setID = db.Column(db.String(32), nullable=False) artistLink = db.Column(db.String(2048), nullable=True) username = db.Column(db.String(64), nullable=False) title = db.Column(db.String(64), nullable=True) def __init__( self, setID, username, title, artistLink, ): self.setID = setID self.artistLink = artistLink self.username = username self.title = title
class SetMetadata(db.Model): __tablename__ = 'SETMETADATA' metadataID = db.Column(db.Integer, primary_key=True, autoincrement=True) setID = db.Column(db.String(32), nullable=False) artistLink = db.Column(db.String(256), nullable=True) username = db.Column(db.String(64), nullable=False) message = db.Column(db.String(4096), nullable=True) # setID must be a unique constraint for foreign keys to work __table_args__ = (db.UniqueConstraint('setID'), ) def __init__( self, setID, username, message, artistLink, ): self.setID = setID self.artistLink = artistLink self.username = username self.message = message
class Gallery(db.Model): __tablename__ = 'GALLERY' artworkID = db.Column(db.Integer, primary_key=True, autoincrement=True) artworkLink = db.Column(db.String(256), nullable=False) blurhash = db.Column(db.String(64), nullable=True) artistLink = db.Column(db.String(256), nullable=True) username = db.Column(db.String(64), nullable=True) # 4096 because title can be a message too title = db.Column(db.String(4096), nullable=True) def __init__(self, artworkLink, blurhash, username, title, artistLink): self.artworkLink = artworkLink self.blurhash = blurhash self.artistLink = artistLink self.username = username self.title = title