summaryrefslogtreecommitdiff
path: root/src/database/models/comment.py
blob: d1ca868e5edc826b00a92277961b1f59db8acf85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from sqlalchemy import BigInteger, String, DateTime, Text, ForeignKey, Boolean
from sqlalchemy.orm import mapped_column, Mapped, relationship
from src.database import db


class Comment(db.Model):
    __tablename__ = 'comments'

    id = mapped_column(BigInteger, primary_key=True)
    content: Mapped[str] = mapped_column(Text)
    language: Mapped[str] = mapped_column(String(16), nullable=False)
    email: Mapped[str] = mapped_column(String(256), nullable=True)
    author: Mapped[str] = mapped_column(String(128), nullable=True)
    post: Mapped[str] = mapped_column(String(1024), nullable=False)
    blog_id: Mapped[int] = mapped_column(ForeignKey('blogs.id'), index=True)
    approved: Mapped[bool] = mapped_column(Boolean, nullable=False,
                                           default=True)
    blog = relationship('Blog', back_populates='comments')
    replies = relationship('Reply', back_populates='comment')
    created_at = mapped_column(DateTime)
    updated_at = mapped_column(DateTime)