Skip to content

Commit 14e1609

Browse files
author
Piotr Stachaczynski
committed
feat: finalize
1 parent a9920ee commit 14e1609

4 files changed

Lines changed: 24 additions & 6 deletions

File tree

src/MaIN.Core/Bootstrapper.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using MaIN.Core.Hub;
22
using MaIN.Core.Interfaces;
33
using MaIN.Core.Services;
4+
using MaIN.Domain.Configuration;
45
using MaIN.Services;
56
using MaIN.Services.Services;
67
using MaIN.Services.Services.Abstract;
@@ -14,9 +15,10 @@ public static class Bootstrapper
1415
{
1516
public static IServiceCollection AddMaIN(
1617
this IServiceCollection services,
17-
IConfiguration configuration)
18+
IConfiguration configuration,
19+
Action<MaINSettings>? configureSettings = null)
1820
{
19-
services.ConfigureMaIN(configuration);
21+
services.ConfigureMaIN(configuration, configureSettings);
2022
services.AddAIHub();
2123
return services;
2224
}

src/MaIN.Domain/Configuration/MaINSettings.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,18 @@ namespace MaIN.Domain.Configuration;
55

66
public class MaINSettings
77
{
8+
public BackendType BackendType { get; set; } = BackendType.Self;
89
public string? ModelsPath { get; set; }
910
public string? ImageGenUrl { get; set; }
10-
public string? OllamaUrl { get; set; }
11+
public string? OpenAiKey { get; set; }
1112
public MongoDbSettings? MongoDbSettings { get; set; }
1213
public FileSystemSettings? FileSystemSettings { get; set; }
1314
public SqliteSettings? SqliteSettings { get; set; }
1415
public SqlSettings? SqlSettings { get; set; }
16+
}
17+
18+
public enum BackendType
19+
{
20+
Self = 0,
21+
OpenAi = 1
1522
}

src/MaIN.Services/Bootstrapper.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,19 @@ namespace MaIN.Services;
1212

1313
public static class Bootstrapper
1414
{
15-
public static IServiceCollection ConfigureMaIN(this IServiceCollection serviceCollection, IConfiguration configuration)
15+
public static IServiceCollection ConfigureMaIN(
16+
this IServiceCollection serviceCollection,
17+
IConfiguration configuration,
18+
Action<MaINSettings>? configureSettings = null)
1619
{
17-
serviceCollection.Configure<MaINSettings>(configuration.GetSection(MainSectionName));
20+
// Load settings from configuration
21+
var settings = configuration.GetSection(MainSectionName).Get<MaINSettings>() ?? new MaINSettings();
22+
23+
// Apply additional configuration if provided
24+
configureSettings?.Invoke(settings);
25+
26+
// Register the updated settings
27+
serviceCollection.AddSingleton(settings);
1828

1929
serviceCollection.AddSingleton<IChatService, ChatService>();
2030
serviceCollection.AddSingleton<IAgentService, AgentService>();

src/MaIN/Program.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
5353
});
5454

55-
5655
app.MapPost("/api/agents/{agentId}/process", async (HttpContext context,
5756
[FromServices] IAgentService agentService,
5857
string agentId,

0 commit comments

Comments
 (0)