Wrap workflow definition store with workflow definition manager
This commit is contained in:
parent
2528364531
commit
2bc141a464
|
|
@ -3,4 +3,5 @@
|
|||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=node_005Fmodules/@EntryIndexedValue">ExplicitlyExcluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=src_005Cweb_005Cmodules_005CFlowsharp_002EWeb_002EViewComponents_005CClientApp_005Cnode_005Fmodules/@EntryIndexedValue"></s:String>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=src_005Cweb_005Cmodules_005CFlowsharp_002EWeb_002EViewComponents_005CClientApp_005Cnode_005Fmodules/@EntryIndexRemoved">True</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=src_005Cweb_005Cmodules_005CFlowsharp_002EWeb_002EViewComponents_005CAssets_005Cnode_005Fmodules/@EntryIndexedValue">ExplicitlyExcluded</s:String></wpf:ResourceDictionary>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=src_005Cweb_005Cmodules_005CFlowsharp_002EWeb_002EViewComponents_005CAssets_005Cnode_005Fmodules/@EntryIndexedValue">ExplicitlyExcluded</s:String>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Materializer/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
|
|
@ -13,6 +13,5 @@ namespace Elsa.Persistence
|
|||
Task<IEnumerable<WorkflowDefinition>> ListAsync(int? skip = default, int? take = default, VersionOptions? version = default, CancellationToken cancellationToken = default);
|
||||
Task<WorkflowDefinition> GetAsync(string workflowDefinitionId, VersionOptions version, CancellationToken cancellationToken = default);
|
||||
Task<WorkflowDefinition> GetByVersionIdAsync(string workflowDefinitionVersionId, CancellationToken cancellationToken = default);
|
||||
WorkflowDefinition Initialize(WorkflowDefinition workflowDefinition);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Elsa.Models;
|
||||
using Elsa.Persistence;
|
||||
|
||||
namespace Elsa.Services
|
||||
{
|
||||
public interface IWorkflowDefinitionManager
|
||||
{
|
||||
IWorkflowDefinitionStore Store { get; }
|
||||
Task SaveAsync(WorkflowDefinition workflowDefinition, CancellationToken cancellationToken = default);
|
||||
Task DeleteAsync(WorkflowDefinition workflowDefinition, CancellationToken cancellationToken = default);
|
||||
Task<int> CountAsync(VersionOptions? version = default, CancellationToken cancellationToken = default);
|
||||
Task<IEnumerable<WorkflowDefinition>> ListAsync(int? skip = default, int? take = default, VersionOptions? version = default, CancellationToken cancellationToken = default);
|
||||
Task<WorkflowDefinition?> GetAsync(string workflowDefinitionId, VersionOptions version, CancellationToken cancellationToken = default);
|
||||
Task<WorkflowDefinition?> GetByVersionIdAsync(string workflowDefinitionVersionId, CancellationToken cancellationToken = default);
|
||||
}
|
||||
}
|
||||
|
|
@ -88,6 +88,7 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
.AddScoped<IExpressionEvaluator, ExpressionEvaluator>()
|
||||
.AddScoped<IWorkflowRegistry, WorkflowRegistry>()
|
||||
.AddScoped<IWorkflowInstanceManager, WorkflowInstanceManager>()
|
||||
.AddScoped<IWorkflowDefinitionManager, WorkflowDefinitionManager>()
|
||||
.AddSingleton<IActivityActivator, ActivityActivator>()
|
||||
.AddScoped<IWorkflowRunner, WorkflowRunner>()
|
||||
.AddScoped<IWorkflowTriggerInterruptor, WorkflowTriggerInterruptor>()
|
||||
|
|
|
|||
50
src/core/Elsa.Core/Services/WorkflowDefinitionManager.cs
Normal file
50
src/core/Elsa.Core/Services/WorkflowDefinitionManager.cs
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Elsa.Models;
|
||||
using Elsa.Persistence;
|
||||
|
||||
namespace Elsa.Services
|
||||
{
|
||||
public class WorkflowDefinitionManager : IWorkflowDefinitionManager
|
||||
{
|
||||
private readonly IIdGenerator _idGenerator;
|
||||
|
||||
public WorkflowDefinitionManager(IWorkflowDefinitionStore store, IIdGenerator idGenerator)
|
||||
{
|
||||
_idGenerator = idGenerator;
|
||||
Store = store;
|
||||
}
|
||||
|
||||
public IWorkflowDefinitionStore Store { get; }
|
||||
|
||||
public async Task SaveAsync(WorkflowDefinition workflowDefinition, CancellationToken cancellationToken = default)
|
||||
{
|
||||
workflowDefinition = Initialize(workflowDefinition);
|
||||
await Store.SaveAsync(workflowDefinition, cancellationToken);
|
||||
}
|
||||
|
||||
public Task DeleteAsync(WorkflowDefinition workflowDefinition, CancellationToken cancellationToken = default) => Store.DeleteAsync(workflowDefinition, cancellationToken);
|
||||
public Task<int> CountAsync(VersionOptions? version = default, CancellationToken cancellationToken = default) => Store.CountAsync(version, cancellationToken);
|
||||
|
||||
public Task<IEnumerable<WorkflowDefinition>> ListAsync(int? skip = default, int? take = default, VersionOptions? version = default, CancellationToken cancellationToken = default) =>
|
||||
Store.ListAsync(skip, take, version, cancellationToken);
|
||||
|
||||
public async Task<WorkflowDefinition?> GetAsync(string workflowDefinitionId, VersionOptions version, CancellationToken cancellationToken = default) => await Store.GetAsync(workflowDefinitionId, version, cancellationToken);
|
||||
public async Task<WorkflowDefinition?> GetByVersionIdAsync(string workflowDefinitionVersionId, CancellationToken cancellationToken = default) => await Store.GetByVersionIdAsync(workflowDefinitionVersionId, cancellationToken);
|
||||
|
||||
public WorkflowDefinition Initialize(WorkflowDefinition workflowDefinition)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(workflowDefinition.WorkflowDefinitionId))
|
||||
workflowDefinition.WorkflowDefinitionId = _idGenerator.Generate();
|
||||
|
||||
if (workflowDefinition.Version == 0)
|
||||
workflowDefinition.Version = 1;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(workflowDefinition.WorkflowDefinitionVersionId))
|
||||
workflowDefinition.WorkflowDefinitionVersionId = _idGenerator.Generate();
|
||||
|
||||
return workflowDefinition;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8,13 +8,13 @@ namespace Elsa.Services
|
|||
{
|
||||
public class WorkflowPublisher : IWorkflowPublisher
|
||||
{
|
||||
private readonly IWorkflowDefinitionStore _workflowDefinitionStore;
|
||||
private readonly IWorkflowDefinitionManager _workflowDefinitionManager;
|
||||
private readonly IIdGenerator _idGenerator;
|
||||
private readonly ICloner _cloner;
|
||||
|
||||
public WorkflowPublisher(IWorkflowDefinitionStore workflowDefinitionStore, IIdGenerator idGenerator, ICloner cloner)
|
||||
public WorkflowPublisher(IWorkflowDefinitionManager workflowDefinitionManager, IIdGenerator idGenerator, ICloner cloner)
|
||||
{
|
||||
_workflowDefinitionStore = workflowDefinitionStore;
|
||||
_workflowDefinitionManager = workflowDefinitionManager;
|
||||
_idGenerator = idGenerator;
|
||||
_cloner = cloner;
|
||||
}
|
||||
|
|
@ -40,7 +40,7 @@ namespace Elsa.Services
|
|||
string workflowDefinitionId,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
var definition = await _workflowDefinitionStore.GetAsync(
|
||||
var definition = await _workflowDefinitionManager.GetAsync(
|
||||
workflowDefinitionId,
|
||||
VersionOptions.Latest,
|
||||
cancellationToken);
|
||||
|
|
@ -53,7 +53,7 @@ namespace Elsa.Services
|
|||
|
||||
public async Task<WorkflowDefinition> PublishAsync(WorkflowDefinition workflowDefinition, CancellationToken cancellationToken)
|
||||
{
|
||||
var publishedDefinition = await _workflowDefinitionStore.GetAsync(
|
||||
var publishedDefinition = await _workflowDefinitionManager.GetAsync(
|
||||
workflowDefinition.WorkflowDefinitionId,
|
||||
VersionOptions.Published,
|
||||
cancellationToken);
|
||||
|
|
@ -62,7 +62,7 @@ namespace Elsa.Services
|
|||
{
|
||||
publishedDefinition.IsPublished = false;
|
||||
publishedDefinition.IsLatest = false;
|
||||
await _workflowDefinitionStore.SaveAsync(publishedDefinition, cancellationToken);
|
||||
await _workflowDefinitionManager.SaveAsync(publishedDefinition, cancellationToken);
|
||||
}
|
||||
|
||||
if (workflowDefinition.IsPublished)
|
||||
|
|
@ -77,14 +77,14 @@ namespace Elsa.Services
|
|||
workflowDefinition.IsLatest = true;
|
||||
workflowDefinition = Initialize(workflowDefinition);
|
||||
|
||||
await _workflowDefinitionStore.SaveAsync(workflowDefinition, cancellationToken);
|
||||
await _workflowDefinitionManager.SaveAsync(workflowDefinition, cancellationToken);
|
||||
|
||||
return workflowDefinition;
|
||||
}
|
||||
|
||||
public async Task<WorkflowDefinition?> GetDraftAsync(string workflowDefinitionId, CancellationToken cancellationToken)
|
||||
{
|
||||
var definition = await _workflowDefinitionStore.GetAsync(
|
||||
var definition = await _workflowDefinitionManager.GetAsync(
|
||||
workflowDefinitionId,
|
||||
VersionOptions.Latest,
|
||||
cancellationToken);
|
||||
|
|
@ -109,7 +109,7 @@ namespace Elsa.Services
|
|||
{
|
||||
var draft = workflowDefinition;
|
||||
|
||||
var latestVersion = await _workflowDefinitionStore.GetAsync(
|
||||
var latestVersion = await _workflowDefinitionManager.GetAsync(
|
||||
workflowDefinition.WorkflowDefinitionId,
|
||||
VersionOptions.Latest,
|
||||
cancellationToken);
|
||||
|
|
@ -118,14 +118,14 @@ namespace Elsa.Services
|
|||
{
|
||||
latestVersion.IsLatest = false;
|
||||
|
||||
await _workflowDefinitionStore.SaveAsync(latestVersion, cancellationToken);
|
||||
await _workflowDefinitionManager.SaveAsync(latestVersion, cancellationToken);
|
||||
}
|
||||
|
||||
draft.IsLatest = true;
|
||||
draft.IsPublished = false;
|
||||
draft = Initialize(draft);
|
||||
|
||||
await _workflowDefinitionStore.SaveAsync(draft, cancellationToken);
|
||||
await _workflowDefinitionManager.SaveAsync(draft, cancellationToken);
|
||||
|
||||
return draft;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,18 +13,18 @@ namespace Elsa.WorkflowProviders
|
|||
/// </summary>
|
||||
public class DatabaseWorkflowProvider : WorkflowProvider
|
||||
{
|
||||
private readonly IWorkflowDefinitionStore _workflowDefinitionStore;
|
||||
private readonly IWorkflowDefinitionManager _workflowDefinitionManager;
|
||||
private readonly IWorkflowBlueprintMaterializer _workflowBlueprintMaterializer;
|
||||
|
||||
public DatabaseWorkflowProvider(IWorkflowDefinitionStore workflowDefinitionStore, IWorkflowBlueprintMaterializer workflowBlueprintMaterializer)
|
||||
public DatabaseWorkflowProvider(IWorkflowDefinitionManager workflowDefinitionManager, IWorkflowBlueprintMaterializer workflowBlueprintMaterializer)
|
||||
{
|
||||
_workflowDefinitionStore = workflowDefinitionStore;
|
||||
_workflowDefinitionManager = workflowDefinitionManager;
|
||||
_workflowBlueprintMaterializer = workflowBlueprintMaterializer;
|
||||
}
|
||||
|
||||
protected override async ValueTask<IEnumerable<IWorkflowBlueprint>> OnGetWorkflowsAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
var workflowDefinitions = await _workflowDefinitionStore.ListAsync(cancellationToken: cancellationToken);
|
||||
var workflowDefinitions = await _workflowDefinitionManager.ListAsync(cancellationToken: cancellationToken);
|
||||
return workflowDefinitions.Select(_workflowBlueprintMaterializer.CreateWorkflowBlueprint);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,19 +3,12 @@ using System.Linq;
|
|||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Elsa.Models;
|
||||
using Elsa.Services;
|
||||
|
||||
namespace Elsa.Persistence.InMemory
|
||||
{
|
||||
public class InMemoryWorkflowDefinitionStore : IWorkflowDefinitionStore
|
||||
{
|
||||
private static readonly List<WorkflowDefinition> Definitions = new();
|
||||
private readonly IIdGenerator _idGenerator;
|
||||
|
||||
public InMemoryWorkflowDefinitionStore(IIdGenerator idGenerator)
|
||||
{
|
||||
_idGenerator = idGenerator;
|
||||
}
|
||||
|
||||
public Task<int> CountAsync(VersionOptions? version = null, CancellationToken cancellationToken = default) => Task.FromResult(Definitions.WithVersion(version).Count());
|
||||
|
||||
|
|
@ -31,20 +24,6 @@ namespace Elsa.Persistence.InMemory
|
|||
public Task<WorkflowDefinition> GetByVersionIdAsync(string workflowDefinitionVersionId, CancellationToken cancellationToken = default) =>
|
||||
Task.FromResult(Definitions.FirstOrDefault(x => x.WorkflowDefinitionVersionId == workflowDefinitionVersionId));
|
||||
|
||||
public WorkflowDefinition Initialize(WorkflowDefinition workflowDefinition)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(workflowDefinition.WorkflowDefinitionId))
|
||||
workflowDefinition.WorkflowDefinitionId = _idGenerator.Generate();
|
||||
|
||||
if (workflowDefinition.Version == 0)
|
||||
workflowDefinition.Version = 1;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(workflowDefinition.WorkflowDefinitionVersionId))
|
||||
workflowDefinition.WorkflowDefinitionVersionId = _idGenerator.Generate();
|
||||
|
||||
return workflowDefinition;
|
||||
}
|
||||
|
||||
public Task<IEnumerable<WorkflowDefinition>> ListAsync(int? skip = null, int? take = null, VersionOptions? version = null, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var query = Definitions.WithVersion();
|
||||
|
|
@ -57,7 +36,6 @@ namespace Elsa.Persistence.InMemory
|
|||
|
||||
public Task SaveAsync(WorkflowDefinition workflowDefinition, CancellationToken cancellationToken = default)
|
||||
{
|
||||
workflowDefinition = Initialize(workflowDefinition);
|
||||
Definitions.Add(workflowDefinition);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,19 +12,14 @@ namespace Elsa.Persistence.MongoDb
|
|||
public class MongoDbWorkflowDefinitionStore : IWorkflowDefinitionStore
|
||||
{
|
||||
private readonly IMongoCollection<WorkflowDefinition> _workflowDefinitions;
|
||||
private readonly IIdGenerator _idGenerator;
|
||||
|
||||
|
||||
public MongoDbWorkflowDefinitionStore(IMongoCollection<WorkflowDefinition> workflowDefinitions, IIdGenerator idGenerator)
|
||||
public MongoDbWorkflowDefinitionStore(IMongoCollection<WorkflowDefinition> workflowDefinitions)
|
||||
{
|
||||
_workflowDefinitions = workflowDefinitions;
|
||||
_idGenerator = idGenerator;
|
||||
}
|
||||
|
||||
public async Task<int> CountAsync(VersionOptions? version = null, CancellationToken cancellationToken = default)
|
||||
{
|
||||
return await ((IMongoQueryable<WorkflowDefinition>) _workflowDefinitions.AsQueryable().WithVersion(version)).CountAsync(cancellationToken: cancellationToken);
|
||||
}
|
||||
public async Task<int> CountAsync(VersionOptions? version = null, CancellationToken cancellationToken = default) =>
|
||||
await ((IMongoQueryable<WorkflowDefinition>) _workflowDefinitions.AsQueryable().WithVersion(version)).CountAsync(cancellationToken);
|
||||
|
||||
public async Task DeleteAsync(WorkflowDefinition workflowDefinition, CancellationToken cancellationToken = default)
|
||||
{
|
||||
|
|
@ -32,35 +27,18 @@ namespace Elsa.Persistence.MongoDb
|
|||
await _workflowDefinitions.DeleteOneAsync(filter, cancellationToken);
|
||||
}
|
||||
|
||||
public async Task<WorkflowDefinition> GetAsync(string workflowDefinitionId, VersionOptions versionOptions, CancellationToken cancellationToken = default)
|
||||
{
|
||||
return await ((IMongoQueryable<WorkflowDefinition>) _workflowDefinitions
|
||||
public async Task<WorkflowDefinition> GetAsync(string workflowDefinitionId, VersionOptions versionOptions, CancellationToken cancellationToken = default) =>
|
||||
await ((IMongoQueryable<WorkflowDefinition>) _workflowDefinitions
|
||||
.AsQueryable()
|
||||
.Where(x => x.WorkflowDefinitionId == workflowDefinitionId)
|
||||
.WithVersion(versionOptions)).FirstOrDefaultAsync(cancellationToken: cancellationToken);
|
||||
}
|
||||
.WithVersion(versionOptions)).FirstOrDefaultAsync(cancellationToken);
|
||||
|
||||
public async Task<WorkflowDefinition> GetByVersionIdAsync(string workflowDefinitionVersionId, CancellationToken cancellationToken = default)
|
||||
{
|
||||
return await _workflowDefinitions
|
||||
public async Task<WorkflowDefinition> GetByVersionIdAsync(string workflowDefinitionVersionId, CancellationToken cancellationToken = default) =>
|
||||
await _workflowDefinitions
|
||||
.AsQueryable()
|
||||
.Where(x => x.WorkflowDefinitionVersionId == workflowDefinitionVersionId).FirstOrDefaultAsync(cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
public WorkflowDefinition Initialize(WorkflowDefinition workflowDefinition)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(workflowDefinition.WorkflowDefinitionId))
|
||||
workflowDefinition.WorkflowDefinitionId = _idGenerator.Generate();
|
||||
|
||||
if (workflowDefinition.Version == 0)
|
||||
workflowDefinition.Version = 1;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(workflowDefinition.WorkflowDefinitionVersionId))
|
||||
workflowDefinition.WorkflowDefinitionVersionId = _idGenerator.Generate();
|
||||
|
||||
return workflowDefinition;
|
||||
}
|
||||
|
||||
.Where(x => x.WorkflowDefinitionVersionId == workflowDefinitionVersionId)
|
||||
.FirstOrDefaultAsync(cancellationToken);
|
||||
|
||||
public async Task<IEnumerable<WorkflowDefinition>> ListAsync(int? skip = null, int? take = null, VersionOptions? version = null, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var query = _workflowDefinitions
|
||||
|
|
|
|||
|
|
@ -14,17 +14,14 @@ namespace Elsa.Persistence.YesSql
|
|||
public class YesSqlWorkflowDefinitionStore : IWorkflowDefinitionStore
|
||||
{
|
||||
private readonly ISession _session;
|
||||
private readonly Elsa.Services.IIdGenerator _idGenerator;
|
||||
|
||||
public YesSqlWorkflowDefinitionStore(ISession session, Elsa.Services.IIdGenerator idGenerator)
|
||||
public YesSqlWorkflowDefinitionStore(ISession session)
|
||||
{
|
||||
_session = session;
|
||||
_idGenerator = idGenerator;
|
||||
}
|
||||
|
||||
public Task SaveAsync(WorkflowDefinition workflowDefinition, CancellationToken cancellationToken = default)
|
||||
{
|
||||
workflowDefinition = Initialize(workflowDefinition);
|
||||
_session.Save(workflowDefinition, CollectionNames.WorkflowDefinitions);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
|
@ -55,33 +52,16 @@ namespace Elsa.Persistence.YesSql
|
|||
public IQuery<WorkflowDefinition> Query() => _session.Query<WorkflowDefinition>(CollectionNames.WorkflowDefinitions);
|
||||
public IQuery<WorkflowDefinition, TIndex> Query<TIndex>(Expression<Func<TIndex, bool>> predicate) where TIndex : class, IIndex => _session.Query<WorkflowDefinition, TIndex>(predicate, CollectionNames.WorkflowDefinitions);
|
||||
|
||||
public WorkflowDefinition Initialize(WorkflowDefinition workflowDefinition)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(workflowDefinition.WorkflowDefinitionId))
|
||||
workflowDefinition.WorkflowDefinitionId = _idGenerator.Generate();
|
||||
|
||||
if (workflowDefinition.Version == 0)
|
||||
workflowDefinition.Version = 1;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(workflowDefinition.WorkflowDefinitionVersionId))
|
||||
workflowDefinition.WorkflowDefinitionVersionId = _idGenerator.Generate();
|
||||
|
||||
return workflowDefinition;
|
||||
}
|
||||
|
||||
public Task<WorkflowDefinition> GetAsync(string workflowDefinitionId, VersionOptions version, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var query = Query<WorkflowDefinitionIndex>(x => x.WorkflowDefinitionId == workflowDefinitionId);
|
||||
|
||||
return WithVersion(query, version).FirstOrDefaultAsync();
|
||||
}
|
||||
|
||||
public Task<WorkflowDefinition> GetByVersionIdAsync(string workflowDefinitionVersionId, CancellationToken cancellationToken = default)
|
||||
{
|
||||
return Query<WorkflowDefinitionIndex>(x => x.WorkflowDefinitionVersionId == workflowDefinitionVersionId).FirstOrDefaultAsync();
|
||||
}
|
||||
public Task<WorkflowDefinition> GetByVersionIdAsync(string workflowDefinitionVersionId, CancellationToken cancellationToken = default) => Query<WorkflowDefinitionIndex>(x => x.WorkflowDefinitionVersionId == workflowDefinitionVersionId).FirstOrDefaultAsync();
|
||||
|
||||
private IQuery<WorkflowDefinition> WithVersion(IQuery<WorkflowDefinition> query,
|
||||
private static IQuery<WorkflowDefinition> WithVersion(
|
||||
IQuery<WorkflowDefinition> query,
|
||||
VersionOptions version)
|
||||
{
|
||||
var index = query.With<WorkflowDefinitionIndex>();
|
||||
|
|
|
|||
|
|
@ -20,12 +20,12 @@ namespace Elsa.Server.Api.Endpoints.WorkflowDefinitions
|
|||
[Produces("application/json")]
|
||||
public class GetByDefinitionAndVersion : Controller
|
||||
{
|
||||
private readonly IWorkflowDefinitionStore _workflowDefinitionStore;
|
||||
private readonly IWorkflowDefinitionManager _workflowDefinitionManager;
|
||||
private readonly IContentSerializer _serializer;
|
||||
|
||||
public GetByDefinitionAndVersion(IWorkflowDefinitionStore workflowDefinitionStore, IContentSerializer serializer)
|
||||
public GetByDefinitionAndVersion(IWorkflowDefinitionManager workflowDefinitionManager, IContentSerializer serializer)
|
||||
{
|
||||
_workflowDefinitionStore = workflowDefinitionStore;
|
||||
_workflowDefinitionManager = workflowDefinitionManager;
|
||||
_serializer = serializer;
|
||||
}
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ namespace Elsa.Server.Api.Endpoints.WorkflowDefinitions
|
|||
]
|
||||
public async Task<IActionResult> Handle(string workflowDefinitionId, VersionOptions versionOptions, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var workflowDefinition = await _workflowDefinitionStore.GetAsync(workflowDefinitionId, versionOptions, cancellationToken);
|
||||
var workflowDefinition = await _workflowDefinitionManager.GetAsync(workflowDefinitionId, versionOptions, cancellationToken);
|
||||
return workflowDefinition == null ? (IActionResult) NotFound() : Json(workflowDefinition, _serializer.GetSettings());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using Elsa.Models;
|
|||
using Elsa.Persistence;
|
||||
using Elsa.Serialization;
|
||||
using Elsa.Server.Api.Swagger.Examples;
|
||||
using Elsa.Services;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
|
|
@ -17,12 +18,12 @@ namespace Elsa.Server.Api.Endpoints.WorkflowDefinitions
|
|||
[Produces("application/json")]
|
||||
public class GetByVersionId : Controller
|
||||
{
|
||||
private readonly IWorkflowDefinitionStore _workflowDefinitionStore;
|
||||
private readonly IWorkflowDefinitionManager _workflowDefinitionManager;
|
||||
private readonly IContentSerializer _serializer;
|
||||
|
||||
public GetByVersionId(IWorkflowDefinitionStore workflowDefinitionStore, IContentSerializer serializer)
|
||||
public GetByVersionId(IWorkflowDefinitionManager workflowDefinitionManager, IContentSerializer serializer)
|
||||
{
|
||||
_workflowDefinitionStore = workflowDefinitionStore;
|
||||
_workflowDefinitionManager = workflowDefinitionManager;
|
||||
_serializer = serializer;
|
||||
}
|
||||
|
||||
|
|
@ -38,7 +39,7 @@ namespace Elsa.Server.Api.Endpoints.WorkflowDefinitions
|
|||
]
|
||||
public async Task<IActionResult> Handle(string workflowDefinitionVersionId, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var workflowDefinition = await _workflowDefinitionStore.GetByVersionIdAsync(workflowDefinitionVersionId, cancellationToken);
|
||||
var workflowDefinition = await _workflowDefinitionManager.GetByVersionIdAsync(workflowDefinitionVersionId, cancellationToken);
|
||||
return workflowDefinition == null ? (IActionResult) NotFound() : Json(workflowDefinition, _serializer.GetSettings());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using Elsa.Persistence;
|
|||
using Elsa.Serialization;
|
||||
using Elsa.Server.Api.Models;
|
||||
using Elsa.Server.Api.Swagger.Examples;
|
||||
using Elsa.Services;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
|
|
@ -19,12 +20,12 @@ namespace Elsa.Server.Api.Endpoints.WorkflowDefinitions
|
|||
[Produces("application/json")]
|
||||
public class List : Controller
|
||||
{
|
||||
private readonly IWorkflowDefinitionStore _workflowDefinitionStore;
|
||||
private readonly IWorkflowDefinitionManager _workflowDefinitionManager;
|
||||
private readonly IContentSerializer _serializer;
|
||||
|
||||
public List(IWorkflowDefinitionStore workflowDefinitionStore, IContentSerializer serializer)
|
||||
public List(IWorkflowDefinitionManager workflowDefinitionManager, IContentSerializer serializer)
|
||||
{
|
||||
_workflowDefinitionStore = workflowDefinitionStore;
|
||||
_workflowDefinitionManager = workflowDefinitionManager;
|
||||
_serializer = serializer;
|
||||
}
|
||||
|
||||
|
|
@ -40,9 +41,9 @@ namespace Elsa.Server.Api.Endpoints.WorkflowDefinitions
|
|||
public async Task<ActionResult<PagedList<WorkflowDefinition>>> Handle(int? page = default, int? pageSize = default, VersionOptions? version = default, CancellationToken cancellationToken = default)
|
||||
{
|
||||
version ??= VersionOptions.Latest;
|
||||
var totalCount = await _workflowDefinitionStore.CountAsync(version, cancellationToken);
|
||||
var totalCount = await _workflowDefinitionManager.CountAsync(version, cancellationToken);
|
||||
var skip = page * pageSize;
|
||||
var items = await _workflowDefinitionStore.ListAsync(skip, pageSize, version, cancellationToken);
|
||||
var items = await _workflowDefinitionManager.ListAsync(skip, pageSize, version, cancellationToken);
|
||||
var pagedList = new PagedList<WorkflowDefinition>(items.ToList(), page, pageSize, totalCount);
|
||||
|
||||
return Json(pagedList, _serializer.GetSettings());
|
||||
|
|
|
|||
Loading…
Reference in a new issue