@emuanalytics/flow-cli 1.3.126 → 1.3.129
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/commands/apps/export.js +4 -5
- package/dist/commands/apps/export.js.map +1 -1
- package/dist/commands/apps/import.js +5 -5
- package/dist/commands/apps/import.js.map +1 -1
- package/dist/commands/datasets/list.js +25 -3
- package/dist/commands/datasets/list.js.map +1 -1
- package/dist/commands/datasets/tags.js +56 -0
- package/dist/commands/datasets/tags.js.map +1 -0
- package/package.json +3 -3
|
@@ -39,11 +39,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
};
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
41
|
exports.handler = exports.builder = exports.desc = exports.command = void 0;
|
|
42
|
-
const utils_1 = require("../../utils");
|
|
43
|
-
const path = __importStar(require("path"));
|
|
44
42
|
const fs = __importStar(require("fs"));
|
|
45
|
-
const
|
|
43
|
+
const lodash_get_1 = __importDefault(require("lodash.get"));
|
|
46
44
|
const ora_1 = __importDefault(require("ora"));
|
|
45
|
+
const path = __importStar(require("path"));
|
|
46
|
+
const utils_1 = require("../../utils");
|
|
47
47
|
exports.command = ['export <file> <id>'];
|
|
48
48
|
exports.desc = 'Export an application to JSON';
|
|
49
49
|
const builder = (args) => {
|
|
@@ -68,7 +68,6 @@ function handler({ client, id, file }) {
|
|
|
68
68
|
const resourceTypes = [
|
|
69
69
|
'applications',
|
|
70
70
|
'apiKeys',
|
|
71
|
-
'appconfig',
|
|
72
71
|
'databases',
|
|
73
72
|
'datasets',
|
|
74
73
|
'styles',
|
|
@@ -76,7 +75,7 @@ function handler({ client, id, file }) {
|
|
|
76
75
|
'auth.users'
|
|
77
76
|
];
|
|
78
77
|
for (const resourceType of resourceTypes) {
|
|
79
|
-
const resourceEndpoint =
|
|
78
|
+
const resourceEndpoint = (0, lodash_get_1.default)(client, resourceType);
|
|
80
79
|
const appIdKey = resourceType === 'applications' ? 'id' : 'applicationId';
|
|
81
80
|
const list = yield resourceEndpoint.list({ filter: { [appIdKey]: app.id } });
|
|
82
81
|
outputStream.write(`"${resourceType}": ${JSON.stringify(list, null, 2)},\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/apps/export.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/apps/export.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,uCAAwB;AACxB,4DAA4B;AAC5B,8CAAqB;AACrB,2CAA4B;AAE5B,uCAAuD;AAE1C,QAAA,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAEhC,QAAA,IAAI,GAAG,+BAA+B,CAAA;AAE5C,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC1C,OAAO,IAAI;SACR,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,0BAA0B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC5E,UAAU,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,mCAAmC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;AACxF,CAAC,CAAA;AAJY,QAAA,OAAO,WAInB;AAQD,SAAsB,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAU;;QACxD,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAe,EAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;YAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEzB,MAAM,aAAa,GAAG,IAAA,aAAG,EAAC,0BAA0B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;YAEvE,MAAM,YAAY,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;YACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBAC7B,aAAa,CAAC,IAAI,EAAE,CAAA;gBACpB,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAA;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC,CAAC,CAAA;YAEF,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAEzB,MAAM,aAAa,GAAG;gBACpB,cAAc;gBACd,SAAS;gBACT,WAAW;gBACX,UAAU;gBACV,QAAQ;gBACR,aAAa;gBACb,YAAY;aACb,CAAA;YAED,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;gBACxC,MAAM,gBAAgB,GAAiC,IAAA,oBAAG,EAAC,MAAM,EAAE,YAAY,CAAC,CAAA;gBAChF,MAAM,QAAQ,GAAG,YAAY,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAA;gBACzE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC5E,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;aAC7E;YAED,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,YAAY,CAAC,GAAG,EAAE,CAAA;YAElB,aAAa,CAAC,OAAO,EAAE,CAAA;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;SACZ;IACH,CAAC;CAAA;AAxCD,0BAwCC"}
|
|
@@ -39,14 +39,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
};
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
41
|
exports.handler = exports.builder = exports.desc = exports.command = void 0;
|
|
42
|
-
const utils_1 = require("../../utils");
|
|
43
|
-
const path = __importStar(require("path"));
|
|
44
42
|
const fs = __importStar(require("fs"));
|
|
45
|
-
const get = __importStar(require("lodash.get"));
|
|
46
|
-
const ora_1 = __importDefault(require("ora"));
|
|
47
43
|
const JSONStream = __importStar(require("JSONStream"));
|
|
44
|
+
const lodash_get_1 = __importDefault(require("lodash.get"));
|
|
48
45
|
const moment_1 = __importDefault(require("moment"));
|
|
46
|
+
const ora_1 = __importDefault(require("ora"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
49
48
|
const stream_1 = require("stream");
|
|
49
|
+
const utils_1 = require("../../utils");
|
|
50
50
|
exports.command = ['import <file> [<id>]'];
|
|
51
51
|
exports.desc = 'Import an application from JSON';
|
|
52
52
|
const builder = (args) => {
|
|
@@ -70,7 +70,7 @@ function handler({ client, id, file }) {
|
|
|
70
70
|
const resourceType = obj.path[0];
|
|
71
71
|
const resourceIndex = obj.path[1];
|
|
72
72
|
const resource = obj.value;
|
|
73
|
-
const resourceEndpoint =
|
|
73
|
+
const resourceEndpoint = (0, lodash_get_1.default)(client, resourceType);
|
|
74
74
|
if (typeof resource !== 'object' || !resourceEndpoint) {
|
|
75
75
|
callback(new Error(`Bad file format: ${resourceType}[${resourceIndex}]`));
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/commands/apps/import.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/commands/apps/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,22 +21,33 @@ const builder = (args) => {
|
|
|
21
21
|
.option('limit', { alias: 'n', type: 'number', describe: 'Limit to n results' })
|
|
22
22
|
.option('offset', { alias: ['o'], type: 'number', describe: 'Start list at offset n' })
|
|
23
23
|
.option('sort', { alias: ['s'], type: 'string', describe: 'Sort by attribute' })
|
|
24
|
+
.option('tags', { alias: 't', type: 'array', describe: 'Filter by specified tags' })
|
|
24
25
|
.conflicts('id', ['limit', 'offset', 'sort'])
|
|
25
26
|
.positional('id', { describe: 'Dataset id (or unique prefix)', type: 'string' });
|
|
26
27
|
};
|
|
27
28
|
exports.builder = builder;
|
|
28
|
-
function handler({ client, id, format, offset, limit, sort }) {
|
|
29
|
+
function handler({ client, id, format, offset, limit, sort, tags }) {
|
|
29
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
31
|
try {
|
|
31
32
|
let results;
|
|
32
33
|
if (id) {
|
|
33
34
|
const resource = yield (0, utils_1.resolveResource)(id, client.datasets);
|
|
34
|
-
(
|
|
35
|
+
if (format === 'table') {
|
|
36
|
+
// Add tags to the output
|
|
37
|
+
(0, utils_1.logObject)(promoteTags(resource), 'table');
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
(0, utils_1.logObject)(resource, format || 'json');
|
|
41
|
+
}
|
|
35
42
|
}
|
|
36
43
|
else {
|
|
37
44
|
results = yield client.datasets.list({ offset, limit, sort });
|
|
45
|
+
if (tags) {
|
|
46
|
+
results = results.filter((dataset) => dataset.metadata.tags && tags.every((tag) => dataset.metadata.tags.includes(tag)));
|
|
47
|
+
}
|
|
38
48
|
if (format === 'table') {
|
|
39
|
-
|
|
49
|
+
// Add tags to the output
|
|
50
|
+
(0, utils_1.logObject)(results.map(promoteTags), 'table', ['id', 'name', 'description', 'type', 'tags']);
|
|
40
51
|
}
|
|
41
52
|
else {
|
|
42
53
|
(0, utils_1.logObject)(results, format || 'json');
|
|
@@ -49,4 +60,15 @@ function handler({ client, id, format, offset, limit, sort }) {
|
|
|
49
60
|
});
|
|
50
61
|
}
|
|
51
62
|
exports.handler = handler;
|
|
63
|
+
/**
|
|
64
|
+
* Augment a dataset with a `tags` property.
|
|
65
|
+
*
|
|
66
|
+
* A top-level `tags` property containing a comma-separated string of tags is added to facilitate output.
|
|
67
|
+
*
|
|
68
|
+
* @param dataset
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
function promoteTags(dataset) {
|
|
72
|
+
return Object.assign(Object.assign({}, dataset), { tags: dataset.metadata.tags ? dataset.metadata.tags.join(',') : '' });
|
|
73
|
+
}
|
|
52
74
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/datasets/list.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/datasets/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright © 2024 Emu Analytics
|
|
4
|
+
*/
|
|
5
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
6
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
8
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
9
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
10
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
11
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.handler = exports.builder = exports.desc = exports.command = void 0;
|
|
16
|
+
const utils_1 = require("../../utils");
|
|
17
|
+
exports.command = ['tags <id>'];
|
|
18
|
+
exports.desc = 'Add or remove tags on a dataset.';
|
|
19
|
+
const builder = (args) => {
|
|
20
|
+
return args
|
|
21
|
+
.positional('id', { describe: 'Dataset id (or unique prefix)', type: 'string' })
|
|
22
|
+
.option('add', {
|
|
23
|
+
alias: 'a',
|
|
24
|
+
type: 'array',
|
|
25
|
+
describe: 'One or more tags to add.'
|
|
26
|
+
})
|
|
27
|
+
.option('remove', {
|
|
28
|
+
alias: 'r',
|
|
29
|
+
type: 'array',
|
|
30
|
+
describe: 'One or more tags to remove.'
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
exports.builder = builder;
|
|
34
|
+
function handler({ client, id, add, remove, format }) {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
try {
|
|
37
|
+
const resource = yield (0, utils_1.resolveResource)(id, client.datasets);
|
|
38
|
+
const existingTags = resource.metadata.tags;
|
|
39
|
+
const updatedTagSet = new Set(existingTags);
|
|
40
|
+
if (add) {
|
|
41
|
+
add.forEach(tag => updatedTagSet.add(tag));
|
|
42
|
+
}
|
|
43
|
+
if (remove) {
|
|
44
|
+
remove.forEach(tag => updatedTagSet.delete(tag));
|
|
45
|
+
}
|
|
46
|
+
const updatedTags = Array.from(updatedTagSet);
|
|
47
|
+
const updatedMetadata = yield client.datasets.setMetadata(resource.id, 'tags', updatedTags);
|
|
48
|
+
(0, utils_1.logObject)(format === 'csv' ? updatedMetadata.tags.map((t) => ({ tag: t })) : updatedMetadata.tags, format || 'table');
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
(0, utils_1.logError)(e);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
exports.handler = handler;
|
|
56
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/commands/datasets/tags.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;AAIH,uCAAmE;AAEtD,QAAA,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAExB,QAAA,IAAI,GAAG,kCAAkC,CAAC;AAEhD,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC1C,OAAO,IAAI;SACR,UAAU,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,+BAA+B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC/E,MAAM,CAAC,KAAK,EAAE;QACb,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,0BAA0B;KACrC,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,6BAA6B;KACxC,CAAC,CAAC;AACP,CAAC,CAAC;AAbW,QAAA,OAAO,WAalB;AAUF,SAAsB,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAU;;QACvE,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAe,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAa,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YAE5C,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC5C;YACD,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAClD;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE9C,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC5F,IAAA,iBAAS,EACP,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAC/F,MAAM,IAAI,OAAO,CAClB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;SACb;IACH,CAAC;CAAA;AAtBD,0BAsBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emuanalytics/flow-cli",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.129",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"author": "Robin Summerhill <robin.summerhill@emu-analytics.net",
|
|
6
6
|
"license": "Copyright 2018 Emu Analytics Limited",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"typescript": "^4.7.4"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@emuanalytics/flow-engine-client": "^1.3.
|
|
45
|
+
"@emuanalytics/flow-engine-client": "^1.3.127",
|
|
46
46
|
"@types/uuid": "^8.3.4",
|
|
47
47
|
"JSONStream": "^1.3.5",
|
|
48
48
|
"chalk": "^2.0.1",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"git add"
|
|
81
81
|
]
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "88784e738de4ac55ebc86d15c5484a39dfc2907f"
|
|
84
84
|
}
|