This commit is contained in:
@@ -602,10 +602,17 @@ class ProjectAssistantService(DocumentsMixin, ExperiencesMixin):
|
||||
if current["data_domain"] != "demo":
|
||||
raise ValueError("禁止重置正式项目")
|
||||
records = [dict(r) for r in db.execute("SELECT * FROM assistant_objects WHERE project_id=? OR (kind='project' AND id=?)", (item["id"], item["id"]))]
|
||||
put(db, "reset_archive", {"id": uid("reset"), "source_project_id": item["id"], "records": records, "actor": actor, "created_at": now()}, immutable=True)
|
||||
events = [dict(r) for r in db.execute("SELECT * FROM assistant_events WHERE project_id=? ORDER BY seq", (item["id"],))]
|
||||
time_events = [dict(r) for r in db.execute("SELECT * FROM business_time_events WHERE project_id=? ORDER BY started_at", (item["id"],))]
|
||||
put(db, "reset_archive", {"id": uid("reset"), "source_project_id": item["id"], "records": records,
|
||||
"events": events, "time_events": time_events, "actor": actor, "created_at": now()}, immutable=True)
|
||||
db.execute("DELETE FROM assistant_jobs WHERE project_id=?", (item["id"],))
|
||||
db.execute("DELETE FROM assistant_idempotency WHERE object_id IN (SELECT id FROM assistant_objects WHERE project_id=?)", (item["id"],))
|
||||
db.execute("DELETE FROM assistant_objects WHERE project_id=? OR (kind='project' AND id=?)", (item["id"], item["id"]))
|
||||
db.execute("DELETE FROM assistant_events WHERE project_id=?", (item["id"],))
|
||||
db.execute("DELETE FROM business_time_events WHERE project_id=?", (item["id"],))
|
||||
self._seed_project(db, item, "demo")
|
||||
self._seed_timeline(db, item)
|
||||
event(db, item["id"], "demo.reset", actor, {"recoverable": True})
|
||||
return {"status": "reset", "data_domain": "demo", "projects": len(fixtures["projects"]), "recoverable": True}
|
||||
return {"status": "reset", "data_domain": "demo", "projects": len(fixtures["projects"]),
|
||||
"recoverable": True, "history_reset": True}
|
||||
|
||||
Reference in New Issue
Block a user