@emuanalytics/flow-cli 1.3.126 → 1.3.127
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.
|
@@ -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.127",
|
|
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": "337b9cebf9afaeb55829b626b6fdbf0f16adb2e3"
|
|
84
84
|
}
|