|
@@ -41,6 +41,15 @@ func SetupEndpoint(
|
|
|
return entities.NewErrorResponse(-403, "permission denied")
|
|
|
}
|
|
|
|
|
|
+ if declaration.Endpoint == nil {
|
|
|
+ return entities.NewErrorResponse(-404, "plugin does not have an endpoint")
|
|
|
+ }
|
|
|
+
|
|
|
+ // check settings
|
|
|
+ if err := plugin_entities.ValidateProviderConfigs(settings, declaration.Endpoint.Settings); err != nil {
|
|
|
+ return entities.NewErrorResponse(-400, fmt.Sprintf("failed to validate settings: %v", err))
|
|
|
+ }
|
|
|
+
|
|
|
endpoint, err := install_service.InstallEndpoint(
|
|
|
plugin_unique_identifier,
|
|
|
installation.ID,
|
|
@@ -52,10 +61,6 @@ func SetupEndpoint(
|
|
|
return entities.NewErrorResponse(-500, fmt.Sprintf("failed to setup endpoint: %v", err))
|
|
|
}
|
|
|
|
|
|
- if declaration.Endpoint == nil {
|
|
|
- return entities.NewErrorResponse(-404, "plugin does not have an endpoint")
|
|
|
- }
|
|
|
-
|
|
|
manager := plugin_manager.Manager()
|
|
|
if manager == nil {
|
|
|
return entities.NewErrorResponse(-500, "failed to get plugin manager")
|
|
@@ -173,6 +178,11 @@ func UpdateEndpoint(endpoint_id string, tenant_id string, user_id string, settin
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // check settings
|
|
|
+ if err := plugin_entities.ValidateProviderConfigs(settings, plugin.Declaration.Endpoint.Settings); err != nil {
|
|
|
+ return entities.NewErrorResponse(-400, fmt.Sprintf("failed to validate settings: %v", err))
|
|
|
+ }
|
|
|
+
|
|
|
// encrypt settings
|
|
|
encrypted_settings, err := manager.BackwardsInvocation().InvokeEncrypt(
|
|
|
&dify_invocation.InvokeEncryptRequest{
|