using Fleet.Server;
using Microsoft.Extensions.DependencyInjection;
using MoShiro.Backend.Application;
namespace MoShiro.Backend.Storage.Sqlite;
public static class StorageServiceCollectionExtensions
{
/// 注册 SQLite + 段文件存储:实现 Application 的全部存储端口,同时实现 Fleet 的 。
public static IServiceCollection AddMoShiroSqlite(this IServiceCollection services, string dataDirectory)
{
services.AddSingleton(_ => new SqliteDatabase(dataDirectory));
services.AddSingleton();
services.AddSingleton(p => p.GetRequiredService());
services.AddSingleton(p => p.GetRequiredService());
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
return services;
}
}