public override Task <AddResponse> Add(AddRequest request, ServerCallContext context)
        {
            var options = new CovertCode.Services.Secret.Infrastructure.SecretRepositoryOptions()
            {
                DbConnectionString = _config["AppSettings:DbConnectionString"].ToString()
            };

            var core   = new Core.SecretManager(options);
            var secret = new Contracts.DTOs.SecretDto()
            {
                Value        = request.Value,
                AccessPhrase = Guid.NewGuid().ToString("N").Substring(0, 8),
                ExpireDate   = DateTime.UtcNow.AddSeconds(request.Ttl),
                PassPhrase   = string.IsNullOrEmpty(request.PassPhrase) ? string.Empty : request.PassPhrase
            };

            var savedSecret = core.Add(secret);

            return(Task.FromResult(new AddResponse
            {
                WasSuccessful = (savedSecret.SecretId > 0),
                SecretID = (savedSecret.SecretId > 0) ? savedSecret.SecretId : -1,
                AccessPhrase = savedSecret.AccessPhrase
            }));
        }
        public void NewSecret_WithValidData_WillPersistToDB()
        {
            var options = new SecretRepositoryOptions()
            {
                DbConnectionString = @"{putConnStrHere}"
            };
            var repo   = new Repository.SecretRepository(options);
            var secret = new Contracts.DTOs.SecretDto()
            {
                AccessPhrase = "n7ki5",
                Value        = "Hi Jeffrey#1",
                ExpireDate   = System.DateTime.UtcNow.AddDays(2)
            };
            var newSecret = repo.Add(secret);

            Assert.IsTrue(newSecret.SecretId > 0);
        }