feat(dlp): implement case management service and DLP Review integration
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env python3
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Literal
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
CaseStatus = Literal["open", "investigating", "resolved", "closed"]
|
||||
|
||||
|
||||
class CaseCreate(BaseModel):
|
||||
incident_id: str = Field(min_length=1, max_length=256)
|
||||
host: str | None = Field(default=None, max_length=128)
|
||||
title: str = Field(min_length=1, max_length=512)
|
||||
severity: str = Field(default="medium", max_length=32)
|
||||
assignee: str | None = Field(default=None, max_length=128)
|
||||
source_bucket: str | None = Field(default=None, max_length=256)
|
||||
source_event_ts: str | None = Field(default=None, max_length=64)
|
||||
evidence: dict | None = None
|
||||
|
||||
|
||||
class CaseUpdate(BaseModel):
|
||||
status: CaseStatus | None = None
|
||||
assignee: str | None = Field(default=None, max_length=128)
|
||||
title: str | None = Field(default=None, max_length=512)
|
||||
severity: str | None = Field(default=None, max_length=32)
|
||||
|
||||
|
||||
class CaseCommentCreate(BaseModel):
|
||||
comment: str = Field(min_length=1, max_length=2000)
|
||||
author: str | None = Field(default=None, max_length=128)
|
||||
|
||||
|
||||
class CaseComment(BaseModel):
|
||||
id: int
|
||||
case_id: int
|
||||
comment: str
|
||||
author: str | None
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class CaseRecord(BaseModel):
|
||||
id: int
|
||||
incident_id: str
|
||||
host: str | None
|
||||
title: str
|
||||
severity: str
|
||||
assignee: str | None
|
||||
status: CaseStatus
|
||||
source_bucket: str | None
|
||||
source_event_ts: str | None
|
||||
evidence: dict | None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
Reference in New Issue
Block a user