| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- from datetime import datetime
- from enum import IntEnum
- from typing import Optional
- from sqlalchemy import Column, Integer, String, DateTime, Enum, Index
- from pydantic import BaseModel
- from app.models.base_model import Base
- class GroupStatus(IntEnum):
- NO = 1
- OFF = 0
- class GroupInfoModel(Base):
- __tablename__ = "group_info"
- group_id = Column(Integer, primary_key=True, index=True)
- group_name = Column(String(255), unique=True, nullable=False, index=True)
- group_description = Column(String(255))
- group_status = Column(Integer, nullable=False, default=1)
- created_at = Column(DateTime, default=datetime.now())
- updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now())
- def to_dict(self):
- return {
- 'id': self.group_id,
- 'name': self.group_name,
- 'group_description': self.group_description,
- 'group_status': self.group_status,
- 'created_at': self.created_at.strftime("%Y.%m.%d %H:%M")
- }
- class UserGroupModel(Base):
- __tablename__ = "user_group"
- id = Column(Integer, primary_key=True)
- group_id = Column(Integer, nullable=False)
- user_id = Column(Integer, nullable=False)
- Index('ix_user_group_id', group_id, user_id, unique=True)
- class GroupData(BaseModel):
- id: Optional[int] = None
- group_name: Optional[str] = ""
- group_description: Optional[str] = ""
- group_status: Optional[int] = None
- class GroupUsers(BaseModel):
- id: int
- user_list: list
|