mirror of
https://github.com/MrSedan/neuro-reply-bot-reworked.git
synced 2026-01-14 21:49:42 +03:00
Datetime and posted fields
This commit is contained in:
11
db/data.py
11
db/data.py
@@ -1,10 +1,11 @@
|
|||||||
import os
|
import os
|
||||||
|
from datetime import datetime
|
||||||
from os.path import dirname, join
|
from os.path import dirname, join
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
|
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from sqlalchemy import ForeignKey, create_engine
|
from sqlalchemy import Column, DateTime, ForeignKey, create_engine
|
||||||
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship
|
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship
|
||||||
|
|
||||||
load_dotenv(join(dirname(__file__), '..', '.env'))
|
load_dotenv(join(dirname(__file__), '..', '.env'))
|
||||||
@@ -44,17 +45,23 @@ class Post(Base):
|
|||||||
__tablename__ = 'post'
|
__tablename__ = 'post'
|
||||||
|
|
||||||
uuid: Mapped[UUID] = mapped_column(primary_key=True)
|
uuid: Mapped[UUID] = mapped_column(primary_key=True)
|
||||||
|
posted: Mapped[bool] = mapped_column(default=False)
|
||||||
from_user_id: Mapped[int] = mapped_column(ForeignKey('admin.user_id'))
|
from_user_id: Mapped[int] = mapped_column(ForeignKey('admin.user_id'))
|
||||||
user: Mapped['Admin'] = relationship(back_populates='posts')
|
user: Mapped['Admin'] = relationship(back_populates='posts')
|
||||||
text: Mapped[str]
|
text: Mapped[str]
|
||||||
|
media_group_id: Mapped[str]
|
||||||
images: Mapped[List['Image']] = relationship(back_populates='post', cascade='all, delete')
|
images: Mapped[List['Image']] = relationship(back_populates='post', cascade='all, delete')
|
||||||
|
timestamp = Column(DateTime, default=datetime.utcnow)
|
||||||
|
|
||||||
|
def __repr__(self) -> str:
|
||||||
|
return f"UUID: {self.uuid}. From_user_id: {self.from_user_id}. media group id: {self.media_group_id}. Text: {self.text}"
|
||||||
|
|
||||||
class Image(Base):
|
class Image(Base):
|
||||||
__tablename__ = 'photo'
|
__tablename__ = 'photo'
|
||||||
message_id: Mapped[int] = mapped_column(primary_key=True)
|
message_id: Mapped[int] = mapped_column(primary_key=True)
|
||||||
media_group_id: Mapped[int]
|
|
||||||
post: Mapped['Post'] = relationship(back_populates='images')
|
post: Mapped['Post'] = relationship(back_populates='images')
|
||||||
post_id: Mapped[int] = mapped_column(ForeignKey('post.uuid'))
|
post_id: Mapped[int] = mapped_column(ForeignKey('post.uuid'))
|
||||||
|
file_id: Mapped[str]
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
Base.metadata.create_all(engine)
|
Base.metadata.create_all(engine)
|
||||||
Reference in New Issue
Block a user