Files
HangmanLab.Backend/db/models/Markdown.py
2025-04-14 17:02:22 +01:00

37 lines
1.4 KiB
Python

import uuid
from sqlalchemy import Column, Text, Integer, String, DateTime, ForeignKey, UniqueConstraint
from db.models import Base
import datetime
class Markdown(Base):
__tablename__ = 'markdown'
id = Column(Integer, primary_key=True)
title = Column(String(255), nullable=False)
content = Column(Text, nullable=False)
created_at = Column(DateTime, default=datetime.datetime.now(datetime.UTC))
path_id = Column(Integer, ForeignKey('path.id'), nullable=False)
order = Column(String(36), default=lambda: str(uuid.uuid4()))
shortcut = Column(String(36), default="")
setting_id = Column(Integer, ForeignKey("markdown_setting.id"), nullable=True)
__table_args__ = (UniqueConstraint('path_id', 'title', name="unique_path_id_title"),)
def to_dict(self):
return {
'id': self.id,
'title': self.title,
'content': self.content,
'created_at': self.created_at,
'path_id': self.path_id,
'order': self.order,
'shortcut': self.shortcut,
'setting_id': self.setting_id,
}
__payload__ = {
'dev': [
{'id': 1, 'title': 'index', 'content': '{"markdown": ""}', 'created_at': datetime.datetime.utcnow, 'path_id': 1 },
],
'prod': [
{'id': 1, 'title': 'index', 'content': '{"markdown": ""}', 'created_at': datetime.datetime.utcnow, 'path_id': 1},
]
}