public PasswordStoreController(ILogger <PasswordStoreController> logger,
                                IPassStoreRepo <PasswordStoreModel> repo, IMapper mapper)
 {
     _logger = logger;
     _repo   = repo ?? throw new PassStoreException(PassStoreException.ErrorCategory.Configuration,
                                                    "PassStoreRepo is not configured.");
     _mapper = mapper;
 }
Beispiel #2
0
        void ConfigRepos(IServiceCollection services)
        {
            IPassStoreRepo <PasswordStoreModel> repo = null;

            var repos  = Configuration.GetSection("Repos").Get <string[]>();
            var option = int.Parse(Configuration.GetValue <string>("PreferredRepo"));

            if (repos[option - 1].Equals("mongo", StringComparison.OrdinalIgnoreCase))
            {
                var cs = Configuration.GetSection("Mongo").GetValue <string>("DbConnection");
                var di = cs.LastIndexOf("/");
                var db = cs?.Substring(di + 1, cs.IndexOf("?") - di - 1);
                repo = new PassStoreMongo(new MongoClient(cs), db);
            }

            services.AddSingleton <IPassStoreRepo <PasswordStoreModel> >(repo ?? new PassStoreInMemory());

            new TaskFactory().StartNew(() => {
                LoadTestData(services);
            });
        }