diff --git a/src/components/organisms/connections/integrations/height/add.tsx b/src/components/organisms/connections/integrations/height/add.tsx deleted file mode 100644 index abe8235fe2..0000000000 --- a/src/components/organisms/connections/integrations/height/add.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import { useTranslation } from "react-i18next"; -import { SingleValue } from "react-select"; - -import { formsPerIntegrationsMapping } from "@src/constants"; -import { heightIntegrationAuthMethods } from "@src/constants/lists/connections"; -import { ConnectionAuthType } from "@src/enums"; -import { Integrations } from "@src/enums/components"; -import { useConnectionForm } from "@src/hooks"; -import { SelectOption } from "@src/interfaces/components"; -import { getDefaultAuthType } from "@src/utilities"; -import { heightPrivateAuthIntegrationSchema, oauthSchema, heightApiKeyIntegrationSchema } from "@validations"; - -import { Select } from "@components/molecules"; - -export const HeightIntegrationAddForm = ({ - connectionId, - triggerParentFormSubmit, -}: { - connectionId?: string; - triggerParentFormSubmit: () => void; -}) => { - const { t } = useTranslation("integrations"); - const { - control, - copyToClipboard, - errors, - handleOAuth, - handleCustomOauth, - handleSubmit, - isLoading, - register, - setValidationSchema, - setValue, - createConnection, - } = useConnectionForm(heightPrivateAuthIntegrationSchema, "create"); - - const [connectionType, setConnectionType] = useState>( - getDefaultAuthType(heightIntegrationAuthMethods, Integrations.height) - ); - - const configureConnection = async (connectionId: string) => { - switch (connectionType?.value) { - case ConnectionAuthType.OauthDefault: - await handleOAuth(connectionId, Integrations.height); - break; - case ConnectionAuthType.OauthPrivate: - await handleCustomOauth(connectionId, Integrations.height, ConnectionAuthType.OauthPrivate); - break; - case ConnectionAuthType.ApiKey: - await createConnection(connectionId, ConnectionAuthType.ApiKey, Integrations.height); - break; - default: - break; - } - }; - - useEffect(() => { - if (!connectionType?.value) { - return; - } - if (connectionType.value === ConnectionAuthType.OauthDefault) { - setValidationSchema(oauthSchema); - - return; - } - if (connectionType.value === ConnectionAuthType.OauthPrivate) { - setValidationSchema(heightPrivateAuthIntegrationSchema); - - return; - } - if (connectionType.value === ConnectionAuthType.ApiKey) { - setValidationSchema(heightApiKeyIntegrationSchema); - - return; - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [connectionType]); - - useEffect(() => { - if (connectionId) { - configureConnection(connectionId); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [connectionId]); - - const ConnectionTypeComponent = - formsPerIntegrationsMapping[Integrations.height]?.[connectionType?.value as ConnectionAuthType]; - - return ( - <> - - {errors.api_key?.message as string} - - - - - ); -}; diff --git a/src/components/organisms/connections/integrations/height/authMethods/index.ts b/src/components/organisms/connections/integrations/height/authMethods/index.ts deleted file mode 100644 index 7b904bbd5c..0000000000 --- a/src/components/organisms/connections/integrations/height/authMethods/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { HeightOauthForm } from "@components/organisms/connections/integrations/height/authMethods/oauth"; -export { HeightOauthPrivateForm } from "@components/organisms/connections/integrations/height/authMethods/oauthPrivate"; -export { HeightApiKeyForm } from "@components/organisms/connections/integrations/height/authMethods/apiKey"; diff --git a/src/components/organisms/connections/integrations/height/authMethods/oauth.tsx b/src/components/organisms/connections/integrations/height/authMethods/oauth.tsx deleted file mode 100644 index 1d0b009d01..0000000000 --- a/src/components/organisms/connections/integrations/height/authMethods/oauth.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from "react"; - -import { useTranslation } from "react-i18next"; - -import { Button, Spinner } from "@components/atoms"; - -import { ExternalLinkIcon } from "@assets/image/icons"; - -export const HeightOauthForm = ({ isLoading }: { isLoading: boolean }) => { - const { t } = useTranslation("integrations"); - - return ( - - ); -}; diff --git a/src/components/organisms/connections/integrations/height/authMethods/oauthPrivate.tsx b/src/components/organisms/connections/integrations/height/authMethods/oauthPrivate.tsx deleted file mode 100644 index e2028eab7f..0000000000 --- a/src/components/organisms/connections/integrations/height/authMethods/oauthPrivate.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import React, { useState } from "react"; - -import { FieldErrors, UseFormRegister, useWatch } from "react-hook-form"; -import { useTranslation } from "react-i18next"; - -import { Button, ErrorMessage, Input, SecretInput, Spinner } from "@components/atoms"; - -import { ExternalLinkIcon } from "@assets/image/icons"; - -export const HeightOauthPrivateForm = ({ - control, - errors, - isLoading, - mode, - register, - setValue, -}: { - control: any; - errors: FieldErrors; - isLoading: boolean; - mode: "create" | "edit"; - register: UseFormRegister<{ [x: string]: any }>; - setValue: any; -}) => { - const [lockState, setLockState] = useState<{ clientSecret: boolean }>({ - clientSecret: true, - }); - const { t } = useTranslation("integrations"); - - const clientId = useWatch({ control, name: "client_id" }); - const clientSecret = useWatch({ control, name: "client_secret" }); - - const isEditMode = mode === "edit"; - - return ( - <> -
- - {errors.client_id?.message as string} -
-
- {isEditMode ? ( - setValue("client_secret", newValue)} - handleLockAction={(newLockState) => - setLockState((prevState) => ({ ...prevState, clientSecret: newLockState })) - } - isError={!!errors.client_secret} - isLocked={lockState.clientSecret} - isRequired - label={t("height.placeholders.clientSecret")} - value={clientSecret} - /> - ) : ( - - )} - {errors.client_secret?.message as string} -
- - - ); -}; diff --git a/src/components/organisms/connections/integrations/height/edit.tsx b/src/components/organisms/connections/integrations/height/edit.tsx deleted file mode 100644 index 41f61585d2..0000000000 --- a/src/components/organisms/connections/integrations/height/edit.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from "react"; - -import { heightIntegrationAuthMethods } from "@src/constants/lists/connections"; -import { ConnectionAuthType } from "@src/enums"; -import { Integrations } from "@src/enums/components"; -import { heightApiKeyIntegrationSchema, heightPrivateAuthIntegrationSchema, oauthSchema } from "@validations"; - -import { IntegrationEditForm } from "@components/organisms/connections/integrations"; - -export const HeightIntegrationEditForm = () => { - return ( - - ); -}; diff --git a/src/components/organisms/connections/integrations/height/index.ts b/src/components/organisms/connections/integrations/height/index.ts deleted file mode 100644 index d9e2e4e92b..0000000000 --- a/src/components/organisms/connections/integrations/height/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { HeightIntegrationAddForm } from "@components/organisms/connections/integrations/height/add"; -export { HeightIntegrationEditForm } from "@components/organisms/connections/integrations/height/edit"; diff --git a/src/components/organisms/connections/integrations/index.ts b/src/components/organisms/connections/integrations/index.ts index 733067d098..8f79e1a0b1 100644 --- a/src/components/organisms/connections/integrations/index.ts +++ b/src/components/organisms/connections/integrations/index.ts @@ -45,10 +45,6 @@ export { TwilioIntegrationAddForm } from "@components/organisms/connections/inte export { TwilioIntegrationEditForm } from "@components/organisms/connections/integrations/twilio"; export { TelegramIntegrationAddForm } from "@components/organisms/connections/integrations/telegram"; export { TelegramIntegrationEditForm } from "@components/organisms/connections/integrations/telegram"; -export { - HeightIntegrationAddForm, - HeightIntegrationEditForm, -} from "@components/organisms/connections/integrations/height"; export { ZoomIntegrationAddForm, ZoomIntegrationEditForm } from "@components/organisms/connections/integrations/zoom"; export { LinearIntegrationAddForm, diff --git a/src/constants/connections/addComponentsMapping.constants.ts b/src/constants/connections/addComponentsMapping.constants.ts index b679fa60ff..15bb9d619c 100644 --- a/src/constants/connections/addComponentsMapping.constants.ts +++ b/src/constants/connections/addComponentsMapping.constants.ts @@ -19,7 +19,6 @@ import { SlackIntegrationAddForm, TwilioIntegrationAddForm, TelegramIntegrationAddForm, - HeightIntegrationAddForm, ZoomIntegrationAddForm, SalesforceIntegrationAddForm, KubernetesIntegrationAddForm, @@ -49,7 +48,6 @@ export const integrationAddFormComponents: Partial = { label: "HubSpot", value: Integrations.hubspot, }, - height: { - icon: ZoomIcon, - label: "Height", - value: Integrations.height, - }, zoom: { icon: ZoomIcon, label: "Zoom", diff --git a/src/locales/en/integrations/translation.json b/src/locales/en/integrations/translation.json index b748720f1a..1a7103b40d 100644 --- a/src/locales/en/integrations/translation.json +++ b/src/locales/en/integrations/translation.json @@ -1,292 +1,285 @@ { - "addNewConnection": "Add new connection", - "editConnection": "Edit connection", - "connectionCreateSuccess": "Connection created successfully", - "connectionCreateSuccessExtendedID": "Connection created successfully, connection ID: {{connectionId}}", - "connectionUpdatedSuccessExtended": "Connection configured successfully, connection name: {{connectionName}}, connection ID: {{connectionId}}", - "connectionEditedSuccessfully": "Connection edited successfully", - "connectionEditedSuccessfullyExtended": "Connection edited successfully, connection name: {{connectionName}}, connection ID: {{connectionId}}", - "information": "More Information", - "copyFailure": "Could not copy", - "copyFailureExtended": "Could not copy, error: {{error}}", - "copySuccess": "Copied to clipboard successfully", - "integrationNotFound": "The connection is deprecated and no longer available", - "integrationNotFoundMessage": "Please delete this connection.", - "placeholders": { - "noConnectionTypesAvailable": "No connection types available", - "noIntegrationsAvailable": "No integrations available", - "selectConnectionType": "Select connection type", - "connectionType": "Connection type", - "selectIntegration": "Select integration", - "integration": "Integration", - "name": "Name" - }, - "success": "Success", - "buttons": { - "copy": "Copy", - "saveConnection": "Save Connection", - "startOAuthFlow": "Start OAuth Flow" - }, - "auth0": { - "configurationGuide": "AutoKitteh guide: configuring the Auth0 integration", - "backgroundConfiguration": "Background about Auth0 OAuth authentication", - "placeholders": { - "client_id": "Client ID", - "client_secret": "Client Secret", - "auth0_domain": "Auth0 Domain" - }, - "information": { - "akGuide": "AutoKitteh guide: configuring the Auth0 connections" - } - }, - "github": { - "aboutGitHubApps": "About using GitHub Apps", - "akConfigure": "AutoKitteh guide: configuring the GitHub integration", - "informationPat": { - "auth": "Authenticating with a personal access token", - "endpoints": "Endpoints available for fine-grained PATs", - "manage": "Managing your personal access tokens", - "initConnection": "AutoKitteh guide: initializing a connection with a PAT and/or a webhook", - "setting": "Setting a PAT policy for your organization" - }, - "updatePrivateKey": "Update the private key", - "placeholders": { - "name": "Name", - "pat": "Personal Access Token (PAT) - fine-grained or classic", - "secret": "Webhook Secret", - "webhookUrl": "Webhook URL", - "clientId": "Client ID", - "clientSecret": "Client Secret", - "appId": "App ID", - "appName": "App Name", - "webhookSercet": "Webhook Secret", - "enterpriseUrl": "Enterprise URL", - "privateKey": "Private Key" - } - }, - "google": { - "information": { - "aboutAuth": "Learn about authentication and authorization", - "credentials": "Service account credentials", - "gcp": "GCP service accounts overview", - "managingAccount": "Best practices for managing service account keys", - "serviceAccount": "Create and delete service account keys", - "uisingOAuth": "Using OAuth 2.0 for web server applications" - }, - "labels": { - "calendarId": "Calendar ID (optional)", - "formId": "Form ID (optional)" - }, - "placeholders": { - "jsonKey": "JSON Key", - "calendarId": "Optional: Calendar ID (To Receive Events, e.g. 'primary')", - "formId": "Optional: Form ID (To Receive Events)" - } - }, - "slack": { - "placeholders": { - "botToken": "Bot Token ('xoxb')", - "appToken": "App-Level Token ('xapp')", - "clientId": "Client ID", - "clientSecret": "Client Secret", - "signingSecret": "Signing Secret" - }, - "information": { - "AKGuide": "AutoKitteh guide: creating a Socket-Mode Slack connection", - "aboutMode": "Details about Slack's Socket Mode", - "configSlack": "AutoKitteh guide: configuring the Slack integration", - "aboutInitSlack": "Background about installing Slack apps with OAuth" - } - }, - "aws": { - "placeholders": { - "region": "Region", - "accessKey": "Access Key", - "secretKey": "Secret Key", - "token": "Token" - } - }, - "openAi": { - "placeholders": { - "apiKey": "Secret API Key" - }, - "information": { - "openAI": "OpenAI developer platform", - "apiKeys": "API keys" - } - }, - "http": { - "information": { - "rfc6750": "RFC 6750", - "rfc7617": "RFC 7617" - }, - "placeholders": { - "accessToken": "Access Token", - "password": "Password", - "username": "Username" - } - }, - "twilio": { - "placeholders": { - "sid": "Account SID", - "token": "Auth Token", - "key": "API Key", - "secret": "API Secret" - }, - "information": { - "aboutAuth": "Auth tokens and API keys", - "apiOverview": "API keys overview" - } - }, - "telegram": { - "placeholders": { - "botToken": "Bot Token" - }, - "information": { - "botApi": "Telegram Bot API", - "createBot": "Creating a new bot" - } - }, - "jira": { - "placeholders": { - "baseUrl": "Base URL", - "pat": "API Token / Personal Access Token (PAT)", - "email": "Token owner's email (API tokens only, not PATs!)", - "exampleUrl": "https://your-domain.atlassian.net or on-prem URL", - "emailSample": "name@example.com" - }, - "information": { - "oauth": "Jira Cloud platform: OAuth 2.0 (3LO) apps", - "apiTokens": "Jira Cloud: API tokens", - "accessTokens": "Jira Data Center: Personal Access Tokens" - } - }, - "confluence": { - "placeholders": { - "baseUrl": "Base URL", - "pat": "API Token / Personal Access Token (PAT)", - "email": "Token owner's email (API tokens only, not PATs!)", - "exampleUrl": "https://your-domain.atlassian.net or on-prem URL", - "emailSample": "name@example.com" - }, - "information": { - "oauth": "AutoKitteh guide: configuring Atlassian integrations", - "apiTokens": "Confluence Cloud: API tokens", - "accessTokens": "Confluence Data Center: Personal Access Tokenss" - } - }, - "discord": { - "placeholders": { - "botToken": "Bot Token" - }, - "information": { - "devPlatform": "Discord developer platform" - } - }, - "asana": { - "placeholders": { - "pat": "PAT" - }, - "information": { - "devPlatform": "Asana developer platform" - } - }, - "anthropic": { - "placeholders": { - "apiKey": "API Key" - }, - "information": { - "devPlatform": "Anthropic developer platform" - } - }, - "gemini": { - "placeholders": { - "key": "Secret API Key" - }, - "information": { - "aiStudio": "Google AI Studio", - "apiKeys": "API keys" - } - }, - "hubspot": { - "hubspotPlatfrom": "HubSpot developer platform" - }, - "height": { - "placeholders": { - "clientId": "Client ID", - "clientSecret": "Client Secret", - "apiKey": "Api Key" - } - }, - "linear": { - "placeholders": { - "clientId": "Client ID", - "clientSecret": "Client Secret", - "webhookUrl": "Webhook URL", - "webhookSecret": "Webhook Signing Secret (optional, empty = no events)", - "apiKey": "Api Key", - "actor": "Actor" - } - }, - "zoom": { - "placeholders": { - "accountId": "Account ID", - "clientId": "Client ID", - "clientSecret": "Client Secret", - "secretToken": "Secret Token" - } - }, - "salesforce": { - "placeholders": { - "clientId": "Client ID", - "clientSecret": "Client Secret" - } - }, - "teams": { - "placeholders": { - "clientId": "Client ID", - "clientSecret": "Client Secret", - "tenantId": "Tenant ID (multi-tenant = 'common')" - } - }, - "kubernetes": { - "placeholders": { - "configFile": "K8s Config File" - } - }, - "reddit": { - "placeholders": { - "clientId": "Client ID", - "clientSecret": "Client Secret", - "userAgent": "User Agent", - "username": "Username", - "password": "Password" - }, - "hints": { - "userAgent": "Format: YourAppName/1.0 by YourUsername (e.g., MyBot/1.0 by u/myusername)", - "username": "Optional: Reddit username (without u/ prefix) for user authentication", - "password": "Optional: Reddit account password (required if username is provided)" - }, - "errors": { - "usernamePasswordRequired": "Both username and password are required when using user authentication" - }, - "information": { - "apiDocumentation": "Reddit API Documentation" - } - }, - "pipedrive": { - "placeholders": { - "apiKey": "API Token", - "companyDomain": "Company Domain" - }, - "information": { - "authentication": "Pipedrive API authentication", - "apiKey": "How to find your personal API key" - } - }, - "notion": { - "placeholders": { - "apiKey": "Internal Integration Secret" - } - } + "addNewConnection": "Add new connection", + "editConnection": "Edit connection", + "connectionCreateSuccess": "Connection created successfully", + "connectionCreateSuccessExtendedID": "Connection created successfully, connection ID: {{connectionId}}", + "connectionUpdatedSuccessExtended": "Connection configured successfully, connection name: {{connectionName}}, connection ID: {{connectionId}}", + "connectionEditedSuccessfully": "Connection edited successfully", + "connectionEditedSuccessfullyExtended": "Connection edited successfully, connection name: {{connectionName}}, connection ID: {{connectionId}}", + "information": "More Information", + "copyFailure": "Could not copy", + "copyFailureExtended": "Could not copy, error: {{error}}", + "copySuccess": "Copied to clipboard successfully", + "integrationNotFound": "The connection is deprecated and no longer available", + "integrationNotFoundMessage": "Please delete this connection.", + "placeholders": { + "noConnectionTypesAvailable": "No connection types available", + "noIntegrationsAvailable": "No integrations available", + "selectConnectionType": "Select connection type", + "connectionType": "Connection type", + "selectIntegration": "Select integration", + "integration": "Integration", + "name": "Name" + }, + "success": "Success", + "buttons": { + "copy": "Copy", + "saveConnection": "Save Connection", + "startOAuthFlow": "Start OAuth Flow" + }, + "auth0": { + "configurationGuide": "AutoKitteh guide: configuring the Auth0 integration", + "backgroundConfiguration": "Background about Auth0 OAuth authentication", + "placeholders": { + "client_id": "Client ID", + "client_secret": "Client Secret", + "auth0_domain": "Auth0 Domain" + }, + "information": { + "akGuide": "AutoKitteh guide: configuring the Auth0 connections" + } + }, + "github": { + "aboutGitHubApps": "About using GitHub Apps", + "akConfigure": "AutoKitteh guide: configuring the GitHub integration", + "informationPat": { + "auth": "Authenticating with a personal access token", + "endpoints": "Endpoints available for fine-grained PATs", + "manage": "Managing your personal access tokens", + "initConnection": "AutoKitteh guide: initializing a connection with a PAT and/or a webhook", + "setting": "Setting a PAT policy for your organization" + }, + "updatePrivateKey": "Update the private key", + "placeholders": { + "name": "Name", + "pat": "Personal Access Token (PAT) - fine-grained or classic", + "secret": "Webhook Secret", + "webhookUrl": "Webhook URL", + "clientId": "Client ID", + "clientSecret": "Client Secret", + "appId": "App ID", + "appName": "App Name", + "webhookSercet": "Webhook Secret", + "enterpriseUrl": "Enterprise URL", + "privateKey": "Private Key" + } + }, + "google": { + "information": { + "aboutAuth": "Learn about authentication and authorization", + "credentials": "Service account credentials", + "gcp": "GCP service accounts overview", + "managingAccount": "Best practices for managing service account keys", + "serviceAccount": "Create and delete service account keys", + "uisingOAuth": "Using OAuth 2.0 for web server applications" + }, + "labels": { + "calendarId": "Calendar ID (optional)", + "formId": "Form ID (optional)" + }, + "placeholders": { + "jsonKey": "JSON Key", + "calendarId": "Optional: Calendar ID (To Receive Events, e.g. 'primary')", + "formId": "Optional: Form ID (To Receive Events)" + } + }, + "slack": { + "placeholders": { + "botToken": "Bot Token ('xoxb')", + "appToken": "App-Level Token ('xapp')", + "clientId": "Client ID", + "clientSecret": "Client Secret", + "signingSecret": "Signing Secret" + }, + "information": { + "AKGuide": "AutoKitteh guide: creating a Socket-Mode Slack connection", + "aboutMode": "Details about Slack's Socket Mode", + "configSlack": "AutoKitteh guide: configuring the Slack integration", + "aboutInitSlack": "Background about installing Slack apps with OAuth" + } + }, + "aws": { + "placeholders": { + "region": "Region", + "accessKey": "Access Key", + "secretKey": "Secret Key", + "token": "Token" + } + }, + "openAi": { + "placeholders": { + "apiKey": "Secret API Key" + }, + "information": { + "openAI": "OpenAI developer platform", + "apiKeys": "API keys" + } + }, + "http": { + "information": { + "rfc6750": "RFC 6750", + "rfc7617": "RFC 7617" + }, + "placeholders": { + "accessToken": "Access Token", + "password": "Password", + "username": "Username" + } + }, + "twilio": { + "placeholders": { + "sid": "Account SID", + "token": "Auth Token", + "key": "API Key", + "secret": "API Secret" + }, + "information": { + "aboutAuth": "Auth tokens and API keys", + "apiOverview": "API keys overview" + } + }, + "telegram": { + "placeholders": { + "botToken": "Bot Token" + }, + "information": { + "botApi": "Telegram Bot API", + "createBot": "Creating a new bot" + } + }, + "jira": { + "placeholders": { + "baseUrl": "Base URL", + "pat": "API Token / Personal Access Token (PAT)", + "email": "Token owner's email (API tokens only, not PATs!)", + "exampleUrl": "https://your-domain.atlassian.net or on-prem URL", + "emailSample": "name@example.com" + }, + "information": { + "oauth": "Jira Cloud platform: OAuth 2.0 (3LO) apps", + "apiTokens": "Jira Cloud: API tokens", + "accessTokens": "Jira Data Center: Personal Access Tokens" + } + }, + "confluence": { + "placeholders": { + "baseUrl": "Base URL", + "pat": "API Token / Personal Access Token (PAT)", + "email": "Token owner's email (API tokens only, not PATs!)", + "exampleUrl": "https://your-domain.atlassian.net or on-prem URL", + "emailSample": "name@example.com" + }, + "information": { + "oauth": "AutoKitteh guide: configuring Atlassian integrations", + "apiTokens": "Confluence Cloud: API tokens", + "accessTokens": "Confluence Data Center: Personal Access Tokenss" + } + }, + "discord": { + "placeholders": { + "botToken": "Bot Token" + }, + "information": { + "devPlatform": "Discord developer platform" + } + }, + "asana": { + "placeholders": { + "pat": "PAT" + }, + "information": { + "devPlatform": "Asana developer platform" + } + }, + "anthropic": { + "placeholders": { + "apiKey": "API Key" + }, + "information": { + "devPlatform": "Anthropic developer platform" + } + }, + "gemini": { + "placeholders": { + "key": "Secret API Key" + }, + "information": { + "aiStudio": "Google AI Studio", + "apiKeys": "API keys" + } + }, + "hubspot": { + "hubspotPlatfrom": "HubSpot developer platform" + }, + "linear": { + "placeholders": { + "clientId": "Client ID", + "clientSecret": "Client Secret", + "webhookUrl": "Webhook URL", + "webhookSecret": "Webhook Signing Secret (optional, empty = no events)", + "apiKey": "Api Key", + "actor": "Actor" + } + }, + "zoom": { + "placeholders": { + "accountId": "Account ID", + "clientId": "Client ID", + "clientSecret": "Client Secret", + "secretToken": "Secret Token" + } + }, + "salesforce": { + "placeholders": { + "clientId": "Client ID", + "clientSecret": "Client Secret" + } + }, + "teams": { + "placeholders": { + "clientId": "Client ID", + "clientSecret": "Client Secret", + "tenantId": "Tenant ID (multi-tenant = 'common')" + } + }, + "kubernetes": { + "placeholders": { + "configFile": "K8s Config File" + } + }, + "reddit": { + "placeholders": { + "clientId": "Client ID", + "clientSecret": "Client Secret", + "userAgent": "User Agent", + "username": "Username", + "password": "Password" + }, + "hints": { + "userAgent": "Format: YourAppName/1.0 by YourUsername (e.g., MyBot/1.0 by u/myusername)", + "username": "Optional: Reddit username (without u/ prefix) for user authentication", + "password": "Optional: Reddit account password (required if username is provided)" + }, + "errors": { + "usernamePasswordRequired": "Both username and password are required when using user authentication" + }, + "information": { + "apiDocumentation": "Reddit API Documentation" + } + }, + "pipedrive": { + "placeholders": { + "apiKey": "API Token", + "companyDomain": "Company Domain" + }, + "information": { + "authentication": "Pipedrive API authentication", + "apiKey": "How to find your personal API key" + } + }, + "notion": { + "placeholders": { + "apiKey": "Internal Integration Secret" + } + } } diff --git a/src/validations/connection.schema.ts b/src/validations/connection.schema.ts index 0098f9021f..7130a41bec 100644 --- a/src/validations/connection.schema.ts +++ b/src/validations/connection.schema.ts @@ -148,16 +148,6 @@ export const anthropicIntegrationSchema = z.object({ auth_type: z.literal(ConnectionAuthType.ApiKey).default(ConnectionAuthType.ApiKey), }); -export const heightPrivateAuthIntegrationSchema = z.object({ - client_id: z.string().min(1, "Client ID is required"), - client_secret: z.string().min(1, "Client secret is required"), - auth_type: z.literal(ConnectionAuthType.OauthPrivate).default(ConnectionAuthType.OauthPrivate), -}); -export const heightApiKeyIntegrationSchema = z.object({ - api_key: z.string().min(1, "Api Key is required"), - auth_type: z.literal(ConnectionAuthType.ApiKey).default(ConnectionAuthType.ApiKey), -}); - export const linearPrivateAuthIntegrationSchema = z.object({ client_id: z.string().min(1, "Client ID is required"), client_secret: z.string().min(1, "Client secret is required"), diff --git a/src/validations/index.ts b/src/validations/index.ts index f7d5eaff88..4a2312c9af 100644 --- a/src/validations/index.ts +++ b/src/validations/index.ts @@ -20,8 +20,6 @@ export { anthropicIntegrationSchema, auth0IntegrationSchema, githubPrivateAuthIntegrationSchema, - heightPrivateAuthIntegrationSchema, - heightApiKeyIntegrationSchema, linearPrivateAuthIntegrationSchema, linearApiKeyIntegrationSchema, zoomPrivateAuthIntegrationSchema, diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 58b26ae187..5d46aa0b2b 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -17,7 +17,6 @@ interface ImportMetaEnv { readonly VITE_LUCKY_ORANGE_ID: string; readonly VITE_HUBSPOT_PORTAL_ID: string; readonly VITE_HUBSPOT_FORM_ID: string; - readonly VITE_HEIGHT_HIDE_DEFAULT_OAUTH: boolean; readonly VITE_LINEAR_HIDE_DEFAULT_OAUTH: boolean; readonly VITE_ZOOM_HIDE_DEFAULT_OAUTH: boolean; readonly VITE_SALESFORCE_HIDE_DEFAULT_OAUTH: boolean; diff --git a/vite.config.ts b/vite.config.ts index 65e4573fc5..9ce3cb7468 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -54,7 +54,6 @@ export default defineConfig({ "import.meta.env.VITE_LUCKY_ORANGE_ID": JSON.stringify(process.env.VITE_LUCKY_ORANGE_ID), "import.meta.env.VITE_HUBSPOT_PORTAL_ID": JSON.stringify(process.env.VITE_HUBSPOT_PORTAL_ID), "import.meta.env.VITE_HUBSPOT_FORM_ID": JSON.stringify(process.env.VITE_HUBSPOT_FORM_ID), - "import.meta.env.VITE_HEIGHT_HIDE_DEFAULT_OAUTH": process.env.VITE_HEIGHT_HIDE_DEFAULT_OAUTH, "import.meta.env.VITE_LINEAR_HIDE_DEFAULT_OAUTH": process.env.VITE_LINEAR_HIDE_DEFAULT_OAUTH, "import.meta.env.VITE_ZOOM_HIDE_DEFAULT_OAUTH": process.env.VITE_ZOOM_HIDE_DEFAULT_OAUTH, "import.meta.env.VITE_MICROSOFT_HIDE_INTEGRATION": process.env.VITE_MICROSOFT_HIDE_INTEGRATION,