/// <summary> /// Adds an ArangoDb implementation of identity information stores. /// </summary> /// <typeparam name="TUser">The type representing a user.</typeparam> /// <typeparam name="TRole">The type representing a role.</typeparam> /// <typeparam name="TKey">The type of the primary key of the identity document.</typeparam> /// <param name="builder">The <see cref="T:Microsoft.AspNetCore.Identity.IdentityBuilder" /> instance this method extends.</param> /// <param name="uri"></param> /// <param name="databaseName"></param> /// <param name="userName"></param> /// <param name="password"></param> public static IdentityBuilder AddArangoDbStores <TUser, TRole, TKey>( this IdentityBuilder builder, string uri, string databaseName, string userName, string password) where TUser : ArangoIdentityUser, new() where TRole : ArangoIdentityRole, new() where TKey : IEquatable <TKey> { var settings = new ArangoDbSettings() { Uri = uri, Database = databaseName, UserId = userName, Password = password }; ServiceCollectionExtensions.ValidateArangoDbSettings(settings); builder.Services.TryAddSingleton(provider => settings); builder.AddArangoDbStores <TUser, TRole, TKey>(new ArangoDbContext(settings)); return(builder); }
/// <summary>Validates the ArangoDbSettings</summary> /// <param name="ArangoDbSettings"></param> public static void ValidateArangoDbSettings(ArangoDbSettings ArangoDbSettings) { if (ArangoDbSettings == null) { throw new ArgumentNullException(nameof(ArangoDbSettings)); } if (string.IsNullOrEmpty(ArangoDbSettings.Uri)) { throw new ArgumentNullException(nameof(ArangoDbSettings.Uri)); } if (string.IsNullOrEmpty(ArangoDbSettings.Database)) { throw new ArgumentNullException(nameof(ArangoDbSettings.Database)); } if (string.IsNullOrEmpty(ArangoDbSettings.UserId)) { throw new ArgumentNullException(nameof(ArangoDbSettings.UserId)); } if (string.IsNullOrEmpty(ArangoDbSettings.Password)) { throw new ArgumentNullException(nameof(ArangoDbSettings.Password)); } }
public ArangoRepository(ArangoDbSettings arangoDbSettings) { Context = new ArangoDbContext(arangoDbSettings); }
public ArangoDbContext(ArangoDbSettings arangoDbSettings) { settings = arangoDbSettings; Init(); }