directus-template-cli 0.5.0-beta.8 → 0.5.0
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 +186 -17
- package/dist/commands/apply.d.ts +25 -3
- package/dist/commands/apply.js +78 -121
- package/dist/commands/extract.d.ts +29 -1
- package/dist/commands/extract.js +72 -50
- package/dist/flags/common.d.ts +7 -0
- package/dist/flags/common.js +41 -0
- package/dist/lib/extract/extract-access.js +5 -3
- package/dist/lib/extract/extract-assets.d.ts +0 -414
- package/dist/lib/extract/extract-assets.js +29 -25
- package/dist/lib/extract/extract-collections.js +5 -4
- package/dist/lib/extract/extract-content.d.ts +0 -2
- package/dist/lib/extract/extract-content.js +16 -15
- package/dist/lib/extract/extract-dashboards.js +8 -6
- package/dist/lib/extract/extract-extensions.js +5 -3
- package/dist/lib/extract/extract-fields.js +4 -2
- package/dist/lib/extract/extract-files.js +5 -3
- package/dist/lib/extract/extract-flows.js +8 -6
- package/dist/lib/extract/extract-folders.js +5 -3
- package/dist/lib/extract/extract-permissions.js +5 -3
- package/dist/lib/extract/extract-policies.js +5 -3
- package/dist/lib/extract/extract-presets.js +5 -3
- package/dist/lib/extract/extract-relations.js +5 -3
- package/dist/lib/extract/extract-roles.js +5 -3
- package/dist/lib/extract/extract-schema.js +6 -8
- package/dist/lib/extract/extract-settings.js +5 -3
- package/dist/lib/extract/extract-translations.js +6 -6
- package/dist/lib/extract/extract-users.js +6 -6
- package/dist/lib/load/apply-flags.d.ts +22 -0
- package/dist/lib/load/apply-flags.js +67 -0
- package/dist/lib/load/index.js +9 -5
- package/dist/lib/load/load-access.js +45 -37
- package/dist/lib/load/load-collections.js +20 -2
- package/dist/lib/load/load-dashboards.js +27 -25
- package/dist/lib/load/load-data.js +3 -3
- package/dist/lib/load/load-files.js +42 -46
- package/dist/lib/load/load-flows.js +33 -32
- package/dist/lib/load/load-folders.js +32 -30
- package/dist/lib/load/load-permissions.js +14 -12
- package/dist/lib/load/load-policies.js +21 -19
- package/dist/lib/load/load-presets.js +25 -23
- package/dist/lib/load/load-relations.js +17 -15
- package/dist/lib/load/load-roles.js +43 -41
- package/dist/lib/load/load-translations.js +22 -20
- package/dist/lib/load/load-users.js +42 -39
- package/dist/lib/load/update-required-fields.d.ts +1 -0
- package/dist/lib/load/update-required-fields.js +24 -0
- package/dist/lib/sdk.d.ts +20 -2
- package/dist/lib/sdk.js +124 -9
- package/dist/lib/utils/auth.d.ts +26 -0
- package/dist/lib/utils/auth.js +48 -4
- package/dist/lib/utils/catch-error.d.ts +15 -2
- package/dist/lib/utils/catch-error.js +31 -25
- package/oclif.manifest.json +74 -28
- package/package.json +2 -2
- package/dist/lib/interfaces.d.ts +0 -8
- package/dist/lib/interfaces.js +0 -2
|
@@ -1,42 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.downloadAllFiles =
|
|
3
|
+
exports.downloadAllFiles = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const sdk_1 = require("@directus/sdk");
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
7
|
const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
|
|
8
8
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
9
|
-
const
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
10
|
const sdk_2 = require("../sdk");
|
|
11
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
11
12
|
async function getAssetList() {
|
|
12
|
-
|
|
13
|
-
return response;
|
|
13
|
+
return sdk_2.api.client.request((0, sdk_1.readFiles)({ limit: -1 }));
|
|
14
14
|
}
|
|
15
|
-
exports.getAssetList = getAssetList;
|
|
16
15
|
async function downloadFile(file, dir) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const response = await sdk_2.api.client.request(() => ({
|
|
17
|
+
method: 'GET',
|
|
18
|
+
path: `/assets/${file.id}`,
|
|
19
|
+
}));
|
|
20
20
|
const fullPath = node_path_1.default.join(dir, 'assets', file.filename_disk);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
if (typeof response === 'string') {
|
|
22
|
+
node_fs_1.default.writeFileSync(fullPath, response);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const data = await response.arrayBuffer();
|
|
26
|
+
node_fs_1.default.writeFileSync(fullPath, Buffer.from(data));
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
|
-
exports.downloadFile = downloadFile;
|
|
26
29
|
async function downloadAllFiles(dir) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
node_fs_1.default.
|
|
30
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Downloading assets'));
|
|
31
|
+
try {
|
|
32
|
+
const fullPath = node_path_1.default.join(dir, 'assets');
|
|
33
|
+
if (node_path_1.default && !node_fs_1.default.existsSync(fullPath)) {
|
|
34
|
+
node_fs_1.default.mkdirSync(fullPath, { recursive: true });
|
|
35
|
+
}
|
|
36
|
+
const fileList = await getAssetList();
|
|
37
|
+
await Promise.all(fileList.map(file => downloadFile(file, dir).catch(error => {
|
|
38
|
+
(0, catch_error_1.default)(`Error downloading ${file.filename_disk}: ${error.message}`);
|
|
39
|
+
})));
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
(0, catch_error_1.default)(error);
|
|
31
43
|
}
|
|
32
|
-
|
|
33
|
-
const fileList = await getAssetList();
|
|
34
|
-
// Download all files
|
|
35
|
-
await Promise.all(fileList.map(file => downloadFile(file, dir).catch(error => {
|
|
36
|
-
core_1.ux.warn(`Error downloading ${file.filename_disk}`);
|
|
37
|
-
core_1.ux.warn(error.message);
|
|
38
|
-
})));
|
|
39
|
-
// Log message after all files have been downloaded
|
|
40
|
-
core_1.ux.log('All files have been downloaded.');
|
|
44
|
+
core_1.ux.action.stop();
|
|
41
45
|
}
|
|
42
46
|
exports.downloadAllFiles = downloadAllFiles;
|
|
@@ -3,22 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
8
10
|
/**
|
|
9
11
|
* Extract collections from the Directus instance
|
|
10
12
|
*/
|
|
11
13
|
async function extractCollections(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting collections'));
|
|
12
15
|
try {
|
|
13
16
|
const response = await sdk_2.api.client.request((0, sdk_1.readCollections)());
|
|
14
|
-
// Filter out system collections
|
|
15
17
|
const collections = response.filter(collection => !collection.collection.startsWith('directus_'));
|
|
16
18
|
await (0, write_to_file_1.default)('collections', collections, dir);
|
|
17
|
-
core_1.ux.log('Extracted collections');
|
|
18
19
|
}
|
|
19
20
|
catch (error) {
|
|
20
|
-
|
|
21
|
-
core_1.ux.warn(error.message);
|
|
21
|
+
(0, catch_error_1.default)(error);
|
|
22
22
|
}
|
|
23
|
+
core_1.ux.action.stop();
|
|
23
24
|
}
|
|
24
25
|
exports.default = extractCollections;
|
|
@@ -1,37 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractContent =
|
|
3
|
+
exports.extractContent = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const sdk_1 = require("@directus/sdk");
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
7
8
|
const sdk_2 = require("../sdk");
|
|
9
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
8
10
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
9
11
|
async function getCollections() {
|
|
10
12
|
const response = await sdk_2.api.client.request((0, sdk_1.readCollections)());
|
|
11
|
-
|
|
13
|
+
return response
|
|
12
14
|
.filter(item => !item.collection.startsWith('directus_', 0))
|
|
13
15
|
.filter(item => item.schema != null)
|
|
14
16
|
.map(i => i.collection);
|
|
15
|
-
return collections;
|
|
16
17
|
}
|
|
17
|
-
exports.getCollections = getCollections;
|
|
18
18
|
async function getDataFromCollection(collection, dir) {
|
|
19
19
|
try {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
limit: -1,
|
|
23
|
-
}));
|
|
24
|
-
(0, write_to_file_1.default)(`${collection}`, response, `${dir}/content/`);
|
|
25
|
-
core_1.ux.log('Extracted items from collection: ' + collection);
|
|
20
|
+
const response = await sdk_2.api.client.request((0, sdk_1.readItems)(collection, { limit: -1 }));
|
|
21
|
+
await (0, write_to_file_1.default)(`${collection}`, response, `${dir}/content/`);
|
|
26
22
|
}
|
|
27
23
|
catch (error) {
|
|
28
|
-
|
|
29
|
-
core_1.ux.warn(error.message);
|
|
24
|
+
(0, catch_error_1.default)(error);
|
|
30
25
|
}
|
|
31
26
|
}
|
|
32
|
-
exports.getDataFromCollection = getDataFromCollection;
|
|
33
27
|
async function extractContent(dir) {
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting content'));
|
|
29
|
+
try {
|
|
30
|
+
const collections = await getCollections();
|
|
31
|
+
await Promise.all(collections.map(collection => getDataFromCollection(collection, dir)));
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
(0, catch_error_1.default)(error);
|
|
35
|
+
}
|
|
36
|
+
core_1.ux.action.stop();
|
|
36
37
|
}
|
|
37
38
|
exports.extractContent = extractContent;
|
|
@@ -4,7 +4,9 @@ exports.extractPanels = exports.extractDashboards = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const sdk_1 = require("@directus/sdk");
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
7
8
|
const sdk_2 = require("../sdk");
|
|
9
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
8
10
|
const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
|
|
9
11
|
const system_fields_1 = require("../utils/system-fields");
|
|
10
12
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
@@ -12,31 +14,31 @@ const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"
|
|
|
12
14
|
* Extract dashboards from the Directus instance
|
|
13
15
|
*/
|
|
14
16
|
async function extractDashboards(dir) {
|
|
17
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting dashboards'));
|
|
15
18
|
try {
|
|
16
19
|
const response = await sdk_2.api.client.request((0, sdk_1.readDashboards)({ limit: -1 }));
|
|
17
20
|
const dashboards = (0, filter_fields_1.default)(response, system_fields_1.directusDashboardFields);
|
|
18
21
|
await (0, write_to_file_1.default)('dashboards', dashboards, dir);
|
|
19
|
-
core_1.ux.log('Extracted dashboards');
|
|
20
22
|
}
|
|
21
23
|
catch (error) {
|
|
22
|
-
|
|
23
|
-
core_1.ux.warn(error.message);
|
|
24
|
+
(0, catch_error_1.default)(error);
|
|
24
25
|
}
|
|
26
|
+
core_1.ux.action.stop();
|
|
25
27
|
}
|
|
26
28
|
exports.extractDashboards = extractDashboards;
|
|
27
29
|
/**
|
|
28
30
|
* Extract panels from the Directus instance
|
|
29
31
|
*/
|
|
30
32
|
async function extractPanels(dir) {
|
|
33
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting panels'));
|
|
31
34
|
try {
|
|
32
35
|
const response = await sdk_2.api.client.request((0, sdk_1.readPanels)({ limit: -1 }));
|
|
33
36
|
const panels = (0, filter_fields_1.default)(response, system_fields_1.directusPanelFields);
|
|
34
37
|
await (0, write_to_file_1.default)('panels', panels, dir);
|
|
35
|
-
core_1.ux.log('Extracted panels');
|
|
36
38
|
}
|
|
37
39
|
catch (error) {
|
|
38
|
-
|
|
39
|
-
core_1.ux.warn(error.message);
|
|
40
|
+
(0, catch_error_1.default)(error);
|
|
40
41
|
}
|
|
42
|
+
core_1.ux.action.stop();
|
|
41
43
|
}
|
|
42
44
|
exports.extractPanels = extractPanels;
|
|
@@ -3,20 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
8
10
|
/**
|
|
9
11
|
* Extract extensions from the API
|
|
10
12
|
*/
|
|
11
13
|
async function extractExtensions(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting extensions'));
|
|
12
15
|
try {
|
|
13
16
|
const response = await sdk_2.api.client.request((0, sdk_1.readExtensions)());
|
|
14
17
|
await (0, write_to_file_1.default)('extensions', response, dir);
|
|
15
|
-
core_1.ux.log('Extracted extensions');
|
|
16
18
|
}
|
|
17
19
|
catch (error) {
|
|
18
|
-
|
|
19
|
-
core_1.ux.warn(error.message);
|
|
20
|
+
(0, catch_error_1.default)(error);
|
|
20
21
|
}
|
|
22
|
+
core_1.ux.action.stop();
|
|
21
23
|
}
|
|
22
24
|
exports.default = extractExtensions;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
7
8
|
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
8
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
@@ -10,6 +11,7 @@ const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"
|
|
|
10
11
|
* Extract fields from the Directus instance
|
|
11
12
|
*/
|
|
12
13
|
async function extractFields(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting fields'));
|
|
13
15
|
try {
|
|
14
16
|
const response = await sdk_2.api.client.request((0, sdk_1.readFields)());
|
|
15
17
|
if (!Array.isArray(response)) {
|
|
@@ -26,10 +28,10 @@ async function extractFields(dir) {
|
|
|
26
28
|
return i;
|
|
27
29
|
});
|
|
28
30
|
await (0, write_to_file_1.default)('fields', fields, dir);
|
|
29
|
-
core_1.ux.log('Extracted fields');
|
|
30
31
|
}
|
|
31
32
|
catch (error) {
|
|
32
|
-
(0, catch_error_1.default)(error
|
|
33
|
+
(0, catch_error_1.default)(error);
|
|
33
34
|
}
|
|
35
|
+
core_1.ux.action.stop();
|
|
34
36
|
}
|
|
35
37
|
exports.default = extractFields;
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
|
|
8
10
|
const system_fields_1 = require("../utils/system-fields");
|
|
9
11
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
@@ -11,15 +13,15 @@ const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"
|
|
|
11
13
|
* Extract files from the API
|
|
12
14
|
*/
|
|
13
15
|
async function extractFiles(dir) {
|
|
16
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting files'));
|
|
14
17
|
try {
|
|
15
18
|
const response = await sdk_2.api.client.request((0, sdk_1.readFiles)({ limit: -1 }));
|
|
16
19
|
const files = (0, filter_fields_1.default)(response, system_fields_1.directusFileFields);
|
|
17
20
|
await (0, write_to_file_1.default)('files', files, dir);
|
|
18
|
-
core_1.ux.log('Extracted files');
|
|
19
21
|
}
|
|
20
22
|
catch (error) {
|
|
21
|
-
|
|
22
|
-
core_1.ux.warn(error.message);
|
|
23
|
+
(0, catch_error_1.default)(error);
|
|
23
24
|
}
|
|
25
|
+
core_1.ux.action.stop();
|
|
24
26
|
}
|
|
25
27
|
exports.default = extractFiles;
|
|
@@ -4,7 +4,9 @@ exports.extractOperations = exports.extractFlows = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const sdk_1 = require("@directus/sdk");
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
7
8
|
const sdk_2 = require("../sdk");
|
|
9
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
8
10
|
const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
|
|
9
11
|
const system_fields_1 = require("../utils/system-fields");
|
|
10
12
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
@@ -12,31 +14,31 @@ const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"
|
|
|
12
14
|
* Extract flows from the Directus instance
|
|
13
15
|
*/
|
|
14
16
|
async function extractFlows(dir) {
|
|
17
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting flows'));
|
|
15
18
|
try {
|
|
16
19
|
const response = await sdk_2.api.client.request((0, sdk_1.readFlows)({ limit: -1 }));
|
|
17
20
|
const flows = (0, filter_fields_1.default)(response, system_fields_1.directusFlowFields);
|
|
18
21
|
await (0, write_to_file_1.default)('flows', flows, dir);
|
|
19
|
-
core_1.ux.log('Extracted flows');
|
|
20
22
|
}
|
|
21
23
|
catch (error) {
|
|
22
|
-
|
|
23
|
-
core_1.ux.warn(error.message);
|
|
24
|
+
(0, catch_error_1.default)(error);
|
|
24
25
|
}
|
|
26
|
+
core_1.ux.action.stop();
|
|
25
27
|
}
|
|
26
28
|
exports.extractFlows = extractFlows;
|
|
27
29
|
/**
|
|
28
30
|
* Extract operations from the Directus instance
|
|
29
31
|
*/
|
|
30
32
|
async function extractOperations(dir) {
|
|
33
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting operations'));
|
|
31
34
|
try {
|
|
32
35
|
const response = await sdk_2.api.client.request((0, sdk_1.readOperations)({ limit: -1 }));
|
|
33
36
|
const operations = (0, filter_fields_1.default)(response, system_fields_1.directusOperationFields);
|
|
34
37
|
await (0, write_to_file_1.default)('operations', operations, dir);
|
|
35
|
-
core_1.ux.log('Extracted operations');
|
|
36
38
|
}
|
|
37
39
|
catch (error) {
|
|
38
|
-
|
|
39
|
-
core_1.ux.warn(error.message);
|
|
40
|
+
(0, catch_error_1.default)(error);
|
|
40
41
|
}
|
|
42
|
+
core_1.ux.action.stop();
|
|
41
43
|
}
|
|
42
44
|
exports.extractOperations = extractOperations;
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
|
|
8
10
|
const system_fields_1 = require("../utils/system-fields");
|
|
9
11
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
@@ -11,15 +13,15 @@ const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"
|
|
|
11
13
|
* Extract folders from the Directus instance
|
|
12
14
|
*/
|
|
13
15
|
async function extractFolders(dir) {
|
|
16
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting folders'));
|
|
14
17
|
try {
|
|
15
18
|
const response = await sdk_2.api.client.request((0, sdk_1.readFolders)({ limit: -1 }));
|
|
16
19
|
const folders = (0, filter_fields_1.default)(response, system_fields_1.directusFolderFields);
|
|
17
20
|
await (0, write_to_file_1.default)('folders', folders, dir);
|
|
18
|
-
core_1.ux.log('Extracted folders');
|
|
19
21
|
}
|
|
20
22
|
catch (error) {
|
|
21
|
-
|
|
22
|
-
core_1.ux.warn(error.message);
|
|
23
|
+
(0, catch_error_1.default)(error);
|
|
23
24
|
}
|
|
25
|
+
core_1.ux.action.stop();
|
|
24
26
|
}
|
|
25
27
|
exports.default = extractFolders;
|
|
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
8
10
|
/**
|
|
9
11
|
* Extract Permissions from the API
|
|
10
12
|
*/
|
|
11
13
|
async function extractPermissions(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting permissions'));
|
|
12
15
|
try {
|
|
13
16
|
let response = await sdk_2.api.client.request((0, sdk_1.readPermissions)({
|
|
14
17
|
limit: -1,
|
|
@@ -22,11 +25,10 @@ async function extractPermissions(dir) {
|
|
|
22
25
|
return i;
|
|
23
26
|
});
|
|
24
27
|
await (0, write_to_file_1.default)('permissions', response, dir);
|
|
25
|
-
core_1.ux.log('Extracted permissions');
|
|
26
28
|
}
|
|
27
29
|
catch (error) {
|
|
28
|
-
|
|
29
|
-
core_1.ux.warn(error.message);
|
|
30
|
+
(0, catch_error_1.default)(error);
|
|
30
31
|
}
|
|
32
|
+
core_1.ux.action.stop();
|
|
31
33
|
}
|
|
32
34
|
exports.default = extractPermissions;
|
|
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
8
10
|
/**
|
|
9
11
|
* Extract policies from the API
|
|
10
12
|
*/
|
|
11
13
|
async function extractPolicies(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting policies'));
|
|
12
15
|
try {
|
|
13
16
|
const response = await sdk_2.api.client.request((0, sdk_1.readPolicies)({ limit: -1 }));
|
|
14
17
|
// Delete the id field from the permissions so we don't have to reset the autoincrement on the db
|
|
@@ -18,11 +21,10 @@ async function extractPolicies(dir) {
|
|
|
18
21
|
delete policies.permissions; // Alias Field
|
|
19
22
|
}
|
|
20
23
|
await (0, write_to_file_1.default)('policies', response, dir);
|
|
21
|
-
core_1.ux.log('Extracted policies');
|
|
22
24
|
}
|
|
23
25
|
catch (error) {
|
|
24
|
-
|
|
25
|
-
core_1.ux.warn(error.message);
|
|
26
|
+
(0, catch_error_1.default)(error);
|
|
26
27
|
}
|
|
28
|
+
core_1.ux.action.stop();
|
|
27
29
|
}
|
|
28
30
|
exports.default = extractPolicies;
|
|
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
8
10
|
/**
|
|
9
11
|
* Extract Presets from the API
|
|
10
12
|
*/
|
|
11
13
|
async function extractPresets(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting presets'));
|
|
12
15
|
try {
|
|
13
16
|
const response = await sdk_2.api.client.request((0, sdk_1.readPresets)({
|
|
14
17
|
// Only get the global presets
|
|
@@ -23,11 +26,10 @@ async function extractPresets(dir) {
|
|
|
23
26
|
return preset;
|
|
24
27
|
});
|
|
25
28
|
await (0, write_to_file_1.default)('presets', presets, dir);
|
|
26
|
-
core_1.ux.log('Extracted presets');
|
|
27
29
|
}
|
|
28
30
|
catch (error) {
|
|
29
|
-
|
|
30
|
-
core_1.ux.warn(error.message);
|
|
31
|
+
(0, catch_error_1.default)(error);
|
|
31
32
|
}
|
|
33
|
+
core_1.ux.action.stop();
|
|
32
34
|
}
|
|
33
35
|
exports.default = extractPresets;
|
|
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
8
10
|
/**
|
|
9
11
|
* Extract relations from the Directus instance
|
|
10
12
|
*/
|
|
11
13
|
async function extractRelations(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting relations'));
|
|
12
15
|
try {
|
|
13
16
|
const response = await sdk_2.api.client.request((0, sdk_1.readRelations)());
|
|
14
17
|
// Fetching fields to filter out system fields while retaining custom fields on system collections
|
|
@@ -23,11 +26,10 @@ async function extractRelations(dir) {
|
|
|
23
26
|
return i;
|
|
24
27
|
});
|
|
25
28
|
await (0, write_to_file_1.default)('relations', relations, dir);
|
|
26
|
-
core_1.ux.log('Extracted relations');
|
|
27
29
|
}
|
|
28
30
|
catch (error) {
|
|
29
|
-
|
|
30
|
-
core_1.ux.warn(error.message);
|
|
31
|
+
(0, catch_error_1.default)(error);
|
|
31
32
|
}
|
|
33
|
+
core_1.ux.action.stop();
|
|
32
34
|
}
|
|
33
35
|
exports.default = extractRelations;
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
|
|
8
10
|
const system_fields_1 = require("../utils/system-fields");
|
|
9
11
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
@@ -11,15 +13,15 @@ const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"
|
|
|
11
13
|
* Extract roles from the API
|
|
12
14
|
*/
|
|
13
15
|
async function extractRoles(dir) {
|
|
16
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting roles'));
|
|
14
17
|
try {
|
|
15
18
|
const response = await sdk_2.api.client.request((0, sdk_1.readRoles)({ limit: -1 }));
|
|
16
19
|
const roles = (0, filter_fields_1.default)(response, system_fields_1.directusRoleFields);
|
|
17
20
|
await (0, write_to_file_1.default)('roles', roles, dir);
|
|
18
|
-
core_1.ux.log('Extracted roles');
|
|
19
21
|
}
|
|
20
22
|
catch (error) {
|
|
21
|
-
|
|
22
|
-
core_1.ux.warn(error.message);
|
|
23
|
+
(0, catch_error_1.default)(error);
|
|
23
24
|
}
|
|
25
|
+
core_1.ux.action.stop();
|
|
24
26
|
}
|
|
25
27
|
exports.default = extractRoles;
|
|
@@ -5,25 +5,23 @@ const sdk_1 = require("@directus/sdk");
|
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
6
|
const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
|
|
7
7
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
+
const constants_1 = require("../constants");
|
|
8
9
|
const sdk_2 = require("../sdk");
|
|
10
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
9
11
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
10
12
|
async function extractSchema(dir) {
|
|
11
|
-
|
|
12
|
-
// Get the schema
|
|
13
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting schema snapshot'));
|
|
13
14
|
try {
|
|
14
|
-
|
|
15
|
+
const schemaDir = node_path_1.default.join(dir, 'schema');
|
|
15
16
|
if (!node_fs_1.default.existsSync(schemaDir)) {
|
|
16
|
-
console.log(`Attempting to create directory at: ${schemaDir}`);
|
|
17
17
|
node_fs_1.default.mkdirSync(schemaDir, { recursive: true });
|
|
18
18
|
}
|
|
19
19
|
const schema = await sdk_2.api.client.request((0, sdk_1.schemaSnapshot)());
|
|
20
|
-
// Write the schema to the specified directory
|
|
21
20
|
await (0, write_to_file_1.default)('schema/snapshot', schema, dir);
|
|
22
|
-
core_1.ux.log('Extracted schema snapshot');
|
|
23
21
|
}
|
|
24
22
|
catch (error) {
|
|
25
|
-
|
|
26
|
-
core_1.ux.warn(error.message);
|
|
23
|
+
(0, catch_error_1.default)(error);
|
|
27
24
|
}
|
|
25
|
+
core_1.ux.action.stop();
|
|
28
26
|
}
|
|
29
27
|
exports.default = extractSchema;
|
|
@@ -3,20 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
8
10
|
/**
|
|
9
11
|
* Extract settings from the Directus instance
|
|
10
12
|
*/
|
|
11
13
|
async function extractSettings(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting settings'));
|
|
12
15
|
try {
|
|
13
16
|
const settings = await sdk_2.api.client.request((0, sdk_1.readSettings)({ limit: -1 }));
|
|
14
17
|
await (0, write_to_file_1.default)('settings', settings, dir);
|
|
15
|
-
core_1.ux.log('Extracted settings');
|
|
16
18
|
}
|
|
17
19
|
catch (error) {
|
|
18
|
-
|
|
19
|
-
core_1.ux.warn(error.message);
|
|
20
|
+
(0, catch_error_1.default)(error);
|
|
20
21
|
}
|
|
22
|
+
core_1.ux.action.stop();
|
|
21
23
|
}
|
|
22
24
|
exports.default = extractSettings;
|
|
@@ -3,22 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
8
10
|
/**
|
|
9
11
|
* Extract translations from the Directus instance
|
|
10
12
|
*/
|
|
11
13
|
async function extractTranslations(dir) {
|
|
14
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting translations'));
|
|
12
15
|
try {
|
|
13
|
-
const translations = await sdk_2.api.client.request((0, sdk_1.readTranslations)({
|
|
14
|
-
limit: -1,
|
|
15
|
-
}));
|
|
16
|
+
const translations = await sdk_2.api.client.request((0, sdk_1.readTranslations)({ limit: -1 }));
|
|
16
17
|
await (0, write_to_file_1.default)('translations', translations, dir);
|
|
17
|
-
core_1.ux.log('Extracted translations');
|
|
18
18
|
}
|
|
19
19
|
catch (error) {
|
|
20
|
-
|
|
21
|
-
core_1.ux.warn(error.message);
|
|
20
|
+
(0, catch_error_1.default)(error);
|
|
22
21
|
}
|
|
22
|
+
core_1.ux.action.stop();
|
|
23
23
|
}
|
|
24
24
|
exports.default = extractTranslations;
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sdk_1 = require("@directus/sdk");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const sdk_2 = require("../sdk");
|
|
8
|
+
const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
|
|
7
9
|
const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
|
|
8
10
|
const system_fields_1 = require("../utils/system-fields");
|
|
9
11
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
@@ -11,17 +13,15 @@ const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"
|
|
|
11
13
|
* Extract users from the Directus instance
|
|
12
14
|
*/
|
|
13
15
|
async function extractUsers(dir) {
|
|
16
|
+
core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting users'));
|
|
14
17
|
try {
|
|
15
|
-
const response = await sdk_2.api.client.request((0, sdk_1.readUsers)({
|
|
16
|
-
limit: -1,
|
|
17
|
-
}));
|
|
18
|
+
const response = await sdk_2.api.client.request((0, sdk_1.readUsers)({ limit: -1 }));
|
|
18
19
|
const users = (0, filter_fields_1.default)(response, system_fields_1.directusUserFields);
|
|
19
20
|
await (0, write_to_file_1.default)('users', users, dir);
|
|
20
|
-
core_1.ux.log('Extracted users');
|
|
21
21
|
}
|
|
22
22
|
catch (error) {
|
|
23
|
-
|
|
24
|
-
core_1.ux.warn(error.message);
|
|
23
|
+
(0, catch_error_1.default)(error);
|
|
25
24
|
}
|
|
25
|
+
core_1.ux.action.stop();
|
|
26
26
|
}
|
|
27
27
|
exports.default = extractUsers;
|