From 45c5c82905708ee391b3a1612b85fb48f64b30bd Mon Sep 17 00:00:00 2001 From: rxdn <29165304+rxdn@users.noreply.github.com> Date: Thu, 21 Jul 2022 22:52:58 +0100 Subject: [PATCH] Integration descriptions --- .../api/integrations/createintegration.go | 6 ++-- .../api/integrations/getintegration.go | 2 +- .../api/integrations/listintegrations.go | 2 +- .../api/integrations/ownedintegrations.go | 2 +- .../api/integrations/updateintegration.go | 10 +++--- .../src/components/IntegrationEditor.svelte | 33 ++++++++++++++----- .../src/views/integrations/Activate.svelte | 3 +- frontend/src/views/integrations/Manage.svelte | 3 +- go.mod | 2 +- go.sum | 2 ++ utils/netutils.go | 10 ++++++ 11 files changed, 55 insertions(+), 20 deletions(-) diff --git a/app/http/endpoints/api/integrations/createintegration.go b/app/http/endpoints/api/integrations/createintegration.go index 21b6254..2a9819e 100644 --- a/app/http/endpoints/api/integrations/createintegration.go +++ b/app/http/endpoints/api/integrations/createintegration.go @@ -20,7 +20,8 @@ type integrationCreateBody struct { WebhookUrl string `json:"webhook_url" validate:"required,webhook,max=255"` Secrets []struct { - Name string `json:"name" validate:"required,min=1,max=32,excludesall=% "` + Name string `json:"name" validate:"required,min=1,max=32,excludesall=% "` + Description *string `json:"description" validate:"omitempty,max=255"` } `json:"secrets" validate:"dive,omitempty,min=0,max=5"` Headers []struct { @@ -84,7 +85,8 @@ func CreateIntegrationHandler(ctx *gin.Context) { secrets := make([]database.CustomIntegrationSecret, len(data.Secrets)) for i, secret := range data.Secrets { secrets[i] = database.CustomIntegrationSecret{ - Name: secret.Name, + Name: secret.Name, + Description: secret.Description, } } diff --git a/app/http/endpoints/api/integrations/getintegration.go b/app/http/endpoints/api/integrations/getintegration.go index 837dce4..84b3dd4 100644 --- a/app/http/endpoints/api/integrations/getintegration.go +++ b/app/http/endpoints/api/integrations/getintegration.go @@ -88,7 +88,7 @@ func GetIntegrationHandler(ctx *gin.Context) { ctx.JSON(200, integrationResponse{ Id: integration.Id, OwnerId: integration.OwnerId, - WebhookHost: utils.GetUrlHost(strings.ReplaceAll(integration.WebhookUrl, "%", "")), + WebhookHost: utils.SecondLevelDomain(utils.GetUrlHost(strings.ReplaceAll(integration.WebhookUrl, "%", ""))), Name: integration.Name, Description: integration.Description, ImageUrl: integration.ImageUrl, diff --git a/app/http/endpoints/api/integrations/listintegrations.go b/app/http/endpoints/api/integrations/listintegrations.go index 360f135..f362ff7 100644 --- a/app/http/endpoints/api/integrations/listintegrations.go +++ b/app/http/endpoints/api/integrations/listintegrations.go @@ -56,7 +56,7 @@ func ListIntegrationsHandler(ctx *gin.Context) { integrationResponse: integrationResponse{ Id: integration.Id, OwnerId: integration.OwnerId, - WebhookHost: utils.GetUrlHost(strings.ReplaceAll(integration.WebhookUrl, "%", "")), + WebhookHost: utils.SecondLevelDomain(utils.GetUrlHost(strings.ReplaceAll(integration.WebhookUrl, "%", ""))), Name: integration.Name, Description: integration.Description, ImageUrl: integration.ImageUrl, diff --git a/app/http/endpoints/api/integrations/ownedintegrations.go b/app/http/endpoints/api/integrations/ownedintegrations.go index 9216558..3eec3db 100644 --- a/app/http/endpoints/api/integrations/ownedintegrations.go +++ b/app/http/endpoints/api/integrations/ownedintegrations.go @@ -57,7 +57,7 @@ func GetOwnedIntegrationsHandler(ctx *gin.Context) { integrationResponse: integrationResponse{ Id: integration.Id, OwnerId: integration.OwnerId, - WebhookHost: utils.GetUrlHost(strings.ReplaceAll(integration.WebhookUrl, "%", "")), + WebhookHost: utils.SecondLevelDomain(utils.GetUrlHost(strings.ReplaceAll(integration.WebhookUrl, "%", ""))), Name: integration.Name, Description: integration.Description, ImageUrl: integration.ImageUrl, diff --git a/app/http/endpoints/api/integrations/updateintegration.go b/app/http/endpoints/api/integrations/updateintegration.go index aacbae5..3a40963 100644 --- a/app/http/endpoints/api/integrations/updateintegration.go +++ b/app/http/endpoints/api/integrations/updateintegration.go @@ -21,8 +21,9 @@ type integrationUpdateBody struct { WebhookUrl string `json:"webhook_url" validate:"required,webhook,max=255"` Secrets []struct { - Id int `json:"id" validate:"omitempty,min=1"` - Name string `json:"name" validate:"required,min=1,max=32,excludesall=% "` + Id int `json:"id" validate:"omitempty,min=1"` + Name string `json:"name" validate:"required,min=1,max=32,excludesall=% "` + Description *string `json:"description" validate:"omitempty,max=255"` } `json:"secrets" validate:"dive,omitempty,min=0,max=5"` Headers []struct { @@ -254,8 +255,9 @@ func (b *integrationUpdateBody) updateSecrets(ctx *gin.Context, integrationId in secrets := make([]database.CustomIntegrationSecret, len(b.Secrets)) for i, secret := range b.Secrets { secrets[i] = database.CustomIntegrationSecret{ - Id: secret.Id, - Name: secret.Name, + Id: secret.Id, + Name: secret.Name, + Description: secret.Description, } } diff --git a/frontend/src/components/IntegrationEditor.svelte b/frontend/src/components/IntegrationEditor.svelte index 3b887aa..80738ce 100644 --- a/frontend/src/components/IntegrationEditor.svelte +++ b/frontend/src/components/IntegrationEditor.svelte @@ -105,17 +105,26 @@
{secret.description}
{secret.description}