Add Telegram listener, scheduler, and extended parsers admin UI.
Introduce background scheduling and migrations for analytics ingest, expand parser management and map toolbar UX, and ignore local data/session files from version control. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -111,11 +111,18 @@ class IngestEventItem(BaseModel):
|
||||
class IngestRequest(BaseModel):
|
||||
job_id: int | None = None
|
||||
events: list[IngestEventItem] = Field(default_factory=list)
|
||||
listener: bool = False
|
||||
|
||||
|
||||
class ListenerSubscription(BaseModel):
|
||||
job_id: int
|
||||
channel: str
|
||||
|
||||
|
||||
class IngestResponse(BaseModel):
|
||||
ingested: int
|
||||
updated: int
|
||||
skipped: int = 0
|
||||
map_objects_synced: int
|
||||
|
||||
|
||||
@@ -123,6 +130,14 @@ class ParseJobCreate(BaseModel):
|
||||
source_type: str = "telegram"
|
||||
source_config: dict[str, Any] = Field(default_factory=dict)
|
||||
schedule: str | None = None
|
||||
interval_seconds: int = Field(default=3600, ge=60, le=604800)
|
||||
is_active: bool = True
|
||||
|
||||
|
||||
class ParseJobUpdate(BaseModel):
|
||||
source_config: dict[str, Any] | None = None
|
||||
interval_seconds: int | None = Field(default=None, ge=60, le=604800)
|
||||
is_active: bool | None = None
|
||||
|
||||
|
||||
class ParseJobRead(BaseModel):
|
||||
@@ -132,6 +147,8 @@ class ParseJobRead(BaseModel):
|
||||
source_type: str
|
||||
source_config: dict[str, Any]
|
||||
schedule: str | None
|
||||
interval_seconds: int
|
||||
is_active: bool
|
||||
status: str
|
||||
last_run_at: datetime | None
|
||||
last_error: str | None
|
||||
|
||||
Reference in New Issue
Block a user