public OnePasswordToolConfigurationDecorator(
     IOnePasswordTool innerTool,
     IOnePasswordSessionStorage sessionStorage)
 {
     _innerTool      = innerTool ?? throw new ArgumentNullException(nameof(innerTool));
     _sessionStorage = sessionStorage ?? throw new ArgumentNullException(nameof(sessionStorage));
 }
Exemple #2
0
 public OnePasswordToolValidationDecorator(
     IOnePasswordTool innerTool,
     IValidator validator)
 {
     _innerTool = innerTool ?? throw new ArgumentNullException(nameof(innerTool));
     _validator = validator ?? throw new ArgumentNullException(nameof(validator));
 }
 public AppyOnePasswordToolCli(
     ILogger logger,
     ICommandLineApplicationFactory commandLineAppFactory,
     IConsoleVisualzer consoleVisualizer,
     IOnePasswordApiRunner apiRunner,
     IOnePasswordSessionStorage sessionStorage,
     IJobScheduler toolScheduler,
     IOnePasswordTool onePasswordTool
     )
 {
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
     _commandLineAppFactory = commandLineAppFactory ?? throw new ArgumentNullException(nameof(commandLineAppFactory));
     _consoleVisualizer     = consoleVisualizer ?? throw new ArgumentNullException(nameof(consoleVisualizer));
     _apiRunner             = apiRunner ?? throw new ArgumentNullException(nameof(apiRunner));
     _sessionStorage        = sessionStorage ?? throw new ArgumentNullException(nameof(sessionStorage));
     _toolScheduler         = toolScheduler ?? throw new ArgumentNullException(nameof(toolScheduler));
     _onePasswordTool       = onePasswordTool ?? throw new ArgumentNullException(nameof(onePasswordTool));
 }
Exemple #4
0
        /// <summary>
        /// Creates <see cref="IConfigurationSource"/> for specified <paramref name="appName"/> from 1Password Note.
        /// </summary>
        /// <param name="tool">The <see cref="IOnePasswordTool"/> to use.</param>
        /// <param name="appName">App name pre-configured on 1Password like "appName.AppSettings" and as a secure note</param>
        /// <param name="organization">1Password organization name</param>
        /// <param name="vault">1Password organization vault</param>
        /// <param name="environment">Execution environment to load from the 1Password note section.</param>
        /// <param name="sessionToken">1Password Session Token. The session will last 30 min after you signin with the command line tool.</param>
        public OnePasswordConfigurationSource(
            IOnePasswordTool tool,
            string appName,
            string organization,
            string vault,
            string environment,
            string sessionToken)
        {
            Tool = tool ?? throw new ArgumentNullException(nameof(tool));

            if (string.IsNullOrWhiteSpace(appName))
            {
                throw new ArgumentException("1Password App name must be specified", nameof(appName));
            }

            AppName      = appName;
            Organization = organization;
            Vault        = vault;
            Environment  = environment;
            SessionToken = sessionToken;
        }
 public static OnePasswordToolConfigurationDecorator WithConfiguration(this IOnePasswordTool tool, IOnePasswordSessionStorage sessionStorage)
 {
     return(new OnePasswordToolConfigurationDecorator(tool, sessionStorage));
 }
 public static OnePasswordToolValidationDecorator WithValidation(this IOnePasswordTool tool, IValidator validator)
 {
     return(new OnePasswordToolValidationDecorator(tool, validator));
 }