elsa-core/src/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Program.cs
Sipke Schoorstra 6c1cca372c
Dapper persistence provider (#4109)
* Implement Dapper stores
2023-06-06 20:49:14 +02:00

53 lines
1.4 KiB
C#

using Elsa.Dapper.Extensions;
using Elsa.Dapper.Modules.Management.Extensions;
using Elsa.Dapper.Modules.Runtime.Extensions;
using Elsa.Extensions;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddElsa(elsa =>
{
elsa.UseDapper(dapper => dapper.UseMigrations());
elsa.UseWorkflowManagement(management =>
{
management.UseDapper();
});
elsa.UseWorkflowRuntime(runtime =>
{
runtime.UseDefaultRuntime(dr => dr.UseDapper());
runtime.UseExecutionLogRecords(e => e.UseDapper());
runtime.UseAsyncWorkflowStateExporter();
});
elsa.UseWorkflowsApi();
elsa.UseHttp();
elsa.UseScheduling();
elsa.UseIdentity(identity =>
{
identity.UseAdminUserProvider();
identity.TokenOptions = options =>
{
options.SigningKey = "secret-token-signing-key";
options.AccessTokenLifetime = TimeSpan.FromDays(1);
};
});
elsa.UseDefaultAuthentication(auth => auth.UseAdminApiKey());
elsa.AddActivitiesFrom<Program>();
});
builder.Services.AddCors(cors => cors.AddDefaultPolicy(policy => policy.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()));
var app = builder.Build();
app.UseHttpsRedirection();
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
app.UseWorkflowsApi();
app.UseWorkflows();
app.Run();