summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2024-02-05 12:53:45 -0600
committerHombreLaser <sebastian-440@live.com>2024-02-05 12:53:45 -0600
commitc96e88537de14bc17988d33cc25b77a52d7af6b4 (patch)
treeee53f22fb98903bfe38be3ae636b69a80e169b47 /src
parent3fa4434d417c4bc85916ed79cc7bbb324b2768ac (diff)
Add reply model
Diffstat (limited to 'src')
-rw-r--r--src/database/models/__init__.py1
-rw-r--r--src/database/models/comment.py5
-rw-r--r--src/database/models/reply.py19
3 files changed, 24 insertions, 1 deletions
diff --git a/src/database/models/__init__.py b/src/database/models/__init__.py
index 0647151..7a72ccf 100644
--- a/src/database/models/__init__.py
+++ b/src/database/models/__init__.py
@@ -1,2 +1,3 @@
from src.database.models.blog import Blog
from src.database.models.comment import Comment
+from src.database.models.reply import Reply
diff --git a/src/database/models/comment.py b/src/database/models/comment.py
index 9501bba..d1ca868 100644
--- a/src/database/models/comment.py
+++ b/src/database/models/comment.py
@@ -1,4 +1,4 @@
-from sqlalchemy import BigInteger, String, DateTime, Text, ForeignKey
+from sqlalchemy import BigInteger, String, DateTime, Text, ForeignKey, Boolean
from sqlalchemy.orm import mapped_column, Mapped, relationship
from src.database import db
@@ -13,6 +13,9 @@ class Comment(db.Model):
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)
diff --git a/src/database/models/reply.py b/src/database/models/reply.py
new file mode 100644
index 0000000..6324baf
--- /dev/null
+++ b/src/database/models/reply.py
@@ -0,0 +1,19 @@
+from sqlalchemy import BigInteger, String, DateTime, Text, ForeignKey, Boolean
+from sqlalchemy.orm import mapped_column, Mapped, relationship
+from src.database import db
+
+
+class Reply(db.Model):
+ __tablename__ = 'replies'
+
+ id = mapped_column(BigInteger, primary_key=True)
+ content: Mapped[str] = mapped_column(Text)
+ email: Mapped[str] = mapped_column(String(256), nullable=True)
+ author: Mapped[str] = mapped_column(String(128), nullable=True)
+ comment_id: Mapped[int] = mapped_column(ForeignKey('comments.id'),
+ index=True)
+ approved: Mapped[bool] = mapped_column(Boolean, nullable=False,
+ default=True)
+ comment = relationship('Comment', back_populates='replies')
+ created_at = mapped_column(DateTime)
+ updated_at = mapped_column(DateTime)