-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDataPersistenceExtension.cs
More file actions
25 lines (21 loc) · 985 Bytes
/
DataPersistenceExtension.cs
File metadata and controls
25 lines (21 loc) · 985 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace HttpsRichardy.Federation.Infrastructure.IoC.Extensions;
[ExcludeFromCodeCoverage]
public static class DataPersistenceExtension
{
public static void AddDataPersistence(this IServiceCollection services, ISettings settings)
{
services.AddSingleton<IMongoDatabase>(provider =>
{
var mongoClient = new MongoClient(settings.Database.ConnectionString);
var database = mongoClient.GetDatabase(settings.Database.DatabaseName);
database.EnsureIndexes();
return database;
});
services.AddTransient<IUserCollection, UserCollection>();
services.AddTransient<IPermissionCollection, PermissionCollection>();
services.AddTransient<IGroupCollection, GroupCollection>();
services.AddTransient<ITokenCollection, TokenCollection>();
services.AddTransient<IRealmCollection, RealmCollection>();
services.AddTransient<ISecretCollection, SecretCollection>();
}
}