@things-factory/integration-base 6.2.33 → 6.2.35
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/index.js +2 -0
- package/dist-server/engine/task/index.js.map +1 -1
- package/dist-server/engine/task/local-graphql-mutate.js +7 -2
- package/dist-server/engine/task/local-graphql-mutate.js.map +1 -1
- package/dist-server/engine/task/local-graphql-query.js +7 -2
- package/dist-server/engine/task/local-graphql-query.js.map +1 -1
- package/dist-server/engine/task/read-state.js +48 -0
- package/dist-server/engine/task/read-state.js.map +1 -0
- package/dist-server/engine/task/state-read.js +49 -0
- package/dist-server/engine/task/state-read.js.map +1 -0
- package/dist-server/engine/task/state-write.js +57 -0
- package/dist-server/engine/task/state-write.js.map +1 -0
- package/dist-server/engine/task/write-state.js +56 -0
- package/dist-server/engine/task/write-state.js.map +1 -0
- package/dist-server/service/index.js +6 -2
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/state-register/index.js +10 -0
- package/dist-server/service/state-register/index.js.map +1 -0
- package/dist-server/service/state-register/state-register-mutation.js +153 -0
- package/dist-server/service/state-register/state-register-mutation.js.map +1 -0
- package/dist-server/service/state-register/state-register-query.js +113 -0
- package/dist-server/service/state-register/state-register-query.js.map +1 -0
- package/dist-server/service/state-register/state-register-type.js +90 -0
- package/dist-server/service/state-register/state-register-type.js.map +1 -0
- package/dist-server/service/state-register/state-register.js +105 -0
- package/dist-server/service/state-register/state-register.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/integration/concept/scenario.ja.md +4 -0
- package/helps/integration/concept/scenario.ko.md +4 -0
- package/helps/integration/concept/scenario.md +3 -3
- package/helps/integration/concept/scenario.ms.md +4 -0
- package/helps/integration/concept/scenario.zh.md +4 -0
- package/helps/integration/concept/state-register.ja.md +8 -0
- package/helps/integration/concept/state-register.ko.md +8 -0
- package/helps/integration/concept/state-register.md +8 -0
- package/helps/integration/concept/state-register.ms.md +8 -0
- package/helps/integration/concept/state-register.zh.md +8 -0
- package/helps/integration/concept/task.ja.md +25 -0
- package/helps/integration/concept/task.ko.md +25 -0
- package/helps/integration/concept/task.md +17 -17
- package/helps/integration/concept/task.ms.md +28 -0
- package/helps/integration/concept/task.zh.md +25 -0
- package/helps/integration/task/state-read.ja.md +8 -0
- package/helps/integration/task/state-read.ko.md +8 -0
- package/helps/integration/task/state-read.md +8 -0
- package/helps/integration/task/state-read.ms.md +8 -0
- package/helps/integration/task/state-read.zh.md +8 -0
- package/helps/integration/task/state-write.ja.md +10 -0
- package/helps/integration/task/state-write.ko.md +10 -0
- package/helps/integration/task/state-write.md +10 -0
- package/helps/integration/task/state-write.ms.md +10 -0
- package/helps/integration/task/state-write.zh.md +10 -0
- package/package.json +7 -7
- package/server/engine/task/index.ts +2 -0
- package/server/engine/task/local-graphql-mutate.ts +8 -2
- package/server/engine/task/local-graphql-query.ts +8 -2
- package/server/engine/task/state-read.ts +54 -0
- package/server/engine/task/state-write.ts +63 -0
- package/server/service/index.ts +6 -2
- package/server/service/state-register/index.ts +7 -0
- package/server/service/state-register/state-register-mutation.ts +166 -0
- package/server/service/state-register/state-register-query.ts +72 -0
- package/server/service/state-register/state-register-type.ts +64 -0
- package/server/service/state-register/state-register.ts +91 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,uBAAoB;AACpB,0BAAuB;AACvB,mBAAgB;AAChB,iBAAc;AACd,qBAAkB;AAClB,sBAAmB;AACnB,uBAAoB;AACpB,2BAAwB;AACxB,4BAAyB;AACzB,iCAA8B;AAC9B,kCAA+B;AAC/B,0BAAuB;AACvB,2BAAwB;AACxB,8BAA2B;AAC3B,mCAAgC;AAChC,iCAA8B;AAC9B,yBAAsB;AACtB,kBAAe;AACf,iBAAc;AACd,yBAAsB;AACtB,+BAA4B;AAC5B,6BAA0B;AAC1B,mCAAgC;AAChC,wBAAqB;AACrB,8BAA2B;AAC3B,oBAAiB;AACjB,4BAAyB;AACzB,4BAAyB;AACzB,0BAAuB;AACvB,mBAAgB;AAChB,uBAAoB;AACpB,4BAAyB;AACzB,6BAA0B;AAC1B,oBAAiB;AACjB,0BAAuB;AACvB,yBAAsB;AACtB,2BAAwB;AACxB,4BAAyB;AACzB,wBAAqB;AACrB,8BAA2B;AAC3B,qBAAkB","sourcesContent":["import './echo-send'\nimport './echo-receive'\nimport './sleep'\nimport './log'\nimport './publish'\nimport './http-get'\nimport './http-post'\nimport './graphql-query'\nimport './graphql-mutate'\nimport './local-graphql-query'\nimport './local-graphql-mutate'\nimport './sub-scenario'\nimport './stop-scenario'\nimport './book-up-scenario'\nimport './pick-pending-scenario'\nimport './reset-pending-queue'\nimport './empty-check'\nimport './goto'\nimport './end'\nimport './switch-goto'\nimport './switch-range-goto'\nimport './switch-scenario'\nimport './switch-range-scenario'\nimport './switch-set'\nimport './switch-range-set'\nimport './script'\nimport './database-query'\nimport './mqtt-subscribe'\nimport './mqtt-publish'\nimport './throw'\nimport './variables'\nimport './floating-point'\nimport './socket-listener'\nimport './random'\nimport './csv-readline'\nimport './data-mapper'\nimport './headless-post'\nimport './headless-scrap'\nimport './set-domain'\nimport './oracle-procedure'\nimport './jsonata'\n"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,uBAAoB;AACpB,0BAAuB;AACvB,mBAAgB;AAChB,iBAAc;AACd,qBAAkB;AAClB,sBAAmB;AACnB,uBAAoB;AACpB,2BAAwB;AACxB,4BAAyB;AACzB,iCAA8B;AAC9B,kCAA+B;AAC/B,0BAAuB;AACvB,2BAAwB;AACxB,8BAA2B;AAC3B,mCAAgC;AAChC,iCAA8B;AAC9B,yBAAsB;AACtB,kBAAe;AACf,iBAAc;AACd,yBAAsB;AACtB,+BAA4B;AAC5B,6BAA0B;AAC1B,mCAAgC;AAChC,wBAAqB;AACrB,8BAA2B;AAC3B,oBAAiB;AACjB,4BAAyB;AACzB,4BAAyB;AACzB,0BAAuB;AACvB,mBAAgB;AAChB,uBAAoB;AACpB,4BAAyB;AACzB,6BAA0B;AAC1B,oBAAiB;AACjB,0BAAuB;AACvB,yBAAsB;AACtB,2BAAwB;AACxB,4BAAyB;AACzB,wBAAqB;AACrB,8BAA2B;AAC3B,qBAAkB;AAClB,wBAAqB;AACrB,yBAAsB","sourcesContent":["import './echo-send'\nimport './echo-receive'\nimport './sleep'\nimport './log'\nimport './publish'\nimport './http-get'\nimport './http-post'\nimport './graphql-query'\nimport './graphql-mutate'\nimport './local-graphql-query'\nimport './local-graphql-mutate'\nimport './sub-scenario'\nimport './stop-scenario'\nimport './book-up-scenario'\nimport './pick-pending-scenario'\nimport './reset-pending-queue'\nimport './empty-check'\nimport './goto'\nimport './end'\nimport './switch-goto'\nimport './switch-range-goto'\nimport './switch-scenario'\nimport './switch-range-scenario'\nimport './switch-set'\nimport './switch-range-set'\nimport './script'\nimport './database-query'\nimport './mqtt-subscribe'\nimport './mqtt-publish'\nimport './throw'\nimport './variables'\nimport './floating-point'\nimport './socket-listener'\nimport './random'\nimport './csv-readline'\nimport './data-mapper'\nimport './headless-post'\nimport './headless-scrap'\nimport './set-domain'\nimport './oracle-procedure'\nimport './jsonata'\nimport './state-read'\nimport './state-write'\n"]}
|
@@ -10,7 +10,7 @@ const task_registry_1 = require("../task-registry");
|
|
10
10
|
async function LocalGraphqlMutate(step, context) {
|
11
11
|
var { params, updaterId } = step;
|
12
12
|
var { mutation, variables: variablesAccessorMap, headers } = params || {};
|
13
|
-
var { client, domain, user, data, variables, lng } = context;
|
13
|
+
var { logger, client, domain, user, data, variables, lng } = context;
|
14
14
|
user =
|
15
15
|
user ||
|
16
16
|
(await (0, shell_1.getRepository)(auth_base_1.User).findOne({
|
@@ -32,7 +32,7 @@ async function LocalGraphqlMutate(step, context) {
|
|
32
32
|
variables[key] = (0, utils_1.access)(accessor, data);
|
33
33
|
return variables;
|
34
34
|
}, {});
|
35
|
-
var { data: mutateResult } = await client.mutate({
|
35
|
+
var { data: mutateResult, errors } = await client.mutate({
|
36
36
|
mutation: (0, graphql_tag_1.default) `
|
37
37
|
${mutation}
|
38
38
|
`,
|
@@ -45,6 +45,11 @@ async function LocalGraphqlMutate(step, context) {
|
|
45
45
|
}
|
46
46
|
}
|
47
47
|
});
|
48
|
+
if (errors) {
|
49
|
+
errors.forEach(error => {
|
50
|
+
logger.error('GraphQL Error: %s', error);
|
51
|
+
});
|
52
|
+
}
|
48
53
|
return {
|
49
54
|
data: mutateResult
|
50
55
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"local-graphql-mutate.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-mutate.ts"],"names":[],"mappings":";;;AAAA,sEAA6B;AAC7B,6BAAwB;AAExB,yDAAgD;AAChD,iDAAqD;AACrD,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,OAAO,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IACzE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"local-graphql-mutate.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-mutate.ts"],"names":[],"mappings":";;;AAAA,sEAA6B;AAC7B,6BAAwB;AAExB,yDAAgD;AAChD,iDAAqD;AACrD,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,OAAO,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IACzE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IAEpE,IAAI;QACF,IAAI;YACJ,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;gBACjC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACxB,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC,CAAA;IAEL,MAAM,EAAE,GAAG,IAAI,QAAE,CAAC;QAChB,OAAO,EAAE;YACP,MAAM;YACN,IAAI;YACJ,GAAG;YACH,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,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QACvF,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,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QACvD,QAAQ,EAAE,IAAA,qBAAG,EAAA;QACT,QAAQ;KACX;QACD,SAAS,EAAE,cAAc;QACzB,OAAO;QACP,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;aACL;SACF;KACF,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;KACH;IAED,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;KACnB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB;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","sourcesContent":["import gql from 'graphql-tag'\nimport { VM } from 'vm2'\n\nimport { User } from '@things-factory/auth-base'\nimport { getRepository } from '@things-factory/shell'\nimport { access } from '@things-factory/utils'\n\nimport { TaskRegistry } from '../task-registry'\n\nasync function LocalGraphqlMutate(step, context) {\n var { params, updaterId } = step\n var { mutation, variables: variablesAccessorMap, headers } = params || {}\n var { logger, client, domain, user, data, variables, lng } = context\n\n user =\n user ||\n (await getRepository(User).findOne({\n where: { id: updaterId },\n relations: ['domains']\n }))\n\n const vm = new VM({\n sandbox: {\n domain,\n user,\n lng,\n data,\n variables\n }\n })\n\n mutation = vm.run('`' + mutation + '`')\n\n const queryVariables = Object.keys(variablesAccessorMap || {}).reduce((variables, key) => {\n const accessor = variablesAccessorMap[key]\n variables[key] = access(accessor, data)\n return variables\n }, {})\n\n var { data: mutateResult, errors } = await client.mutate({\n mutation: gql`\n ${mutation}\n `,\n variables: queryVariables,\n headers,\n context: {\n state: {\n domain,\n user\n }\n }\n })\n\n if (errors) {\n errors.forEach(error => {\n logger.error('GraphQL Error: %s', error)\n })\n }\n\n return {\n data: mutateResult\n }\n}\n\nLocalGraphqlMutate.parameterSpec = [\n {\n type: 'graphql',\n name: 'mutation',\n label: 'mutation'\n },\n {\n type: 'key-values',\n name: 'variables',\n label: 'variables'\n },\n {\n type: 'key-values',\n name: 'headers',\n label: 'headers'\n }\n]\n\nLocalGraphqlMutate.connectorFree = true\nLocalGraphqlMutate.help = 'integration/task/local-graphql-mutate'\n\nTaskRegistry.registerTaskHandler('local-graphql-mutate', LocalGraphqlMutate)\n"]}
|
@@ -10,7 +10,7 @@ const task_registry_1 = require("../task-registry");
|
|
10
10
|
async function LocalGraphqlQuery(step, context) {
|
11
11
|
var { params, updaterId } = step;
|
12
12
|
var { query, variables: variablesAccessorMap, headers } = params || {};
|
13
|
-
var { client, domain, user, data, variables, lng } = context;
|
13
|
+
var { logger, client, domain, user, data, variables, lng } = context;
|
14
14
|
user =
|
15
15
|
user ||
|
16
16
|
(await (0, shell_1.getRepository)(auth_base_1.User).findOne({
|
@@ -32,7 +32,7 @@ async function LocalGraphqlQuery(step, context) {
|
|
32
32
|
variables[key] = (0, utils_1.access)(accessor, data);
|
33
33
|
return variables;
|
34
34
|
}, {});
|
35
|
-
var { data: queryResult } = await client.query({
|
35
|
+
var { data: queryResult, errors } = await client.query({
|
36
36
|
query: (0, graphql_tag_1.default) `
|
37
37
|
${query}
|
38
38
|
`,
|
@@ -45,6 +45,11 @@ async function LocalGraphqlQuery(step, context) {
|
|
45
45
|
}
|
46
46
|
}
|
47
47
|
});
|
48
|
+
if (errors) {
|
49
|
+
errors.forEach(error => {
|
50
|
+
logger.error('GraphQL Error: %s', error);
|
51
|
+
});
|
52
|
+
}
|
48
53
|
return {
|
49
54
|
data: queryResult
|
50
55
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"local-graphql-query.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-query.ts"],"names":[],"mappings":";;;AAAA,sEAA6B;AAC7B,6BAAwB;AAExB,yDAAgD;AAChD,iDAAqD;AACrD,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,OAAO,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IACtE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"local-graphql-query.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-query.ts"],"names":[],"mappings":";;;AAAA,sEAA6B;AAC7B,6BAAwB;AAExB,yDAAgD;AAChD,iDAAqD;AACrD,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,OAAO,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IACtE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IAEpE,IAAI;QACF,IAAI;YACJ,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;gBACjC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACxB,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC,CAAA;IAEL,MAAM,EAAE,GAAG,IAAI,QAAE,CAAC;QAChB,OAAO,EAAE;YACP,MAAM;YACN,IAAI;YACJ,GAAG;YACH,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,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QACvF,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,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QACrD,KAAK,EAAE,IAAA,qBAAG,EAAA;QACN,KAAK;KACR;QACD,SAAS,EAAE,cAAc;QACzB,OAAO;QACP,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;aACL;SACF;KACF,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;KACH;IAED,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;KACnB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB;CACF,CAAA;AAED,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAA;AACtC,iBAAiB,CAAC,IAAI,GAAG,sCAAsC,CAAA;AAE/D,4BAAY,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\nimport { VM } from 'vm2'\n\nimport { User } from '@things-factory/auth-base'\nimport { getRepository } from '@things-factory/shell'\nimport { access } from '@things-factory/utils'\n\nimport { TaskRegistry } from '../task-registry'\n\nasync function LocalGraphqlQuery(step, context) {\n var { params, updaterId } = step\n var { query, variables: variablesAccessorMap, headers } = params || {}\n var { logger, client, domain, user, data, variables, lng } = context\n\n user =\n user ||\n (await getRepository(User).findOne({\n where: { id: updaterId },\n relations: ['domains']\n }))\n\n const vm = new VM({\n sandbox: {\n domain,\n user,\n lng,\n data,\n variables\n }\n })\n\n query = vm.run('`' + query + '`')\n\n const queryVariables = Object.keys(variablesAccessorMap || {}).reduce((variables, key) => {\n const accessor = variablesAccessorMap[key]\n variables[key] = access(accessor, data)\n return variables\n }, {})\n\n var { data: queryResult, errors } = await client.query({\n query: gql`\n ${query}\n `,\n variables: queryVariables,\n headers,\n context: {\n state: {\n domain,\n user\n }\n }\n })\n\n if (errors) {\n errors.forEach(error => {\n logger.error('GraphQL Error: %s', error)\n })\n }\n\n return {\n data: queryResult\n }\n}\n\nLocalGraphqlQuery.parameterSpec = [\n {\n type: 'graphql',\n name: 'query',\n label: 'query'\n },\n {\n type: 'key-values',\n name: 'variables',\n label: 'variables'\n },\n {\n type: 'key-values',\n name: 'headers',\n label: 'headers'\n }\n]\n\nLocalGraphqlQuery.connectorFree = true\nLocalGraphqlQuery.help = 'integration/task/local-graphql-query'\n\nTaskRegistry.registerTaskHandler('local-graphql-query', LocalGraphqlQuery)\n"]}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const tslib_1 = require("tslib");
|
4
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
5
|
+
const task_registry_1 = require("../task-registry");
|
6
|
+
async function ReadState(step, { logger, publish, data, domain, user, client }) {
|
7
|
+
var { params: { name } } = step;
|
8
|
+
if (!name) {
|
9
|
+
throw Error(`name should be defined: name - '${name}'`);
|
10
|
+
}
|
11
|
+
var { data: queryResult, errors } = await client.query({
|
12
|
+
query: (0, graphql_tag_1.default) `
|
13
|
+
query ($name: String!) {
|
14
|
+
stateRegisterByName(state: $state, name: $name) {
|
15
|
+
state
|
16
|
+
}
|
17
|
+
}
|
18
|
+
`,
|
19
|
+
variables: {
|
20
|
+
name
|
21
|
+
},
|
22
|
+
context: {
|
23
|
+
state: {
|
24
|
+
domain,
|
25
|
+
user
|
26
|
+
}
|
27
|
+
}
|
28
|
+
});
|
29
|
+
if (errors) {
|
30
|
+
errors.forEach(error => {
|
31
|
+
logger.error('GraphQL Error: %s', error);
|
32
|
+
});
|
33
|
+
}
|
34
|
+
return {
|
35
|
+
data: queryResult === null || queryResult === void 0 ? void 0 : queryResult.stateRegisterByName.state
|
36
|
+
};
|
37
|
+
}
|
38
|
+
ReadState.parameterSpec = [
|
39
|
+
{
|
40
|
+
type: 'string',
|
41
|
+
name: 'name',
|
42
|
+
label: 'name'
|
43
|
+
}
|
44
|
+
];
|
45
|
+
ReadState.connectorFree = true;
|
46
|
+
ReadState.help = 'integration/task/read-state';
|
47
|
+
task_registry_1.TaskRegistry.registerTaskHandler('read-state', ReadState);
|
48
|
+
//# sourceMappingURL=read-state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"read-state.js","sourceRoot":"","sources":["../../../server/engine/task/read-state.ts"],"names":[],"mappings":";;;AAAA,sEAA6B;AAC7B,oDAA+C;AAE/C,KAAK,UAAU,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5E,IAAI,EACF,MAAM,EAAE,EAAE,IAAI,EAAE,EACjB,GAAG,IAAI,CAAA;IAER,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,KAAK,CAAC,mCAAmC,IAAI,GAAG,CAAC,CAAA;KACxD;IAED,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QACrD,KAAK,EAAE,IAAA,qBAAG,EAAA;;;;;;KAMT;QACD,SAAS,EAAE;YACT,IAAI;SACL;QACD,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;aACL;SACF;KACF,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;KACH;IAED,OAAO;QACL,IAAI,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,mBAAmB,CAAC,KAAK;KAC7C,CAAA;AACH,CAAC;AAED,SAAS,CAAC,aAAa,GAAG;IACxB;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;KACd;CACF,CAAA;AAED,SAAS,CAAC,aAAa,GAAG,IAAI,CAAA;AAC9B,SAAS,CAAC,IAAI,GAAG,6BAA6B,CAAA;AAE9C,4BAAY,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\nimport { TaskRegistry } from '../task-registry'\n\nasync function ReadState(step, { logger, publish, data, domain, user, client }) {\n var {\n params: { name }\n } = step\n\n if (!name) {\n throw Error(`name should be defined: name - '${name}'`)\n }\n\n var { data: queryResult, errors } = await client.query({\n query: gql`\n query ($name: String!) {\n stateRegisterByName(state: $state, name: $name) {\n state\n }\n }\n `,\n variables: {\n name\n },\n context: {\n state: {\n domain,\n user\n }\n }\n })\n\n if (errors) {\n errors.forEach(error => {\n logger.error('GraphQL Error: %s', error)\n })\n }\n\n return {\n data: queryResult?.stateRegisterByName.state\n }\n}\n\nReadState.parameterSpec = [\n {\n type: 'string',\n name: 'name',\n label: 'name'\n }\n]\n\nReadState.connectorFree = true\nReadState.help = 'integration/task/read-state'\n\nTaskRegistry.registerTaskHandler('read-state', ReadState)\n"]}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const tslib_1 = require("tslib");
|
4
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
5
|
+
const task_registry_1 = require("../task-registry");
|
6
|
+
async function StateRead(step, { logger, publish, data, domain, user, client }) {
|
7
|
+
var _a;
|
8
|
+
var { params: { name } } = step;
|
9
|
+
if (!name) {
|
10
|
+
throw Error(`name should be defined: name - '${name}'`);
|
11
|
+
}
|
12
|
+
var { data: queryResult, errors } = await client.query({
|
13
|
+
query: (0, graphql_tag_1.default) `
|
14
|
+
query ($name: String!) {
|
15
|
+
stateRegisterByName(state: $state, name: $name) {
|
16
|
+
state
|
17
|
+
}
|
18
|
+
}
|
19
|
+
`,
|
20
|
+
variables: {
|
21
|
+
name
|
22
|
+
},
|
23
|
+
context: {
|
24
|
+
state: {
|
25
|
+
domain,
|
26
|
+
user
|
27
|
+
}
|
28
|
+
}
|
29
|
+
});
|
30
|
+
if (errors) {
|
31
|
+
errors.forEach(error => {
|
32
|
+
logger.error('GraphQL Error: %s', error);
|
33
|
+
});
|
34
|
+
}
|
35
|
+
return {
|
36
|
+
data: (_a = queryResult === null || queryResult === void 0 ? void 0 : queryResult.stateRegisterByName) === null || _a === void 0 ? void 0 : _a.state
|
37
|
+
};
|
38
|
+
}
|
39
|
+
StateRead.parameterSpec = [
|
40
|
+
{
|
41
|
+
type: 'string',
|
42
|
+
name: 'name',
|
43
|
+
label: 'name'
|
44
|
+
}
|
45
|
+
];
|
46
|
+
StateRead.connectorFree = true;
|
47
|
+
StateRead.help = 'integration/task/state-read';
|
48
|
+
task_registry_1.TaskRegistry.registerTaskHandler('state-read', StateRead);
|
49
|
+
//# sourceMappingURL=state-read.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state-read.js","sourceRoot":"","sources":["../../../server/engine/task/state-read.ts"],"names":[],"mappings":";;;AAAA,sEAA6B;AAC7B,oDAA+C;AAE/C,KAAK,UAAU,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;;IAC5E,IAAI,EACF,MAAM,EAAE,EAAE,IAAI,EAAE,EACjB,GAAG,IAAI,CAAA;IAER,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,KAAK,CAAC,mCAAmC,IAAI,GAAG,CAAC,CAAA;KACxD;IAED,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QACrD,KAAK,EAAE,IAAA,qBAAG,EAAA;;;;;;KAMT;QACD,SAAS,EAAE;YACT,IAAI;SACL;QACD,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;aACL;SACF;KACF,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;KACH;IAED,OAAO;QACL,IAAI,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,mBAAmB,0CAAE,KAAK;KAC9C,CAAA;AACH,CAAC;AAED,SAAS,CAAC,aAAa,GAAG;IACxB;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;KACd;CACF,CAAA;AAED,SAAS,CAAC,aAAa,GAAG,IAAI,CAAA;AAC9B,SAAS,CAAC,IAAI,GAAG,6BAA6B,CAAA;AAE9C,4BAAY,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\nimport { TaskRegistry } from '../task-registry'\n\nasync function StateRead(step, { logger, publish, data, domain, user, client }) {\n var {\n params: { name }\n } = step\n\n if (!name) {\n throw Error(`name should be defined: name - '${name}'`)\n }\n\n var { data: queryResult, errors } = await client.query({\n query: gql`\n query ($name: String!) {\n stateRegisterByName(state: $state, name: $name) {\n state\n }\n }\n `,\n variables: {\n name\n },\n context: {\n state: {\n domain,\n user\n }\n }\n })\n\n if (errors) {\n errors.forEach(error => {\n logger.error('GraphQL Error: %s', error)\n })\n }\n\n return {\n data: queryResult?.stateRegisterByName?.state\n }\n}\n\nStateRead.parameterSpec = [\n {\n type: 'string',\n name: 'name',\n label: 'name'\n }\n]\n\nStateRead.connectorFree = true\nStateRead.help = 'integration/task/state-read'\n\nTaskRegistry.registerTaskHandler('state-read', StateRead)\n"]}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const tslib_1 = require("tslib");
|
4
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
5
|
+
const utils_1 = require("@things-factory/utils");
|
6
|
+
const task_registry_1 = require("../task-registry");
|
7
|
+
async function StateWrite(step, { logger, publish, data, domain, user, client }) {
|
8
|
+
var _a;
|
9
|
+
var { params: { name, accessor } } = step;
|
10
|
+
if (!name || !accessor) {
|
11
|
+
throw Error(`name and accessor should be defined: name - '${name}', accessor - '${accessor}'`);
|
12
|
+
}
|
13
|
+
var state = (0, utils_1.access)(accessor, data);
|
14
|
+
var { data: mutateResult, errors } = await client.mutate({
|
15
|
+
mutation: (0, graphql_tag_1.default) `
|
16
|
+
mutation ($state: Object!, $name: String!) {
|
17
|
+
updateStateRegisterByName(state: $state, name: $name) {
|
18
|
+
state
|
19
|
+
}
|
20
|
+
}
|
21
|
+
`,
|
22
|
+
variables: {
|
23
|
+
name,
|
24
|
+
state
|
25
|
+
},
|
26
|
+
context: {
|
27
|
+
state: {
|
28
|
+
domain,
|
29
|
+
user
|
30
|
+
}
|
31
|
+
}
|
32
|
+
});
|
33
|
+
if (errors) {
|
34
|
+
errors.forEach(error => {
|
35
|
+
logger.error('GraphQL Error: %s', error);
|
36
|
+
});
|
37
|
+
}
|
38
|
+
return {
|
39
|
+
data: (_a = mutateResult === null || mutateResult === void 0 ? void 0 : mutateResult.updateStateRegisterByName) === null || _a === void 0 ? void 0 : _a.state
|
40
|
+
};
|
41
|
+
}
|
42
|
+
StateWrite.parameterSpec = [
|
43
|
+
{
|
44
|
+
type: 'string',
|
45
|
+
name: 'name',
|
46
|
+
label: 'name'
|
47
|
+
},
|
48
|
+
{
|
49
|
+
type: 'scenario-step-input',
|
50
|
+
name: 'accessor',
|
51
|
+
label: 'accessor'
|
52
|
+
}
|
53
|
+
];
|
54
|
+
StateWrite.connectorFree = true;
|
55
|
+
StateWrite.help = 'integration/task/state-write';
|
56
|
+
task_registry_1.TaskRegistry.registerTaskHandler('state-write', StateWrite);
|
57
|
+
//# sourceMappingURL=state-write.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state-write.js","sourceRoot":"","sources":["../../../server/engine/task/state-write.ts"],"names":[],"mappings":";;;AAAA,sEAA6B;AAC7B,iDAA8C;AAC9C,oDAA+C;AAE/C,KAAK,UAAU,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;;IAC7E,IAAI,EACF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC3B,GAAG,IAAI,CAAA;IAER,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACtB,MAAM,KAAK,CAAC,gDAAgD,IAAI,kBAAkB,QAAQ,GAAG,CAAC,CAAA;KAC/F;IAED,IAAI,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAElC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QACvD,QAAQ,EAAE,IAAA,qBAAG,EAAA;;;;;;KAMZ;QACD,SAAS,EAAE;YACT,IAAI;YACJ,KAAK;SACN;QACD,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;aACL;SACF;KACF,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;KACH;IAED,OAAO;QACL,IAAI,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,yBAAyB,0CAAE,KAAK;KACrD,CAAA;AACH,CAAC;AAED,UAAU,CAAC,aAAa,GAAG;IACzB;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;CACF,CAAA;AAED,UAAU,CAAC,aAAa,GAAG,IAAI,CAAA;AAC/B,UAAU,CAAC,IAAI,GAAG,8BAA8B,CAAA;AAEhD,4BAAY,CAAC,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\nimport { access } from '@things-factory/utils'\nimport { TaskRegistry } from '../task-registry'\n\nasync function StateWrite(step, { logger, publish, data, domain, user, client }) {\n var {\n params: { name, accessor }\n } = step\n\n if (!name || !accessor) {\n throw Error(`name and accessor should be defined: name - '${name}', accessor - '${accessor}'`)\n }\n\n var state = access(accessor, data)\n\n var { data: mutateResult, errors } = await client.mutate({\n mutation: gql`\n mutation ($state: Object!, $name: String!) {\n updateStateRegisterByName(state: $state, name: $name) {\n state\n }\n }\n `,\n variables: {\n name,\n state\n },\n context: {\n state: {\n domain,\n user\n }\n }\n })\n\n if (errors) {\n errors.forEach(error => {\n logger.error('GraphQL Error: %s', error)\n })\n }\n\n return {\n data: mutateResult?.updateStateRegisterByName?.state\n }\n}\n\nStateWrite.parameterSpec = [\n {\n type: 'string',\n name: 'name',\n label: 'name'\n },\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n }\n]\n\nStateWrite.connectorFree = true\nStateWrite.help = 'integration/task/state-write'\n\nTaskRegistry.registerTaskHandler('state-write', StateWrite)\n"]}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const tslib_1 = require("tslib");
|
4
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
5
|
+
const utils_1 = require("@things-factory/utils");
|
6
|
+
const task_registry_1 = require("../task-registry");
|
7
|
+
async function WriteState(step, { logger, publish, data, domain, user, client }) {
|
8
|
+
var { params: { name, accessor } } = step;
|
9
|
+
if (!name || !accessor) {
|
10
|
+
throw Error(`name and accessor should be defined: name - '${name}', accessor - '${accessor}'`);
|
11
|
+
}
|
12
|
+
var state = (0, utils_1.access)(accessor, data);
|
13
|
+
var { data: mutateResult, errors } = await client.mutate({
|
14
|
+
mutation: (0, graphql_tag_1.default) `
|
15
|
+
mutation ($state: Object!, $name: String!) {
|
16
|
+
updateStateRegisterByName(state: $state, name: $name) {
|
17
|
+
state
|
18
|
+
}
|
19
|
+
}
|
20
|
+
`,
|
21
|
+
variables: {
|
22
|
+
name,
|
23
|
+
state
|
24
|
+
},
|
25
|
+
context: {
|
26
|
+
state: {
|
27
|
+
domain,
|
28
|
+
user
|
29
|
+
}
|
30
|
+
}
|
31
|
+
});
|
32
|
+
if (errors) {
|
33
|
+
errors.forEach(error => {
|
34
|
+
logger.error('GraphQL Error: %s', error);
|
35
|
+
});
|
36
|
+
}
|
37
|
+
return {
|
38
|
+
data: mutateResult === null || mutateResult === void 0 ? void 0 : mutateResult.updateStateRegisterByName.state
|
39
|
+
};
|
40
|
+
}
|
41
|
+
WriteState.parameterSpec = [
|
42
|
+
{
|
43
|
+
type: 'string',
|
44
|
+
name: 'name',
|
45
|
+
label: 'name'
|
46
|
+
},
|
47
|
+
{
|
48
|
+
type: 'scenario-step-input',
|
49
|
+
name: 'accessor',
|
50
|
+
label: 'accessor'
|
51
|
+
}
|
52
|
+
];
|
53
|
+
WriteState.connectorFree = true;
|
54
|
+
WriteState.help = 'integration/task/write-state';
|
55
|
+
task_registry_1.TaskRegistry.registerTaskHandler('write-state', WriteState);
|
56
|
+
//# sourceMappingURL=write-state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"write-state.js","sourceRoot":"","sources":["../../../server/engine/task/write-state.ts"],"names":[],"mappings":";;;AAAA,sEAA6B;AAC7B,iDAA8C;AAC9C,oDAA+C;AAE/C,KAAK,UAAU,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7E,IAAI,EACF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC3B,GAAG,IAAI,CAAA;IAER,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACtB,MAAM,KAAK,CAAC,gDAAgD,IAAI,kBAAkB,QAAQ,GAAG,CAAC,CAAA;KAC/F;IAED,IAAI,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAElC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QACvD,QAAQ,EAAE,IAAA,qBAAG,EAAA;;;;;;KAMZ;QACD,SAAS,EAAE;YACT,IAAI;YACJ,KAAK;SACN;QACD,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;aACL;SACF;KACF,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;KACH;IAED,OAAO;QACL,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,yBAAyB,CAAC,KAAK;KACpD,CAAA;AACH,CAAC;AAED,UAAU,CAAC,aAAa,GAAG;IACzB;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;CACF,CAAA;AAED,UAAU,CAAC,aAAa,GAAG,IAAI,CAAA;AAC/B,UAAU,CAAC,IAAI,GAAG,8BAA8B,CAAA;AAEhD,4BAAY,CAAC,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\nimport { access } from '@things-factory/utils'\nimport { TaskRegistry } from '../task-registry'\n\nasync function WriteState(step, { logger, publish, data, domain, user, client }) {\n var {\n params: { name, accessor }\n } = step\n\n if (!name || !accessor) {\n throw Error(`name and accessor should be defined: name - '${name}', accessor - '${accessor}'`)\n }\n\n var state = access(accessor, data)\n\n var { data: mutateResult, errors } = await client.mutate({\n mutation: gql`\n mutation ($state: Object!, $name: String!) {\n updateStateRegisterByName(state: $state, name: $name) {\n state\n }\n }\n `,\n variables: {\n name,\n state\n },\n context: {\n state: {\n domain,\n user\n }\n }\n })\n\n if (errors) {\n errors.forEach(error => {\n logger.error('GraphQL Error: %s', error)\n })\n }\n\n return {\n data: mutateResult?.updateStateRegisterByName.state\n }\n}\n\nWriteState.parameterSpec = [\n {\n type: 'string',\n name: 'name',\n label: 'name'\n },\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n }\n]\n\nWriteState.connectorFree = true\nWriteState.help = 'integration/task/write-state'\n\nTaskRegistry.registerTaskHandler('write-state', WriteState)\n"]}
|
@@ -10,6 +10,7 @@ const scenario_queue_1 = require("./scenario-queue");
|
|
10
10
|
const step_1 = require("./step");
|
11
11
|
const task_type_1 = require("./task-type");
|
12
12
|
const payload_log_1 = require("./payload-log");
|
13
|
+
const state_register_1 = require("./state-register");
|
13
14
|
const analysis_1 = require("./analysis");
|
14
15
|
tslib_1.__exportStar(require("./property-spec"), exports);
|
15
16
|
tslib_1.__exportStar(require("./task-type/task-type-type"), exports);
|
@@ -21,6 +22,7 @@ tslib_1.__exportStar(require("./scenario-queue/scenario-queue-type"), exports);
|
|
21
22
|
tslib_1.__exportStar(require("./step/step-type"), exports);
|
22
23
|
tslib_1.__exportStar(require("./scenario-flow/scenario-flow"), exports);
|
23
24
|
tslib_1.__exportStar(require("./payload-log/payload-log"), exports);
|
25
|
+
tslib_1.__exportStar(require("./state-register/state-register"), exports);
|
24
26
|
exports.entities = [
|
25
27
|
...task_type_1.entities,
|
26
28
|
...connector_1.entities,
|
@@ -29,7 +31,8 @@ exports.entities = [
|
|
29
31
|
...scenario_instance_1.entities,
|
30
32
|
...scenario_queue_1.entities,
|
31
33
|
...step_1.entities,
|
32
|
-
...payload_log_1.entities
|
34
|
+
...payload_log_1.entities,
|
35
|
+
...state_register_1.entities
|
33
36
|
];
|
34
37
|
exports.schema = {
|
35
38
|
resolverClasses: [
|
@@ -41,7 +44,8 @@ exports.schema = {
|
|
41
44
|
...scenario_queue_1.resolvers,
|
42
45
|
...step_1.resolvers,
|
43
46
|
...payload_log_1.resolvers,
|
44
|
-
...analysis_1.resolvers
|
47
|
+
...analysis_1.resolvers,
|
48
|
+
...state_register_1.resolvers
|
45
49
|
]
|
46
50
|
};
|
47
51
|
var payload_log_2 = require("./payload-log/payload-log");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,6CAA+F;AAC/F,2CAA4F;AAC5F,yCAAyF;AACzF,2DAAkH;AAClH,qDAAyG;AACzG,iCAA6E;AAC7E,2CAA0F;AAC1F,+CAAgG;AAChG,yCAAkE;AAElE,0DAA+B;AAC/B,qEAA0C;AAC1C,qEAA0C;AAC1C,uEAA4C;AAC5C,mEAAwC;AACxC,qFAA0D;AAC1D,+EAAoD;AACpD,2DAAgC;AAChC,wEAA6C;AAC7C,oEAAyC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,6CAA+F;AAC/F,2CAA4F;AAC5F,yCAAyF;AACzF,2DAAkH;AAClH,qDAAyG;AACzG,iCAA6E;AAC7E,2CAA0F;AAC1F,+CAAgG;AAChG,qDAAyG;AACzG,yCAAkE;AAElE,0DAA+B;AAC/B,qEAA0C;AAC1C,qEAA0C;AAC1C,uEAA4C;AAC5C,mEAAwC;AACxC,qFAA0D;AAC1D,+EAAoD;AACpD,2DAAgC;AAChC,wEAA6C;AAC7C,oEAAyC;AACzC,0EAA+C;AAElC,QAAA,QAAQ,GAAG;IACtB,GAAG,oBAAgB;IACnB,GAAG,oBAAiB;IACpB,GAAG,qBAAkB;IACrB,GAAG,mBAAgB;IACnB,GAAG,4BAAwB;IAC3B,GAAG,yBAAqB;IACxB,GAAG,eAAY;IACf,GAAG,sBAAkB;IACrB,GAAG,yBAAqB;CACzB,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,GAAG,qBAAiB;QACpB,GAAG,qBAAkB;QACrB,GAAG,sBAAmB;QACtB,GAAG,oBAAiB;QACpB,GAAG,6BAAyB;QAC5B,GAAG,0BAAsB;QACzB,GAAG,gBAAa;QAChB,GAAG,uBAAmB;QACtB,GAAG,oBAAwB;QAC3B,GAAG,0BAAsB;KAC1B;CACF,CAAA;AAED,yDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,2EAAqE;AAA5D,wHAAA,gBAAgB,OAAA","sourcesContent":["import { entities as ConnectionEntities, resolvers as ConnectionResolvers } from './connection'\nimport { entities as ConnectorEntities, resolvers as ConnectorResolvers } from './connector'\nimport { entities as ScenarioEntities, resolvers as ScenarioResolvers } from './scenario'\nimport { entities as ScenarioInstanceEntities, resolvers as ScenarioInstanceResolvers } from './scenario-instance'\nimport { entities as ScenarioQueueEntities, resolvers as ScenarioQueueResolvers } from './scenario-queue'\nimport { entities as StepEntities, resolvers as StepResolvers } from './step'\nimport { entities as TaskTypeEntities, resolvers as TaskTypeResolvers } from './task-type'\nimport { entities as PayloadLogEntities, resolvers as PayloadLogResolvers } from './payload-log'\nimport { entities as StateRegisterEntities, resolvers as StateRegisterResolvers } from './state-register'\nimport { resolvers as IntegrationAnalysisQuery } from './analysis'\n\nexport * from './property-spec'\nexport * from './task-type/task-type-type'\nexport * from './connector/connector-type'\nexport * from './connection/connection-type'\nexport * from './scenario/scenario-type'\nexport * from './scenario-instance/scenario-instance-type'\nexport * from './scenario-queue/scenario-queue-type'\nexport * from './step/step-type'\nexport * from './scenario-flow/scenario-flow'\nexport * from './payload-log/payload-log'\nexport * from './state-register/state-register'\n\nexport const entities = [\n ...TaskTypeEntities,\n ...ConnectorEntities,\n ...ConnectionEntities,\n ...ScenarioEntities,\n ...ScenarioInstanceEntities,\n ...ScenarioQueueEntities,\n ...StepEntities,\n ...PayloadLogEntities,\n ...StateRegisterEntities\n]\n\nexport const schema = {\n resolverClasses: [\n ...TaskTypeResolvers,\n ...ConnectorResolvers,\n ...ConnectionResolvers,\n ...ScenarioResolvers,\n ...ScenarioInstanceResolvers,\n ...ScenarioQueueResolvers,\n ...StepResolvers,\n ...PayloadLogResolvers,\n ...IntegrationAnalysisQuery,\n ...StateRegisterResolvers\n ]\n}\n\nexport { PayloadType } from './payload-log/payload-log'\nexport { createPayloadLog } from './payload-log/payload-log-mutation'\n"]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.subscribers = exports.resolvers = exports.entities = void 0;
|
4
|
+
const state_register_1 = require("./state-register");
|
5
|
+
const state_register_query_1 = require("./state-register-query");
|
6
|
+
const state_register_mutation_1 = require("./state-register-mutation");
|
7
|
+
exports.entities = [state_register_1.StateRegister];
|
8
|
+
exports.resolvers = [state_register_query_1.StateRegisterQuery, state_register_mutation_1.StateRegisterMutation];
|
9
|
+
exports.subscribers = [];
|
10
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/state-register/index.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,iEAA2D;AAC3D,uEAAiE;AAEpD,QAAA,QAAQ,GAAG,CAAC,8BAAa,CAAC,CAAA;AAC1B,QAAA,SAAS,GAAG,CAAC,yCAAkB,EAAE,+CAAqB,CAAC,CAAA;AACvD,QAAA,WAAW,GAAG,EAAE,CAAA","sourcesContent":["import { StateRegister } from './state-register'\nimport { StateRegisterQuery } from './state-register-query'\nimport { StateRegisterMutation } from './state-register-mutation'\n\nexport const entities = [StateRegister]\nexport const resolvers = [StateRegisterQuery, StateRegisterMutation]\nexport const subscribers = []\n"]}
|
@@ -0,0 +1,153 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.StateRegisterMutation = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
6
|
+
const typeorm_1 = require("typeorm");
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
8
|
+
const state_register_1 = require("./state-register");
|
9
|
+
const state_register_type_1 = require("./state-register-type");
|
10
|
+
let StateRegisterMutation = class StateRegisterMutation {
|
11
|
+
async createStateRegister(stateRegister, context) {
|
12
|
+
const { domain, user, tx } = context.state;
|
13
|
+
return await tx.getRepository(state_register_1.StateRegister).save(Object.assign(Object.assign({}, stateRegister), { domain, creator: user, updater: user }));
|
14
|
+
}
|
15
|
+
async updateStateRegister(id, patch, context) {
|
16
|
+
const { domain, user, tx } = context.state;
|
17
|
+
const repository = tx.getRepository(state_register_1.StateRegister);
|
18
|
+
const stateRegister = await repository.findOne({
|
19
|
+
where: { domain: { id: domain.id }, id }
|
20
|
+
});
|
21
|
+
return await repository.save(Object.assign(Object.assign(Object.assign({}, stateRegister), patch), { updater: user }));
|
22
|
+
}
|
23
|
+
async updateMultipleStateRegister(patches, context) {
|
24
|
+
const { domain, user, tx } = context.state;
|
25
|
+
let results = [];
|
26
|
+
const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
|
27
|
+
const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
|
28
|
+
const stateRegisterRepo = tx.getRepository(state_register_1.StateRegister);
|
29
|
+
if (_createRecords.length > 0) {
|
30
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
31
|
+
const newRecord = _createRecords[i];
|
32
|
+
const result = await stateRegisterRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
|
33
|
+
results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
|
34
|
+
}
|
35
|
+
}
|
36
|
+
if (_updateRecords.length > 0) {
|
37
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
38
|
+
const updateRecord = _updateRecords[i];
|
39
|
+
const stateRegister = await stateRegisterRepo.findOneBy({ id: updateRecord.id });
|
40
|
+
const result = await stateRegisterRepo.save(Object.assign(Object.assign(Object.assign({}, stateRegister), updateRecord), { updater: user }));
|
41
|
+
results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
|
42
|
+
}
|
43
|
+
}
|
44
|
+
return results;
|
45
|
+
}
|
46
|
+
async updateStateRegisterByName(name, state, context) {
|
47
|
+
const { domain, user, tx } = context.state;
|
48
|
+
const repository = tx.getRepository(state_register_1.StateRegister);
|
49
|
+
const stateRegister = await repository.findOne({
|
50
|
+
where: { domain: { id: domain.id }, name }
|
51
|
+
});
|
52
|
+
return await repository.save(Object.assign(Object.assign({}, stateRegister), { state, writer: user, wroteAt: new Date() }));
|
53
|
+
}
|
54
|
+
async deleteStateRegister(id, context) {
|
55
|
+
const { domain, tx } = context.state;
|
56
|
+
await tx.getRepository(state_register_1.StateRegister).delete({ domain: { id: domain.id }, id });
|
57
|
+
return true;
|
58
|
+
}
|
59
|
+
async deleteStateRegisters(ids, context) {
|
60
|
+
const { domain, tx } = context.state;
|
61
|
+
await tx.getRepository(state_register_1.StateRegister).delete({
|
62
|
+
domain: { id: domain.id },
|
63
|
+
id: (0, typeorm_1.In)(ids)
|
64
|
+
});
|
65
|
+
return true;
|
66
|
+
}
|
67
|
+
async importStateRegisters(stateRegisters, context) {
|
68
|
+
const { domain, tx } = context.state;
|
69
|
+
await Promise.all(stateRegisters.map(async (stateRegister) => {
|
70
|
+
const createdStateRegister = await tx
|
71
|
+
.getRepository(state_register_1.StateRegister)
|
72
|
+
.save(Object.assign({ domain }, stateRegister));
|
73
|
+
}));
|
74
|
+
return true;
|
75
|
+
}
|
76
|
+
};
|
77
|
+
tslib_1.__decorate([
|
78
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
79
|
+
(0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
|
80
|
+
(0, type_graphql_1.Mutation)(returns => state_register_1.StateRegister, { description: 'To create new StateRegister' }),
|
81
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('stateRegister')),
|
82
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
83
|
+
tslib_1.__metadata("design:type", Function),
|
84
|
+
tslib_1.__metadata("design:paramtypes", [state_register_type_1.NewStateRegister, Object]),
|
85
|
+
tslib_1.__metadata("design:returntype", Promise)
|
86
|
+
], StateRegisterMutation.prototype, "createStateRegister", null);
|
87
|
+
tslib_1.__decorate([
|
88
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
89
|
+
(0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
|
90
|
+
(0, type_graphql_1.Mutation)(returns => state_register_1.StateRegister, { description: 'To modify StateRegister information' }),
|
91
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
92
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
|
93
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
94
|
+
tslib_1.__metadata("design:type", Function),
|
95
|
+
tslib_1.__metadata("design:paramtypes", [String, state_register_type_1.StateRegisterPatch, Object]),
|
96
|
+
tslib_1.__metadata("design:returntype", Promise)
|
97
|
+
], StateRegisterMutation.prototype, "updateStateRegister", null);
|
98
|
+
tslib_1.__decorate([
|
99
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
100
|
+
(0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
|
101
|
+
(0, type_graphql_1.Mutation)(returns => [state_register_1.StateRegister], { description: "To modify multiple StateRegisters' information" }),
|
102
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [state_register_type_1.StateRegisterPatch])),
|
103
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
104
|
+
tslib_1.__metadata("design:type", Function),
|
105
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
106
|
+
tslib_1.__metadata("design:returntype", Promise)
|
107
|
+
], StateRegisterMutation.prototype, "updateMultipleStateRegister", null);
|
108
|
+
tslib_1.__decorate([
|
109
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
110
|
+
(0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
|
111
|
+
(0, type_graphql_1.Mutation)(returns => state_register_1.StateRegister, { description: 'To update state of StateRegister by name' }),
|
112
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
113
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('state', type => shell_1.ScalarObject)),
|
114
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
115
|
+
tslib_1.__metadata("design:type", Function),
|
116
|
+
tslib_1.__metadata("design:paramtypes", [String, Object, Object]),
|
117
|
+
tslib_1.__metadata("design:returntype", Promise)
|
118
|
+
], StateRegisterMutation.prototype, "updateStateRegisterByName", null);
|
119
|
+
tslib_1.__decorate([
|
120
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
121
|
+
(0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
|
122
|
+
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete StateRegister' }),
|
123
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
124
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
125
|
+
tslib_1.__metadata("design:type", Function),
|
126
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
127
|
+
tslib_1.__metadata("design:returntype", Promise)
|
128
|
+
], StateRegisterMutation.prototype, "deleteStateRegister", null);
|
129
|
+
tslib_1.__decorate([
|
130
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
131
|
+
(0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
|
132
|
+
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple StateRegisters' }),
|
133
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
|
134
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
135
|
+
tslib_1.__metadata("design:type", Function),
|
136
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
137
|
+
tslib_1.__metadata("design:returntype", Promise)
|
138
|
+
], StateRegisterMutation.prototype, "deleteStateRegisters", null);
|
139
|
+
tslib_1.__decorate([
|
140
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
141
|
+
(0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
|
142
|
+
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To import multiple StateRegisters' }),
|
143
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('stateRegisters', type => [state_register_type_1.StateRegisterPatch])),
|
144
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
145
|
+
tslib_1.__metadata("design:type", Function),
|
146
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
147
|
+
tslib_1.__metadata("design:returntype", Promise)
|
148
|
+
], StateRegisterMutation.prototype, "importStateRegisters", null);
|
149
|
+
StateRegisterMutation = tslib_1.__decorate([
|
150
|
+
(0, type_graphql_1.Resolver)(state_register_1.StateRegister)
|
151
|
+
], StateRegisterMutation);
|
152
|
+
exports.StateRegisterMutation = StateRegisterMutation;
|
153
|
+
//# sourceMappingURL=state-register-mutation.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state-register-mutation.js","sourceRoot":"","sources":["../../../server/service/state-register/state-register-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { ScalarObject } from '@things-factory/shell'\nimport { StateRegister } from './state-register'\nimport { NewStateRegister, StateRegisterPatch } from './state-register-type'\n\n@Resolver(StateRegister)\nexport class StateRegisterMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => StateRegister, { description: 'To create new StateRegister' })\n async createStateRegister(\n @Arg('stateRegister') stateRegister: NewStateRegister,\n @Ctx() context: ResolverContext\n ): Promise<StateRegister> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(StateRegister).save({\n ...stateRegister,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => StateRegister, { description: 'To modify StateRegister information' })\n async updateStateRegister(\n @Arg('id') id: string,\n @Arg('patch') patch: StateRegisterPatch,\n @Ctx() context: ResolverContext\n ): Promise<StateRegister> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(StateRegister)\n const stateRegister = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...stateRegister,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [StateRegister], { description: \"To modify multiple StateRegisters' information\" })\n async updateMultipleStateRegister(\n @Arg('patches', type => [StateRegisterPatch]) patches: StateRegisterPatch[],\n @Ctx() context: ResolverContext\n ): Promise<StateRegister[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const stateRegisterRepo = tx.getRepository(StateRegister)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await stateRegisterRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const stateRegister = await stateRegisterRepo.findOneBy({ id: updateRecord.id })\n\n const result = await stateRegisterRepo.save({\n ...stateRegister,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => StateRegister, { description: 'To update state of StateRegister by name' })\n async updateStateRegisterByName(\n @Arg('name') name: string,\n @Arg('state', type => ScalarObject) state: any,\n @Ctx() context: ResolverContext\n ): Promise<StateRegister> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(StateRegister)\n const stateRegister = await repository.findOne({\n where: { domain: { id: domain.id }, name }\n })\n\n return await repository.save({\n ...stateRegister,\n state,\n writer: user,\n wroteAt: new Date()\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete StateRegister' })\n async deleteStateRegister(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(StateRegister).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple StateRegisters' })\n async deleteStateRegisters(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(StateRegister).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To import multiple StateRegisters' })\n async importStateRegisters(\n @Arg('stateRegisters', type => [StateRegisterPatch]) stateRegisters: StateRegisterPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n stateRegisters.map(async (stateRegister: StateRegisterPatch) => {\n const createdStateRegister: StateRegister = await tx\n .getRepository(StateRegister)\n .save({ domain, ...stateRegister })\n })\n )\n\n return true\n }\n}\n"]}
|