Skip to content

Commit fa0de13

Browse files
HCK-4232: graphql configs: definitions tab initial configuration (#2)
* graphql configs initial upgrade * HCK-4206: ERD enhancements for operations (#3) * fix operations naming * fix operation default data * fix operation config * add different icon for operation types * HCK-4620: fix creation of choices for unions by snippet config (#4) * fix creating choices for union * remove unneeded choices feature flag --------- Co-authored-by: chulanovskyi-bs <56116665+chulanovskyi-bs@users.noreply.github.com> * remove OpenAPI dependencies * remove commented code --------- Co-authored-by: chulanovskyi-bs <56116665+chulanovskyi-bs@users.noreply.github.com>
1 parent 9f24d99 commit fa0de13

25 files changed

+4952
-4647
lines changed

.sonarlint/connectedMode.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"sonarCloudOrganization":"hck","projectKey":"hackolade_GraphQL"}
1+
{ "sonarCloudOrganization": "hck", "projectKey": "hackolade_GraphQL" }

central_pane/generalCentralPaneConfig.json

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,31 @@
88
"orderBy": "collectionName",
99
"orderType": "ascending"
1010
}
11-
}
11+
},
12+
"entityIcon": [
13+
{
14+
"icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkgMTZWMjJNMTkgMjJMMjIgMTlNMTkgMjJMMTYgMTkiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNNCA2VjEyQzQgMTIgNCAxNSAxMSAxNUMxOCAxNSAxOCAxMiAxOCAxMlY2IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTExIDNDMTggMyAxOCA2IDE4IDZDMTggNiAxOCA5IDExIDlDNCA5IDQgNiA0IDZDNCA2IDQgMyAxMSAzWiIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMSAyMUM0IDIxIDQgMTggNCAxOFYxMiIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==",
15+
"tooltip": "Query",
16+
"dependency": {
17+
"key": "operationType",
18+
"value": "Query"
19+
}
20+
},
21+
{
22+
"icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNCA2VjEyQzQgMTIgNCAxNSAxMSAxNUMxOCAxNSAxOCAxMiAxOCAxMlY2IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTExIDNDMTggMyAxOCA2IDE4IDZDMTggNiAxOCA5IDExIDlDNCA5IDQgNiA0IDZDNCA2IDQgMyAxMSAzWiIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMSAyMUM0IDIxIDQgMTggNCAxOFYxMiIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xOSAyMlYxNk0xOSAxNkwyMiAxOU0xOSAxNkwxNiAxOSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==",
23+
"tooltip": "Mutation",
24+
"dependency": {
25+
"key": "operationType",
26+
"value": "Mutation"
27+
}
28+
},
29+
{
30+
"icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNCA2VjEyQzQgMTIgNCAxNSAxMSAxNUMxMS41OTI1IDE1IDEyLjEzNDkgMTQuOTc4NSAxMi42MzEzIDE0LjkzOTIiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTggNlYxMiIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMSAzQzE4IDMgMTggNiAxOCA2QzE4IDYgMTggOSAxMSA5QzQgOSA0IDYgNCA2QzQgNiA0IDMgMTEgM1oiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTEgMjFDNCAyMSA0IDE4IDQgMThWMTIiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjIuNjY2NCAxNy42NjY3QzIyLjA0NzYgMTYuMDk3IDIwLjYzNDUgMTUgMTguOTkwMSAxNUMxNy4yMzE4IDE1IDE1LjczNzcgMTYuMjU0NSAxNS4xOTY4IDE4IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTIwLjk5NTEgMTcuNjY2N0gyMi42NjY0VjE3LjY2NjdDMjIuODUwNyAxNy42NjY3IDIzLjAwMDEgMTcuNTE3MyAyMy4wMDAxIDE3LjMzM1YxNS40NDQ1IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE1LjMzMzYgMjAuMzMzM0MxNS45NTI0IDIxLjkwMyAxNy4zNjU1IDIzIDE5LjAwOTkgMjNDMjAuNzY4MiAyMyAyMi4yNjIzIDIxLjc0NTUgMjIuODAzMiAyMCIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNy4wMDQ5IDIwLjMzMzNIMTUuMzMzNlYyMC4zMzMzQzE1LjE0OTMgMjAuMzMzMyAxNC45OTk5IDIwLjQ4MjcgMTQuOTk5OSAyMC42NjdWMjIuNTU1NSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==",
31+
"tooltip": "Subscription",
32+
"dependency": {
33+
"key": "operationType",
34+
"value": "Subscription"
35+
}
36+
}
37+
]
1238
}

forward_engineering/api.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
const yaml = require('js-yaml');
21
const get = require('lodash.get');
32
const validationHelper = require('./helpers/validationHelper');
43
const getInfo = require('./helpers/infoHelper');
@@ -59,9 +58,7 @@ module.exports = {
5958

6059
switch (data.targetScriptOptions.format) {
6160
case 'yaml': {
62-
const schema = yaml.safeDump(resultSchema, { skipInvalid: true });
63-
const schemaWithComments = addCommentsSigns(schema, 'yaml');
64-
cb(null, schemaWithComments);
61+
cb(null, resultSchema);
6562
break;
6663
}
6764
case 'json':
@@ -88,8 +85,6 @@ module.exports = {
8885

8986
switch (targetScriptOptions.format) {
9087
case 'yaml':
91-
parsedScript = yaml.safeLoad(filteredScript);
92-
break;
9388
case 'json':
9489
default:
9590
parsedScript = JSON.parse(filteredScript);

forward_engineering/helpers/validationHelper.js

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
const SwaggerParser = require('@apidevtools/swagger-parser');
2-
31
const getError = errorItem => {
42
if (errorItem.inner) {
53
return {
@@ -69,26 +67,18 @@ const getValidatorErrors = error => {
6967

7068
const validate = (script, options = {}) =>
7169
new Promise((resolve, reject) => {
72-
SwaggerParser.validate(script, options, (err, api) => {
73-
const errors = getValidatorErrors(err).concat(checkPathParameters(script));
74-
75-
if (errors.length === 0) {
76-
return resolve([
77-
{
78-
type: 'success',
79-
label: '',
80-
title: 'OpenAPI schema is valid',
81-
context: {
82-
swagger: api.swagger,
83-
host: api.host,
84-
basePath: api.basePath,
85-
},
86-
},
87-
]);
88-
} else {
89-
resolve(errors);
90-
}
91-
});
70+
return resolve([
71+
{
72+
type: 'success',
73+
label: '',
74+
title: 'OpenAPI schema is valid',
75+
context: {
76+
swagger: '',
77+
host: '',
78+
basePath: '',
79+
},
80+
},
81+
]);
9282
});
9383

9484
const getPathParameters = pathName => {

localization/en.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"WELCOME_PAGE___REVERSE_ENGINEER_DESCRIPTION": "Create a Hackolade model from an existing instance",
3-
"MAIN_MENU___ADD_BUCKET": "Add Operation",
4-
"MAIN_MENU___ADD_COLLECTION": "Add Request",
3+
"MAIN_MENU___ADD_BUCKET": "Add Graph",
4+
"MAIN_MENU___ADD_COLLECTION": "Add Operation",
55
"MAIN_MENU___ADD_CHILD_COLLECTION": "Add Response",
66
"MAIN_MENU___ADD_VIEW": "Add View",
77
"MAIN_MENU___ADD_RELATIONSHIP": "Add Relationship",
@@ -10,8 +10,8 @@
1010
"MAIN_MENU___APPEND_FIELD": "Append Field",
1111
"MAIN_MENU___REVERSE_DB_COLLECTIONS": "GraphQL File...",
1212
"MAIN_MENU___FORWARD_MODEL_COLLECTIONS": "GraphQL File...",
13-
"TOOLBAR___ADD_BUCKET": "Add operation",
14-
"TOOLBAR___ADD_COLLECTION": "Add request",
13+
"TOOLBAR___ADD_BUCKET": "Add graph",
14+
"TOOLBAR___ADD_COLLECTION": "Add operation",
1515
"TOOLBAR___ADD_CHILD_COLLECTION": "Add Response",
1616
"TOOLBAR___ADD_VIEW": "Add Filtered Alias",
1717
"TOOLBAR___ADD_RELATIONSHIP": "Add Relationship",
@@ -22,16 +22,16 @@
2222
"TOOLBAR___SHOW_FOREIGN_MASTER": "Toggle foreign master",
2323
"TOOLBAR___SHOW_MODEL_VIEW": "Toggle model views",
2424
"TOOLBAR___DISTRIBUTE_ORTHOGONALLY": "Distribute operations orthogonally",
25-
"OBJECT___BROWSER_BUCKET": "Operations",
26-
"OBJECT___BROWSER_NOT_IN_BUCKET": "Undefined operation",
27-
"OBJECT___BROWSER_COLLECTION": "Requests",
25+
"OBJECT___BROWSER_BUCKET": "Graphs",
26+
"OBJECT___BROWSER_NOT_IN_BUCKET": "Undefined graph",
27+
"OBJECT___BROWSER_COLLECTION": "Operations",
2828
"OBJECT___BROWSER_NESTED_COLLECTIONS": "Responses",
2929
"OBJECT___BROWSER_VIEWS": "Filtered Aliases",
3030
"OBJECT___BROWSER_DEFINITIONS": "Objects",
3131
"OBJECT___BROWSER_FIELDS": "Fields",
3232
"PROPERTIES_PANE___BUCKET_NAME": "Operation path",
3333
"PROPERTIES_PANE___VIEW_NAME": "Filtered alias name",
34-
"PROPERTIES_PANE___COLLECTION_NAME": "Request operation",
34+
"PROPERTIES_PANE___COLLECTION_NAME": "Operation name",
3535
"PROPERTIES_PANE___FOREIGN_COLLECTION": "Foreign request",
3636
"PROPERTIES_PANE___FOREIGN_FIELD": "Foreign field",
3737
"PROPERTIES_PANE___PARENT_COLLECTION": "Parent request",
@@ -41,7 +41,7 @@
4141
"PROPERTIES_PANE___CHILD_FIELD": "Child field",
4242
"PROPERTIES_PANE___CHILD_CARDINALITY": "Child cardinality",
4343
"PROPERTIES_PANE___PRIMARY_KEY": "Primary key",
44-
"PROPERTIES_PANE___COLLECTION_BUCKET": "Operations",
44+
"PROPERTIES_PANE___COLLECTION_BUCKET": "Graph",
4545
"PROPERTIES_PANE___VIEW_ON": "View on",
4646
"PROPERTIES_PANE___PIPELINE": "Pipeline",
4747
"PROPERTIES_PANE___COLLATION": "Collation",
@@ -57,8 +57,8 @@
5757
"PROPERTIES_PANE___NORMALIZATION": "Normalization",
5858
"CENTRAL_PANE___TAB_MONGODB_VIEW_SCRIPT": "Create View Script",
5959
"CENTRAL_PANE___TAB_DIAGRAM": "Operations ERD",
60-
"CONTEXT_MENU___ADD_BUCKET": "Add operation",
61-
"CONTEXT_MENU___ADD_COLLECTION": "Add request",
60+
"CONTEXT_MENU___ADD_BUCKET": "Add graph",
61+
"CONTEXT_MENU___ADD_COLLECTION": "Add operation",
6262
"CONTEXT_MENU___ADD_CHILD_COLLECTION": "Add response",
6363
"CONTEXT_MENU___ADD_VIEW": "Add Filtered Alias",
6464
"CONTEXT_MENU___ALIGN_COLLECTIONS": "Align operations",

0 commit comments

Comments
 (0)