Sacha Al Himdani
b603d04d8d
Assets as document: replace snapshot with publish workflow
...
Remove assets from the snapshot system and replace with a publish-based
document workflow that generates versioned ProseMirror documents.
- Remove snapshot_id/source_id from asset and asset_vendor models
- Delete AssetFilter (no longer needed without snapshot filtering)
- Add PublishAssetList service, GraphQL mutation, MCP tool, CLI command,
and n8n operation
- Add asset_list_document_id column to generated_documents table
- Generate ProseMirror documents with asset inventory tables
(name, type, amount, data types stored, owner, vendors)
- Add AssetListDocument resolver on Organization type
- Update frontend to remove snapshot routes/params and add publish dialog
- Add e2e tests for asset publish (immediate, with approvers, reuse, RBAC)
- Add migration script for converting legacy asset snapshots to documents
- Exclude ASSETS from snapshot type lists and e2e snapshot tests
- Move generated_documents SQL to coredata methods on Datum and Asset
- Clear generated document and SOA references on soft delete and archive
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-04-21 19:36:17 +02:00
..
2026-04-21 19:36:17 +02:00
2026-04-02 14:49:13 +02:00
2026-04-02 14:37:29 +02:00
2026-04-03 11:56:06 +02:00
2026-04-02 14:49:13 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:49:13 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:49:13 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:37:29 +02:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-04-02 14:37:29 +02:00
2026-04-03 11:56:06 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:37:29 +02:00
2026-04-03 11:56:06 +02:00
2026-04-02 14:49:13 +02:00
2026-04-02 14:37:29 +02:00
2026-04-03 11:56:06 +02:00
2026-04-02 14:49:13 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:37:29 +02:00
2026-04-16 16:27:30 +02:00
2026-03-25 17:38:32 +01:00
2026-04-16 00:01:13 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-21 19:36:17 +02:00
2026-04-21 19:36:17 +02:00
2026-03-25 17:38:32 +01:00
2026-03-21 19:16:19 +01:00
2026-03-21 19:16:19 +01:00
2026-03-21 19:16:19 +01:00
2026-04-03 11:56:06 +02:00
2026-04-20 15:37:39 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-02 14:37:29 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:37:29 +02:00
2026-04-13 19:24:46 +02:00
2026-04-13 19:24:46 +02:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-21 11:06:36 +02:00
2026-04-21 11:06:36 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-16 00:01:13 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-21 11:06:36 +02:00
2026-04-13 14:50:42 +04:00
2026-04-13 14:50:41 +04:00
2026-04-13 14:52:20 +04:00
2026-04-13 14:52:20 +04:00
2026-04-13 14:52:20 +04:00
2026-04-21 11:40:21 +04:00
2026-04-15 10:21:01 +04:00
2026-04-21 11:40:21 +04:00
2026-04-13 14:50:41 +04:00
2026-04-21 15:24:54 +04:00
2026-04-13 14:50:41 +04:00
2026-04-13 14:50:41 +04:00
2026-04-13 14:50:41 +04:00
2026-04-13 14:50:41 +04:00
2026-04-15 10:21:00 +04:00
2026-04-21 14:18:32 +04:00
2026-04-21 15:24:54 +04:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-20 14:44:00 +02:00
2026-04-21 19:36:17 +02:00
2026-03-25 17:38:32 +01:00
2026-04-09 18:18:30 +02:00
2026-04-16 00:01:13 +02:00
2026-04-03 17:38:28 +02:00
2026-03-25 17:38:32 +01:00
2026-04-16 00:01:13 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-04-09 18:18:30 +02:00
2026-04-09 18:18:30 +02:00
2026-03-31 13:31:30 +02:00
2026-04-09 18:18:30 +02:00
2026-04-03 11:56:06 +02:00
2026-04-03 17:38:28 +02:00
2026-03-25 17:38:32 +01:00
2026-04-16 00:01:13 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-09 18:18:30 +02:00
2026-04-16 00:01:13 +02:00
2026-04-16 00:01:13 +02:00
2026-04-16 00:01:13 +02:00
2026-04-16 00:01:13 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-19 12:00:53 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-21 14:18:32 +04:00
2026-03-25 17:38:32 +01:00
2026-03-31 13:31:30 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-18 19:19:04 +01:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-03-19 16:37:51 +01:00
2026-03-19 10:02:28 +01:00
2026-03-19 16:37:51 +01:00
2026-03-17 15:05:31 +01:00
2026-03-17 15:05:31 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-04-03 17:51:31 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-21 16:54:20 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-02 10:59:25 +02:00
2026-04-02 14:37:29 +02:00
2026-03-25 17:38:32 +01:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-14 18:09:01 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-24 15:55:31 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-21 19:36:17 +02:00
2026-04-21 19:36:17 +02:00
2026-04-21 19:36:17 +02:00
2026-04-09 13:06:06 +02:00
2026-04-21 19:36:17 +02:00
2026-04-02 13:35:39 +02:00
2026-04-02 13:35:39 +02:00
2026-04-03 08:33:37 +02:00
2026-04-03 11:56:06 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-10 19:20:00 +02:00
2026-03-25 17:38:32 +01:00
2026-04-10 19:20:00 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-03 11:56:06 +02:00
2026-04-21 19:36:17 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-03-25 17:38:32 +01:00
2026-04-20 15:37:39 +02:00
2026-04-03 11:56:06 +02:00
2026-03-25 17:38:32 +01:00
2026-04-19 12:00:53 +02:00