Beispiel #1
0
 public AddonLogic(IConfigurationRepository configDb, Func <IAddonManager> addonManager, ISafeguardLogic safeguardLogic, IPluginsLogic pluginsLogic)
 {
     _logger         = Serilog.Log.Logger;
     _configDb       = configDb;
     _addonManager   = addonManager;
     _safeguardLogic = safeguardLogic;
     _pluginsLogic   = pluginsLogic;
 }
Beispiel #2
0
        public ActionResult DeletePlugin([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name)
        {
            pluginsLogic.DeleteAccountMappings(name);
            pluginsLogic.RemovePluginVaultAccount(name);
            pluginsLogic.DeletePluginByName(name);

            return(NoContent());
        }
Beispiel #3
0
        public ActionResult <AccountMapping> GetAccountMappingById([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name, [FromRoute] int accountId)
        {
            var accountMapping = pluginsLogic.GetAccountMappingById(name, accountId);

            if (accountMapping == null)
            {
                return(NotFound());
            }

            return(Ok(accountMapping));
        }
Beispiel #4
0
        public ActionResult DeleteAllAccountMappings([FromServices] IPluginsLogic pluginsLogic, [FromQuery] string confirm)
        {
            if (confirm == null || !confirm.Equals("yes", StringComparison.InvariantCultureIgnoreCase))
            {
                return(BadRequest());
            }

            pluginsLogic.DeleteAccountMappings();

            return(NoContent());
        }
Beispiel #5
0
        public ActionResult <Plugin> GetPlugins([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name, [FromBody] PluginConfiguration pluginConfiguration)
        {
            var plugin = pluginsLogic.SavePluginConfigurationByName(pluginConfiguration, name);

            if (plugin == null)
            {
                return(NotFound());
            }

            return(Ok(plugin));
        }
Beispiel #6
0
        public ActionResult <Plugin> GetPlugin([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name)
        {
            var plugin = pluginsLogic.GetPluginByName(name);

            if (plugin == null)
            {
                return(NotFound());
            }

            return(Ok(plugin));
        }
Beispiel #7
0
        public ActionResult <AssetAccount> GetPluginVaultAccount([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name)
        {
            var account = pluginsLogic.GetPluginVaultAccount(name);

            if (account == null)
            {
                return(NotFound());
            }

            return(Ok(account));
        }
Beispiel #8
0
        public ActionResult <IEnumerable <Plugin> > GetPlugins([FromServices] IPluginsLogic pluginsLogic)
        {
            var plugins = pluginsLogic.GetAllPlugins();

            if (plugins == null)
            {
                return(NotFound());
            }

            return(Ok(plugins.ToArray()));
        }
Beispiel #9
0
        public ActionResult <IEnumerable <Plugin> > GetPlugins([FromServices] IPluginsLogic pluginsLogic, [FromQuery] bool includeDeleted = false)
        {
            var plugins = pluginsLogic.GetAllPlugins(includeDeleted);

            if (plugins == null)
            {
                return(NotFound());
            }

            return(Ok(plugins.ToArray()));
        }
Beispiel #10
0
        public ActionResult TestPluginConnection([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name)
        {
            var success = pluginsLogic.TestPluginConnectionByName(name);

            if (!success)
            {
                return(BadRequest(new ErrorMessage("Test connection failed.")));
            }

            return(Ok());
        }
Beispiel #11
0
        public ActionResult RemoveAccountMappings([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name,
                                                  [FromBody] IEnumerable <AccountMapping> accounts, [FromQuery] bool removeAll = false)
        {
            if (removeAll)
            {
                pluginsLogic.DeleteAccountMappings(name);
            }
            else
            {
                pluginsLogic.DeleteAccountMappings(name, accounts);
            }

            return(NoContent());
        }
Beispiel #12
0
        public ActionResult UploadPlugin([FromServices] IPluginsLogic pluginsLogic, Plugin pluginInfo, [FromQuery] bool restart = false)
        {
            pluginsLogic.InstallPlugin(pluginInfo.Base64PluginData);

            if (restart)
            {
                pluginsLogic.RestartService();
            }
            else if (RestartManager.Instance.ShouldRestart)
            {
                return(Ok("Safeguard Secrets Broker for DevOps needs to be restarted to finish installing the new plugin."));
            }

            return(NoContent());
        }
Beispiel #13
0
        public ActionResult DeletePlugin([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name, [FromQuery] bool restart = false)
        {
            pluginsLogic.DeleteAccountMappings(name);
            pluginsLogic.RemovePluginVaultAccount(name);
            pluginsLogic.DeletePluginByName(name);

            if (restart)
            {
                pluginsLogic.RestartService();
            }
            else if (RestartManager.Instance.ShouldRestart)
            {
                return(Ok("Safeguard Secrets Broker for DevOps needs to be restarted to finish removing the plugin."));
            }

            return(NoContent());
        }
Beispiel #14
0
        public ActionResult <IEnumerable <AccountMapping> > GetAccountMapping([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name)
        {
            var accountMappings = pluginsLogic.GetAccountMappings(name);

            return(Ok(accountMappings));
        }
Beispiel #15
0
        public ActionResult <PluginState> GetPluginDisabledState([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name)
        {
            var state = pluginsLogic.GetPluginDisabledState(name);

            return(Ok(state));
        }
Beispiel #16
0
        public ActionResult RemovePluginVaultAccount([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name)
        {
            pluginsLogic.RemovePluginVaultAccount(name);

            return(NoContent());
        }
Beispiel #17
0
        public ActionResult <AssetAccount> PutPluginVaultAccount([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name, [FromBody] AssetAccount assetAccount)
        {
            var account = pluginsLogic.SavePluginVaultAccount(name, assetAccount);

            return(Ok(account));
        }
Beispiel #18
0
        public ActionResult <PluginState> UpdatePluginDisabledState([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name, [FromBody] PluginState pluginState)
        {
            var result = pluginsLogic.UpdatePluginDisabledState(name, pluginState.Disabled);

            return(Ok(result));
        }
Beispiel #19
0
        public ActionResult <IEnumerable <AccountMapping> > AddAccountMappings([FromServices] IPluginsLogic pluginsLogic, [FromRoute] string name, IEnumerable <A2ARetrievableAccount> accounts)
        {
            var accountMappings = pluginsLogic.SaveAccountMappings(name, accounts);

            return(Ok(accountMappings));
        }