models.py 952 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from pydantic import BaseModel, Field
  2. from typing import Optional
  3. from datetime import datetime
  4. import uuid
  5. class RecurringScheduleCreate(BaseModel):
  6. agent_id: str
  7. cron: str
  8. message: str
  9. role: str = "user"
  10. timezone: str = "UTC"
  11. class RecurringSchedule(BaseModel):
  12. id: str = Field(default_factory=lambda: str(uuid.uuid4()))
  13. agent_id: str
  14. api_key: str
  15. cron: str
  16. message: str
  17. role: str = "user"
  18. timezone: str = "UTC"
  19. created_at: datetime = Field(default_factory=datetime.utcnow)
  20. last_run: Optional[datetime] = None
  21. class OneTimeScheduleCreate(BaseModel):
  22. agent_id: str
  23. execute_at: str
  24. message: str
  25. role: str = "user"
  26. class OneTimeSchedule(BaseModel):
  27. id: str = Field(default_factory=lambda: str(uuid.uuid4()))
  28. agent_id: str
  29. api_key: str
  30. execute_at: str
  31. message: str
  32. role: str = "user"
  33. created_at: datetime = Field(default_factory=datetime.utcnow)