@strapi/data-transfer 4.14.4 → 4.15.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/dist/commands/commander.d.ts +1 -0
- package/dist/commands/commander.d.ts.map +1 -0
- package/dist/commands/data-transfer.d.ts +2 -1
- package/dist/commands/data-transfer.d.ts.map +1 -0
- package/dist/commands/export/action.d.ts +1 -0
- package/dist/commands/export/action.d.ts.map +1 -0
- package/dist/commands/export/command.d.ts +1 -0
- package/dist/commands/export/command.d.ts.map +1 -0
- package/dist/commands/helpers.d.ts +1 -0
- package/dist/commands/helpers.d.ts.map +1 -0
- package/dist/commands/import/action.d.ts +1 -0
- package/dist/commands/import/action.d.ts.map +1 -0
- package/dist/commands/import/command.d.ts +1 -0
- package/dist/commands/import/command.d.ts.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/transfer/action.d.ts +1 -0
- package/dist/commands/transfer/action.d.ts.map +1 -0
- package/dist/commands/transfer/command.d.ts +1 -0
- package/dist/commands/transfer/command.d.ts.map +1 -0
- package/dist/engine/diagnostic.d.ts +1 -0
- package/dist/engine/diagnostic.d.ts.map +1 -0
- package/dist/engine/errors.d.ts +1 -0
- package/dist/engine/errors.d.ts.map +1 -0
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/validation/index.d.ts +1 -0
- package/dist/engine/validation/index.d.ts.map +1 -0
- package/dist/engine/validation/provider.d.ts +1 -0
- package/dist/engine/validation/provider.d.ts.map +1 -0
- package/dist/engine/validation/schemas/index.d.ts +1 -0
- package/dist/engine/validation/schemas/index.d.ts.map +1 -0
- package/dist/errors/base.d.ts +1 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/constants.d.ts +1 -0
- package/dist/errors/constants.d.ts.map +1 -0
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/providers.d.ts +1 -0
- package/dist/errors/providers.d.ts.map +1 -0
- package/dist/file/index.d.ts +1 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/file/providers/destination/index.d.ts +1 -0
- package/dist/file/providers/destination/index.d.ts.map +1 -0
- package/dist/file/providers/destination/utils.d.ts +1 -0
- package/dist/file/providers/destination/utils.d.ts.map +1 -0
- package/dist/file/providers/index.d.ts +1 -0
- package/dist/file/providers/index.d.ts.map +1 -0
- package/dist/file/providers/source/index.d.ts +1 -0
- package/dist/file/providers/source/index.d.ts.map +1 -0
- package/dist/file/providers/source/utils.d.ts +1 -0
- package/dist/file/providers/source/utils.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5242 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5213 -0
- package/dist/index.mjs.map +1 -0
- package/dist/strapi/index.d.ts +1 -0
- package/dist/strapi/index.d.ts.map +1 -0
- package/dist/strapi/providers/index.d.ts +1 -0
- package/dist/strapi/providers/index.d.ts.map +1 -0
- package/dist/strapi/providers/local-destination/index.d.ts +1 -0
- package/dist/strapi/providers/local-destination/index.d.ts.map +1 -0
- package/dist/strapi/providers/local-destination/strategies/index.d.ts +1 -0
- package/dist/strapi/providers/local-destination/strategies/index.d.ts.map +1 -0
- package/dist/strapi/providers/local-destination/strategies/restore/configuration.d.ts +1 -0
- package/dist/strapi/providers/local-destination/strategies/restore/configuration.d.ts.map +1 -0
- package/dist/strapi/providers/local-destination/strategies/restore/entities.d.ts +1 -0
- package/dist/strapi/providers/local-destination/strategies/restore/entities.d.ts.map +1 -0
- package/dist/strapi/providers/local-destination/strategies/restore/index.d.ts +1 -0
- package/dist/strapi/providers/local-destination/strategies/restore/index.d.ts.map +1 -0
- package/dist/strapi/providers/local-destination/strategies/restore/links.d.ts +1 -0
- package/dist/strapi/providers/local-destination/strategies/restore/links.d.ts.map +1 -0
- package/dist/strapi/providers/local-source/assets.d.ts +1 -0
- package/dist/strapi/providers/local-source/assets.d.ts.map +1 -0
- package/dist/strapi/providers/local-source/configuration.d.ts +1 -0
- package/dist/strapi/providers/local-source/configuration.d.ts.map +1 -0
- package/dist/strapi/providers/local-source/entities.d.ts +1 -0
- package/dist/strapi/providers/local-source/entities.d.ts.map +1 -0
- package/dist/strapi/providers/local-source/index.d.ts +1 -0
- package/dist/strapi/providers/local-source/index.d.ts.map +1 -0
- package/dist/strapi/providers/local-source/links.d.ts +1 -0
- package/dist/strapi/providers/local-source/links.d.ts.map +1 -0
- package/dist/strapi/providers/remote-destination/index.d.ts +1 -0
- package/dist/strapi/providers/remote-destination/index.d.ts.map +1 -0
- package/dist/strapi/providers/remote-source/index.d.ts +1 -0
- package/dist/strapi/providers/remote-source/index.d.ts.map +1 -0
- package/dist/strapi/providers/utils.d.ts +1 -0
- package/dist/strapi/providers/utils.d.ts.map +1 -0
- package/dist/strapi/queries/entity.d.ts +1 -0
- package/dist/strapi/queries/entity.d.ts.map +1 -0
- package/dist/strapi/queries/index.d.ts +1 -0
- package/dist/strapi/queries/index.d.ts.map +1 -0
- package/dist/strapi/queries/link.d.ts +1 -0
- package/dist/strapi/queries/link.d.ts.map +1 -0
- package/dist/strapi/remote/constants.d.ts +1 -0
- package/dist/strapi/remote/constants.d.ts.map +1 -0
- package/dist/strapi/remote/flows/default.d.ts +1 -0
- package/dist/strapi/remote/flows/default.d.ts.map +1 -0
- package/dist/strapi/remote/flows/index.d.ts +1 -0
- package/dist/strapi/remote/flows/index.d.ts.map +1 -0
- package/dist/strapi/remote/handlers/abstract.d.ts +1 -0
- package/dist/strapi/remote/handlers/abstract.d.ts.map +1 -0
- package/dist/strapi/remote/handlers/constants.d.ts +1 -0
- package/dist/strapi/remote/handlers/constants.d.ts.map +1 -0
- package/dist/strapi/remote/handlers/index.d.ts +4 -3
- package/dist/strapi/remote/handlers/index.d.ts.map +1 -0
- package/dist/strapi/remote/handlers/pull.d.ts +1 -0
- package/dist/strapi/remote/handlers/pull.d.ts.map +1 -0
- package/dist/strapi/remote/handlers/push.d.ts +1 -0
- package/dist/strapi/remote/handlers/push.d.ts.map +1 -0
- package/dist/strapi/remote/handlers/utils.d.ts +1 -0
- package/dist/strapi/remote/handlers/utils.d.ts.map +1 -0
- package/dist/strapi/remote/index.d.ts +1 -0
- package/dist/strapi/remote/index.d.ts.map +1 -0
- package/dist/utils/components.d.ts +1 -0
- package/dist/utils/components.d.ts.map +1 -0
- package/dist/utils/encryption/decrypt.d.ts +1 -0
- package/dist/utils/encryption/decrypt.d.ts.map +1 -0
- package/dist/utils/encryption/encrypt.d.ts +1 -0
- package/dist/utils/encryption/encrypt.d.ts.map +1 -0
- package/dist/utils/encryption/index.d.ts +1 -0
- package/dist/utils/encryption/index.d.ts.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/json.d.ts +1 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/middleware.d.ts +1 -0
- package/dist/utils/middleware.d.ts.map +1 -0
- package/dist/utils/providers.d.ts +1 -0
- package/dist/utils/providers.d.ts.map +1 -0
- package/dist/utils/schema.d.ts +1 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/stream.d.ts +1 -0
- package/dist/utils/stream.d.ts.map +1 -0
- package/dist/utils/transaction.d.ts +1 -0
- package/dist/utils/transaction.d.ts.map +1 -0
- package/package.json +19 -17
- package/dist/commands/commander.js +0 -138
- package/dist/commands/commander.js.map +0 -1
- package/dist/commands/data-transfer.js +0 -359
- package/dist/commands/data-transfer.js.map +0 -1
- package/dist/commands/export/action.js +0 -156
- package/dist/commands/export/action.js.map +0 -1
- package/dist/commands/export/command.js +0 -30
- package/dist/commands/export/command.js.map +0 -1
- package/dist/commands/helpers.js +0 -87
- package/dist/commands/helpers.js.map +0 -1
- package/dist/commands/import/action.js +0 -139
- package/dist/commands/import/action.js.map +0 -1
- package/dist/commands/import/command.js +0 -75
- package/dist/commands/import/command.js.map +0 -1
- package/dist/commands/index.js +0 -13
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/transfer/action.js +0 -161
- package/dist/commands/transfer/action.js.map +0 -1
- package/dist/commands/transfer/command.js +0 -69
- package/dist/commands/transfer/command.js.map +0 -1
- package/dist/engine/diagnostic.js +0 -50
- package/dist/engine/diagnostic.js.map +0 -1
- package/dist/engine/errors.js +0 -29
- package/dist/engine/errors.js.map +0 -1
- package/dist/engine/index.js +0 -708
- package/dist/engine/index.js.map +0 -1
- package/dist/engine/validation/index.js +0 -19
- package/dist/engine/validation/index.js.map +0 -1
- package/dist/engine/validation/provider.js +0 -18
- package/dist/engine/validation/provider.js.map +0 -1
- package/dist/engine/validation/schemas/index.js +0 -70
- package/dist/engine/validation/schemas/index.js.map +0 -1
- package/dist/errors/base.js +0 -16
- package/dist/errors/base.js.map +0 -1
- package/dist/errors/constants.js +0 -9
- package/dist/errors/constants.js.map +0 -1
- package/dist/errors/index.js +0 -19
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/providers.js +0 -32
- package/dist/errors/providers.js.map +0 -1
- package/dist/file/index.js +0 -28
- package/dist/file/index.js.map +0 -1
- package/dist/file/providers/destination/index.js +0 -177
- package/dist/file/providers/destination/index.js.map +0 -1
- package/dist/file/providers/destination/utils.js +0 -62
- package/dist/file/providers/destination/utils.js.map +0 -1
- package/dist/file/providers/index.js +0 -19
- package/dist/file/providers/index.js.map +0 -1
- package/dist/file/providers/source/index.js +0 -234
- package/dist/file/providers/source/index.js.map +0 -1
- package/dist/file/providers/source/utils.js +0 -62
- package/dist/file/providers/source/utils.js.map +0 -1
- package/dist/strapi/index.js +0 -30
- package/dist/strapi/index.js.map +0 -1
- package/dist/strapi/providers/index.js +0 -23
- package/dist/strapi/providers/index.js.map +0 -1
- package/dist/strapi/providers/local-destination/index.js +0 -360
- package/dist/strapi/providers/local-destination/index.js.map +0 -1
- package/dist/strapi/providers/local-destination/strategies/index.js +0 -28
- package/dist/strapi/providers/local-destination/strategies/index.js.map +0 -1
- package/dist/strapi/providers/local-destination/strategies/restore/configuration.js +0 -51
- package/dist/strapi/providers/local-destination/strategies/restore/configuration.js.map +0 -1
- package/dist/strapi/providers/local-destination/strategies/restore/entities.js +0 -106
- package/dist/strapi/providers/local-destination/strategies/restore/entities.js.map +0 -1
- package/dist/strapi/providers/local-destination/strategies/restore/index.js +0 -109
- package/dist/strapi/providers/local-destination/strategies/restore/index.js.map +0 -1
- package/dist/strapi/providers/local-destination/strategies/restore/links.js +0 -32
- package/dist/strapi/providers/local-destination/strategies/restore/links.js.map +0 -1
- package/dist/strapi/providers/local-source/assets.js +0 -102
- package/dist/strapi/providers/local-source/assets.js.map +0 -1
- package/dist/strapi/providers/local-source/configuration.js +0 -36
- package/dist/strapi/providers/local-source/configuration.js.map +0 -1
- package/dist/strapi/providers/local-source/entities.js +0 -85
- package/dist/strapi/providers/local-source/entities.js.map +0 -1
- package/dist/strapi/providers/local-source/index.js +0 -100
- package/dist/strapi/providers/local-source/index.js.map +0 -1
- package/dist/strapi/providers/local-source/links.js +0 -23
- package/dist/strapi/providers/local-source/links.js.map +0 -1
- package/dist/strapi/providers/remote-destination/index.js +0 -270
- package/dist/strapi/providers/remote-destination/index.js.map +0 -1
- package/dist/strapi/providers/remote-source/index.js +0 -239
- package/dist/strapi/providers/remote-source/index.js.map +0 -1
- package/dist/strapi/providers/utils.js +0 -138
- package/dist/strapi/providers/utils.js.map +0 -1
- package/dist/strapi/queries/entity.js +0 -130
- package/dist/strapi/queries/entity.js.map +0 -1
- package/dist/strapi/queries/index.js +0 -29
- package/dist/strapi/queries/index.js.map +0 -1
- package/dist/strapi/queries/link.js +0 -224
- package/dist/strapi/queries/link.js.map +0 -1
- package/dist/strapi/remote/constants.js +0 -6
- package/dist/strapi/remote/constants.js.map +0 -1
- package/dist/strapi/remote/flows/default.js +0 -41
- package/dist/strapi/remote/flows/default.js.map +0 -1
- package/dist/strapi/remote/flows/index.js +0 -59
- package/dist/strapi/remote/flows/index.js.map +0 -1
- package/dist/strapi/remote/handlers/abstract.js +0 -3
- package/dist/strapi/remote/handlers/abstract.js.map +0 -1
- package/dist/strapi/remote/handlers/constants.js +0 -5
- package/dist/strapi/remote/handlers/constants.js.map +0 -1
- package/dist/strapi/remote/handlers/index.js +0 -10
- package/dist/strapi/remote/handlers/index.js.map +0 -1
- package/dist/strapi/remote/handlers/pull.js +0 -243
- package/dist/strapi/remote/handlers/pull.js.map +0 -1
- package/dist/strapi/remote/handlers/push.js +0 -311
- package/dist/strapi/remote/handlers/push.js.map +0 -1
- package/dist/strapi/remote/handlers/utils.js +0 -298
- package/dist/strapi/remote/handlers/utils.js.map +0 -1
- package/dist/strapi/remote/index.js +0 -29
- package/dist/strapi/remote/index.js.map +0 -1
- package/dist/utils/components.js +0 -381
- package/dist/utils/components.js.map +0 -1
- package/dist/utils/encryption/decrypt.js +0 -47
- package/dist/utils/encryption/decrypt.js.map +0 -1
- package/dist/utils/encryption/encrypt.js +0 -47
- package/dist/utils/encryption/encrypt.js.map +0 -1
- package/dist/utils/encryption/index.js +0 -19
- package/dist/utils/encryption/index.js.map +0 -1
- package/dist/utils/index.js +0 -33
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/json.js +0 -68
- package/dist/utils/json.js.map +0 -1
- package/dist/utils/middleware.js +0 -14
- package/dist/utils/middleware.js.map +0 -1
- package/dist/utils/providers.js +0 -11
- package/dist/utils/providers.js.map +0 -1
- package/dist/utils/schema.js +0 -29
- package/dist/utils/schema.js.map +0 -1
- package/dist/utils/stream.js +0 -59
- package/dist/utils/stream.js.map +0 -1
- package/dist/utils/transaction.js +0 -88
- package/dist/utils/transaction.js.map +0 -1
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.deleteRecords = void 0;
|
|
30
|
-
const providers_1 = require("../../../../../errors/providers");
|
|
31
|
-
const queries = __importStar(require("../../../../queries"));
|
|
32
|
-
const deleteRecords = async (strapi, options) => {
|
|
33
|
-
const entities = await deleteEntitiesRecords(strapi, options);
|
|
34
|
-
const configuration = await deleteConfigurationRecords(strapi, options);
|
|
35
|
-
return {
|
|
36
|
-
count: entities.count + configuration.count,
|
|
37
|
-
entities,
|
|
38
|
-
configuration,
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
exports.deleteRecords = deleteRecords;
|
|
42
|
-
const deleteEntitiesRecords = async (strapi, options = {}) => {
|
|
43
|
-
const { entities } = options;
|
|
44
|
-
const query = queries.entity.createEntityQuery(strapi);
|
|
45
|
-
const contentTypes = Object.values(strapi.contentTypes);
|
|
46
|
-
const contentTypesToClear = contentTypes.filter((contentType) => {
|
|
47
|
-
let removeThisContentType = true;
|
|
48
|
-
// include means "only include these types" so if it's not in here, it's not being included
|
|
49
|
-
if (entities?.include) {
|
|
50
|
-
removeThisContentType = entities.include.includes(contentType.uid);
|
|
51
|
-
}
|
|
52
|
-
// if something is excluded, remove it. But lack of being excluded doesn't mean it's kept
|
|
53
|
-
if (entities?.exclude && entities.exclude.includes(contentType.uid)) {
|
|
54
|
-
removeThisContentType = false;
|
|
55
|
-
}
|
|
56
|
-
if (entities?.filters) {
|
|
57
|
-
removeThisContentType = entities.filters.every((filter) => filter(contentType));
|
|
58
|
-
}
|
|
59
|
-
return removeThisContentType;
|
|
60
|
-
});
|
|
61
|
-
const [results, updateResults] = useResults(contentTypesToClear.map((contentType) => contentType.uid));
|
|
62
|
-
const deletePromises = contentTypesToClear.map(async (contentType) => {
|
|
63
|
-
const result = await query(contentType.uid).deleteMany(entities?.params);
|
|
64
|
-
if (result) {
|
|
65
|
-
updateResults(result.count || 0, contentType.uid);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
await Promise.all(deletePromises);
|
|
69
|
-
return results;
|
|
70
|
-
};
|
|
71
|
-
const deleteConfigurationRecords = async (strapi, options = {}) => {
|
|
72
|
-
const { coreStore = true, webhook = true } = options?.configuration ?? {};
|
|
73
|
-
const models = [];
|
|
74
|
-
if (coreStore) {
|
|
75
|
-
models.push('strapi::core-store');
|
|
76
|
-
}
|
|
77
|
-
if (webhook) {
|
|
78
|
-
models.push('webhook');
|
|
79
|
-
}
|
|
80
|
-
const [results, updateResults] = useResults(models);
|
|
81
|
-
const deletePromises = models.map(async (uid) => {
|
|
82
|
-
const result = await strapi.db.query(uid).deleteMany({});
|
|
83
|
-
if (result) {
|
|
84
|
-
updateResults(result.count, uid);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
await Promise.all(deletePromises);
|
|
88
|
-
return results;
|
|
89
|
-
};
|
|
90
|
-
const useResults = (keys) => {
|
|
91
|
-
const results = {
|
|
92
|
-
count: 0,
|
|
93
|
-
aggregate: keys.reduce((acc, key) => ({ ...acc, [key]: { count: 0 } }), {}),
|
|
94
|
-
};
|
|
95
|
-
const update = (count, key) => {
|
|
96
|
-
if (key) {
|
|
97
|
-
if (!(key in results.aggregate)) {
|
|
98
|
-
throw new providers_1.ProviderTransferError(`Unknown key "${key}" provided in results update`);
|
|
99
|
-
}
|
|
100
|
-
results.aggregate[key].count += count;
|
|
101
|
-
}
|
|
102
|
-
results.count += count;
|
|
103
|
-
};
|
|
104
|
-
return [results, update];
|
|
105
|
-
};
|
|
106
|
-
__exportStar(require("./entities"), exports);
|
|
107
|
-
__exportStar(require("./configuration"), exports);
|
|
108
|
-
__exportStar(require("./links"), exports);
|
|
109
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/strapi/providers/local-destination/strategies/restore/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createLinksWriteStream = void 0;
|
|
4
|
-
const stream_1 = require("stream");
|
|
5
|
-
const providers_1 = require("../../../../../errors/providers");
|
|
6
|
-
const link_1 = require("../../../../queries/link");
|
|
7
|
-
const createLinksWriteStream = (mapID, strapi, transaction) => {
|
|
8
|
-
return new stream_1.Writable({
|
|
9
|
-
objectMode: true,
|
|
10
|
-
async write(link, _encoding, callback) {
|
|
11
|
-
await transaction?.attach(async (trx) => {
|
|
12
|
-
const { left, right } = link;
|
|
13
|
-
const query = (0, link_1.createLinkQuery)(strapi, trx);
|
|
14
|
-
// Map IDs if needed
|
|
15
|
-
left.ref = mapID(left.type, left.ref) ?? left.ref;
|
|
16
|
-
right.ref = mapID(right.type, right.ref) ?? right.ref;
|
|
17
|
-
try {
|
|
18
|
-
await query().insert(link);
|
|
19
|
-
}
|
|
20
|
-
catch (e) {
|
|
21
|
-
if (e instanceof Error) {
|
|
22
|
-
return callback(e);
|
|
23
|
-
}
|
|
24
|
-
return callback(new providers_1.ProviderTransferError(`An error happened while trying to import a ${left.type} link.`));
|
|
25
|
-
}
|
|
26
|
-
callback(null);
|
|
27
|
-
});
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
exports.createLinksWriteStream = createLinksWriteStream;
|
|
32
|
-
//# sourceMappingURL=links.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../../../../src/strapi/providers/local-destination/strategies/restore/links.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAElC,+DAAwE;AAExE,mDAA2D;AAEpD,MAAM,sBAAsB,GAAG,CACpC,KAAsD,EACtD,MAAoB,EACpB,WAAyB,EACzB,EAAE;IACF,OAAO,IAAI,iBAAQ,CAAC;QAClB,UAAU,EAAE,IAAI;QAChB,KAAK,CAAC,KAAK,CAAC,IAAW,EAAE,SAAS,EAAE,QAAQ;YAC1C,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAA,sBAAe,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAE3C,oBAAoB;gBACpB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC;gBAClD,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;gBAEtD,IAAI;oBACF,MAAM,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAC5B;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI,CAAC,YAAY,KAAK,EAAE;wBACtB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAED,OAAO,QAAQ,CACb,IAAI,iCAAqB,CACvB,8CAA8C,IAAI,CAAC,IAAI,QAAQ,CAChE,CACF,CAAC;iBACH;gBAED,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAlCW,QAAA,sBAAsB,0BAkCjC"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createAssetsStream = void 0;
|
|
7
|
-
const path_1 = require("path");
|
|
8
|
-
const https_1 = __importDefault(require("https"));
|
|
9
|
-
const http_1 = __importDefault(require("http"));
|
|
10
|
-
const stream_1 = require("stream");
|
|
11
|
-
const fs_extra_1 = require("fs-extra");
|
|
12
|
-
const protocolForPath = (filepath) => {
|
|
13
|
-
return filepath?.startsWith('https') ? https_1.default : http_1.default;
|
|
14
|
-
};
|
|
15
|
-
function getFileStream(filepath, isLocal = false) {
|
|
16
|
-
if (isLocal) {
|
|
17
|
-
return (0, fs_extra_1.createReadStream)(filepath);
|
|
18
|
-
}
|
|
19
|
-
const readableStream = new stream_1.PassThrough();
|
|
20
|
-
protocolForPath(filepath)
|
|
21
|
-
.get(filepath, (res) => {
|
|
22
|
-
if (res.statusCode !== 200) {
|
|
23
|
-
readableStream.emit('error', new Error(`Request failed with status code ${res.statusCode}`));
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
res.pipe(readableStream);
|
|
27
|
-
})
|
|
28
|
-
.on('error', (error) => {
|
|
29
|
-
readableStream.emit('error', error);
|
|
30
|
-
});
|
|
31
|
-
return readableStream;
|
|
32
|
-
}
|
|
33
|
-
function getFileStats(filepath, isLocal = false) {
|
|
34
|
-
if (isLocal) {
|
|
35
|
-
return (0, fs_extra_1.stat)(filepath);
|
|
36
|
-
}
|
|
37
|
-
return new Promise((resolve, reject) => {
|
|
38
|
-
protocolForPath(filepath)
|
|
39
|
-
.get(filepath, (res) => {
|
|
40
|
-
if (res.statusCode !== 200) {
|
|
41
|
-
reject(new Error(`Request failed with status code ${res.statusCode}`));
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const contentLength = res.headers['content-length'];
|
|
45
|
-
const stats = {
|
|
46
|
-
size: contentLength ? parseInt(contentLength, 10) : 0,
|
|
47
|
-
};
|
|
48
|
-
resolve(stats);
|
|
49
|
-
})
|
|
50
|
-
.on('error', (error) => {
|
|
51
|
-
reject(error);
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Generate and consume assets streams in order to stream each file individually
|
|
57
|
-
*/
|
|
58
|
-
const createAssetsStream = (strapi) => {
|
|
59
|
-
const generator = async function* () {
|
|
60
|
-
const stream = strapi.db
|
|
61
|
-
.queryBuilder('plugin::upload.file')
|
|
62
|
-
// Create a query builder instance (default type is 'select')
|
|
63
|
-
// Fetch all columns
|
|
64
|
-
.select('*')
|
|
65
|
-
// Get a readable stream
|
|
66
|
-
.stream();
|
|
67
|
-
for await (const file of stream) {
|
|
68
|
-
const isLocalProvider = file.provider === 'local';
|
|
69
|
-
const filepath = isLocalProvider ? (0, path_1.join)(strapi.dirs.static.public, file.url) : file.url;
|
|
70
|
-
const stats = await getFileStats(filepath, isLocalProvider);
|
|
71
|
-
const stream = getFileStream(filepath, isLocalProvider);
|
|
72
|
-
yield {
|
|
73
|
-
metadata: file,
|
|
74
|
-
filepath,
|
|
75
|
-
filename: file.hash + file.ext,
|
|
76
|
-
stream,
|
|
77
|
-
stats: { size: stats.size },
|
|
78
|
-
};
|
|
79
|
-
if (file.formats) {
|
|
80
|
-
for (const format of Object.keys(file.formats)) {
|
|
81
|
-
const fileFormat = file.formats[format];
|
|
82
|
-
const fileFormatFilepath = isLocalProvider
|
|
83
|
-
? (0, path_1.join)(strapi.dirs.static.public, fileFormat.url)
|
|
84
|
-
: fileFormat.url;
|
|
85
|
-
const fileFormatStats = await getFileStats(fileFormatFilepath, isLocalProvider);
|
|
86
|
-
const fileFormatStream = getFileStream(fileFormatFilepath, isLocalProvider);
|
|
87
|
-
const metadata = { ...fileFormat, type: format, mainHash: file.hash };
|
|
88
|
-
yield {
|
|
89
|
-
metadata,
|
|
90
|
-
filepath: fileFormatFilepath,
|
|
91
|
-
filename: fileFormat.hash + fileFormat.ext,
|
|
92
|
-
stream: fileFormatStream,
|
|
93
|
-
stats: { size: fileFormatStats.size },
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
return stream_1.Duplex.from(generator());
|
|
100
|
-
};
|
|
101
|
-
exports.createAssetsStream = createAssetsStream;
|
|
102
|
-
//# sourceMappingURL=assets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../../src/strapi/providers/local-source/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createConfigurationStream = void 0;
|
|
4
|
-
const stream_1 = require("stream");
|
|
5
|
-
const stream_chain_1 = require("stream-chain");
|
|
6
|
-
const fp_1 = require("lodash/fp");
|
|
7
|
-
/**
|
|
8
|
-
* Create a readable stream that export the Strapi app configuration
|
|
9
|
-
*/
|
|
10
|
-
const createConfigurationStream = (strapi) => {
|
|
11
|
-
return stream_1.Readable.from((async function* configurationGenerator() {
|
|
12
|
-
// Core Store
|
|
13
|
-
const coreStoreStream = (0, stream_chain_1.chain)([
|
|
14
|
-
strapi.db.queryBuilder('strapi::core-store').stream(),
|
|
15
|
-
(data) => (0, fp_1.set)('value', JSON.parse(data.value), data),
|
|
16
|
-
wrapConfigurationItem('core-store'),
|
|
17
|
-
]);
|
|
18
|
-
// Webhook
|
|
19
|
-
const webhooksStream = (0, stream_chain_1.chain)([
|
|
20
|
-
strapi.db.queryBuilder('webhook').stream(),
|
|
21
|
-
wrapConfigurationItem('webhook'),
|
|
22
|
-
]);
|
|
23
|
-
const streams = [coreStoreStream, webhooksStream];
|
|
24
|
-
for (const stream of streams) {
|
|
25
|
-
for await (const item of stream) {
|
|
26
|
-
yield item;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
})());
|
|
30
|
-
};
|
|
31
|
-
exports.createConfigurationStream = createConfigurationStream;
|
|
32
|
-
const wrapConfigurationItem = (type) => (value) => ({
|
|
33
|
-
type,
|
|
34
|
-
value,
|
|
35
|
-
});
|
|
36
|
-
//# sourceMappingURL=configuration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/strapi/providers/local-source/configuration.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,+CAAqC;AACrC,kCAAgC;AAKhC;;GAEG;AACI,MAAM,yBAAyB,GAAG,CAAC,MAAoB,EAAY,EAAE;IAC1E,OAAO,iBAAQ,CAAC,IAAI,CAClB,CAAC,KAAK,SAAS,CAAC,CAAC,sBAAsB;QACrC,aAAa;QACb,MAAM,eAAe,GAAG,IAAA,oBAAK,EAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE;YACrD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,QAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;YACpD,qBAAqB,CAAC,YAAY,CAAC;SACpC,CAAC,CAAC;QAEH,UAAU;QACV,MAAM,cAAc,GAAG,IAAA,oBAAK,EAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;YAC1C,qBAAqB,CAAC,SAAS,CAAC;SACjC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAElD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE;gBAC/B,MAAM,IAAI,CAAC;aACZ;SACF;IACH,CAAC,CAAC,EAAE,CACL,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,yBAAyB,6BAyBpC;AAEF,MAAM,qBAAqB,GAAG,CAAC,IAA8B,EAAE,EAAE,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC;IACrF,IAAI;IACJ,KAAK;CACN,CAAC,CAAC"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.createEntitiesTransformStream = exports.createEntitiesStream = void 0;
|
|
27
|
-
const stream_1 = require("stream");
|
|
28
|
-
const shared = __importStar(require("../../queries"));
|
|
29
|
-
/**
|
|
30
|
-
* Generate and consume content-types streams in order to stream each entity individually
|
|
31
|
-
*/
|
|
32
|
-
const createEntitiesStream = (strapi) => {
|
|
33
|
-
const contentTypes = Object.values(strapi.contentTypes);
|
|
34
|
-
async function* contentTypeStreamGenerator() {
|
|
35
|
-
for (const contentType of contentTypes) {
|
|
36
|
-
const query = shared.entity.createEntityQuery(strapi).call(null, contentType.uid);
|
|
37
|
-
const stream = strapi.db
|
|
38
|
-
// Create a query builder instance (default type is 'select')
|
|
39
|
-
.queryBuilder(contentType.uid)
|
|
40
|
-
// Fetch all columns
|
|
41
|
-
.select('*')
|
|
42
|
-
// Apply the populate
|
|
43
|
-
.populate(query.deepPopulateComponentLikeQuery)
|
|
44
|
-
// Get a readable stream
|
|
45
|
-
.stream();
|
|
46
|
-
yield { contentType, stream };
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return stream_1.Readable.from((async function* entitiesGenerator() {
|
|
50
|
-
for await (const { stream, contentType } of contentTypeStreamGenerator()) {
|
|
51
|
-
try {
|
|
52
|
-
for await (const entity of stream) {
|
|
53
|
-
yield { entity, contentType };
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
// ignore
|
|
58
|
-
}
|
|
59
|
-
finally {
|
|
60
|
-
stream.destroy();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
})());
|
|
64
|
-
};
|
|
65
|
-
exports.createEntitiesStream = createEntitiesStream;
|
|
66
|
-
/**
|
|
67
|
-
* Create an entity transform stream which convert the output of
|
|
68
|
-
* the multi-content-types stream to the transfer entity format
|
|
69
|
-
*/
|
|
70
|
-
const createEntitiesTransformStream = () => {
|
|
71
|
-
return new stream_1.Transform({
|
|
72
|
-
objectMode: true,
|
|
73
|
-
transform(data, _encoding, callback) {
|
|
74
|
-
const { entity, contentType } = data;
|
|
75
|
-
const { id, ...attributes } = entity;
|
|
76
|
-
callback(null, {
|
|
77
|
-
type: contentType.uid,
|
|
78
|
-
id,
|
|
79
|
-
data: attributes,
|
|
80
|
-
});
|
|
81
|
-
},
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
exports.createEntitiesTransformStream = createEntitiesTransformStream;
|
|
85
|
-
//# sourceMappingURL=entities.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../../src/strapi/providers/local-source/entities.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAG7C,sDAAwC;AAGxC;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAAC,MAAoB,EAAY,EAAE;IACrE,MAAM,YAAY,GAAyB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE9E,KAAK,SAAS,CAAC,CAAC,0BAA0B;QACxC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAElF,MAAM,MAAM,GAAa,MAAM,CAAC,EAAE;gBAChC,6DAA6D;iBAC5D,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC;gBAC9B,oBAAoB;iBACnB,MAAM,CAAC,GAAG,CAAC;gBACZ,qBAAqB;iBACpB,QAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC;gBAC/C,wBAAwB;iBACvB,MAAM,EAAE,CAAC;YAEZ,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;SAC/B;IACH,CAAC;IAED,OAAO,iBAAQ,CAAC,IAAI,CAClB,CAAC,KAAK,SAAS,CAAC,CAAC,iBAAiB;QAIhC,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,0BAA0B,EAAE,EAAE;YACxE,IAAI;gBACF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,MAAM,EAAE;oBACjC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;iBAC/B;aACF;YAAC,MAAM;gBACN,SAAS;aACV;oBAAS;gBACR,MAAM,CAAC,OAAO,EAAE,CAAC;aAClB;SACF;IACH,CAAC,CAAC,EAAE,CACL,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,oBAAoB,wBAuC/B;AAEF;;;GAGG;AACI,MAAM,6BAA6B,GAAG,GAAc,EAAE;IAC3D,OAAO,IAAI,kBAAS,CAAC;QACnB,UAAU,EAAE,IAAI;QAChB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ;YACjC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;YACrC,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;YAErC,QAAQ,CAAC,IAAI,EAAE;gBACb,IAAI,EAAE,WAAW,CAAC,GAAG;gBACrB,EAAE;gBACF,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,6BAA6B,iCAcxC"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.createLocalStrapiSourceProvider = void 0;
|
|
27
|
-
const stream_1 = require("stream");
|
|
28
|
-
const stream_chain_1 = require("stream-chain");
|
|
29
|
-
const entities_1 = require("./entities");
|
|
30
|
-
const links_1 = require("./links");
|
|
31
|
-
const configuration_1 = require("./configuration");
|
|
32
|
-
const assets_1 = require("./assets");
|
|
33
|
-
const utils = __importStar(require("../../../utils"));
|
|
34
|
-
const providers_1 = require("../../../utils/providers");
|
|
35
|
-
const createLocalStrapiSourceProvider = (options) => {
|
|
36
|
-
return new LocalStrapiSourceProvider(options);
|
|
37
|
-
};
|
|
38
|
-
exports.createLocalStrapiSourceProvider = createLocalStrapiSourceProvider;
|
|
39
|
-
class LocalStrapiSourceProvider {
|
|
40
|
-
name = 'source::local-strapi';
|
|
41
|
-
type = 'source';
|
|
42
|
-
options;
|
|
43
|
-
strapi;
|
|
44
|
-
constructor(options) {
|
|
45
|
-
this.options = options;
|
|
46
|
-
}
|
|
47
|
-
async bootstrap() {
|
|
48
|
-
this.strapi = await this.options.getStrapi();
|
|
49
|
-
}
|
|
50
|
-
async close() {
|
|
51
|
-
const { autoDestroy } = this.options;
|
|
52
|
-
// Basically `!== false` but more deterministic
|
|
53
|
-
if (autoDestroy === undefined || autoDestroy === true) {
|
|
54
|
-
await this.strapi?.destroy();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
getMetadata() {
|
|
58
|
-
const strapiVersion = strapi.config.get('info.strapi');
|
|
59
|
-
const createdAt = new Date().toISOString();
|
|
60
|
-
return {
|
|
61
|
-
createdAt,
|
|
62
|
-
strapi: {
|
|
63
|
-
version: strapiVersion,
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
async createEntitiesReadStream() {
|
|
68
|
-
(0, providers_1.assertValidStrapi)(this.strapi, 'Not able to stream entities');
|
|
69
|
-
return (0, stream_chain_1.chain)([
|
|
70
|
-
// Entities stream
|
|
71
|
-
(0, entities_1.createEntitiesStream)(this.strapi),
|
|
72
|
-
// Transform stream
|
|
73
|
-
(0, entities_1.createEntitiesTransformStream)(),
|
|
74
|
-
]);
|
|
75
|
-
}
|
|
76
|
-
createLinksReadStream() {
|
|
77
|
-
(0, providers_1.assertValidStrapi)(this.strapi, 'Not able to stream links');
|
|
78
|
-
return (0, links_1.createLinksStream)(this.strapi);
|
|
79
|
-
}
|
|
80
|
-
createConfigurationReadStream() {
|
|
81
|
-
(0, providers_1.assertValidStrapi)(this.strapi, 'Not able to stream configuration');
|
|
82
|
-
return (0, configuration_1.createConfigurationStream)(this.strapi);
|
|
83
|
-
}
|
|
84
|
-
getSchemas() {
|
|
85
|
-
(0, providers_1.assertValidStrapi)(this.strapi, 'Not able to get Schemas');
|
|
86
|
-
const schemas = {
|
|
87
|
-
...this.strapi.contentTypes,
|
|
88
|
-
...this.strapi.components,
|
|
89
|
-
};
|
|
90
|
-
return utils.schema.mapSchemasValues(schemas);
|
|
91
|
-
}
|
|
92
|
-
createSchemasReadStream() {
|
|
93
|
-
return stream_1.Readable.from(Object.values(this.getSchemas()));
|
|
94
|
-
}
|
|
95
|
-
createAssetsReadStream() {
|
|
96
|
-
(0, providers_1.assertValidStrapi)(this.strapi, 'Not able to stream assets');
|
|
97
|
-
return (0, assets_1.createAssetsStream)(this.strapi);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/strapi/providers/local-source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkC;AAClC,+CAAqC;AAIrC,yCAAiF;AACjF,mCAA4C;AAC5C,mDAA4D;AAC5D,qCAA8C;AAC9C,sDAAwC;AACxC,wDAA6D;AAQtD,MAAM,+BAA+B,GAAG,CAAC,OAA0C,EAAE,EAAE;IAC5F,OAAO,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC;AAFW,QAAA,+BAA+B,mCAE1C;AAEF,MAAM,yBAAyB;IAC7B,IAAI,GAAG,sBAAsB,CAAC;IAE9B,IAAI,GAAiB,QAAQ,CAAC;IAE9B,OAAO,CAAoC;IAE3C,MAAM,CAAgB;IAEtB,YAAY,OAA0C;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAErC,+CAA+C;QAC/C,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE;YACrD,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;SAC9B;IACH,CAAC;IAED,WAAW;QACT,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,OAAO;YACL,SAAS;YACT,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,IAAA,6BAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;QAE9D,OAAO,IAAA,oBAAK,EAAC;YACX,kBAAkB;YAClB,IAAA,+BAAoB,EAAC,IAAI,CAAC,MAAM,CAAC;YAEjC,mBAAmB;YACnB,IAAA,wCAA6B,GAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,IAAA,6BAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAE3D,OAAO,IAAA,yBAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,6BAA6B;QAC3B,IAAA,6BAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAEnE,OAAO,IAAA,yCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,UAAU;QACR,IAAA,6BAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;YAC3B,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;SAC1B,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,uBAAuB;QACrB,OAAO,iBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,sBAAsB;QACpB,IAAA,6BAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QAE5D,OAAO,IAAA,2BAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createLinksStream = void 0;
|
|
4
|
-
const stream_1 = require("stream");
|
|
5
|
-
const link_1 = require("../../queries/link");
|
|
6
|
-
/**
|
|
7
|
-
* Create a Readable which will stream all the links from a Strapi instance
|
|
8
|
-
*/
|
|
9
|
-
const createLinksStream = (strapi) => {
|
|
10
|
-
const uids = [...Object.keys(strapi.contentTypes), ...Object.keys(strapi.components)];
|
|
11
|
-
// Async generator stream that returns every link from a Strapi instance
|
|
12
|
-
return stream_1.Readable.from((async function* linkGenerator() {
|
|
13
|
-
const query = (0, link_1.createLinkQuery)(strapi);
|
|
14
|
-
for (const uid of uids) {
|
|
15
|
-
const generator = query().generateAll(uid);
|
|
16
|
-
for await (const link of generator) {
|
|
17
|
-
yield link;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
})());
|
|
21
|
-
};
|
|
22
|
-
exports.createLinksStream = createLinksStream;
|
|
23
|
-
//# sourceMappingURL=links.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../../src/strapi/providers/local-source/links.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAIlC,6CAAqD;AAErD;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,MAAoB,EAAY,EAAE;IAClE,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAa,CAAC;IAElG,wEAAwE;IACxE,OAAO,iBAAQ,CAAC,IAAI,CAClB,CAAC,KAAK,SAAS,CAAC,CAAC,aAAa;QAC5B,MAAM,KAAK,GAAG,IAAA,sBAAe,EAAC,MAAM,CAAC,CAAC;QAEtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE3C,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,EAAE;gBAClC,MAAM,IAAI,CAAC;aACZ;SACF;IACH,CAAC,CAAC,EAAE,CACL,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,iBAAiB,qBAiB5B"}
|