system.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from datetime import datetime
  2. from typing import Optional
  3. from pydantic import BaseModel
  4. from sqlalchemy import Column, Integer, String, DateTime, Table, ForeignKey, UniqueConstraint
  5. from app.models.base_model import Base
  6. class SystemDataModel(Base):
  7. __tablename__ = 'system_data'
  8. id = Column(Integer, primary_key=True, index=True)
  9. title = Column(String(255))
  10. desc = Column(String(1000))
  11. version = Column(String(32))
  12. machine_id = Column(String(255))
  13. license_code = Column(String(1000))
  14. status = Column(Integer, default=0)
  15. expired_at = Column(DateTime)
  16. created_at = Column(DateTime, default=datetime.now())
  17. updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now())
  18. def to_dict(self):
  19. return {
  20. # 'id': self.id,
  21. 'title': self.title,
  22. 'desc': self.desc,
  23. 'version': self.version,
  24. 'machine_id': self.machine_id,
  25. 'license_code': self.license_code,
  26. 'status': self.status,
  27. 'expired_at': self.expired_at.strftime('%Y-%m-%d %H:%M') if self.expired_at else '',
  28. }
  29. def __repr__(self):
  30. return '<Role name:%r description:%r iconCls:%r seq:%r>\n' \
  31. % (self.NAME, self.DESCRIPTION, self.ICONCLS, self.SEQ)
  32. class SystemData(BaseModel):
  33. title: str
  34. desc: str
  35. logo: str
  36. class SystemLicense(BaseModel):
  37. licenseCode: str