great 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -16
- package/dist/explode/transform.js +3 -4
- package/dist/explode/transform.js.map +1 -1
- package/dist/explode/unescapeMongo.js +33 -0
- package/dist/explode/unescapeMongo.js.map +1 -1
- package/dist/generated/operations.d.ts +23 -1
- package/dist/generated/schema.d.ts +16 -0
- package/dist/generated/schema.js.map +1 -1
- package/dist/import/index.d.ts +3 -1
- package/dist/import/index.js +27 -6
- package/dist/import/index.js.map +1 -1
- package/dist/include/index.d.ts +3 -1
- package/dist/include/index.js +129 -11
- package/dist/include/index.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/index.js +5 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/list.d.ts +2 -0
- package/dist/integrations/list.js +30 -16
- package/dist/integrations/list.js.map +1 -1
- package/dist/push/index.js +262 -42
- package/dist/push/index.js.map +1 -1
- package/dist/remove/index.d.ts +5 -0
- package/dist/remove/index.js +71 -0
- package/dist/remove/index.js.map +1 -0
- package/dist/rename/index.js +4 -3
- package/dist/rename/index.js.map +1 -1
- package/dist/run/index.d.ts +1 -1
- package/dist/utils/detectPullConflicts.js +13 -3
- package/dist/utils/detectPullConflicts.js.map +1 -1
- package/dist/utils/elementFiles.d.ts +8 -0
- package/dist/utils/elementFiles.js +33 -0
- package/dist/utils/elementFiles.js.map +1 -1
- package/dist/utils/graphqlError.js +16 -2
- package/dist/utils/graphqlError.js.map +1 -1
- package/dist/utils/hashContent.d.ts +1 -0
- package/dist/utils/hashContent.js +6 -3
- package/dist/utils/hashContent.js.map +1 -1
- package/dist/utils/integrationConfig.d.ts +13 -0
- package/dist/utils/integrationConfig.js +29 -0
- package/dist/utils/integrationConfig.js.map +1 -0
- package/dist/utils/mergeEndpointLists.d.ts +7 -0
- package/dist/utils/mergeEndpointLists.js +32 -0
- package/dist/utils/mergeEndpointLists.js.map +1 -0
- package/dist/utils/promptForEndpoints.d.ts +5 -0
- package/dist/utils/promptForEndpoints.js +37 -0
- package/dist/utils/promptForEndpoints.js.map +1 -0
- package/dist/utils/promptForReplaceLocal.d.ts +5 -0
- package/dist/utils/promptForReplaceLocal.js +18 -0
- package/dist/utils/promptForReplaceLocal.js.map +1 -0
- package/dist/utils/promptForValue.d.ts +2 -0
- package/dist/utils/promptForValue.js +6 -3
- package/dist/utils/promptForValue.js.map +1 -1
- package/dist/utils/resolveElementIncludes.d.ts +6 -0
- package/dist/utils/resolveElementIncludes.js +113 -0
- package/dist/utils/resolveElementIncludes.js.map +1 -0
- package/dist/utils/saveIntegration.js +7 -2
- package/dist/utils/saveIntegration.js.map +1 -1
- package/dist/utils/serviceFile.d.ts +3 -0
- package/dist/utils/serviceFile.js +7 -1
- package/dist/utils/serviceFile.js.map +1 -1
- package/dist/utils/writeShadowElement.d.ts +10 -7
- package/dist/utils/writeShadowElement.js +89 -50
- package/dist/utils/writeShadowElement.js.map +1 -1
- package/package.json +7 -7
- package/dist/utils/resolveElementInclude.d.ts +0 -3
- package/dist/utils/resolveElementInclude.js +0 -27
- package/dist/utils/resolveElementInclude.js.map +0 -1
package/dist/include/index.js
CHANGED
|
@@ -1,10 +1,127 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
3
|
import { getClient } from '../utils/graphqlClient.js';
|
|
3
4
|
import { fetchIntegrationFromFile } from '../utils/fetchLocal.js';
|
|
4
|
-
import {
|
|
5
|
-
import { readGreatFile, writeGreatFile } from '../utils/greatFile.js';
|
|
6
|
-
import { writeShadowElements, logShadowConflicts, } from '../utils/writeShadowElement.js';
|
|
7
|
-
|
|
5
|
+
import resolveElementIncludes, { resolveEndpointIncludes, } from '../utils/resolveElementIncludes.js';
|
|
6
|
+
import { getElementRecord, readGreatFile, removeElementRecord, setElementRecord, writeGreatFile, } from '../utils/greatFile.js';
|
|
7
|
+
import { findLocalOccupants, isLocalOccupant, writeShadowElements, logShadowConflicts, } from '../utils/writeShadowElement.js';
|
|
8
|
+
import { readEndpointListKeys, writeElementFile, } from '../utils/elementFiles.js';
|
|
9
|
+
import { ENDPOINT_LISTS_FOLDER, isEndpointKeys } from '../utils/serviceFile.js';
|
|
10
|
+
import promptForEndpoints from '../utils/promptForEndpoints.js';
|
|
11
|
+
import promptForReplaceLocal from '../utils/promptForReplaceLocal.js';
|
|
12
|
+
import { ElementType } from '../generated/schema.js';
|
|
13
|
+
async function selectEndpointShadows(graphqlClient, resolved, great, sourceTimestamp, log, promptForEndpointsFn) {
|
|
14
|
+
const list = resolved.find((element) => element.type === ElementType.EndpointList);
|
|
15
|
+
if (!list) {
|
|
16
|
+
return { shadows: resolved };
|
|
17
|
+
}
|
|
18
|
+
const endpoints = await resolveEndpointIncludes(graphqlClient, list, sourceTimestamp, log);
|
|
19
|
+
if (!endpoints) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
else if (endpoints.length === 0) {
|
|
23
|
+
return { shadows: resolved };
|
|
24
|
+
}
|
|
25
|
+
const hasShadowList = Boolean(getElementRecord(great, ENDPOINT_LISTS_FOLDER, list.key)?.source);
|
|
26
|
+
let selected;
|
|
27
|
+
try {
|
|
28
|
+
selected = await promptForEndpointsFn(list.key, endpoints, log, hasShadowList);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
log(chalk.yellow('\nInclude cancelled'));
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
if (selected.length === endpoints.length) {
|
|
35
|
+
return { shadows: [...resolved, ...endpoints] };
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
shadows: [
|
|
39
|
+
...resolved.filter((element) => element !== list),
|
|
40
|
+
...endpoints.filter((endpoint) => selected.includes(endpoint.key)),
|
|
41
|
+
],
|
|
42
|
+
localList: { key: list.key, endpoints: selected, total: endpoints.length },
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function replacementListKeys(selection, key) {
|
|
46
|
+
if (selection.localList?.key === key) {
|
|
47
|
+
return selection.localList.endpoints;
|
|
48
|
+
}
|
|
49
|
+
const list = selection.shadows.find((element) => element.type === ElementType.EndpointList && element.key === key);
|
|
50
|
+
const endpoints = list?.content?.data?.endpoints;
|
|
51
|
+
return isEndpointKeys(endpoints) ? endpoints : [];
|
|
52
|
+
}
|
|
53
|
+
function withDroppedKeys(target, selection, fsImpl) {
|
|
54
|
+
if (target.folder !== ENDPOINT_LISTS_FOLDER) {
|
|
55
|
+
return target;
|
|
56
|
+
}
|
|
57
|
+
const kept = new Set(replacementListKeys(selection, target.key));
|
|
58
|
+
const droppedKeys = readEndpointListKeys(undefined, target.key, fsImpl).filter((key) => !kept.has(key));
|
|
59
|
+
return { ...target, droppedKeys };
|
|
60
|
+
}
|
|
61
|
+
function findReplacedLocals(great, selection, fsImpl) {
|
|
62
|
+
const { localList } = selection;
|
|
63
|
+
const listSlot = localList &&
|
|
64
|
+
isLocalOccupant(great, ENDPOINT_LISTS_FOLDER, localList.key, undefined, fsImpl)
|
|
65
|
+
? [{ folder: ENDPOINT_LISTS_FOLDER, key: localList.key }]
|
|
66
|
+
: [];
|
|
67
|
+
return [
|
|
68
|
+
...findLocalOccupants(great, selection.shadows, undefined, fsImpl),
|
|
69
|
+
...listSlot,
|
|
70
|
+
]
|
|
71
|
+
.map((target) => withDroppedKeys(target, selection, fsImpl))
|
|
72
|
+
.filter((element) => element.droppedKeys?.length !== 0);
|
|
73
|
+
}
|
|
74
|
+
async function confirmReplaceLocals(replaced, log, promptForReplaceLocalFn) {
|
|
75
|
+
if (replaced.length === 0) {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
let confirmed = false;
|
|
79
|
+
try {
|
|
80
|
+
confirmed = await promptForReplaceLocalFn(replaced, log);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
}
|
|
84
|
+
if (!confirmed) {
|
|
85
|
+
log(chalk.yellow('\nInclude cancelled'));
|
|
86
|
+
}
|
|
87
|
+
return confirmed;
|
|
88
|
+
}
|
|
89
|
+
function writeLocalEndpointList(great, localList, fsImpl) {
|
|
90
|
+
const existing = getElementRecord(great, ENDPOINT_LISTS_FOLDER, localList.key);
|
|
91
|
+
const record = {
|
|
92
|
+
...(existing?.id ? { id: existing.id } : {}),
|
|
93
|
+
...(existing?.timestamp ? { timestamp: existing.timestamp } : {}),
|
|
94
|
+
};
|
|
95
|
+
if (Object.keys(record).length > 0) {
|
|
96
|
+
setElementRecord(great, ENDPOINT_LISTS_FOLDER, localList.key, record);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
removeElementRecord(great, ENDPOINT_LISTS_FOLDER, localList.key);
|
|
100
|
+
}
|
|
101
|
+
writeElementFile(undefined, ENDPOINT_LISTS_FOLDER, localList.key, { endpoints: localList.endpoints }, great, fsImpl);
|
|
102
|
+
}
|
|
103
|
+
function writeSelection(great, selection, fsImpl, log) {
|
|
104
|
+
const result = writeShadowElements(great, selection.shadows, {
|
|
105
|
+
mode: 'include',
|
|
106
|
+
fsImpl,
|
|
107
|
+
});
|
|
108
|
+
if (result.conflicts.length > 0) {
|
|
109
|
+
logShadowConflicts('Include', result.conflicts, log);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (selection.localList) {
|
|
113
|
+
writeLocalEndpointList(great, selection.localList, fsImpl);
|
|
114
|
+
}
|
|
115
|
+
writeGreatFile(great, undefined, fsImpl);
|
|
116
|
+
for (const written of result.written) {
|
|
117
|
+
log(chalk.green(`Included ${written.folder}/${written.key} as a shadow element`));
|
|
118
|
+
}
|
|
119
|
+
if (selection.localList) {
|
|
120
|
+
const { key, endpoints, total } = selection.localList;
|
|
121
|
+
log(chalk.green(`Kept ${ENDPOINT_LISTS_FOLDER}/${key} as a local endpoint list with ${endpoints.length} of ${total} endpoints`));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
export const action = (log, apiToken, client, fsImpl, config, promptForEndpointsFn = promptForEndpoints, promptForReplaceLocalFn = promptForReplaceLocal) => async function includeElement(elementId, options) {
|
|
8
125
|
if (!elementId) {
|
|
9
126
|
log(chalk.red('Element id is required'));
|
|
10
127
|
log(`Usage: ${chalk.bold('great include <element-id>')}`);
|
|
@@ -16,19 +133,20 @@ export const action = (log, apiToken, client, fsImpl, config) => async function
|
|
|
16
133
|
return;
|
|
17
134
|
}
|
|
18
135
|
const graphqlClient = getClient(apiToken, client, config);
|
|
19
|
-
const resolved = await
|
|
136
|
+
const resolved = await resolveElementIncludes(graphqlClient, elementId, options?.pinnedAt, log);
|
|
20
137
|
if (!resolved) {
|
|
21
138
|
return;
|
|
22
139
|
}
|
|
23
140
|
const great = readGreatFile(undefined, fsImpl);
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
26
|
-
logShadowConflicts('Include', result.conflicts, log);
|
|
141
|
+
const selection = await selectEndpointShadows(graphqlClient, resolved, great, options?.pinnedAt, log, promptForEndpointsFn);
|
|
142
|
+
if (!selection) {
|
|
27
143
|
return;
|
|
28
144
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
145
|
+
const replaced = findReplacedLocals(great, selection, fsImpl ?? fs);
|
|
146
|
+
if (!(await confirmReplaceLocals(replaced, log, promptForReplaceLocalFn))) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
writeSelection(great, selection, fsImpl, log);
|
|
32
150
|
};
|
|
33
151
|
export default (program, apiToken) => program
|
|
34
152
|
.command('include <element>')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/include/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAA6B,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/include/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import now from './now/index.js';
|
|
|
18
18
|
import integrations from './integrations/index.js';
|
|
19
19
|
import pull from './pull/index.js';
|
|
20
20
|
import push from './push/index.js';
|
|
21
|
+
import remove from './remove/index.js';
|
|
21
22
|
import rename from './rename/index.js';
|
|
22
23
|
import repl from './repl/index.js';
|
|
23
24
|
import run from './run/index.js';
|
|
@@ -26,7 +27,7 @@ import value from './values/index.js';
|
|
|
26
27
|
import whoami from './whoami/index.js';
|
|
27
28
|
import { getStoredToken } from './utils/token.js';
|
|
28
29
|
const apiToken = getStoredToken();
|
|
29
|
-
program.version('1.
|
|
30
|
+
program.version('1.4.1', '-v, --version').description('Integreat CLI');
|
|
30
31
|
program.enablePositionalOptions();
|
|
31
32
|
accounts(program, apiToken);
|
|
32
33
|
clone(program, apiToken);
|
|
@@ -46,6 +47,7 @@ now(program);
|
|
|
46
47
|
integrations(program, apiToken);
|
|
47
48
|
pull(program, apiToken);
|
|
48
49
|
push(program, apiToken);
|
|
50
|
+
remove(program);
|
|
49
51
|
rename(program, apiToken);
|
|
50
52
|
repl(program, apiToken);
|
|
51
53
|
run(program, apiToken);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,MAAM,kBAAkB,CAAA;AACpC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,GAAG,MAAM,gBAAgB,CAAA;AAChC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,OAAO,MAAM,oBAAoB,CAAA;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAA;AACxC,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,OAAO,MAAM,oBAAoB,CAAA;AACxC,OAAO,IAAI,MAAM,iBAAiB,CAAA;AAClC,OAAO,KAAK,MAAM,kBAAkB,CAAA;AACpC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,OAAO,MAAM,oBAAoB,CAAA;AACxC,OAAO,GAAG,MAAM,gBAAgB,CAAA;AAChC,OAAO,YAAY,MAAM,yBAAyB,CAAA;AAClD,OAAO,IAAI,MAAM,iBAAiB,CAAA;AAClC,OAAO,IAAI,MAAM,iBAAiB,CAAA;AAClC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,IAAI,MAAM,iBAAiB,CAAA;AAClC,OAAO,GAAG,MAAM,gBAAgB,CAAA;AAChC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,KAAK,MAAM,mBAAmB,CAAA;AACrC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;AAEjC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;AAOtE,OAAO,CAAC,uBAAuB,EAAE,CAAA;AAEjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAC3B,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACxB,MAAM,CAAC,OAAO,CAAC,CAAA;AACf,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACzB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACzB,GAAG,CAAC,OAAO,CAAC,CAAA;AACZ,OAAO,CAAC,OAAO,CAAC,CAAA;AAChB,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAC1B,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACjC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAC1B,IAAI,CAAC,OAAO,CAAC,CAAA;AACb,KAAK,CAAC,OAAO,CAAC,CAAA;AACd,MAAM,CAAC,OAAO,CAAC,CAAA;AACf,OAAO,CAAC,OAAO,CAAC,CAAA;AAChB,GAAG,CAAC,OAAO,CAAC,CAAA;AACZ,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAC/B,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACvB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACvB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACzB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACvB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACtB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACzB,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACxB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAEzB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
+
import { Option } from 'commander';
|
|
2
|
+
import { IntegrationType } from '../generated/schema.js';
|
|
1
3
|
import listIntegrationsAction from './list.js';
|
|
2
4
|
import createIntegrationAction from './create.js';
|
|
5
|
+
const typeOption = () => new Option('-t, --type <type>', 'only list integrations of this type').choices(Object.values(IntegrationType));
|
|
3
6
|
export default (program, apiToken) => {
|
|
4
7
|
const integrations = program
|
|
5
8
|
.command('integrations')
|
|
6
9
|
.description('commands for integrations, run `great integrations --help` to see options. `great integrations` is also a shortcut for `great integrations list`')
|
|
7
10
|
.option('-a, --account <id>', 'account id or key (uses default from config if not provided)')
|
|
8
11
|
.option('--all', 'list all integrations, ignoring default account')
|
|
12
|
+
.addOption(typeOption())
|
|
9
13
|
.action(listIntegrationsAction(console.log, apiToken));
|
|
10
14
|
integrations
|
|
11
15
|
.command('list')
|
|
12
16
|
.description('list all integrations you have access to')
|
|
13
17
|
.option('-a, --account <id>', 'account id or key (uses default from config if not provided)')
|
|
14
18
|
.option('--all', 'list all integrations, ignoring default account')
|
|
19
|
+
.addOption(typeOption())
|
|
15
20
|
.action(listIntegrationsAction(console.log, apiToken));
|
|
16
21
|
integrations
|
|
17
22
|
.command('create <name>')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,sBAAsB,MAAM,WAAW,CAAA;AAC9C,OAAO,uBAAuB,MAAM,aAAa,CAAA;AAGjD,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,IAAI,MAAM,CACR,mBAAmB,EACnB,qCAAqC,CACtC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;AAE3C,eAAe,CAAC,OAAgB,EAAE,QAAiB,EAAE,EAAE;IACrD,MAAM,YAAY,GAAG,OAAO;SACzB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CACV,kJAAkJ,CACnJ;SACA,MAAM,CACL,oBAAoB,EACpB,8DAA8D,CAC/D;SACA,MAAM,CAAC,OAAO,EAAE,iDAAiD,CAAC;SAClE,SAAS,CAAC,UAAU,EAAE,CAAC;SACvB,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;IAExD,YAAY;SACT,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CACL,oBAAoB,EACpB,8DAA8D,CAC/D;SACA,MAAM,CAAC,OAAO,EAAE,iDAAiD,CAAC;SAClE,SAAS,CAAC,UAAU,EAAE,CAAC;SACvB,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;IAExD,YAAY;SACT,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CACL,oBAAoB,EACpB,6EAA6E,CAC9E;SACA,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEzD,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import Conf from 'conf';
|
|
2
2
|
import { type GraphQLRequestClient } from '../utils/graphqlClient.js';
|
|
3
|
+
import type { IntegrationType } from '../generated/schema.js';
|
|
3
4
|
import type { ConfigSchema } from '../utils/config.js';
|
|
4
5
|
export default function listIntegrations(log: (message: string) => void, apiToken?: string, client?: GraphQLRequestClient, config?: Conf<ConfigSchema>): (options?: {
|
|
5
6
|
account?: string;
|
|
6
7
|
all?: boolean;
|
|
8
|
+
type?: IntegrationType;
|
|
7
9
|
}) => Promise<void>;
|
|
@@ -5,59 +5,73 @@ import { handleGraphQLError } from '../utils/graphqlError.js';
|
|
|
5
5
|
import { gql } from 'graphql-tag';
|
|
6
6
|
import { resolveAccountId } from '../utils/resolveAccount.js';
|
|
7
7
|
const IntegrationsQueryDocument = gql `
|
|
8
|
-
query Integrations {
|
|
9
|
-
integrations(orderBy: name, direction: asc) {
|
|
8
|
+
query Integrations($type: IntegrationType) {
|
|
9
|
+
integrations(orderBy: name, direction: asc, type: $type) {
|
|
10
10
|
totalCount
|
|
11
11
|
nodes {
|
|
12
12
|
id
|
|
13
13
|
name
|
|
14
14
|
key
|
|
15
|
+
type
|
|
16
|
+
account {
|
|
17
|
+
key
|
|
18
|
+
}
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
22
|
`;
|
|
19
23
|
const IntegrationsForAccountQueryDocument = gql `
|
|
20
|
-
query IntegrationsForAccount($accountId: ID
|
|
24
|
+
query IntegrationsForAccount($accountId: ID!, $type: IntegrationType) {
|
|
21
25
|
account(id: $accountId) {
|
|
22
26
|
name
|
|
23
|
-
|
|
27
|
+
key
|
|
28
|
+
integrations(type: $type) {
|
|
24
29
|
totalCount
|
|
25
30
|
nodes {
|
|
26
31
|
id
|
|
27
32
|
name
|
|
28
33
|
key
|
|
34
|
+
type
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
37
|
}
|
|
32
38
|
}
|
|
33
39
|
`;
|
|
34
|
-
|
|
35
|
-
|
|
40
|
+
const typeVariables = (type) => (type ? { type } : {});
|
|
41
|
+
async function fetchAllIntegrations(client, log, type) {
|
|
42
|
+
const result = await client.request(IntegrationsQueryDocument, typeVariables(type));
|
|
36
43
|
if (result.error) {
|
|
37
44
|
handleGraphQLError(result.error, log);
|
|
38
45
|
return undefined;
|
|
39
46
|
}
|
|
40
47
|
return {
|
|
41
|
-
integrations: result.data?.integrations?.nodes ?? [],
|
|
48
|
+
integrations: (result.data?.integrations?.nodes ?? []).map(({ account, ...integration }) => ({
|
|
49
|
+
...integration,
|
|
50
|
+
account: account.key,
|
|
51
|
+
})),
|
|
42
52
|
count: result.data?.integrations?.totalCount ?? 0,
|
|
43
53
|
};
|
|
44
54
|
}
|
|
45
|
-
async function fetchAccountIntegrations(client, accountId, log) {
|
|
46
|
-
const result = await client.request(IntegrationsForAccountQueryDocument, { accountId });
|
|
55
|
+
async function fetchAccountIntegrations(client, accountId, log, type) {
|
|
56
|
+
const result = await client.request(IntegrationsForAccountQueryDocument, { accountId, ...typeVariables(type) });
|
|
47
57
|
if (result.error) {
|
|
48
58
|
handleGraphQLError(result.error, log);
|
|
49
59
|
return undefined;
|
|
50
60
|
}
|
|
61
|
+
const account = result.data?.account;
|
|
51
62
|
return {
|
|
52
|
-
integrations:
|
|
53
|
-
|
|
54
|
-
|
|
63
|
+
integrations: (account?.integrations.nodes ?? []).map((integration) => ({
|
|
64
|
+
...integration,
|
|
65
|
+
account: account?.key ?? '',
|
|
66
|
+
})),
|
|
67
|
+
count: account?.integrations.totalCount ?? 0,
|
|
68
|
+
accountName: account?.name ?? undefined,
|
|
55
69
|
};
|
|
56
70
|
}
|
|
57
71
|
function displayIntegrations({ integrations, count, accountName }, log) {
|
|
58
72
|
if (integrations.length > 0) {
|
|
59
73
|
log(columnify(integrations, {
|
|
60
|
-
columns: ['name', 'key', 'id'],
|
|
74
|
+
columns: ['name', 'key', 'type', 'account', 'id'],
|
|
61
75
|
columnSplitter: ' ',
|
|
62
76
|
config: {
|
|
63
77
|
name: {
|
|
@@ -81,7 +95,7 @@ export default function listIntegrations(log, apiToken, client, config) {
|
|
|
81
95
|
const graphqlClient = getClient(apiToken, client, config);
|
|
82
96
|
let result;
|
|
83
97
|
if (options?.all) {
|
|
84
|
-
result = await fetchAllIntegrations(graphqlClient, log);
|
|
98
|
+
result = await fetchAllIntegrations(graphqlClient, log, options.type);
|
|
85
99
|
}
|
|
86
100
|
else {
|
|
87
101
|
const { accountId, error } = await resolveAccountId(options ?? {}, apiToken ?? '', graphqlClient, config);
|
|
@@ -90,8 +104,8 @@ export default function listIntegrations(log, apiToken, client, config) {
|
|
|
90
104
|
return;
|
|
91
105
|
}
|
|
92
106
|
result = accountId
|
|
93
|
-
? await fetchAccountIntegrations(graphqlClient, accountId, log)
|
|
94
|
-
: await fetchAllIntegrations(graphqlClient, log);
|
|
107
|
+
? await fetchAccountIntegrations(graphqlClient, accountId, log, options?.type)
|
|
108
|
+
: await fetchAllIntegrations(graphqlClient, log, options?.type);
|
|
95
109
|
}
|
|
96
110
|
if (result) {
|
|
97
111
|
displayIntegrations(result, log);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/integrations/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,SAAS,EAA6B,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/integrations/list.ts"],"names":[],"mappings":"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"}
|