2021-06-28 09:08:09 +00:00
|
|
|
from typing import List
|
|
|
|
from datetime import datetime
|
2021-08-07 16:14:20 +00:00
|
|
|
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime
|
2021-06-28 09:08:09 +00:00
|
|
|
|
|
|
|
from orm import Permission
|
|
|
|
from orm.base import Base
|
|
|
|
|
|
|
|
|
|
|
|
class Shout(Base):
|
2021-08-07 16:14:20 +00:00
|
|
|
__tablename__ = 'shout'
|
2021-06-28 09:08:09 +00:00
|
|
|
|
2021-08-08 12:23:12 +00:00
|
|
|
id = None
|
|
|
|
|
|
|
|
slug: str = Column(String, primary_key=True)
|
2021-08-17 09:14:26 +00:00
|
|
|
org_id: str = Column(ForeignKey("organization.id"), nullable=False)
|
2021-08-07 16:14:20 +00:00
|
|
|
author_id: str = Column(ForeignKey("user.id"), nullable=False, comment="Author")
|
|
|
|
body: str = Column(String, nullable=False, comment="Body")
|
|
|
|
createdAt: str = Column(DateTime, nullable=False, default = datetime.now, comment="Created at")
|
|
|
|
updatedAt: str = Column(DateTime, nullable=True, comment="Updated at")
|
2021-08-08 12:23:12 +00:00
|
|
|
replyTo: str = Column(ForeignKey("shout.slug"), nullable=True)
|
|
|
|
versionOf: str = Column(ForeignKey("shout.slug"), nullable=True)
|
|
|
|
tags: str = Column(String, nullable=True)
|
|
|
|
topics: str = Column(String, nullable=True)
|
2021-06-28 09:08:09 +00:00
|
|
|
|
2021-08-07 16:14:20 +00:00
|
|
|
# TODO: add all the fields
|