public ClubsController(ILoggerFactory loggerFactory, IStorageFacade storage, IMapper mapper) { _mapper = mapper; _storage = storage; _logger = loggerFactory.CreateLogger <ClubsController>(); }
public IndexFile( IStorageFacade storageFacade, string accountName, string databaseName, string collectionName, ILogger logger) { _storageFacade = storageFacade.ChangeFolder( $"{Constants.BACKUPS_FOLDER}/{accountName}"); _blobName = $"{databaseName}.{collectionName}.{Constants.INDEX_EXTENSION}"; _logger = logger; }
public BackupScheduler( ILogger logger, ICosmosAccountFacade cosmosFacade, IStorageFacade storageFacade, IImmutableList <CollectionBackupPlan> collectionPlans, TechnicalConstants technicalConstants) { _logger = logger; _cosmosFacade = cosmosFacade; _storageFacade = storageFacade; _collectionBackupPlans = collectionPlans; _technicalConstants = technicalConstants; }
private async static IAsyncEnumerable <CollectionPlan> GetCollectionPlansAsync( IImmutableList <CollectionBackupPlan> collectionBackupPlans, TechnicalConstants technicalConstants, ICosmosAccountFacade cosmosFacade, IStorageFacade storageFacade, ILogger logger) { var byDbs = collectionBackupPlans.GroupBy(p => p.Db).ToDictionary(g => g.Key); var dbs = await cosmosFacade.GetDatabasesAsync(); logger = logger.AddContext("Account", cosmosFacade.AccountName); foreach (var db in dbs) { if (byDbs.ContainsKey(db.DatabaseName)) { var byCollections = byDbs[db.DatabaseName].ToDictionary(c => c.Collection); var collections = await db.GetCollectionsAsync(); foreach (var coll in collections) { if (byCollections.ContainsKey(coll.CollectionName)) { var plan = byCollections[coll.CollectionName].SpecificPlan; var collectionLogger = logger .AddContext("Db", db.DatabaseName) .AddContext("Collection", coll.CollectionName); var logController = new LogCollectionBackupController( coll, storageFacade, plan.Rpo, plan.Included, technicalConstants.LogConstants, collectionLogger); yield return(new CollectionPlan( logController, coll, () => new IndexCollectionController( coll.Parent.Parent.AccountName, coll.Parent.DatabaseName, coll.CollectionName, storageFacade, plan.RetentionInDays, technicalConstants.IndexConstants, collectionLogger), plan)); } } } } }
public IndexCollectionController( string account, string db, string collection, IStorageFacade storageFacade, int?retentionInDays, IndexConstants indexConstants, ILogger logger) { _account = account; _db = db; _collection = collection; _storageFacade = storageFacade; _retentionInDays = retentionInDays; _indexConstants = indexConstants; _logger = logger; }
public RestoreController( string sourceAccount, string sourceDb, string sourceCollection, IStorageFacade storageFacade, ICollectionFacade collectionFacade, ILogger logger) { _storageFacade = storageFacade; _collectionFacade = collectionFacade; _logger = logger; _indexFile = new ReadonlyIndexFile( storageFacade, sourceAccount, sourceDb, sourceCollection, logger); }
public LogCollectionBackupController( ICollectionFacade collectionFacade, IStorageFacade storageFacade, TimeSpan rpo, BackupOptions included, LogConstants logConstants, ILogger logger) { _collection = collectionFacade; _logFile = new LogFile( storageFacade, collectionFacade.Parent.Parent.AccountName, collectionFacade.Parent.DatabaseName, collectionFacade.CollectionName, logger); _rpo = rpo; _included = included; _logConstants = logConstants; _logger = logger; }
public LeaseController(ILogger logger, IStorageFacade storageFacade) { _logger = logger; _storageFacade = storageFacade; }
public StorageFolderLogger(IStorageFacade storageFacade) { _storageFacade = storageFacade; }