home · contact · privacy
Refactor .as_dict integration of Process.explicit_steps, Day.todos.
[plomtask] / plomtask / processes.py
index ebe781e8fb83e09699e38532c0c2c7b3a9a2e1f2..36158996595dccfad678730eb29a50c422c26b9d 100644 (file)
@@ -33,6 +33,7 @@ class Process(BaseModel[int], ConditionsRelations):
                          ('process_disables', 'process', 'disables', 0),
                          ('process_step_suppressions', 'process',
                           'suppressed_steps', 0)]
+    add_to_dict = ['explicit_steps']
     to_search = ['title.newest', 'description.newest']
     can_create_by_id = True
 
@@ -47,15 +48,6 @@ class Process(BaseModel[int], ConditionsRelations):
         self.calendarize = calendarize
         self.n_owners: int | None = None  # only set by from_table_row
 
-    @property
-    def as_dict(self) -> dict[str, object]:
-        """Return self as (json.dumps-coompatible) dict."""
-        d = super().as_dict
-        assert isinstance(d['_library'], dict)
-        d['explicit_steps'] = [s.as_dict_into_reference(d['_library'])
-                               for s in self.explicit_steps]
-        return d
-
     @classmethod
     def from_table_row(cls, db_conn: DatabaseConnection,
                        row: Row | list[Any]) -> Process: