elsa-core/src/modules/Elsa.Workflows.Management
Sipke Schoorstra c80f80fd81
Enhanced Workflow Instance Filters (#4957)
* Add timestamp filtering for workflow instances

Implemented a new feature in the workflow instances' querying API, enabling filtering based on timestamps. The changes include adding a new TimestampFilter class and modifying existing classes accordingly. This new filter supports various operators such as greater than and less than, providing flexibility in filtering workflow instances.

* Improve timestamp filtering efficiency and update UI in WorkflowInstanceList

Timestamp filtering within WorkflowInstanceList is refactored using System.Linq.Dynamic.Core for more compact expression. This change results in simpler and more efficient code, reducing repetitive code lines. The UI updates include changing the MudGrid structure to table for timestamp filters display, offering a more organized view. Also, protection against null or minimum date values during parsing and comparisons is added, increasing stability and safety of operations.

* Refactor HTTP verbs and routes configuration in Endpoint.cs

The previous Get and Post method calls for handling '/workflow-instances' have been replaced with a Verbs method for HTTP verbs and a Routes method for setting the route.

* Update WorkflowInstanceFilter to use nullable HasIncidents

The HasIncidents property in WorkflowInstanceFilter has been updated from a bool to a nullable bool so that it can represent three states (true, false, or null) instead of only two. This allows not only to filter workflow instances that have incidents, but also those that don't have any, enhancing the flexibility of the filter in the process.

* Improve search functionality and UI in WorkflowInstanceList

Updated search term comparison in WorkflowInstanceFilter to use "Contains" instead of "Equals" to improve search flexibility. Also, enhanced the user interface in WorkflowInstanceList by adding debounce interval for the search input for performance reasons and by adding a Close button for convenience.

* Add input validation to WorkflowInstances endpoint

The code modifies the API endpoint for WorkflowInstances. It now checks that the input provided in the request is valid before proceeding. Furthermore, a new file called 'RequiredMembers.cs' has been added, which introduces two new attributes 'RequiredMemberAttribute' and 'CompilerFeatureRequiredAttribute'.

* Update src/modules/Elsa.Workflows.Management/Models/TimestampFilter.cs

Co-authored-by: Béchir BEN AMEUR <32399944+bbenameur@users.noreply.github.com>

* Update src/modules/Elsa.Workflows.Management/Models/TimestampFilter.cs

Co-authored-by: Béchir BEN AMEUR <32399944+bbenameur@users.noreply.github.com>

* Update src/modules/Elsa.Workflows.Management/Models/TimestampFilter.cs

Co-authored-by: Béchir BEN AMEUR <32399944+bbenameur@users.noreply.github.com>

---------

Co-authored-by: Béchir BEN AMEUR <32399944+bbenameur@users.noreply.github.com>
2024-02-18 23:40:03 +01:00
..
Activities Add a more generic UIHandler to customize how inputAttributes can be handle by UI (#4688) 2023-12-26 18:56:29 +01:00
Compression Implement Zstd compression and update related components 2024-02-04 12:18:55 +01:00
Contracts Implement Zstd compression and update related components 2024-02-04 12:18:55 +01:00
Entities Add a more generic UIHandler to customize how inputAttributes can be handle by UI (#4688) 2023-12-26 18:56:29 +01:00
Enums Enhanced Workflow Instance Filters (#4957) 2024-02-18 23:40:03 +01:00
Extensions Merge scope change into main (#4738) 2024-01-02 14:52:53 +01:00
Features Add serialization tests and refactor serialization classes 2024-02-06 08:45:54 +01:00
Filters Enhanced Workflow Instance Filters (#4957) 2024-02-18 23:40:03 +01:00
Handlers Implement cascading deletion 2023-07-20 00:05:43 +02:00
HostedServices Merge scope change into main (#4738) 2024-01-02 14:52:53 +01:00
Mappers Add workflow serialization and new export endpoint 2024-01-07 21:07:14 +01:00
Materializers Add workflow registry 2024-01-04 22:07:55 +01:00
Models Enhanced Workflow Instance Filters (#4957) 2024-02-18 23:40:03 +01:00
Notifications Implement real time workflow update broadcasting using SignalR 2023-07-25 15:12:27 +02:00
Options Add compression feature for workflow state data 2024-02-03 22:24:46 +01:00
Providers Update expression serialization and deserialization 2024-02-12 19:26:00 +01:00
Requests Add a more generic UIHandler to customize how inputAttributes can be handle by UI (#4688) 2023-12-26 18:56:29 +01:00
Responses Implemented workflow validation for httpendpoint path (#4181) 2023-07-14 19:19:41 +02:00
Services Update WorkflowDefinitionManager to handle dependencies 2024-02-07 23:22:54 +01:00
Elsa.Workflows.Management.csproj Enhanced Workflow Instance Filters (#4957) 2024-02-18 23:40:03 +01:00
Elsa.Workflows.Management.csproj.DotSettings Remove WorkflowStateStore (#4374) 2023-08-30 15:42:16 +02:00
FodyWeavers.xml
RequiredMembers.cs Enhanced Workflow Instance Filters (#4957) 2024-02-18 23:40:03 +01:00