| 1 | from datetime import datetime |
| 2 | from typing import Optional |
| 3 | |
| 4 | from sqlmodel import Column |
| 5 | from sqlmodel import Field |
| 6 | from sqlmodel import SQLModel |
| 7 | from sqlmodel import Text |
| 8 | |
| 9 | |
| 10 | class SigmaQuery(SQLModel, table=True): |
| 11 | __tablename__ = "sigma_queries" |
| 12 | id: Optional[int] = Field(default=None, primary_key=True) |
| 13 | rule_name: str = Field(sa_column=Column(Text, nullable=False)) |
| 14 | rule_query: str = Field(sa_column=Column(Text, nullable=False)) |
| 15 | active: bool = Field(default=False) |
| 16 | time_interval: str = Field(default="5m", nullable=False) |
| 17 | last_updated: datetime = Field(default_factory=datetime.utcnow) |
| 18 | last_execution_time: Optional[datetime] = Field(default_factory=datetime.utcnow) |