Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 76c675d

Browse files
authored
Merge pull request #8678 from gashcrumb/issue-8608
feat: don't show successful validation for unknown connectors
2 parents 7bb6914 + d9f55bb commit 76c675d

File tree

4 files changed

+37
-16
lines changed

4 files changed

+37
-16
lines changed

app/ui-react/packages/ui/src/Connection/ConnectionDetailsForm.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import './ConnectionDetailsForm.css';
1515

1616
export interface IConnectionDetailsValidationResult {
1717
message: string;
18-
type: 'error' | 'success';
18+
type: 'error' | 'success' | 'info';
1919
}
2020

2121
export interface IConnectionDetailsFormProps {

app/ui-react/packages/ui/src/Connection/ConnectorConfigurationForm.tsx

+9-9
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { ERROR, WARNING } from '../Shared';
55

66
export interface IConnectorConfigurationFormValidationResult {
77
message: string;
8-
type: 'error' | 'success';
8+
type: 'error' | 'success' | 'info';
99
}
1010

1111
export interface IConnectorConfigurationFormProps {
@@ -56,14 +56,14 @@ export const ConnectorConfigurationForm: React.FunctionComponent<IConnectorConfi
5656
</StackItem>
5757
<StackItem>
5858
{validationResults &&
59-
validationResults.map((e, idx) => (
60-
<Alert
61-
title={e.message}
62-
key={idx}
63-
isInline={true}
64-
variant={e.type === ERROR ? WARNING : e.type}
65-
/>
66-
))}
59+
validationResults.map((e, idx) => (
60+
<Alert
61+
title={e.message}
62+
key={idx}
63+
isInline={true}
64+
variant={e.type === ERROR ? WARNING : e.type}
65+
/>
66+
))}
6767
</StackItem>
6868
<StackItem>
6969
<Form

app/ui-react/syndesis/src/modules/connections/locales/connections-translations.en.json

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
"namePlaceholder": "Must enter a connection name...",
1919
"usedByOne": "Used by 1 integration",
2020
"usedByMulti": "Used by integrations {{count}} times",
21+
"validationSuccessful": "{{name}} has been successfully validated",
22+
"validationUnsupported": "{{name}} does not support validation",
2123
"create": {
2224
"unsavedChangesTitle": "Do you really want to cancel?",
2325
"unsavedChangesMessage": "You have not finished creating the connection. If you cancel now you will lose data you already entered. Do you still want to cancel?",
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import { Result } from '@syndesis/models';
22
import { IConnectorConfigurationFormValidationResult } from '@syndesis/ui';
3+
import i18n from '../../i18n';
34

4-
export function parseValidationResult(
5-
results: Result[],
6-
connectorName: string
7-
) {
5+
export function parseValidationResult(results: Result[], name: string) {
86
const badValidationResults = results
97
.filter(s => s.status === 'ERROR')
108
.map(
@@ -16,12 +14,33 @@ export function parseValidationResult(
1614
);
1715
const goodValidationResults = [
1816
{
19-
message: `${connectorName} has been successfully validated`,
17+
message: i18n.t('connections:validationSuccessful', { name }),
2018
type: 'success',
2119
} as IConnectorConfigurationFormValidationResult,
2220
];
23-
21+
const unsupportedValidationResults = results
22+
.filter(s => s.status === 'UNSUPPORTED')
23+
.map(s => {
24+
if (
25+
s.errors &&
26+
s.errors.filter(e => e.code === 'unknown-connector').length > 0
27+
) {
28+
return {
29+
message: i18n.t('connections:validationUnsupported', {
30+
name,
31+
}),
32+
type: 'info',
33+
} as IConnectorConfigurationFormValidationResult;
34+
} else {
35+
return {
36+
message: s.errors!.map(e => e.description).join(', \n'),
37+
type: 'info',
38+
} as IConnectorConfigurationFormValidationResult;
39+
}
40+
});
2441
return badValidationResults.length > 0
2542
? badValidationResults
43+
: unsupportedValidationResults.length > 0
44+
? unsupportedValidationResults
2645
: goodValidationResults;
2746
}

0 commit comments

Comments
 (0)