satupeta-main/app/models/mapset_history_model.py
2026-01-27 09:11:58 +07:00

28 lines
1.1 KiB
Python

from datetime import datetime
import uuid6
from pytz import timezone
from sqlalchemy import UUID, Column, DateTime, ForeignKey, String, Text
from sqlalchemy.orm import relationship
from app.core.config import settings
from . import Base
class MapsetHistoryModel(Base):
"""Model untuk melacak riwayat perubahan pada mapset."""
__tablename__ = "mapset_histories"
id = Column(UUID(as_uuid=True), primary_key=True, index=True, default=uuid6.uuid7)
mapset_id = Column(UUID(as_uuid=True), ForeignKey("mapsets.id"), index=True, comment="ID mapset yang dilacak")
validation_type = Column(String(50), nullable=False, comment="Jenis perubahan pada mapset")
user_id = Column(UUID(as_uuid=True), ForeignKey("users.id"), comment="ID pengguna yang melakukan perubahan")
notes = Column(Text, nullable=True, comment="Catatan detail perubahan yang dilakukan")
timestamp = Column(
DateTime(timezone=True), default=datetime.now(timezone(settings.TIMEZONE)), comment="Waktu perubahan tercatat"
)
user = relationship("UserModel", uselist=False, lazy="selectin")