Skip to content

Commit e2b27f4

Browse files
author
FalkWolsky
committed
Hubspot DataSource preparations and first backend translation
1 parent 6e13803 commit e2b27f4

13 files changed

+176932
-0
lines changed
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
## Allgemein
2+
INTERNAL_SERVER_ERROR=Oops! Der Dienst ist ausgelastet, bitte versuchen Sie es später erneut.
3+
NOT_AUTHORIZED=Entschuldigung, es scheint, dass Sie keine Berechtigung haben.
4+
INVALID_PARAMETER=Ungültiger Parameter gefunden: {0}, bitte überprüfen und erneut versuchen.
5+
INFRA_REDIS_TIMEOUT=Verbindungszeitüberschreitung, bitte versuchen Sie es später erneut.
6+
INFRA_MONGODB_TIMEOUT=Verbindungszeitüberschreitung, bitte versuchen Sie es später erneut.
7+
INVALID_PERMISSION_OPERATION=Ungültige Berechtigung für Ressource: {0}
8+
REQUEST_THROTTLED=Entschuldigung, die Anfrage erfolgt zu häufig, bitte versuchen Sie es später erneut.
9+
SERVER_NOT_READY=Entschuldigung, der Server ist noch nicht bereit.
10+
INVALID_ORG_ID=Ungültige Workspace-ID, sie könnte gelöscht worden sein oder existiert nicht.
11+
SWITCH_CURRENT_ORG_ERROR=Entschuldigung, Wechsel des Workspaces fehlgeschlagen, bitte versuchen Sie es später erneut.
12+
LAST_ADMIN_CANNOT_LEAVE_ORG=Entschuldigung, der letzte Administrator des Workspaces kann nicht verlassen.
13+
INVALID_GROUP_ID=Ungültige Gruppen-ID, bitte überprüfen und erneut versuchen.
14+
CANNOT_REMOVE_MYSELF=Entschuldigung, Gruppenadministratoren können sich nicht selbst löschen.
15+
CANNOT_LEAVE_GROUP=Entschuldigung, eine Gruppe muss mindestens einen Administrator enthalten.
16+
CANNOT_DELETE_SYSTEM_GROUP=Systemgruppen können nicht gelöscht werden.
17+
NEED_DEV_TO_CREATE_RESOURCE=Ungültige Aktion, Workspace-Entwickler oder Administrator erforderlich.
18+
UNABLE_TO_FIND_VALID_ORG=Kein gültiger Workspace für den aktuellen Benutzer gefunden.
19+
USER_BANNED=Dieses Konto ist gesperrt.
20+
SENDING_EMAIL_FAILED=E-Mail konnte nicht gesendet werden. Bitte überprüfen Sie die SMTP-Einstellungen für den Workspace.
21+
TOKEN_EXPIRED=Das Token zum Zurücksetzen des Passworts ist abgelaufen.
22+
INVALID_TOKEN=Ungültiges Token für die Anfrage zum Zurücksetzen des Passworts erhalten.
23+
24+
# Einladung
25+
INVALID_INVITATION_CODE=Einladungscode nicht gefunden.
26+
ALREADY_IN_ORGANIZATION=Sie sind bereits in diesem Workspace.
27+
INVITED_ORG_DELETED=Oops! Der eingeladene Workspace wurde bereits gelöscht.
28+
APPLICATION_NOT_FOUND=Anwendung {0} konnte nicht gefunden werden.
29+
ILLEGAL_APPLICATION_PERMISSION_ID=Entschuldigung, es scheint, dass Sie keine Berechtigung haben.
30+
FETCH_HISTORY_SNAPSHOT_FAILURE=Fehler beim Abrufen des Anwendungsverlaufs, bitte versuchen Sie es später erneut.
31+
FETCH_HISTORY_SNAPSHOT_COUNT_FAILURE=Fehler beim Abrufen der Anzahl der Anwendungsverlaufsschnappschüsse, bitte versuchen Sie es später erneut.
32+
INVALID_HISTORY_SNAPSHOT=Verlaufsschnappschuss {0} konnte nicht gefunden werden.
33+
34+
## Datenquelle
35+
DATASOURCE_NOT_FOUND=Datenquelle {0} konnte nicht gefunden werden.
36+
INVALID_DATASOURCE_CONFIGURATION=Ungültige Datenquellenkonfiguration: {0}, bitte erneut überprüfen.
37+
DATASOURCE_DELETE_FAIL_DUE_TO_REMAINING_QUERIES=Löschen der Datenquelle fehlgeschlagen, da sie noch in Abfragen verwendet wird.
38+
PLUGIN_CREATE_CONNECTION_FAILED=Entschuldigung, Verbindung zur Datenquelle fehlgeschlagen, Fehlermeldung: {0}.
39+
DATASOURCE_PLUGIN_ID_NOT_GIVEN=Ungültige Daten, Typ der Datenquelle fehlt.
40+
INVALID_DATASOURCE_CONFIG_TYPE=Entschuldigung, der Typ der Datenquellenkonfiguration ist ungültig: {0}, bitte erneut überprüfen.
41+
DATASOURCE_CONNECTION_TYPE_ERROR=Ungültiger Datenquellenverbindungstyp: {0}, bitte kontaktieren Sie den Systemadministrator.
42+
DATASOURCE_TYPE_ERROR=Ungültiger Datenquellentyp: {0}, bitte kontaktieren Sie den Systemadministrator.
43+
DUPLICATE_DATABASE_NAME=Oops, dieser Datenquellenname wird bereits verwendet, bitte wählen Sie einen neuen Namen.
44+
DATASOURCE_CLOSE_FAILED=Fehler beim Schließen der Datenquellenverbindung: {0}.
45+
DATASOURCE_AND_APP_ORG_NOT_MATCH=Ungültige Anfrage, die Datenquelle gehört nicht zum Anwendungs-Workspace.
46+
USER_NOT_SIGNED_IN=Unbekannter Benutzer, bitte zuerst anmelden.
47+
48+
# Authentifizierung
49+
FAIL_TO_GET_OIDC_INFO=Fehler beim Abrufen der OIDC-Informationen, Fehlermeldung: {0}.
50+
LOG_IN_SOURCE_NOT_SUPPORTED=Entschuldigung, dieser Anmeldekanal wird nicht unterstützt.
51+
USER_LOGIN_ID_EXIST=Die aktuelle E-Mail wird bereits von einem anderen Benutzer verwendet.
52+
INVALID_PASSWORD=Entschuldigung, die Passwörter stimmen nicht überein.
53+
PASSWORD_NOT_SET_YET=Dieser Benutzer hat noch kein Passwort festgelegt und kann es daher nicht zurücksetzen.
54+
INVALID_EMAIL_OR_PASSWORD=Ungültige E-Mail oder ungültiges Passwort.
55+
ALREADY_BIND=Entschuldigung, {0} wurde bereits von Benutzer {1} gebunden.
56+
NEED_BIND_THIRD_PARTY_CONNECTION=Entschuldigung, es muss ein Drittanbieter-Anmeldekanal mit dem aktuellen Workspace verbunden werden.
57+
PAYLOAD_TOO_LARGE=Entschuldigung, die maximale Dateigröße beträgt {0} KB, Ihre Datei überschreitet das Limit.
58+
59+
# Ereignisse
60+
EVENT_TYPE_USER_LOGIN=Anmeldung
61+
EVENT_TYPE_USER_LOGOUT=Abmeldung
62+
EVENT_TYPE_VIEW=App anzeigen
63+
EVENT_TYPE_APPLICATION_CREATE=Neue App erstellen
64+
EVENT_TYPE_APPLICATION_DELETE=App löschen
65+
EVENT_TYPE_APPLICATION_UPDATE=App aktualisieren
66+
EVENT_TYPE_APPLICATION_MOVE=In Ordner verschieben
67+
EVENT_TYPE_APPLICATION_RECYCLED=In Papierkorb verschieben
68+
EVENT_TYPE_APPLICATION_RESTORE=App wiederherstellen
69+
EVENT_TYPE_FOLDER_CREATE=Neuen Ordner erstellen
70+
EVENT_TYPE_FOLDER_DELETE=Ordner löschen
71+
EVENT_TYPE_FOLDER_UPDATE=Ordner aktualisieren
72+
EVENT_TYPE_QUERY_EXECUTION=Abfrage ausführen
73+
EVENT_TYPE_GROUP_CREATE=Neue Gruppe erstellen
74+
EVENT_TYPE_GROUP_UPDATE=Gruppe aktualisieren
75+
EVENT_TYPE_GROUP_DELETE=Gruppe löschen
76+
EVENT_TYPE_GROUP_MEMBER_ADD=Gruppenmitglied hinzufügen
77+
EVENT_TYPE_GROUP_MEMBER_ROLE_UPDATE=Rolle des Gruppenmitglieds aktualisieren
78+
EVENT_TYPE_GROUP_MEMBER_LEAVE=Gruppe verlassen
79+
EVENT_TYPE_GROUP_MEMBER_REMOVE=Gruppenmitglied entfernen
80+
EVENT_TYPE_SERVER_START_UP=Serverstart
81+
82+
# Limitierungen
83+
EXCEED_MAX_USER_ORG_COUNT=Entschuldigung, Sie haben die maximale Anzahl an Workspaces erreicht.
84+
EXCEED_MAX_ORG_MEMBER_COUNT=Entschuldigung, dieser Workspace hat die maximale Anzahl an Mitgliedern erreicht.
85+
EXCEED_MAX_GROUP_COUNT=Entschuldigung, dieser Workspace hat die maximale Anzahl an Gruppen erreicht.
86+
EXCEED_MAX_APP_COUNT=Entschuldigung, Sie haben die maximale Anzahl an Anwendungen im aktuellen Workspace erreicht.
87+
EXCEED_MAX_DEVELOPER_COUNT=Entschuldigung, Sie haben die maximale Anzahl an Entwicklern erreicht.
88+
89+
# Plugin
90+
DUPLICATE_COLUMN=Doppelte Spalten gefunden: {0}, bitte verwenden Sie das Schlüsselwort 'as', um doppelte Spalten umzubenennen.
91+
INVALID_JSON_FROM_RESPONSE=Antwortdaten sind kein gültiges JSON, bitte überprüfen Sie Ihren Content-Type-Header.
92+
REACH_REDIRECT_LIMIT=Maximale Anzahl an HTTP-Weiterleitungen erreicht: {0}.
93+
GOOGLESHEETS_QUERY_PARAM_EMPTY=Google Sheets Abfrageparameter ist leer.
94+
GOOGLESHEETS_QUERY_PARAM_ERROR=Google Sheets Abfrageparameter ist ungültig: {0}.
95+
GOOGLESHEETS_REQUEST_ERROR=Google Sheets Anfrage fehlgeschlagen.
96+
GOOGLESHEETS_DATASOURCE_CONFIG_ERROR=Fehler beim Parsen der Google Sheets Datenquellenkonfiguration.
97+
GOOGLESHEETS_EMPTY_ROW=Keine Daten in dieser Zeile gefunden. Möchten Sie zuerst etwas einfügen?
98+
APPLICATION_EDIT_ERROR_LACK_OF_DATASOURCE_PERMISSIONS=Aktuelle Änderungen an dieser Anwendung werden nicht gespeichert, da Berechtigungen für einige Datenquellen fehlen.
99+
CERTIFICATE_EMPTY=Zertifikat ist leer.
100+
USER_NOT_EXIST=Benutzer existiert nicht.
101+
DUPLICATE_AUTH_CONFIG_ADDITION=Dieser Anbieter wurde bereits zur Organisation hinzugefügt.
102+
EMAIL_PROVIDER_DISABLED=E-Mail-Anbieter ist deaktiviert.
103+
SLUG_DUPLICATE_ENTRY=Slug existiert bereits.
104+
SLUG_INVALID=Slug-Format ist ungültig.
105+
FLOW_ERROR=Flow-Fehlermeldung: {0}.
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
import { dirToSpecList, specsToOptions, version2spec } from "../../common/util";
2+
import _ from "lodash";
3+
import path from "path";
4+
import { OpenAPI } from "openapi-types";
5+
import { ConfigToType, DataSourcePlugin, QueryConfig } from "lowcoder-sdk/dataSource";
6+
import { runOpenApi } from "../openApi";
7+
import { parseMultiOpenApi, ParseOpenApiOptions } from "../openApi/parse";
8+
9+
const specs = {
10+
"v4": dirToSpecList(path.join(__dirname, "./specsV4")),
11+
};
12+
13+
const dataSourceConfig = {
14+
type: "dataSource",
15+
params: [
16+
{
17+
type: "textInput",
18+
key: "authToken",
19+
label: "Private Access Token",
20+
placeholder: "<Your HubSpot private Apps Access Token>",
21+
tooltip: "Read more here: https://developers.hubspot.com/docs/guides/apps/private-apps/overview"
22+
},
23+
{
24+
label: "API Version",
25+
key: "specVersion",
26+
type: "select",
27+
tooltip: "Choose the HubSpot API Version.",
28+
placeholder: "v4",
29+
options: specsToOptions(specs)
30+
},
31+
],
32+
} as const;
33+
34+
const parseOptions: ParseOpenApiOptions = {
35+
actionLabel: (method: string, path: string, operation: OpenAPI.Operation) => {
36+
return _.upperFirst(operation.operationId || "");
37+
},
38+
};
39+
40+
let queryConfig: any = {};
41+
42+
type DataSourceConfigType = ConfigToType<typeof dataSourceConfig>;
43+
44+
const hubspotPlugin: DataSourcePlugin<any, DataSourceConfigType> = {
45+
id: "hubspot",
46+
name: "HubSpot",
47+
icon: "hubspot.svg",
48+
category: "CRM",
49+
dataSourceConfig,
50+
51+
queryConfig: async (data) => {
52+
if (!queryConfig[data.specVersion as keyof typeof queryConfig]) {
53+
const { actions, categories } = await parseMultiOpenApi(version2spec(specs, data.specVersion), parseOptions);
54+
queryConfig[data.specVersion as keyof typeof queryConfig] = {
55+
type: "query",
56+
label: "Action",
57+
categories: {
58+
label: "Resources",
59+
items: categories,
60+
},
61+
actions,
62+
};
63+
}
64+
return queryConfig[data.specVersion as keyof typeof queryConfig];
65+
},
66+
67+
run: function (actionData, dataSourceConfig): Promise<any> {
68+
const runApiDsConfig = {
69+
url: "",
70+
serverURL: "https://api.hubapi.com", // HubSpot API base URL
71+
dynamicParamsConfig: dataSourceConfig,
72+
specVersion: dataSourceConfig.specVersion,
73+
headers: {
74+
Authorization: `Bearer ${dataSourceConfig.authToken}`,
75+
},
76+
};
77+
return runOpenApi(actionData, runApiDsConfig, version2spec(specs, dataSourceConfig.specVersion));
78+
},
79+
};
80+
81+
export default hubspotPlugin;

0 commit comments

Comments
 (0)