elsa-core/src/modules/Elsa.Workflows.Core/Serialization
Sipke Schoorstra 1be3b43c76
Update endpoints for lazy loading (#5681)
* Add workflow ancestor retrieval endpoint

Implemented an API endpoint to retrieve ancestor nodes of a specified child node within a workflow definition. This includes creating models and updating relevant interfaces to support the new functionality.

* Refactor workflow graph processing logic

Refactor to check `workflowGraph.Root` for null and streamline ancestor traversal logic. Ensure segments are processed correctly even when no ancestors are present, enhancing code readability and reliability.

* Fix node lookup error and stack segment order in endpoint

Added a safeguard to handle unknown node IDs by returning an error message. Replaced the segments list with a stack to ensure correct order and adjusted the logic for processing and responding with node ancestors.

* Fix workflow definition container null reference issue

Refactored the container assignment logic to handle cases where no leaf segment is found, ensuring it defaults to `childNode` if ancestors are empty. Additionally, added a TODO comment in DiagramDesignerWrapper.razor.cs for loading activity nodes if not already loaded.

* Refactor segment retrieval logic in Endpoint.cs

Replaced the use of `FirstOrDefault()` with `LastOrDefault()` to correctly identify the leaf segment. This change ensures that the container is set based on the last segment in the sequence, aligning with the intended logic.

* Add support for excluding activity types in filters

Introduced properties to exclude specific activity types in workflow execution log filters. Updated respective APIs and database extensions to utilize these new filtering capabilities, ensuring refined and more customized query operations.

* Refactor comments and add missing annotations

Updated various comments to be more precise and added `[UsedImplicitly]` annotation to `ActivityPathSegment` in `Elsa.Api.Client.Shared.Models`. Also, removed unnecessary folder reference in the `Elsa.Workflows.Api.csproj` file. These changes enhance clarity and maintain consistency across the codebase.

* Refactor workflow type checks and add ActivityExtensions.

Replaced string type checks with type comparisons for Workflow and Flowchart activities. Introduced an extension method in the newly created ActivityExtensions class to streamline flowchart type validation.

* Remove ActivityExtensions and update workflow comments

Deleted ActivityExtensions.cs as it was no longer needed. Updated comments in Models.cs and ActivityPathSegment.cs for clarity and accuracy.
2024-07-01 11:14:04 +02:00
..
Configurators Add a more generic UIHandler to customize how inputAttributes can be handle by UI (#4688) 2023-12-26 18:56:29 +01:00
Converters Update endpoints for lazy loading (#5681) 2024-07-01 11:14:04 +02:00
Helpers Lazy loading of subgraphs (#5643) 2024-06-25 09:21:50 +02:00
ReferenceHandlers Add a more generic UIHandler to customize how inputAttributes can be handle by UI (#4688) 2023-12-26 18:56:29 +01:00
Serializers Lazy loading of subgraphs (#5643) 2024-06-25 09:21:50 +02:00