@things-factory/integration-base 5.0.0-alpha.50 → 5.0.0-alpha.51
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/dist-server/engine/task/graphql-mutate.js +20 -6
- package/dist-server/engine/task/graphql-mutate.js.map +1 -1
- package/dist-server/engine/task/graphql-query.js +18 -3
- package/dist-server/engine/task/graphql-query.js.map +1 -1
- package/dist-server/engine/task/local-graphql-mutate.js +20 -6
- package/dist-server/engine/task/local-graphql-mutate.js.map +1 -1
- package/dist-server/engine/task/local-graphql-query.js +20 -6
- package/dist-server/engine/task/local-graphql-query.js.map +1 -1
- package/dist-server/engine/task/switch-goto.js +1 -1
- package/dist-server/engine/task/switch-goto.js.map +1 -1
- package/dist-server/engine/task/switch-range-goto.js +1 -1
- package/dist-server/engine/task/switch-range-goto.js.map +1 -1
- package/dist-server/engine/task/switch-range-scenario.js +3 -3
- package/dist-server/engine/task/switch-range-scenario.js.map +1 -1
- package/dist-server/engine/task/switch-scenario.js +3 -3
- package/dist-server/engine/task/switch-scenario.js.map +1 -1
- package/helps/integration/task/graphql-mutate.md +44 -0
- package/helps/integration/task/graphql-query.md +44 -0
- package/helps/integration/task/local-graphql-mutate.md +24 -1
- package/helps/integration/task/local-graphql-query.md +25 -2
- package/package.json +7 -7
- package/server/engine/task/graphql-mutate.ts +24 -7
- package/server/engine/task/graphql-query.ts +21 -3
- package/server/engine/task/local-graphql-mutate.ts +23 -6
- package/server/engine/task/local-graphql-query.ts +23 -6
- package/server/engine/task/switch-goto.ts +2 -1
- package/server/engine/task/switch-range-goto.ts +2 -1
- package/server/engine/task/switch-range-scenario.ts +5 -3
- package/server/engine/task/switch-scenario.ts +5 -3
|
@@ -5,11 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
7
7
|
const vm2_1 = require("vm2");
|
|
8
|
-
const
|
|
8
|
+
const utils_1 = require("@things-factory/utils");
|
|
9
9
|
const connection_manager_1 = require("../connection-manager");
|
|
10
|
+
const task_registry_1 = require("../task-registry");
|
|
10
11
|
async function GraphqlMutate(step, context) {
|
|
11
12
|
var { connection: connectionName, params: stepOptions } = step;
|
|
12
|
-
var { mutation } = stepOptions || {};
|
|
13
|
+
var { mutation, variables: variablesAccessorMap } = stepOptions || {};
|
|
13
14
|
var { data, variables } = context;
|
|
14
15
|
const vm = new vm2_1.VM({
|
|
15
16
|
sandbox: {
|
|
@@ -19,14 +20,19 @@ async function GraphqlMutate(step, context) {
|
|
|
19
20
|
});
|
|
20
21
|
mutation = vm.run('`' + mutation + '`');
|
|
21
22
|
var client = connection_manager_1.ConnectionManager.getConnectionInstanceByName(context.domain, connectionName);
|
|
22
|
-
|
|
23
|
+
const queryVariables = Object.keys(variablesAccessorMap).reduce((variables, key) => {
|
|
24
|
+
const accessor = variablesAccessorMap[key];
|
|
25
|
+
variables[key] = (0, utils_1.access)(accessor, data);
|
|
26
|
+
return variables;
|
|
27
|
+
}, {});
|
|
28
|
+
var { data: mutateResult } = await client.mutate({
|
|
23
29
|
mutation: (0, graphql_tag_1.default) `
|
|
24
30
|
${mutation}
|
|
25
|
-
|
|
31
|
+
`,
|
|
32
|
+
variables: queryVariables
|
|
26
33
|
});
|
|
27
|
-
var { data: mutationResult } = response.data;
|
|
28
34
|
return {
|
|
29
|
-
data:
|
|
35
|
+
data: mutateResult
|
|
30
36
|
};
|
|
31
37
|
}
|
|
32
38
|
GraphqlMutate.parameterSpec = [
|
|
@@ -34,6 +40,14 @@ GraphqlMutate.parameterSpec = [
|
|
|
34
40
|
type: 'graphql',
|
|
35
41
|
name: 'mutation',
|
|
36
42
|
label: 'mutation'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: 'key-values',
|
|
46
|
+
name: 'variables',
|
|
47
|
+
label: 'variables',
|
|
48
|
+
property: {
|
|
49
|
+
options: [] //'scenario-step-input'
|
|
50
|
+
}
|
|
37
51
|
}
|
|
38
52
|
];
|
|
39
53
|
GraphqlMutate.help = 'integration/task/graphql-mutate';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-mutate.js","sourceRoot":"","sources":["../../../server/engine/task/graphql-mutate.ts"],"names":[],"mappings":";;;;;AAAA,8DAA6B;AAC7B,6BAAwB;
|
|
1
|
+
{"version":3,"file":"graphql-mutate.js","sourceRoot":"","sources":["../../../server/engine/task/graphql-mutate.ts"],"names":[],"mappings":";;;;;AAAA,8DAA6B;AAC7B,6BAAwB;AAExB,iDAA8C;AAE9C,8DAAyD;AACzD,oDAA+C;AAE/C,KAAK,UAAU,aAAa,CAAC,IAAI,EAAE,OAAO;IACxC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAC9D,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,WAAW,IAAI,EAAE,CAAA;IAErE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAEjC,MAAM,EAAE,GAAG,IAAI,QAAE,CAAC;QAChB,OAAO,EAAE;YACP,IAAI;YACJ,SAAS;SACV;KACF,CAAC,CAAA;IAEF,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAA;IAEvC,IAAI,MAAM,GAAG,sCAAiB,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAE1F,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QACjF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;QAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QAC/C,QAAQ,EAAE,IAAA,qBAAG,EAAA;QACT,QAAQ;KACX;QACD,SAAS,EAAE,cAAc;KAC1B,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,YAAY;KACnB,CAAA;AACH,CAAC;AAED,aAAa,CAAC,aAAa,GAAG;IAC5B;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,CAAC,uBAAuB;SACpC;KACF;CACF,CAAA;AACD,aAAa,CAAC,IAAI,GAAG,iCAAiC,CAAA;AAEtD,4BAAY,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA"}
|
|
@@ -5,11 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
7
7
|
const vm2_1 = require("vm2");
|
|
8
|
-
const
|
|
8
|
+
const utils_1 = require("@things-factory/utils");
|
|
9
9
|
const connection_manager_1 = require("../connection-manager");
|
|
10
|
+
const task_registry_1 = require("../task-registry");
|
|
10
11
|
async function GraphqlQuery(step, context) {
|
|
11
12
|
var { connection: connectionName, params: stepOptions } = step;
|
|
12
|
-
var { query } = stepOptions || {};
|
|
13
|
+
var { query, variables: variablesAccessorMap } = stepOptions || {};
|
|
13
14
|
var { domain, data, variables } = context;
|
|
14
15
|
const vm = new vm2_1.VM({
|
|
15
16
|
sandbox: {
|
|
@@ -19,10 +20,16 @@ async function GraphqlQuery(step, context) {
|
|
|
19
20
|
});
|
|
20
21
|
query = vm.run('`' + query + '`');
|
|
21
22
|
var client = connection_manager_1.ConnectionManager.getConnectionInstanceByName(domain, connectionName);
|
|
23
|
+
const queryVariables = Object.keys(variablesAccessorMap).reduce((variables, key) => {
|
|
24
|
+
const accessor = variablesAccessorMap[key];
|
|
25
|
+
variables[key] = (0, utils_1.access)(accessor, data);
|
|
26
|
+
return variables;
|
|
27
|
+
}, {});
|
|
22
28
|
var { data: queryResult } = await client.query({
|
|
23
29
|
query: (0, graphql_tag_1.default) `
|
|
24
30
|
${query}
|
|
25
|
-
|
|
31
|
+
`,
|
|
32
|
+
variables: queryVariables
|
|
26
33
|
});
|
|
27
34
|
return {
|
|
28
35
|
data: queryResult
|
|
@@ -33,6 +40,14 @@ GraphqlQuery.parameterSpec = [
|
|
|
33
40
|
type: 'graphql',
|
|
34
41
|
name: 'query',
|
|
35
42
|
label: 'query'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: 'key-values',
|
|
46
|
+
name: 'variables',
|
|
47
|
+
label: 'variables',
|
|
48
|
+
property: {
|
|
49
|
+
options: [] //'scenario-step-input'
|
|
50
|
+
}
|
|
36
51
|
}
|
|
37
52
|
];
|
|
38
53
|
GraphqlQuery.help = 'integration/task/graphql-query';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-query.js","sourceRoot":"","sources":["../../../server/engine/task/graphql-query.ts"],"names":[],"mappings":";;;;;AAAA,8DAA6B;AAC7B,6BAAwB;
|
|
1
|
+
{"version":3,"file":"graphql-query.js","sourceRoot":"","sources":["../../../server/engine/task/graphql-query.ts"],"names":[],"mappings":";;;;;AAAA,8DAA6B;AAC7B,6BAAwB;AAExB,iDAA8C;AAE9C,8DAAyD;AACzD,oDAA+C;AAE/C,KAAK,UAAU,YAAY,CAAC,IAAI,EAAE,OAAO;IACvC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAC9D,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,WAAW,IAAI,EAAE,CAAA;IAClE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAEzC,MAAM,EAAE,GAAG,IAAI,QAAE,CAAC;QAChB,OAAO,EAAE;YACP,IAAI;YACJ,SAAS;SACV;KACF,CAAC,CAAA;IAEF,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAA;IAEjC,IAAI,MAAM,GAAG,sCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAElF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QACjF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;QAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QAC7C,KAAK,EAAE,IAAA,qBAAG,EAAA;QACN,KAAK;KACR;QACD,SAAS,EAAE,cAAc;KAC1B,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,WAAW;KAClB,CAAA;AACH,CAAC;AAED,YAAY,CAAC,aAAa,GAAG;IAC3B;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,CAAC,uBAAuB;SACpC;KACF;CACF,CAAA;AACD,YAAY,CAAC,IAAI,GAAG,gCAAgC,CAAA;AAEpD,4BAAY,CAAC,mBAAmB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA"}
|
|
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const task_registry_1 = require("../task-registry");
|
|
7
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
|
-
const vm2_1 = require("vm2");
|
|
9
|
-
const typeorm_1 = require("typeorm");
|
|
10
6
|
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
7
|
+
const typeorm_1 = require("typeorm");
|
|
8
|
+
const vm2_1 = require("vm2");
|
|
9
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
10
|
+
const utils_1 = require("@things-factory/utils");
|
|
11
|
+
const task_registry_1 = require("../task-registry");
|
|
11
12
|
async function LocalGraphqlMutate(step, context) {
|
|
12
13
|
var { params, updaterId } = step;
|
|
13
|
-
var { mutation } = params || {};
|
|
14
|
+
var { mutation, variables: variablesAccessorMap } = params || {};
|
|
14
15
|
var { client, domain, data, variables } = context;
|
|
15
16
|
const user = await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(updaterId, {
|
|
16
17
|
relations: ['domains']
|
|
@@ -22,11 +23,16 @@ async function LocalGraphqlMutate(step, context) {
|
|
|
22
23
|
}
|
|
23
24
|
});
|
|
24
25
|
mutation = vm.run('`' + mutation + '`');
|
|
26
|
+
const queryVariables = Object.keys(variablesAccessorMap).reduce((variables, key) => {
|
|
27
|
+
const accessor = variablesAccessorMap[key];
|
|
28
|
+
variables[key] = (0, utils_1.access)(accessor, data);
|
|
29
|
+
return variables;
|
|
30
|
+
}, {});
|
|
25
31
|
var { data: mutateResult } = await client.mutate({
|
|
26
32
|
mutation: (0, graphql_tag_1.default) `
|
|
27
33
|
${mutation}
|
|
28
34
|
`,
|
|
29
|
-
variables,
|
|
35
|
+
variables: queryVariables,
|
|
30
36
|
context: {
|
|
31
37
|
state: {
|
|
32
38
|
domain,
|
|
@@ -43,6 +49,14 @@ LocalGraphqlMutate.parameterSpec = [
|
|
|
43
49
|
type: 'graphql',
|
|
44
50
|
name: 'mutation',
|
|
45
51
|
label: 'mutation'
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'key-values',
|
|
55
|
+
name: 'variables',
|
|
56
|
+
label: 'variables',
|
|
57
|
+
property: {
|
|
58
|
+
options: [] //'scenario-step-input'
|
|
59
|
+
}
|
|
46
60
|
}
|
|
47
61
|
];
|
|
48
62
|
LocalGraphqlMutate.connectorFree = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-graphql-mutate.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-mutate.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"local-graphql-mutate.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-mutate.ts"],"names":[],"mappings":";;;;;AAAA,8DAA6B;AAC7B,qCAAuC;AACvC,6BAAwB;AAExB,yDAAgD;AAChD,iDAA8C;AAE9C,oDAA+C;AAE/C,KAAK,UAAU,kBAAkB,CAAC,IAAI,EAAE,OAAO;IAC7C,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IAChC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAChE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAEjD,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;QACxD,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,MAAM,EAAE,GAAG,IAAI,QAAE,CAAC;QAChB,OAAO,EAAE;YACP,IAAI;YACJ,SAAS;SACV;KACF,CAAC,CAAA;IAEF,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAA;IAEvC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QACjF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;QAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QAC/C,QAAQ,EAAE,IAAA,qBAAG,EAAA;QACT,QAAQ;KACX;QACD,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;aACL;SACF;KACF,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,YAAY;KACnB,CAAA;AACH,CAAC;AAED,kBAAkB,CAAC,aAAa,GAAG;IACjC;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,CAAC,uBAAuB;SACpC;KACF;CACF,CAAA;AAED,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAA;AACvC,kBAAkB,CAAC,IAAI,GAAG,uCAAuC,CAAA;AAEjE,4BAAY,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAA"}
|
|
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const task_registry_1 = require("../task-registry");
|
|
7
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
|
-
const vm2_1 = require("vm2");
|
|
9
|
-
const typeorm_1 = require("typeorm");
|
|
10
6
|
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
7
|
+
const typeorm_1 = require("typeorm");
|
|
8
|
+
const vm2_1 = require("vm2");
|
|
9
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
10
|
+
const utils_1 = require("@things-factory/utils");
|
|
11
|
+
const task_registry_1 = require("../task-registry");
|
|
11
12
|
async function LocalGraphqlQuery(step, context) {
|
|
12
13
|
var { params, updaterId } = step;
|
|
13
|
-
var { query } = params || {};
|
|
14
|
+
var { query, variables: variablesAccessorMap } = params || {};
|
|
14
15
|
var { client, domain, data, variables } = context;
|
|
15
16
|
const user = await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(updaterId, {
|
|
16
17
|
relations: ['domains']
|
|
@@ -22,11 +23,16 @@ async function LocalGraphqlQuery(step, context) {
|
|
|
22
23
|
}
|
|
23
24
|
});
|
|
24
25
|
query = vm.run('`' + query + '`');
|
|
26
|
+
const queryVariables = Object.keys(variablesAccessorMap).reduce((variables, key) => {
|
|
27
|
+
const accessor = variablesAccessorMap[key];
|
|
28
|
+
variables[key] = (0, utils_1.access)(accessor, data);
|
|
29
|
+
return variables;
|
|
30
|
+
}, {});
|
|
25
31
|
var { data: queryResult } = await client.query({
|
|
26
32
|
query: (0, graphql_tag_1.default) `
|
|
27
33
|
${query}
|
|
28
34
|
`,
|
|
29
|
-
variables,
|
|
35
|
+
variables: queryVariables,
|
|
30
36
|
context: {
|
|
31
37
|
state: {
|
|
32
38
|
domain,
|
|
@@ -43,6 +49,14 @@ LocalGraphqlQuery.parameterSpec = [
|
|
|
43
49
|
type: 'graphql',
|
|
44
50
|
name: 'query',
|
|
45
51
|
label: 'query'
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'key-values',
|
|
55
|
+
name: 'variables',
|
|
56
|
+
label: 'variables',
|
|
57
|
+
property: {
|
|
58
|
+
options: [] //'scenario-step-input'
|
|
59
|
+
}
|
|
46
60
|
}
|
|
47
61
|
];
|
|
48
62
|
LocalGraphqlQuery.connectorFree = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-graphql-query.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-query.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"local-graphql-query.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-query.ts"],"names":[],"mappings":";;;;;AAAA,8DAA6B;AAC7B,qCAAuC;AACvC,6BAAwB;AAExB,yDAAgD;AAChD,iDAA8C;AAE9C,oDAA+C;AAE/C,KAAK,UAAU,iBAAiB,CAAC,IAAI,EAAE,OAAO;IAC5C,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IAChC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAC7D,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAEjD,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;QACxD,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,MAAM,EAAE,GAAG,IAAI,QAAE,CAAC;QAChB,OAAO,EAAE;YACP,IAAI;YACJ,SAAS;SACV;KACF,CAAC,CAAA;IAEF,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAA;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QACjF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;QAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QAC7C,KAAK,EAAE,IAAA,qBAAG,EAAA;QACN,KAAK;KACR;QACD,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;aACL;SACF;KACF,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,WAAW;KAClB,CAAA;AACH,CAAC;AAED,iBAAiB,CAAC,aAAa,GAAG;IAChC;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,CAAC,uBAAuB;SACpC;KACF;CACF,CAAA;AAED,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAA;AACtC,iBAAiB,CAAC,IAAI,GAAG,uCAAuC,CAAA;AAEhE,4BAAY,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-goto.js","sourceRoot":"","sources":["../../../server/engine/task/switch-goto.ts"],"names":[],"mappings":";;AAAA,iDAA8C;
|
|
1
|
+
{"version":3,"file":"switch-goto.js","sourceRoot":"","sources":["../../../server/engine/task/switch-goto.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C,oDAA+C;AAE/C,KAAK,UAAU,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAC9C,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAC5B,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAElC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;IAE3C,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,eAAe,KAAK,KAAK,CAAC,CAAA;IAE7D,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC;AAED,UAAU,CAAC,aAAa,GAAG;IACzB;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,SAAS,EAAE,qBAAqB;SACjC;KACF;CACF,CAAA;AAED,UAAU,CAAC,aAAa,GAAG,IAAI,CAAA;AAE/B,4BAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AACtD,4BAAY,CAAC,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-range-goto.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-goto.ts"],"names":[],"mappings":";;AAAA,iDAA8C;
|
|
1
|
+
{"version":3,"file":"switch-range-goto.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-goto.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C,oDAA+C;AAE/C,KAAK,UAAU,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IACnD,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAC5B,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,MAAM,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAE1C,IAAI,KAAK,GACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5B,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,OAAM;SACP;QAED,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;IACpD,CAAC,CAAC,IAAI,SAAS,CAAA;IAEjB,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IAEvB,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,eAAe,KAAK,KAAK,CAAC,CAAA;IAEnE,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC;AAED,eAAe,CAAC,aAAa,GAAG;IAC9B;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,SAAS,EAAE,qBAAqB;SACjC;KACF;CACF,CAAA;AAED,eAAe,CAAC,aAAa,GAAG,IAAI,CAAA;AAEpC,4BAAY,CAAC,mBAAmB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAA;AACjE,4BAAY,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const typeorm_1 = require("typeorm");
|
|
3
4
|
const utils_1 = require("@things-factory/utils");
|
|
4
|
-
const task_registry_1 = require("../task-registry");
|
|
5
5
|
const service_1 = require("../../service");
|
|
6
|
-
const
|
|
6
|
+
const task_registry_1 = require("../task-registry");
|
|
7
7
|
async function SwitchRangeScenario(step, context) {
|
|
8
8
|
var { logger, data, load } = context;
|
|
9
9
|
var { params: { accessor, cases, variables } } = step;
|
|
@@ -45,7 +45,7 @@ SwitchRangeScenario.parameterSpec = [
|
|
|
45
45
|
type: 'range',
|
|
46
46
|
name: 'cases',
|
|
47
47
|
label: 'cases',
|
|
48
|
-
|
|
48
|
+
property: {
|
|
49
49
|
valuetype: 'scenario-input'
|
|
50
50
|
}
|
|
51
51
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-range-scenario.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-scenario.ts"],"names":[],"mappings":";;AAAA,iDAAyD;
|
|
1
|
+
{"version":3,"file":"switch-range-scenario.js","sourceRoot":"","sources":["../../../server/engine/task/switch-range-scenario.ts"],"names":[],"mappings":";;AAAA,qCAAuC;AAEvC,iDAAyD;AAEzD,2CAAwC;AACxC,oDAA+C;AAE/C,KAAK,UAAU,mBAAmB,CAAC,IAAI,EAAE,OAAO;IAC9C,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACpC,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EACvC,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,MAAM,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAE1C,IAAI,KAAK,GACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5B,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,OAAM;SACP;QAED,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;IACpD,CAAC,CAAC,IAAI,SAAS,CAAA;IAEjB,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IAE/B,MAAM,CAAC,IAAI,CAAC,6BAA6B,YAAY,eAAe,KAAK,KAAK,CAAC,CAAA;IAE/E,IAAI,WAAW,GAAG,MAAM,IAAA,uBAAa,EAAC,kBAAQ,CAAC,CAAC,OAAO,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;SACnB;QACD,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC/B,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,YAAY,CAAC,CAAA;IAC1D,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,WAAW,kCACxC,OAAO,KACV,IAAI,EAAE,EAAE;QACR;;;UAGE;QACF,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,IAAA,cAAM,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAC7E,CAAA;IACF,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,SAAS,CAAC,CAAA;IAEvD,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB,CAAA;AACH,CAAC;AAED,mBAAmB,CAAC,aAAa,GAAG;IAClC;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,SAAS,EAAE,gBAAgB;SAC5B;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;KACnB;CACF,CAAA;AAED,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAA;AAExC,4BAAY,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const typeorm_1 = require("typeorm");
|
|
3
4
|
const utils_1 = require("@things-factory/utils");
|
|
4
|
-
const task_registry_1 = require("../task-registry");
|
|
5
5
|
const service_1 = require("../../service");
|
|
6
|
-
const
|
|
6
|
+
const task_registry_1 = require("../task-registry");
|
|
7
7
|
async function SwitchScenario(step, context) {
|
|
8
8
|
var { logger, data, load } = context;
|
|
9
9
|
var { params: { accessor, cases, variables } } = step;
|
|
@@ -38,7 +38,7 @@ SwitchScenario.parameterSpec = [
|
|
|
38
38
|
type: 'map',
|
|
39
39
|
name: 'cases',
|
|
40
40
|
label: 'cases',
|
|
41
|
-
|
|
41
|
+
property: {
|
|
42
42
|
valuetype: 'scenario-input'
|
|
43
43
|
}
|
|
44
44
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-scenario.js","sourceRoot":"","sources":["../../../server/engine/task/switch-scenario.ts"],"names":[],"mappings":";;AAAA,iDAAyD;
|
|
1
|
+
{"version":3,"file":"switch-scenario.js","sourceRoot":"","sources":["../../../server/engine/task/switch-scenario.ts"],"names":[],"mappings":";;AAAA,qCAAuC;AAEvC,iDAAyD;AAEzD,2CAAwC;AACxC,oDAA+C;AAE/C,KAAK,UAAU,cAAc,CAAC,IAAI,EAAE,OAAO;IACzC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACpC,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EACvC,GAAG,IAAI,CAAA;IAER,IAAI,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAElC,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;IACnD,MAAM,CAAC,IAAI,CAAC,uBAAuB,YAAY,eAAe,KAAK,KAAK,CAAC,CAAA;IAEzE,IAAI,WAAW,GAAG,MAAM,IAAA,uBAAa,EAAC,kBAAQ,CAAC,CAAC,OAAO,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;SACnB;QACD,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC/B,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,YAAY,CAAC,CAAA;IAC1D,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,WAAW,kCACxC,OAAO,KACV,IAAI,EAAE,EAAE;QACR;;;UAGE;QACF,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,IAAA,cAAM,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAC7E,CAAA;IACF,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,SAAS,CAAC,CAAA;IAEvD,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB,CAAA;AACH,CAAC;AAED,cAAc,CAAC,aAAa,GAAG;IAC7B;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,SAAS,EAAE,gBAAgB;SAC5B;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;KACnB;CACF,CAAA;AAED,cAAc,CAAC,aAAa,GAAG,IAAI,CAAA;AAEnC,4BAAY,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# GraphqlMutate Task
|
|
2
|
+
|
|
3
|
+
서버에서 제공하는 graphql mutate API를 호출하는 태스크이다.
|
|
4
|
+
MutationQuery를 작성할 때, 변수 처리는 다음과 같이 두 가지 방법으로 가능하며, 방법 2를 사용하기를 권장한다.
|
|
5
|
+
|
|
6
|
+
방법 1. 시나리오 컨텍스트의 data와 variables를 변수로 활용할 수 있다.
|
|
7
|
+
이 방법은 문자열 변수를 적용할 때 적합하다.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
mutation {
|
|
11
|
+
syncAllMarketplaceOrder(fromDate: "${this.variables.fromDate}", toDate: "${this.variables.toDate}") {
|
|
12
|
+
...
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
removeTagFromObject(tag: "${this.data.tag}") {
|
|
16
|
+
...
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
방법 2. varibles에 사용할 변수를 지정하고, graphql 변수 처리방법을 사용한다. variables의 값은 시나리오 컨텍스트의 data 에 대한 accessor로 지정할 수 있다.
|
|
22
|
+
이 방법은 문자열 변수를 적용할 때 적합하다.
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
mutation($fromDate: String!, $toDate: String!) {
|
|
26
|
+
syncAllMarketplaceOrder(fromDate: $fromDate, toDate: $toDate) {
|
|
27
|
+
...
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
removeTagFromObject(tag: $tag) {
|
|
31
|
+
...
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## parameters
|
|
37
|
+
|
|
38
|
+
- mutation
|
|
39
|
+
|
|
40
|
+
- graphql mutation 쿼리를 입력한다.
|
|
41
|
+
|
|
42
|
+
- variables
|
|
43
|
+
- graphql query에서 사용될 변수를 정의한다.
|
|
44
|
+
- key예는 변수의 이름을 지정하며, value에는 변수값에 해당하는 data accessor를 설정한다.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# GraphqlQuery Task
|
|
2
|
+
|
|
3
|
+
서버에서 제공하는 graphql query API를 호출하는 태스크이다.
|
|
4
|
+
Query를 작성할 때, 변수 처리는 다음과 같이 두 가지 방법으로 가능하며, 방법 2를 사용하기를 권장한다.
|
|
5
|
+
|
|
6
|
+
방법 1. 시나리오 컨텍스트의 data와 variables를 변수로 활용할 수 있다.
|
|
7
|
+
이 방법은 문자열 변수를 적용할 때 적합하다.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
query {
|
|
11
|
+
fetchWorkOrderHistory(fromDate: "${this.variables.fromDate}", toDate: "${this.variables.toDate}") {
|
|
12
|
+
...
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
searchObjectWithTag(tag: "${this.data.tag}") {
|
|
16
|
+
...
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
방법 2. varibles에 사용할 변수를 지정하고, graphql 변수 처리방법을 사용한다. variables의 값은 시나리오 컨텍스트의 data 에 대한 accessor로 지정할 수 있다.
|
|
22
|
+
이 방법은 문자열 변수를 적용할 때 적합하다.
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
query($filters: [Filter!], $sortings: [Sorting!], $pagination: Pagination, tag: String!) {
|
|
26
|
+
boards(filters: $filters, sortings: $sortings, pagination: $pagination) {
|
|
27
|
+
...
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
searchObjectWithTag(tag: $tag) {
|
|
31
|
+
...
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## parameters
|
|
37
|
+
|
|
38
|
+
- query
|
|
39
|
+
|
|
40
|
+
- graphql query를 입력한다.
|
|
41
|
+
|
|
42
|
+
- variables
|
|
43
|
+
- graphql query에서 사용될 변수를 정의한다.
|
|
44
|
+
- key예는 변수의 이름을 지정하며, value에는 변수값에 해당하는 data accessor를 설정한다.
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
# LocalGraphqlMutate Task
|
|
2
2
|
|
|
3
3
|
서버에서 제공하는 graphql mutate API를 호출하는 태스크이다.
|
|
4
|
-
|
|
4
|
+
MutationQuery를 작성할 때, 변수 처리는 다음과 같이 두 가지 방법으로 가능하며, 방법 2를 사용하기를 권장한다.
|
|
5
|
+
|
|
6
|
+
방법 1. 시나리오 컨텍스트의 data와 variables를 변수로 활용할 수 있다.
|
|
7
|
+
이 방법은 문자열 변수를 적용할 때 적합하다.
|
|
5
8
|
|
|
6
9
|
```
|
|
7
10
|
mutation {
|
|
@@ -15,7 +18,27 @@ mutation {
|
|
|
15
18
|
}
|
|
16
19
|
```
|
|
17
20
|
|
|
21
|
+
방법 2. varibles에 사용할 변수를 지정하고, graphql 변수 처리방법을 사용한다. variables의 값은 시나리오 컨텍스트의 data 에 대한 accessor로 지정할 수 있다.
|
|
22
|
+
이 방법은 문자열 변수를 적용할 때 적합하다.
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
mutation($fromDate: String!, $toDate: String!) {
|
|
26
|
+
syncAllMarketplaceOrder(fromDate: $fromDate, toDate: $toDate) {
|
|
27
|
+
...
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
removeTagFromObject(tag: $tag) {
|
|
31
|
+
...
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
18
36
|
## parameters
|
|
19
37
|
|
|
20
38
|
- mutation
|
|
39
|
+
|
|
21
40
|
- graphql mutation 쿼리를 입력한다.
|
|
41
|
+
|
|
42
|
+
- variables
|
|
43
|
+
- graphql query에서 사용될 변수를 정의한다.
|
|
44
|
+
- key예는 변수의 이름을 지정하며, value에는 변수값에 해당하는 data accessor를 설정한다.
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# LocalGraphqlQuery Task
|
|
2
2
|
|
|
3
3
|
서버에서 제공하는 graphql query API를 호출하는 태스크이다.
|
|
4
|
-
Query를 작성할 때, 다음과 같이
|
|
4
|
+
Query를 작성할 때, 변수 처리는 다음과 같이 두 가지 방법으로 가능하며, 방법 2를 사용하기를 권장한다.
|
|
5
|
+
|
|
6
|
+
방법 1. 시나리오 컨텍스트의 data와 variables를 변수로 활용할 수 있다.
|
|
7
|
+
이 방법은 문자열 변수를 적용할 때 적합하다.
|
|
5
8
|
|
|
6
9
|
```
|
|
7
10
|
query {
|
|
@@ -15,7 +18,27 @@ query {
|
|
|
15
18
|
}
|
|
16
19
|
```
|
|
17
20
|
|
|
21
|
+
방법 2. varibles에 사용할 변수를 지정하고, graphql 변수 처리방법을 사용한다. variables의 값은 시나리오 컨텍스트의 data 에 대한 accessor로 지정할 수 있다.
|
|
22
|
+
이 방법은 문자열 변수를 적용할 때 적합하다.
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
query($filters: [Filter!], $sortings: [Sorting!], $pagination: Pagination, tag: String!) {
|
|
26
|
+
boards(filters: $filters, sortings: $sortings, pagination: $pagination) {
|
|
27
|
+
...
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
searchObjectWithTag(tag: $tag) {
|
|
31
|
+
...
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
18
36
|
## parameters
|
|
19
37
|
|
|
20
38
|
- query
|
|
39
|
+
|
|
21
40
|
- graphql query를 입력한다.
|
|
41
|
+
|
|
42
|
+
- variables
|
|
43
|
+
- graphql query에서 사용될 변수를 정의한다.
|
|
44
|
+
- key예는 변수의 이름을 지정하며, value에는 변수값에 해당하는 data accessor를 설정한다.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/integration-base",
|
|
3
|
-
"version": "5.0.0-alpha.
|
|
3
|
+
"version": "5.0.0-alpha.51",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@apollo/client": "^3.5.10",
|
|
29
|
-
"@things-factory/api": "^5.0.0-alpha.
|
|
30
|
-
"@things-factory/auth-base": "^5.0.0-alpha.
|
|
31
|
-
"@things-factory/env": "^5.0.0-alpha.
|
|
32
|
-
"@things-factory/oauth2-client": "^5.0.0-alpha.
|
|
33
|
-
"@things-factory/shell": "^5.0.0-alpha.
|
|
29
|
+
"@things-factory/api": "^5.0.0-alpha.51",
|
|
30
|
+
"@things-factory/auth-base": "^5.0.0-alpha.51",
|
|
31
|
+
"@things-factory/env": "^5.0.0-alpha.51",
|
|
32
|
+
"@things-factory/oauth2-client": "^5.0.0-alpha.51",
|
|
33
|
+
"@things-factory/shell": "^5.0.0-alpha.51",
|
|
34
34
|
"async-mqtt": "^2.5.0",
|
|
35
35
|
"cron": "^1.7.2",
|
|
36
36
|
"cross-fetch": "^3.0.4",
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"promise-socket": "^7.0.0",
|
|
42
42
|
"vm2": "^3.9.2"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "b83a1e08b773501783b4a95438291ce96f558bde"
|
|
45
45
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import gql from 'graphql-tag'
|
|
2
2
|
import { VM } from 'vm2'
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
import { access } from '@things-factory/utils'
|
|
5
|
+
|
|
4
6
|
import { ConnectionManager } from '../connection-manager'
|
|
7
|
+
import { TaskRegistry } from '../task-registry'
|
|
5
8
|
|
|
6
9
|
async function GraphqlMutate(step, context) {
|
|
7
10
|
var { connection: connectionName, params: stepOptions } = step
|
|
8
|
-
var { mutation } = stepOptions || {}
|
|
11
|
+
var { mutation, variables: variablesAccessorMap } = stepOptions || {}
|
|
12
|
+
|
|
9
13
|
var { data, variables } = context
|
|
10
14
|
|
|
11
15
|
const vm = new VM({
|
|
@@ -19,16 +23,21 @@ async function GraphqlMutate(step, context) {
|
|
|
19
23
|
|
|
20
24
|
var client = ConnectionManager.getConnectionInstanceByName(context.domain, connectionName)
|
|
21
25
|
|
|
22
|
-
|
|
26
|
+
const queryVariables = Object.keys(variablesAccessorMap).reduce((variables, key) => {
|
|
27
|
+
const accessor = variablesAccessorMap[key]
|
|
28
|
+
variables[key] = access(accessor, data)
|
|
29
|
+
return variables
|
|
30
|
+
}, {})
|
|
31
|
+
|
|
32
|
+
var { data: mutateResult } = await client.mutate({
|
|
23
33
|
mutation: gql`
|
|
24
34
|
${mutation}
|
|
25
|
-
|
|
35
|
+
`,
|
|
36
|
+
variables: queryVariables
|
|
26
37
|
})
|
|
27
38
|
|
|
28
|
-
var { data: mutationResult } = response.data
|
|
29
|
-
|
|
30
39
|
return {
|
|
31
|
-
data:
|
|
40
|
+
data: mutateResult
|
|
32
41
|
}
|
|
33
42
|
}
|
|
34
43
|
|
|
@@ -37,6 +46,14 @@ GraphqlMutate.parameterSpec = [
|
|
|
37
46
|
type: 'graphql',
|
|
38
47
|
name: 'mutation',
|
|
39
48
|
label: 'mutation'
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
type: 'key-values',
|
|
52
|
+
name: 'variables',
|
|
53
|
+
label: 'variables',
|
|
54
|
+
property: {
|
|
55
|
+
options: [] //'scenario-step-input'
|
|
56
|
+
}
|
|
40
57
|
}
|
|
41
58
|
]
|
|
42
59
|
GraphqlMutate.help = 'integration/task/graphql-mutate'
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import gql from 'graphql-tag'
|
|
2
2
|
import { VM } from 'vm2'
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
import { access } from '@things-factory/utils'
|
|
5
|
+
|
|
4
6
|
import { ConnectionManager } from '../connection-manager'
|
|
7
|
+
import { TaskRegistry } from '../task-registry'
|
|
5
8
|
|
|
6
9
|
async function GraphqlQuery(step, context) {
|
|
7
10
|
var { connection: connectionName, params: stepOptions } = step
|
|
8
|
-
var { query } = stepOptions || {}
|
|
11
|
+
var { query, variables: variablesAccessorMap } = stepOptions || {}
|
|
9
12
|
var { domain, data, variables } = context
|
|
10
13
|
|
|
11
14
|
const vm = new VM({
|
|
@@ -19,10 +22,17 @@ async function GraphqlQuery(step, context) {
|
|
|
19
22
|
|
|
20
23
|
var client = ConnectionManager.getConnectionInstanceByName(domain, connectionName)
|
|
21
24
|
|
|
25
|
+
const queryVariables = Object.keys(variablesAccessorMap).reduce((variables, key) => {
|
|
26
|
+
const accessor = variablesAccessorMap[key]
|
|
27
|
+
variables[key] = access(accessor, data)
|
|
28
|
+
return variables
|
|
29
|
+
}, {})
|
|
30
|
+
|
|
22
31
|
var { data: queryResult } = await client.query({
|
|
23
32
|
query: gql`
|
|
24
33
|
${query}
|
|
25
|
-
|
|
34
|
+
`,
|
|
35
|
+
variables: queryVariables
|
|
26
36
|
})
|
|
27
37
|
|
|
28
38
|
return {
|
|
@@ -35,6 +45,14 @@ GraphqlQuery.parameterSpec = [
|
|
|
35
45
|
type: 'graphql',
|
|
36
46
|
name: 'query',
|
|
37
47
|
label: 'query'
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
type: 'key-values',
|
|
51
|
+
name: 'variables',
|
|
52
|
+
label: 'variables',
|
|
53
|
+
property: {
|
|
54
|
+
options: [] //'scenario-step-input'
|
|
55
|
+
}
|
|
38
56
|
}
|
|
39
57
|
]
|
|
40
58
|
GraphqlQuery.help = 'integration/task/graphql-query'
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { TaskRegistry } from '../task-registry'
|
|
2
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
-
import { VM } from 'vm2'
|
|
4
|
-
import { getRepository } from 'typeorm'
|
|
5
1
|
import gql from 'graphql-tag'
|
|
2
|
+
import { getRepository } from 'typeorm'
|
|
3
|
+
import { VM } from 'vm2'
|
|
4
|
+
|
|
5
|
+
import { User } from '@things-factory/auth-base'
|
|
6
|
+
import { access } from '@things-factory/utils'
|
|
7
|
+
|
|
8
|
+
import { TaskRegistry } from '../task-registry'
|
|
6
9
|
|
|
7
10
|
async function LocalGraphqlMutate(step, context) {
|
|
8
11
|
var { params, updaterId } = step
|
|
9
|
-
var { mutation } = params || {}
|
|
12
|
+
var { mutation, variables: variablesAccessorMap } = params || {}
|
|
10
13
|
var { client, domain, data, variables } = context
|
|
11
14
|
|
|
12
15
|
const user = await getRepository(User).findOne(updaterId, {
|
|
@@ -22,11 +25,17 @@ async function LocalGraphqlMutate(step, context) {
|
|
|
22
25
|
|
|
23
26
|
mutation = vm.run('`' + mutation + '`')
|
|
24
27
|
|
|
28
|
+
const queryVariables = Object.keys(variablesAccessorMap).reduce((variables, key) => {
|
|
29
|
+
const accessor = variablesAccessorMap[key]
|
|
30
|
+
variables[key] = access(accessor, data)
|
|
31
|
+
return variables
|
|
32
|
+
}, {})
|
|
33
|
+
|
|
25
34
|
var { data: mutateResult } = await client.mutate({
|
|
26
35
|
mutation: gql`
|
|
27
36
|
${mutation}
|
|
28
37
|
`,
|
|
29
|
-
variables,
|
|
38
|
+
variables: queryVariables,
|
|
30
39
|
context: {
|
|
31
40
|
state: {
|
|
32
41
|
domain,
|
|
@@ -45,6 +54,14 @@ LocalGraphqlMutate.parameterSpec = [
|
|
|
45
54
|
type: 'graphql',
|
|
46
55
|
name: 'mutation',
|
|
47
56
|
label: 'mutation'
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'key-values',
|
|
60
|
+
name: 'variables',
|
|
61
|
+
label: 'variables',
|
|
62
|
+
property: {
|
|
63
|
+
options: [] //'scenario-step-input'
|
|
64
|
+
}
|
|
48
65
|
}
|
|
49
66
|
]
|
|
50
67
|
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { TaskRegistry } from '../task-registry'
|
|
2
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
-
import { VM } from 'vm2'
|
|
4
|
-
import { getRepository } from 'typeorm'
|
|
5
1
|
import gql from 'graphql-tag'
|
|
2
|
+
import { getRepository } from 'typeorm'
|
|
3
|
+
import { VM } from 'vm2'
|
|
4
|
+
|
|
5
|
+
import { User } from '@things-factory/auth-base'
|
|
6
|
+
import { access } from '@things-factory/utils'
|
|
7
|
+
|
|
8
|
+
import { TaskRegistry } from '../task-registry'
|
|
6
9
|
|
|
7
10
|
async function LocalGraphqlQuery(step, context) {
|
|
8
11
|
var { params, updaterId } = step
|
|
9
|
-
var { query } = params || {}
|
|
12
|
+
var { query, variables: variablesAccessorMap } = params || {}
|
|
10
13
|
var { client, domain, data, variables } = context
|
|
11
14
|
|
|
12
15
|
const user = await getRepository(User).findOne(updaterId, {
|
|
@@ -22,11 +25,17 @@ async function LocalGraphqlQuery(step, context) {
|
|
|
22
25
|
|
|
23
26
|
query = vm.run('`' + query + '`')
|
|
24
27
|
|
|
28
|
+
const queryVariables = Object.keys(variablesAccessorMap).reduce((variables, key) => {
|
|
29
|
+
const accessor = variablesAccessorMap[key]
|
|
30
|
+
variables[key] = access(accessor, data)
|
|
31
|
+
return variables
|
|
32
|
+
}, {})
|
|
33
|
+
|
|
25
34
|
var { data: queryResult } = await client.query({
|
|
26
35
|
query: gql`
|
|
27
36
|
${query}
|
|
28
37
|
`,
|
|
29
|
-
variables,
|
|
38
|
+
variables: queryVariables,
|
|
30
39
|
context: {
|
|
31
40
|
state: {
|
|
32
41
|
domain,
|
|
@@ -45,6 +54,14 @@ LocalGraphqlQuery.parameterSpec = [
|
|
|
45
54
|
type: 'graphql',
|
|
46
55
|
name: 'query',
|
|
47
56
|
label: 'query'
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'key-values',
|
|
60
|
+
name: 'variables',
|
|
61
|
+
label: 'variables',
|
|
62
|
+
property: {
|
|
63
|
+
options: [] //'scenario-step-input'
|
|
64
|
+
}
|
|
48
65
|
}
|
|
49
66
|
]
|
|
50
67
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { access } from '@things-factory/utils'
|
|
2
|
+
|
|
2
3
|
import { TaskRegistry } from '../task-registry'
|
|
3
4
|
|
|
4
5
|
async function SwitchGoTo(step, { logger, data }) {
|
|
@@ -27,7 +28,7 @@ SwitchGoTo.parameterSpec = [
|
|
|
27
28
|
type: 'map',
|
|
28
29
|
name: 'cases',
|
|
29
30
|
label: 'cases',
|
|
30
|
-
|
|
31
|
+
property: {
|
|
31
32
|
valuetype: 'scenario-step-input'
|
|
32
33
|
}
|
|
33
34
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { access } from '@things-factory/utils'
|
|
2
|
+
|
|
2
3
|
import { TaskRegistry } from '../task-registry'
|
|
3
4
|
|
|
4
5
|
async function SwitchRangeGoTo(step, { logger, data }) {
|
|
@@ -38,7 +39,7 @@ SwitchRangeGoTo.parameterSpec = [
|
|
|
38
39
|
type: 'range',
|
|
39
40
|
name: 'cases',
|
|
40
41
|
label: 'cases',
|
|
41
|
-
|
|
42
|
+
property: {
|
|
42
43
|
valuetype: 'scenario-step-input'
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { access, deepClone } from '@things-factory/utils'
|
|
2
|
-
|
|
4
|
+
|
|
3
5
|
import { Scenario } from '../../service'
|
|
4
|
-
import {
|
|
6
|
+
import { TaskRegistry } from '../task-registry'
|
|
5
7
|
|
|
6
8
|
async function SwitchRangeScenario(step, context) {
|
|
7
9
|
var { logger, data, load } = context
|
|
@@ -60,7 +62,7 @@ SwitchRangeScenario.parameterSpec = [
|
|
|
60
62
|
type: 'range',
|
|
61
63
|
name: 'cases',
|
|
62
64
|
label: 'cases',
|
|
63
|
-
|
|
65
|
+
property: {
|
|
64
66
|
valuetype: 'scenario-input'
|
|
65
67
|
}
|
|
66
68
|
},
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { access, deepClone } from '@things-factory/utils'
|
|
2
|
-
|
|
4
|
+
|
|
3
5
|
import { Scenario } from '../../service'
|
|
4
|
-
import {
|
|
6
|
+
import { TaskRegistry } from '../task-registry'
|
|
5
7
|
|
|
6
8
|
async function SwitchScenario(step, context) {
|
|
7
9
|
var { logger, data, load } = context
|
|
@@ -48,7 +50,7 @@ SwitchScenario.parameterSpec = [
|
|
|
48
50
|
type: 'map',
|
|
49
51
|
name: 'cases',
|
|
50
52
|
label: 'cases',
|
|
51
|
-
|
|
53
|
+
property: {
|
|
52
54
|
valuetype: 'scenario-input'
|
|
53
55
|
}
|
|
54
56
|
},
|