token.py 675 B

123456789101112131415161718192021222324252627
  1. from typing import Optional
  2. from sqlalchemy import Index
  3. from sqlmodel import Field
  4. from app.libs import util
  5. from app.models.base_model import BaseModel, TimeStampMixin, PrimaryKeyMixin
  6. class TokenBase(BaseModel):
  7. llm_base_url: str = Field(nullable=False)
  8. llm_api_key: str = Field(nullable=False)
  9. description: Optional[str] = Field(default=None)
  10. class Token(TokenBase, TimeStampMixin, PrimaryKeyMixin, table=True):
  11. __table_args__ = (Index("token_assistant_token_idx", "assistant_token", unique=True),)
  12. assistant_token: str = Field(default_factory=util.random_uuid)
  13. class TokenCreate(TokenBase):
  14. pass
  15. class TokenUpdate(TokenBase):
  16. pass