Fix order of Order and Pagination (#6727)
* Refactor query composition to ensure consistent ordering and pagination logic. Reordered method calls for `OrderBy` and `Paginate` across multiple stores to enhance readability and maintain consistent execution. Simplified redundant query operations for improved clarity and performance. * Updates Elsa Studio version to 3.4.0 Updates the Elsa Studio version to the stable release. Removes the preview tag from the version number. * Move `ElsaStudioVersion` property to `Directory.Packages.props` for centralized management.
This commit is contained in:
parent
c817320d66
commit
623b75ed2c
|
|
@ -36,7 +36,4 @@
|
|||
<!-- IL trimming warnings -->
|
||||
<NoWarn>$(NoWarn);IL2026;IL2046;IL2057;IL2067;IL2070;IL2072;IL2075;IL2087;IL2091</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ElsaStudioVersion>3.4.0-preview.1025</ElsaStudioVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -3,6 +3,9 @@
|
|||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ElsaStudioVersion>3.4.0</ElsaStudioVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="Antlr4.Runtime.Standard" Version="4.13.1"/>
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations" Version="0.5.1"/>
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ public class EFCoreWorkflowDefinitionStore(EntityStore<ManagementElsaDbContext,
|
|||
/// <inheritdoc />
|
||||
public async Task<Page<WorkflowDefinition>> FindManyAsync<TOrderBy>(WorkflowDefinitionFilter filter, WorkflowDefinitionOrder<TOrderBy> order, PageArgs pageArgs, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var count = await store.QueryAsync(queryable => Filter(queryable, filter).OrderBy(order), cancellationToken).LongCount();
|
||||
var results = await store.QueryAsync(queryable => Paginate(Filter(queryable, filter), pageArgs), OnLoadAsync, filter.TenantAgnostic, cancellationToken).ToList();
|
||||
var count = await store.QueryAsync(queryable => Filter(queryable, filter), cancellationToken).LongCount();
|
||||
var results = await store.QueryAsync(queryable => Filter(queryable, filter).OrderBy(order).Paginate(pageArgs), OnLoadAsync, filter.TenantAgnostic, cancellationToken).ToList();
|
||||
return new(results, count);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,14 +43,14 @@ public class EFBookmarkQueueStore(Store<RuntimeElsaDbContext, BookmarkQueueItem>
|
|||
|
||||
public async Task<Page<BookmarkQueueItem>> PageAsync<TOrderBy>(PageArgs pageArgs, BookmarkQueueItemOrder<TOrderBy> orderBy, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var count = await store.QueryAsync(queryable => queryable.OrderBy(orderBy), cancellationToken).LongCount();
|
||||
var results = await store.QueryAsync(queryable => queryable.Paginate(pageArgs), OnLoadAsync, cancellationToken).ToList();
|
||||
var count = await store.QueryAsync(queryable => queryable, cancellationToken).LongCount();
|
||||
var results = await store.QueryAsync(queryable => queryable.OrderBy(orderBy).Paginate(pageArgs), OnLoadAsync, cancellationToken).ToList();
|
||||
return new(results, count);
|
||||
}
|
||||
|
||||
public async Task<Page<BookmarkQueueItem>> PageAsync<TOrderBy>(PageArgs pageArgs, BookmarkQueueFilter filter, BookmarkQueueItemOrder<TOrderBy> orderBy, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var count = await store.QueryAsync(queryable => filter.Apply(queryable).OrderBy(orderBy), cancellationToken).LongCount();
|
||||
var count = await store.QueryAsync(filter.Apply, cancellationToken).LongCount();
|
||||
var results = await store.QueryAsync(queryable => filter.Apply(queryable).OrderBy(orderBy).Paginate(pageArgs), OnLoadAsync, cancellationToken).ToList();
|
||||
return new(results, count);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public class EFCoreWorkflowExecutionLogStore(EntityStore<RuntimeElsaDbContext, W
|
|||
public async Task<Page<WorkflowExecutionLogRecord>> FindManyAsync<TOrderBy>(WorkflowExecutionLogRecordFilter filter, PageArgs pageArgs, WorkflowExecutionLogRecordOrder<TOrderBy> order, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var count = await store.QueryAsync(queryable => Filter(queryable, filter), cancellationToken).LongCount();
|
||||
var results = await store.QueryAsync(queryable => Filter(queryable, filter).Paginate(pageArgs).OrderBy(order), OnLoadAsync, cancellationToken).ToList();
|
||||
var results = await store.QueryAsync(queryable => Filter(queryable, filter).OrderBy(order).Paginate(pageArgs), OnLoadAsync, cancellationToken).ToList();
|
||||
return new(results, count);
|
||||
}
|
||||
|
||||
|
|
@ -71,10 +71,11 @@ public class EFCoreWorkflowExecutionLogStore(EntityStore<RuntimeElsaDbContext, W
|
|||
return await store.DeleteWhereAsync(queryable => Filter(queryable, filter), cancellationToken);
|
||||
}
|
||||
|
||||
private async ValueTask OnSaveAsync(RuntimeElsaDbContext dbContext, WorkflowExecutionLogRecord entity, CancellationToken cancellationToken)
|
||||
private ValueTask OnSaveAsync(RuntimeElsaDbContext dbContext, WorkflowExecutionLogRecord entity, CancellationToken cancellationToken)
|
||||
{
|
||||
entity = entity.SanitizeLogMessage();
|
||||
dbContext.Entry(entity).Property("SerializedPayload").CurrentValue = ShouldSerializePayload(entity) ? safeSerializer.Serialize(entity.Payload) : null;
|
||||
return ValueTask.CompletedTask;
|
||||
}
|
||||
|
||||
private async ValueTask OnLoadAsync(RuntimeElsaDbContext dbContext, WorkflowExecutionLogRecord? entity, CancellationToken cancellationToken)
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ public class MemorySecretStore(MemoryStore<Secret> memoryStore) : ISecretStore
|
|||
{
|
||||
public Task<Page<Secret>> FindManyAsync<TOrderBy>(SecretFilter filter, SecretOrder<TOrderBy> order, PageArgs pageArgs, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var count = memoryStore.Query(query => Filter(query, filter).OrderBy(order)).LongCount();
|
||||
var result = memoryStore.Query(query => Filter(query, filter).Paginate(pageArgs)).ToList();
|
||||
var count = memoryStore.Query(query => Filter(query, filter)).LongCount();
|
||||
var result = memoryStore.Query(query => Filter(query, filter).OrderBy(order).Paginate(pageArgs)).ToList();
|
||||
return Task.FromResult(Page.Of(result, count));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public class EFCoreSecretStore(EntityStore<SecretsDbContext, Secret> store) : IS
|
|||
public async Task<Page<Secret>> FindManyAsync<TOrderBy>(SecretFilter filter, SecretOrder<TOrderBy> order, PageArgs pageArgs, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var count = await store.QueryAsync(query => Filter(query, filter), cancellationToken).LongCount();
|
||||
var secrets = await store.QueryAsync(query => Filter(query, filter).Paginate(pageArgs).OrderBy(order), cancellationToken).ToList();
|
||||
var secrets = await store.QueryAsync(query => Filter(query, filter).OrderBy(order).Paginate(pageArgs), cancellationToken).ToList();
|
||||
return new(secrets, count);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue