@steedos/service-object-graphql 2.4.8-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Steedos Licensing
2
+
3
+ SOFTWARE LICENSING
4
+
5
+ To determine under which license you may use a file from the Steedos source code,
6
+ please resort to the header of that file.
7
+
8
+ If the file has no header, the following rules apply
9
+ 1. enterprise features are licensed under Steedos Enterprise Terms, see License.enterprise.txt
10
+ 2. source code that is neither (1) is licensed under MIT, see https://opensource.org/licenses/MIT
11
+
12
+ On request, licenses under different terms are available.
13
+
14
+ Source code of enterprise features are files that
15
+ * are in folders named "ee" or start with "ee_", or in subfolders of such folders.
16
+ * contain the strings "ee_" in its filename name.
17
+ The files can be found by running the command `find . -iname ee -or -iname "*_ee*" -or -iname "*ee_*"`
18
+
19
+ STEEDOS TRADEMARK GUIDELINES
20
+
21
+ Your use of the mark Steedos is subject to Steedos, Inc's prior written approval. For trademark approval or any questions
22
+ you have about using these trademarks, please email zhuangjianguo@steedos.com
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ ## 生成 settings.graphql
2
+
3
+ ## resolvers 的action 指向 objectql service
@@ -0,0 +1,21 @@
1
+ export declare const BASIC_TYPE_MAPPING: {
2
+ text: string;
3
+ textarea: string;
4
+ html: string;
5
+ url: string;
6
+ email: string;
7
+ date: string;
8
+ datetime: string;
9
+ time: string;
10
+ number: string;
11
+ currency: string;
12
+ boolean: string;
13
+ };
14
+ export declare const EXPAND_SUFFIX = "__expand";
15
+ export declare const DISPLAY_PREFIX = "_display";
16
+ export declare const UI_PREFIX = "_ui";
17
+ export declare const RELATED_PREFIX = "_related";
18
+ export declare const GRAPHQL_ACTION_PREFIX = "graphql_";
19
+ export declare const PERMISSIONS_PREFIX = "_permissions";
20
+ export declare const OBJECT_FIELD_TYPE = "__object";
21
+ export declare const GRID_FIELD_TYPE = "__grid";
package/lib/consts.js ADDED
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GRID_FIELD_TYPE = exports.OBJECT_FIELD_TYPE = exports.PERMISSIONS_PREFIX = exports.GRAPHQL_ACTION_PREFIX = exports.RELATED_PREFIX = exports.UI_PREFIX = exports.DISPLAY_PREFIX = exports.EXPAND_SUFFIX = exports.BASIC_TYPE_MAPPING = void 0;
4
+ exports.BASIC_TYPE_MAPPING = {
5
+ 'text': 'String',
6
+ 'textarea': 'String',
7
+ 'html': 'String',
8
+ 'url': 'String',
9
+ 'email': 'String',
10
+ 'date': 'Date',
11
+ 'datetime': 'Date',
12
+ 'time': 'Date',
13
+ 'number': 'Float',
14
+ 'currency': 'Float',
15
+ 'boolean': 'Boolean'
16
+ };
17
+ exports.EXPAND_SUFFIX = '__expand';
18
+ exports.DISPLAY_PREFIX = '_display';
19
+ exports.UI_PREFIX = '_ui';
20
+ exports.RELATED_PREFIX = '_related';
21
+ exports.GRAPHQL_ACTION_PREFIX = 'graphql_';
22
+ exports.PERMISSIONS_PREFIX = '_permissions';
23
+ exports.OBJECT_FIELD_TYPE = '__object';
24
+ exports.GRID_FIELD_TYPE = '__grid';
25
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";;;AAQa,QAAA,kBAAkB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,SAAS;CACvB,CAAC;AACW,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,cAAc,GAAG,UAAU,CAAC;AAC5B,QAAA,SAAS,GAAG,KAAK,CAAC;AAClB,QAAA,cAAc,GAAG,UAAU,CAAC;AAC5B,QAAA,qBAAqB,GAAG,UAAU,CAAC;AACnC,QAAA,kBAAkB,GAAG,cAAc,CAAC;AACpC,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,eAAe,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { SteedosObjectTypeConfig } from "@steedos/objectql";
2
+ export declare function generateActionGraphqlProp(actionName: string, objectConfig: SteedosObjectTypeConfig): string;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateActionGraphqlProp = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var gql = require("moleculer-apollo-server").moleculerGql;
6
+ function generateActionGraphqlProp(actionName, objectConfig) {
7
+ var gplStr = '';
8
+ var objectName = objectConfig.name;
9
+ if (objectName == 'users') {
10
+ return '';
11
+ }
12
+ switch (actionName) {
13
+ case 'count':
14
+ gplStr = gql(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n type Query {\n ", "__count(fields: JSON, filters: JSON, top: Int, skip: Int, sort: String): Int\n }\n "], ["\n type Query {\n ", "__count(fields: JSON, filters: JSON, top: Int, skip: Int, sort: String): Int\n }\n "])), objectName);
15
+ break;
16
+ case 'find':
17
+ gplStr = gql(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["\n type Query {\n ", "(fields: JSON, filters: JSON, top: Int, skip: Int, sort: String): [", "]\n }\n "], ["\n type Query {\n ", "(fields: JSON, filters: JSON, top: Int, skip: Int, sort: String): [", "]\n }\n "])), objectName, objectName);
18
+ break;
19
+ case 'findOne':
20
+ gplStr = gql(templateObject_3 || (templateObject_3 = tslib_1.__makeTemplateObject(["\n type Query {\n ", "__", "(id: JSON): ", "\n }\n "], ["\n type Query {\n ", "__", "(id: JSON): ", "\n }\n "])), objectName, actionName, objectName);
21
+ break;
22
+ case 'insert':
23
+ gplStr = gql(templateObject_4 || (templateObject_4 = tslib_1.__makeTemplateObject(["\n type Mutation {\n ", "__", "(doc: JSON): ", "\n }\n "], ["\n type Mutation {\n ", "__", "(doc: JSON): ", "\n }\n "])), objectName, actionName, objectName);
24
+ break;
25
+ case 'update':
26
+ gplStr = gql(templateObject_5 || (templateObject_5 = tslib_1.__makeTemplateObject(["\n type Mutation {\n ", "__", "(id: JSON, doc: JSON): ", "\n }\n "], ["\n type Mutation {\n ", "__", "(id: JSON, doc: JSON): ", "\n }\n "])), objectName, actionName, objectName);
27
+ break;
28
+ case 'delete':
29
+ gplStr = gql(templateObject_6 || (templateObject_6 = tslib_1.__makeTemplateObject(["\n type Mutation {\n ", "__", "(id: JSON): JSON\n }\n "], ["\n type Mutation {\n ", "__", "(id: JSON): JSON\n }\n "])), objectName, actionName);
30
+ break;
31
+ default:
32
+ break;
33
+ }
34
+ return gplStr;
35
+ }
36
+ exports.generateActionGraphqlProp = generateActionGraphqlProp;
37
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
38
+ //# sourceMappingURL=generateActionGraphqlProp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateActionGraphqlProp.js","sourceRoot":"","sources":["../src/generateActionGraphqlProp.ts"],"names":[],"mappings":";;;;AAOQ,IAAc,GAAG,GAAK,OAAO,CAAC,yBAAyB,CAAC,aAAvC,CAAwC;AAGjE,SAAgB,yBAAyB,CAAC,UAAkB,EAAE,YAAqC;IAC/F,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;IACnC,IAAI,UAAU,IAAI,OAAO,EAAE;QACvB,OAAO,EAAE,CAAC;KACb;IACD,QAAQ,UAAU,EAAE;QAChB,KAAK,OAAO;YACR,MAAM,GAAG,GAAG,kPAAA,sDAEF,EAAU,+GAEnB,KAFS,UAAU,CAEnB,CAAC;YACF,MAAM;QACV,KAAK,MAAM;YACP,MAAM,GAAG,GAAG,8OAAA,sDAEF,EAAU,qEAAsE,EAAU,oCAEnG,KAFS,UAAU,EAAsE,UAAU,CAEnG,CAAC;YACF,MAAM;QACV,KAAK,SAAS;YACV,MAAM,GAAG,GAAG,4LAAA,sDAEF,EAAU,IAAK,EAAU,cAAe,EAAU,mCAE3D,KAFS,UAAU,EAAK,UAAU,EAAe,UAAU,CAE3D,CAAC;YACF,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,GAAG,GAAG,gMAAA,yDAEF,EAAU,IAAK,EAAU,eAAgB,EAAU,mCAE5D,KAFS,UAAU,EAAK,UAAU,EAAgB,UAAU,CAE5D,CAAC;YACF,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,GAAG,GAAG,0MAAA,yDAEF,EAAU,IAAK,EAAU,yBAA0B,EAAU,mCAEtE,KAFS,UAAU,EAAK,UAAU,EAA0B,UAAU,CAEtE,CAAC;YACF,MAAM;QACV,KAAK,QAAQ;YACT,MAAM,GAAG,GAAG,+LAAA,yDAEF,EAAU,IAAK,EAAU,mDAElC,KAFS,UAAU,EAAK,UAAU,CAElC,CAAC;YACF,MAAM;QACV;YAEI,MAAM;KACb;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAtDD,8DAsDC"}
@@ -0,0 +1,5 @@
1
+ import { SteedosObjectTypeConfig } from "@steedos/objectql";
2
+ export declare function generateSettingsGraphql(objectConfig: SteedosObjectTypeConfig, graphqlServiceName: string): Promise<{
3
+ type: string;
4
+ resolvers: {};
5
+ }>;
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateSettingsGraphql = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var gql = require("moleculer-apollo-server").moleculerGql;
6
+ var objectql_1 = require("@steedos/objectql");
7
+ var consts_1 = require("./consts");
8
+ var getPrimaryFieldType_1 = require("./getPrimaryFieldType");
9
+ var _ = require("underscore");
10
+ var utils_1 = require("./utils");
11
+ function generateSettingsGraphql(objectConfig, graphqlServiceName) {
12
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
13
+ function _getFieldType(field, typeName) {
14
+ var _a, _b;
15
+ var type = '';
16
+ var name = field.name;
17
+ if (!field.type) {
18
+ type += "".concat(name, ": JSON ");
19
+ return type;
20
+ }
21
+ var isLookup = (field.type == "lookup" || field.type == "master_detail") &&
22
+ field.reference_to && _.isString(field.reference_to);
23
+ var isFile = field.type == "image" || field.type == "file";
24
+ if (consts_1.BASIC_TYPE_MAPPING[field.type]) {
25
+ type += "".concat(name, ": ").concat(consts_1.BASIC_TYPE_MAPPING[field.type], " ");
26
+ }
27
+ else if (isLookup || isFile) {
28
+ var refTo = field.reference_to;
29
+ var referenceToField = field.reference_to_field;
30
+ if (isFile) {
31
+ refTo = field.type == "image" ? "cfs_images_filerecord" : "cfs_files_filerecord";
32
+ }
33
+ try {
34
+ var obj_1 = (0, objectql_1.getObject)(refTo);
35
+ if (refTo != objectName && (!obj_1)) {
36
+ type += "".concat(name, ": ").concat(field.multiple ? "[JSON]" : "JSON", " ");
37
+ return type;
38
+ }
39
+ }
40
+ catch (error) {
41
+ type += "".concat(name, ": ").concat(field.multiple ? "[JSON]" : "JSON", " ");
42
+ return type;
43
+ }
44
+ if (field.multiple) {
45
+ type += "".concat(name, ": [JSON] ");
46
+ type += "".concat(name).concat(consts_1.EXPAND_SUFFIX, ": [").concat(refTo, "] ");
47
+ resolvers[typeName]["".concat(name).concat(consts_1.EXPAND_SUFFIX)] = {
48
+ action: "".concat(graphqlServiceName, ".").concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.EXPAND_SUFFIX, "_multiple"),
49
+ rootParams: (_a = {},
50
+ _a[name] = "ids",
51
+ _a),
52
+ params: {
53
+ objectName: refTo,
54
+ referenceToField: referenceToField
55
+ },
56
+ };
57
+ }
58
+ else {
59
+ type += "".concat(name, ": JSON ");
60
+ type += "".concat(name).concat(consts_1.EXPAND_SUFFIX, ": ").concat(refTo, " ");
61
+ resolvers[typeName]["".concat(name).concat(consts_1.EXPAND_SUFFIX)] = {
62
+ action: "".concat(graphqlServiceName, ".").concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.EXPAND_SUFFIX),
63
+ rootParams: (_b = {},
64
+ _b[name] = "id",
65
+ _b),
66
+ params: {
67
+ objectName: refTo,
68
+ referenceToField: referenceToField
69
+ },
70
+ };
71
+ }
72
+ }
73
+ else {
74
+ type += "".concat(name, ": JSON ");
75
+ }
76
+ return type;
77
+ }
78
+ var objectName, fields, primaryFieldType, type, resolvers, fieldNamesMap, obj, relationsInfo, detailsInfo, lookupsInfo, relatedInfos, relatedInfos_1, relatedInfos_1_1, info, infos, detailObjectApiName, detailFieldName, relatedFieldName, relatedType, _display_type_name, _display_type, _ui_type_name, _ui_type, _permissions_type_name, _permissions_type, relatedObjName, relatedFieldName, relatedObjName, relatedFieldName, relatedObjName, relatedFieldName, relatedObjName, relatedFieldName, relatedObjName, relatedFieldName, relatedObjName, relatedFieldName, relatedObjName, relatedFieldName;
79
+ var e_1, _a;
80
+ return tslib_1.__generator(this, function (_b) {
81
+ switch (_b.label) {
82
+ case 0:
83
+ objectName = objectConfig.name;
84
+ fields = objectConfig.fields;
85
+ primaryFieldType = (0, getPrimaryFieldType_1.getPrimaryFieldType)(objectConfig);
86
+ type = "type ".concat(objectName, " { ").concat(primaryFieldType, " ");
87
+ resolvers = {};
88
+ resolvers[objectName] = {};
89
+ fieldNamesMap = {};
90
+ _.each(fields, function (field, name) {
91
+ if (name.indexOf(".") > -1) {
92
+ return;
93
+ }
94
+ fieldNamesMap[name] = name;
95
+ type += _getFieldType(field, objectName);
96
+ });
97
+ obj = (0, objectql_1.getObject)(objectName);
98
+ return [4, obj.getRelationsInfo()];
99
+ case 1:
100
+ relationsInfo = _b.sent();
101
+ detailsInfo = relationsInfo.details || [];
102
+ lookupsInfo = relationsInfo.lookup_details || [];
103
+ relatedInfos = detailsInfo.concat(lookupsInfo);
104
+ try {
105
+ for (relatedInfos_1 = tslib_1.__values(relatedInfos), relatedInfos_1_1 = relatedInfos_1.next(); !relatedInfos_1_1.done; relatedInfos_1_1 = relatedInfos_1.next()) {
106
+ info = relatedInfos_1_1.value;
107
+ if (!info.startsWith("__")) {
108
+ infos = info.split(".");
109
+ detailObjectApiName = infos[0];
110
+ detailFieldName = infos[1];
111
+ relatedFieldName = (0, utils_1.correctName)("".concat(consts_1.RELATED_PREFIX, "_").concat(detailObjectApiName, "_").concat(detailFieldName));
112
+ relatedType = (0, utils_1._getRelatedType)(relatedFieldName, detailObjectApiName);
113
+ if (type.indexOf(relatedType) > -1) {
114
+ continue;
115
+ }
116
+ type += relatedType;
117
+ resolvers[objectName][relatedFieldName] = _getRelatedResolver(objectName, detailObjectApiName, detailFieldName, "", graphqlServiceName);
118
+ }
119
+ }
120
+ }
121
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
122
+ finally {
123
+ try {
124
+ if (relatedInfos_1_1 && !relatedInfos_1_1.done && (_a = relatedInfos_1.return)) _a.call(relatedInfos_1);
125
+ }
126
+ finally { if (e_1) throw e_1.error; }
127
+ }
128
+ _display_type_name = "".concat(consts_1.DISPLAY_PREFIX, "_").concat(objectName);
129
+ type += "".concat(consts_1.DISPLAY_PREFIX, ": ").concat(_display_type_name, " ");
130
+ resolvers[objectName][consts_1.DISPLAY_PREFIX] = {
131
+ action: "".concat(graphqlServiceName, ".").concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.DISPLAY_PREFIX),
132
+ rootParams: tslib_1.__assign({ _id: "_id" }, fieldNamesMap),
133
+ params: {
134
+ '__objectName': objectName,
135
+ },
136
+ };
137
+ _display_type = _getDisplayType(_display_type_name, fields);
138
+ type = gql(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n ", "\n ", "\n "], ["\n ", "\n ", "\n "])), _display_type, type);
139
+ _ui_type_name = "".concat(consts_1.UI_PREFIX, "_").concat(objectName);
140
+ type += "".concat(consts_1.UI_PREFIX, ": ").concat(_ui_type_name, " ");
141
+ resolvers[objectName][consts_1.UI_PREFIX] = {
142
+ action: "".concat(graphqlServiceName, ".").concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.UI_PREFIX),
143
+ rootParams: tslib_1.__assign({ _id: "_id" }, fieldNamesMap),
144
+ params: {
145
+ '__objectName': objectName
146
+ },
147
+ };
148
+ _ui_type = _getUIType(_ui_type_name, fields);
149
+ type = gql(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["\n ", "\n ", "\n "], ["\n ", "\n ", "\n "])), _ui_type, type);
150
+ _permissions_type_name = "".concat(consts_1.PERMISSIONS_PREFIX, "_").concat(objectName);
151
+ type += "".concat(consts_1.PERMISSIONS_PREFIX, ": ").concat(_permissions_type_name, " ");
152
+ resolvers[objectName][consts_1.PERMISSIONS_PREFIX] = {
153
+ action: "".concat(graphqlServiceName, ".").concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.PERMISSIONS_PREFIX),
154
+ rootParams: {
155
+ _id: "_id"
156
+ },
157
+ params: {
158
+ '__objectName': objectName
159
+ },
160
+ };
161
+ _permissions_type = _getPermissionsType(_permissions_type_name, fields);
162
+ type = gql(templateObject_3 || (templateObject_3 = tslib_1.__makeTemplateObject(["\n ", "\n ", "\n "], ["\n ", "\n ", "\n "])), _permissions_type, type);
163
+ if (objectConfig.enable_files) {
164
+ relatedObjName = "cms_files";
165
+ relatedFieldName = "".concat(consts_1.RELATED_PREFIX, "_files");
166
+ type += (0, utils_1._getRelatedType)(relatedFieldName, relatedObjName);
167
+ resolvers[objectName][relatedFieldName] = _getRelatedResolverForEnableProperty(objectName, relatedObjName, "parent", graphqlServiceName);
168
+ }
169
+ if (objectConfig.enable_tasks) {
170
+ relatedObjName = "tasks";
171
+ relatedFieldName = "".concat(consts_1.RELATED_PREFIX, "_").concat(relatedObjName);
172
+ type += (0, utils_1._getRelatedType)(relatedFieldName, relatedObjName);
173
+ resolvers[objectName][relatedFieldName] = _getRelatedResolverForEnableProperty(objectName, relatedObjName, "related_to", graphqlServiceName);
174
+ }
175
+ if (objectConfig.enable_notes) {
176
+ relatedObjName = "notes";
177
+ relatedFieldName = "".concat(consts_1.RELATED_PREFIX, "_").concat(relatedObjName);
178
+ type += (0, utils_1._getRelatedType)(relatedFieldName, relatedObjName);
179
+ resolvers[objectName][relatedFieldName] = _getRelatedResolverForEnableProperty(objectName, relatedObjName, "related_to", graphqlServiceName);
180
+ }
181
+ if (objectConfig.enable_events) {
182
+ relatedObjName = "events";
183
+ relatedFieldName = "".concat(consts_1.RELATED_PREFIX, "_").concat(relatedObjName);
184
+ type += (0, utils_1._getRelatedType)(relatedFieldName, relatedObjName);
185
+ resolvers[objectName][relatedFieldName] = _getRelatedResolverForEnableProperty(objectName, relatedObjName, "related_to", graphqlServiceName);
186
+ }
187
+ if (objectConfig.enable_audit) {
188
+ relatedObjName = "audit_records";
189
+ relatedFieldName = "".concat(consts_1.RELATED_PREFIX, "_").concat(relatedObjName);
190
+ type += (0, utils_1._getRelatedType)(relatedFieldName, relatedObjName);
191
+ resolvers[objectName][relatedFieldName] = _getRelatedResolverForEnableProperty(objectName, relatedObjName, "related_to", graphqlServiceName);
192
+ }
193
+ if (objectConfig.enable_instances) {
194
+ relatedObjName = "instances";
195
+ relatedFieldName = "".concat(consts_1.RELATED_PREFIX, "_").concat(relatedObjName);
196
+ type += (0, utils_1._getRelatedType)(relatedFieldName, relatedObjName);
197
+ resolvers[objectName][relatedFieldName] = _getRelatedResolverForEnableProperty(objectName, relatedObjName, "record_ids", graphqlServiceName);
198
+ }
199
+ if (objectConfig.enable_approvals) {
200
+ relatedObjName = "approvals";
201
+ relatedFieldName = "".concat(consts_1.RELATED_PREFIX, "_").concat(relatedObjName);
202
+ type += (0, utils_1._getRelatedType)(relatedFieldName, relatedObjName);
203
+ resolvers[objectName][relatedFieldName] = _getRelatedResolverForEnableProperty(objectName, relatedObjName, "related_to", graphqlServiceName);
204
+ }
205
+ type += "}";
206
+ return [2, {
207
+ type: type,
208
+ resolvers: resolvers,
209
+ }];
210
+ }
211
+ });
212
+ });
213
+ }
214
+ exports.generateSettingsGraphql = generateSettingsGraphql;
215
+ function _getDisplayType(typeName, fields) {
216
+ var type = "type ".concat(typeName, " { _id: String ");
217
+ if (_.has(fields, "_id")) {
218
+ type = "type ".concat(typeName, " { ");
219
+ }
220
+ _.each(fields, function (field, name) {
221
+ if (name.indexOf(".") > -1) {
222
+ return;
223
+ }
224
+ type += "".concat(name, ": JSON ");
225
+ });
226
+ type += "}";
227
+ return type;
228
+ }
229
+ function _getUIType(typeName, fields) {
230
+ var type = "type ".concat(typeName, " { _id: String ");
231
+ if (_.has(fields, "_id")) {
232
+ type = "type ".concat(typeName, " { ");
233
+ }
234
+ _.each(fields, function (field, name) {
235
+ if (name.indexOf(".") > -1) {
236
+ return;
237
+ }
238
+ type += "".concat(name, ": JSON ");
239
+ });
240
+ type += "}";
241
+ return type;
242
+ }
243
+ function _getPermissionsType(typeName, fields) {
244
+ return "\n type ".concat(typeName, " {\n allowCreate: Boolean\n allowCreateFiles: Boolean\n allowDelete: Boolean\n allowDeleteFiles: Boolean\n allowEdit: Boolean\n allowEditFiles: Boolean\n allowRead: Boolean\n allowReadFiles: Boolean\n disabled_actions: [String]\n disabled_list_views: [String]\n field_permissions: JSON\n modifyAllFiles: Boolean\n modifyAllRecords: Boolean\n modifyAssignCompanysRecords: [String]\n modifyCompanyRecords: Boolean\n uneditable_fields: [String]\n unreadable_fields: [String]\n unrelated_objects: [String]\n viewAllFiles: Boolean\n viewAllRecords: Boolean\n viewAssignCompanysRecords: [String]\n viewCompanyRecords: Boolean\n }\n ");
245
+ }
246
+ function _getRelatedResolverForEnableProperty(parentObjectName, relatedObjName, foreignKey, graphqlServiceName) {
247
+ return {
248
+ action: "".concat(graphqlServiceName, ".").concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.RELATED_PREFIX, "_enabled"),
249
+ rootParams: {
250
+ _id: "_parentId",
251
+ },
252
+ params: {
253
+ _related_params: {
254
+ objectName: relatedObjName,
255
+ parentObjectName: parentObjectName,
256
+ foreignKey: foreignKey,
257
+ },
258
+ },
259
+ };
260
+ }
261
+ function _getRelatedResolver(objectApiName, detailObjectApiName, detailFieldName, detailFieldReferenceToFieldName, graphqlServiceName) {
262
+ return {
263
+ action: "".concat(graphqlServiceName, ".").concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.RELATED_PREFIX),
264
+ rootParams: {
265
+ _id: "_parentId",
266
+ },
267
+ params: {
268
+ _related_params: {
269
+ objectName: detailObjectApiName,
270
+ parentObjectName: objectApiName,
271
+ fieldName: detailFieldName,
272
+ referenceToParentFieldName: detailFieldReferenceToFieldName,
273
+ },
274
+ },
275
+ };
276
+ }
277
+ var templateObject_1, templateObject_2, templateObject_3;
278
+ //# sourceMappingURL=generateSettingsGraphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateSettingsGraphql.js","sourceRoot":"","sources":["../src/generateSettingsGraphql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function getGraphqlActions(): {};