M18: implement operational workspaces
This commit is contained in:
@@ -106,7 +106,9 @@ def clear_all(db: Session, *, preserve_integration_telemetry: bool = False) -> N
|
||||
):
|
||||
db.execute(delete(model))
|
||||
if preserve_integration_telemetry:
|
||||
db.execute(delete(AuditEvent).where(AuditEvent.action.not_in(_PERSISTENT_TELEMETRY_ACTIONS)))
|
||||
db.execute(
|
||||
delete(AuditEvent).where(AuditEvent.action.not_in(_PERSISTENT_TELEMETRY_ACTIONS))
|
||||
)
|
||||
else:
|
||||
db.execute(delete(AuditEvent))
|
||||
|
||||
@@ -116,9 +118,7 @@ def load_seed(db: Session) -> SeedResult:
|
||||
today = datetime.now(UTC).date()
|
||||
shift = _seed_anchor_shift(today)
|
||||
|
||||
user_rows = [
|
||||
{"id": uuid.uuid4(), **user, "active": True} for user in DEMO_USERS
|
||||
]
|
||||
user_rows = [{"id": uuid.uuid4(), **user, "active": True} for user in DEMO_USERS]
|
||||
db.execute(insert(User), user_rows)
|
||||
counts["users"] = len(user_rows)
|
||||
|
||||
@@ -354,6 +354,11 @@ def load_seed(db: Session) -> SeedResult:
|
||||
entity_type, entity_id = resolve_entity(row["entity_ref"])
|
||||
related_ref = row.get("related_ref") or ""
|
||||
related_refs = related_ref.split("|") if related_ref else []
|
||||
severity_due_delta = {
|
||||
"high": timedelta(hours=4),
|
||||
"medium": timedelta(days=1),
|
||||
"low": timedelta(days=3),
|
||||
}.get(row["severity"], timedelta(days=1))
|
||||
dq_rows.append(
|
||||
{
|
||||
"id": uuid.uuid4(),
|
||||
@@ -371,6 +376,7 @@ def load_seed(db: Session) -> SeedResult:
|
||||
},
|
||||
"proposed_action_json": {},
|
||||
"detected_at": now,
|
||||
"due_at": now + severity_due_delta if row["status"] == "open" else None,
|
||||
"resolved_at": now if row["status"] == "resolved" else None,
|
||||
"resolved_by": "USR-OPS" if row["status"] == "resolved" else None,
|
||||
}
|
||||
@@ -443,9 +449,7 @@ def load_seed(db: Session) -> SeedResult:
|
||||
return SeedResult(counts=counts, anchor_date=today, seeded_at=seeded_at)
|
||||
|
||||
|
||||
def reset_and_seed(
|
||||
db: Session, *, preserve_integration_telemetry: bool = False
|
||||
) -> SeedResult:
|
||||
def reset_and_seed(db: Session, *, preserve_integration_telemetry: bool = False) -> SeedResult:
|
||||
from app.services.data_quality import run_scan
|
||||
|
||||
clear_all(db, preserve_integration_telemetry=preserve_integration_telemetry)
|
||||
|
||||
Reference in New Issue
Block a user