public ArangoXmlRepository(IServiceProvider services, ILoggerFactory loggerFactory, string database, string collection, IArangoContext context) { if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _logger = loggerFactory.CreateLogger <ArangoXmlRepository>(); _services = services ?? throw new ArgumentNullException(nameof(services)); _database = database; _collection = collection; _context = context ?? services.GetService <IArangoContext>() ?? services.GetRequiredService <ArangoContext>(); try { if (!_context.Database.ExistAsync(_database).Result) { _context.Database.CreateAsync(_database).Wait(); } if (!_context.Collection.ExistAsync(_database, collection).Result) { _context.Collection.CreateAsync(_database, _collection, ArangoCollectionType.Document).Wait(); } } catch (Exception e) { var logger = _logger; logger?.LogError(e, e.Message); } }
public async Task SetupAsync(string serializer) { Arango = new ArangoContext(UniqueTestRealm(), new ArangoConfiguration { Serializer = serializer switch { "newton-default" => new ArangoNewtonsoftSerializer(new ArangoNewtonsoftDefaultContractResolver()), "newton-camel" => new ArangoNewtonsoftSerializer(new ArangoNewtonsoftCamelCaseContractResolver()), "system-default" => new ArangoJsonSerializer(new ArangoJsonDefaultPolicy()), "system-camel" => new ArangoJsonSerializer(new ArangoJsonCamelCasePolicy()), _ => new ArangoNewtonsoftSerializer(new ArangoNewtonsoftDefaultContractResolver()) } });
public ArangoSerilogSink( IArangoContext arango, string database = "logs", string collection = "logs", int batchPostingLimit = DefaultBatchPostingLimit, TimeSpan?period = null) : base(batchPostingLimit, period ?? DefaultPeriod) { _arango = arango; _database = database; _collection = collection; try { if (!_arango.Database.ExistAsync(_database).Result) { _arango.Database.CreateAsync(_database).Wait(); } if (!_arango.Collection.ExistAsync(_database, collection).Result) { _arango.Collection.CreateAsync(_database, new ArangoCollection { Name = _collection, KeyOptions = new ArangoKeyOptions { Type = ArangoKeyType.Padded } }).Wait(); } } catch (Exception) { // } }
internal ArangoFoxxModule(IArangoContext context) : base(context) { }
public static IQueryable <T> AsQueryable <T>(this IArangoContext arango, ArangoHandle db, string collection = null) { return(new ArangoQueryableContext <T>(arango, db, collection ?? typeof(T).Name)); }
internal ArangoFunctionModule(IArangoContext context) : base(context) { }
internal ArangoViewModule(IArangoContext context) : base(context) { }
/// <summary> /// LINQ on database /// </summary> public static IQueryable <Aql> Query(this IArangoContext context, ArangoHandle handle) { var queryParser = new AqlParser(new ArangoLinq(context, handle)); return(queryParser.CreateQueryable <Aql>()); }
internal ArangoUserModule(IArangoContext context) : base(context) { }
internal ArangoGraphModule(IArangoContext context) : base(context) { Vertex = new ArangoGraphVertexModule(context); Edge = new ArangoGraphEdgeModule(context); }
internal ArangoAnalyzerModule(IArangoContext context) : base(context) { }
/// <summary> /// Stores DataProtection keys in ArangoDB /// </summary> /// <param name="database">Name of the database suffix</param> /// <param name="collection">Name of the collection</param> /// <param name="context">Arango context (if not supplied it will be tried via dependency injection)</param> public static IDataProtectionBuilder PersistKeysToArangoDB(this IDataProtectionBuilder builder, string database = "dataprotection", string collection = "keys", IArangoContext context = null) { builder.Services.AddSingleton <IConfigureOptions <KeyManagementOptions> >(services => { var loggerFactory = services.GetService <ILoggerFactory>() ?? NullLoggerFactory.Instance; return(new ConfigureOptions <KeyManagementOptions>(options => { options.XmlRepository = new ArangoXmlRepository(services, loggerFactory, database, collection, context); })); }); return(builder); }
internal ArangoPregelModule(IArangoContext context) : base(context) { }
public ArangoLinq(IArangoContext context, ArangoHandle handle) { _context = context; _handle = handle; }
internal ArangoBatchModule(IArangoContext context) : base(context) { }
public ArangoProvider(IArangoContext arango, ArangoHandle handle, string collection) { _arango = arango; _handle = handle; _collection = collection; }
protected ArangoModule(IArangoContext context) { Context = context; }
internal ArangoIndexModule(IArangoContext context) : base(context) { }
public ArangoCollectionModule(IArangoContext context) : base(context) { }
/// <summary> /// LINQ in sub-expression /// </summary> public static IQueryable <T> Query <T>(this IArangoContext context) { var queryParser = new AqlParser(new ArangoLinq(context, null)); return(queryParser.CreateQueryable <T>()); }
internal ArangoTransactionModule(IArangoContext context) : base(context) { }
internal ArangoDocumentModule(IArangoContext context) : base(context) { }
internal ArangoGraphModule(IArangoContext context) : base(context) { }
public ArangoQueryableContext(IArangoContext arango, ArangoHandle handle, string collection) { Provider = new ArangoProvider(arango, handle, collection); Expression = Expression.Constant(this); }
internal ArangoQueryModule(IArangoContext context) : base(context) { }
internal ArangoDatabaseModule(IArangoContext context) : base(context) { }
internal ArangoBackupModule(IArangoContext context) : base(context) { }
/// <summary> /// Arango Migration System /// </summary> public ArangoMigrator(IArangoContext arango) { _arango = arango; }