@payloadcms/db-postgres 0.1.0-beta.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/connect.js +82 -0
- package/dist/create.js +32 -0
- package/dist/createGlobal.js +32 -0
- package/dist/createGlobalVersion.js +48 -0
- package/dist/createMigration.js +85 -0
- package/dist/createVersion.js +54 -0
- package/dist/deleteMany.js +44 -0
- package/dist/deleteOne.js +47 -0
- package/dist/deleteVersions.js +46 -0
- package/dist/destroy.js +16 -0
- package/dist/find/buildFindManyArgs.js +61 -0
- package/dist/find/chainMethods.js +21 -0
- package/dist/find/findMany.js +197 -0
- package/dist/find/traverseFields.js +118 -0
- package/dist/find.js +35 -0
- package/dist/findGlobal.js +38 -0
- package/dist/findGlobalVersions.js +39 -0
- package/dist/findOne.js +49 -0
- package/dist/findVersions.js +39 -0
- package/dist/index.js +95 -0
- package/dist/init.js +74 -0
- package/dist/migrate.js +81 -0
- package/dist/migrateStatus.js +54 -0
- package/dist/mock.js +13 -0
- package/dist/queries/buildAndOrConditions.js +39 -0
- package/dist/queries/buildQuery.js +80 -0
- package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js +24 -0
- package/dist/queries/createJSONQuery/formatJSONPathSegment.js +15 -0
- package/dist/queries/createJSONQuery/index.js +64 -0
- package/dist/queries/getTableColumnFromPath.js +333 -0
- package/dist/queries/operatorMap.js +34 -0
- package/dist/queries/parseParams.js +146 -0
- package/dist/queries/sanitizeQueryValue.js +79 -0
- package/dist/queryDrafts.js +56 -0
- package/dist/reference.js +76 -0
- package/dist/schema/build.js +245 -0
- package/dist/schema/createIndex.js +19 -0
- package/dist/schema/parentIDColumnMap.js +18 -0
- package/dist/schema/traverseFields.js +430 -0
- package/dist/schema/validateExistingBlockIsIdentical.js +34 -0
- package/dist/transactions/beginTransaction.js +51 -0
- package/dist/transactions/commitTransaction.js +24 -0
- package/dist/transactions/rollbackTransaction.js +20 -0
- package/dist/transform/read/hasManyNumber.js +20 -0
- package/dist/transform/read/index.js +42 -0
- package/dist/transform/read/relationship.js +74 -0
- package/dist/transform/read/traverseFields.js +325 -0
- package/dist/transform/write/array.js +55 -0
- package/dist/transform/write/blocks.js +56 -0
- package/dist/transform/write/index.js +46 -0
- package/dist/transform/write/numbers.js +21 -0
- package/dist/transform/write/relationships.js +33 -0
- package/dist/transform/write/selects.js +29 -0
- package/dist/transform/write/traverseFields.js +379 -0
- package/dist/transform/write/types.js +6 -0
- package/dist/types.js +6 -0
- package/dist/update.js +48 -0
- package/dist/updateGlobal.js +39 -0
- package/dist/updateGlobalVersion.js +50 -0
- package/dist/updateVersion.js +50 -0
- package/dist/upsertRow/deleteExistingArrayRows.js +20 -0
- package/dist/upsertRow/deleteExistingRowsByPath.js +43 -0
- package/dist/upsertRow/index.js +243 -0
- package/dist/upsertRow/insertArrays.js +64 -0
- package/dist/upsertRow/types.js +6 -0
- package/dist/utilities/appendPrefixToKeys.js +16 -0
- package/dist/utilities/createBlocksMap.js +39 -0
- package/dist/utilities/createMigrationTable.js +23 -0
- package/dist/utilities/createRelationshipMap.js +29 -0
- package/dist/utilities/hasLocalesTable.js +21 -0
- package/dist/utilities/isArrayOfRows.js +15 -0
- package/dist/utilities/migrationTableExists.js +19 -0
- package/dist/webpack.js +30 -0
- package/package.json +47 -0
package/dist/connect.js
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "connect", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return connect;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _utils = require("drizzle-kit/utils");
|
12
|
+
const _drizzleorm = require("drizzle-orm");
|
13
|
+
const _nodepostgres = require("drizzle-orm/node-postgres");
|
14
|
+
const _pg = require("pg");
|
15
|
+
const _prompts = /*#__PURE__*/ _interop_require_default(require("prompts"));
|
16
|
+
function _interop_require_default(obj) {
|
17
|
+
return obj && obj.__esModule ? obj : {
|
18
|
+
default: obj
|
19
|
+
};
|
20
|
+
}
|
21
|
+
const connect = async function connect(payload) {
|
22
|
+
this.schema = {
|
23
|
+
...this.tables,
|
24
|
+
...this.relations,
|
25
|
+
...this.enums
|
26
|
+
};
|
27
|
+
try {
|
28
|
+
this.pool = new _pg.Pool(this.client);
|
29
|
+
await this.pool.connect();
|
30
|
+
this.db = (0, _nodepostgres.drizzle)(this.pool, {
|
31
|
+
schema: this.schema
|
32
|
+
});
|
33
|
+
if (process.env.PAYLOAD_DROP_DATABASE === 'true') {
|
34
|
+
this.payload.logger.info('---- DROPPING TABLES ----');
|
35
|
+
await this.db.execute((0, _drizzleorm.sql)`drop schema public cascade;\ncreate schema public;`);
|
36
|
+
this.payload.logger.info('---- DROPPED TABLES ----');
|
37
|
+
}
|
38
|
+
} catch (err) {
|
39
|
+
payload.logger.error(`Error: cannot connect to Postgres. Details: ${err.message}`, err);
|
40
|
+
process.exit(1);
|
41
|
+
}
|
42
|
+
this.payload.logger.info('Connected to Postgres successfully');
|
43
|
+
// Only push schema if not in production
|
44
|
+
if (process.env.NODE_ENV === 'production' || process.env.PAYLOAD_MIGRATING === 'true') return;
|
45
|
+
// This will prompt if clarifications are needed for Drizzle to push new schema
|
46
|
+
const { apply, hasDataLoss, statementsToExecute, warnings } = await (0, _utils.pushSchema)(this.schema, this.db);
|
47
|
+
this.payload.logger.debug({
|
48
|
+
hasDataLoss,
|
49
|
+
msg: 'Schema push results',
|
50
|
+
statementsToExecute,
|
51
|
+
warnings
|
52
|
+
});
|
53
|
+
if (warnings.length) {
|
54
|
+
this.payload.logger.warn({
|
55
|
+
msg: `Warnings detected during schema push: ${warnings.join('\n')}`,
|
56
|
+
warnings
|
57
|
+
});
|
58
|
+
if (hasDataLoss) {
|
59
|
+
this.payload.logger.warn({
|
60
|
+
msg: 'DATA LOSS WARNING: Possible data loss detected if schema is pushed.'
|
61
|
+
});
|
62
|
+
}
|
63
|
+
const { confirm: acceptWarnings } = await (0, _prompts.default)({
|
64
|
+
name: 'confirm',
|
65
|
+
initial: false,
|
66
|
+
message: 'Accept warnings and push schema to database?',
|
67
|
+
type: 'confirm'
|
68
|
+
}, {
|
69
|
+
onCancel: ()=>{
|
70
|
+
process.exit(0);
|
71
|
+
}
|
72
|
+
});
|
73
|
+
// Exit if user does not accept warnings.
|
74
|
+
// Q: Is this the right type of exit for this interaction?
|
75
|
+
if (!acceptWarnings) {
|
76
|
+
process.exit(0);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
await apply();
|
80
|
+
};
|
81
|
+
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29ubmVjdCB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB7IHB1c2hTY2hlbWEgfSBmcm9tICdkcml6emxlLWtpdC91dGlscydcbmltcG9ydCB7IHNxbCB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHsgZHJpenpsZSB9IGZyb20gJ2RyaXp6bGUtb3JtL25vZGUtcG9zdGdyZXMnXG5pbXBvcnQgeyBQb29sIH0gZnJvbSAncGcnXG5pbXBvcnQgcHJvbXB0cyBmcm9tICdwcm9tcHRzJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBjb25uZWN0OiBDb25uZWN0ID0gYXN5bmMgZnVuY3Rpb24gY29ubmVjdCh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsIHBheWxvYWQpIHtcbiAgdGhpcy5zY2hlbWEgPSB7XG4gICAgLi4udGhpcy50YWJsZXMsXG4gICAgLi4udGhpcy5yZWxhdGlvbnMsXG4gICAgLi4udGhpcy5lbnVtcyxcbiAgfVxuXG4gIHRyeSB7XG4gICAgdGhpcy5wb29sID0gbmV3IFBvb2wodGhpcy5jbGllbnQpXG4gICAgYXdhaXQgdGhpcy5wb29sLmNvbm5lY3QoKVxuXG4gICAgdGhpcy5kYiA9IGRyaXp6bGUodGhpcy5wb29sLCB7IHNjaGVtYTogdGhpcy5zY2hlbWEgfSlcbiAgICBpZiAocHJvY2Vzcy5lbnYuUEFZTE9BRF9EUk9QX0RBVEFCQVNFID09PSAndHJ1ZScpIHtcbiAgICAgIHRoaXMucGF5bG9hZC5sb2dnZXIuaW5mbygnLS0tLSBEUk9QUElORyBUQUJMRVMgLS0tLScpXG4gICAgICBhd2FpdCB0aGlzLmRiLmV4ZWN1dGUoc3FsYGRyb3Agc2NoZW1hIHB1YmxpYyBjYXNjYWRlO1xcbmNyZWF0ZSBzY2hlbWEgcHVibGljO2ApXG4gICAgICB0aGlzLnBheWxvYWQubG9nZ2VyLmluZm8oJy0tLS0gRFJPUFBFRCBUQUJMRVMgLS0tLScpXG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihgRXJyb3I6IGNhbm5vdCBjb25uZWN0IHRvIFBvc3RncmVzLiBEZXRhaWxzOiAke2Vyci5tZXNzYWdlfWAsIGVycilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfVxuXG4gIHRoaXMucGF5bG9hZC5sb2dnZXIuaW5mbygnQ29ubmVjdGVkIHRvIFBvc3RncmVzIHN1Y2Nlc3NmdWxseScpXG5cbiAgLy8gT25seSBwdXNoIHNjaGVtYSBpZiBub3QgaW4gcHJvZHVjdGlvblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyB8fCBwcm9jZXNzLmVudi5QQVlMT0FEX01JR1JBVElORyA9PT0gJ3RydWUnKSByZXR1cm5cblxuICAvLyBUaGlzIHdpbGwgcHJvbXB0IGlmIGNsYXJpZmljYXRpb25zIGFyZSBuZWVkZWQgZm9yIERyaXp6bGUgdG8gcHVzaCBuZXcgc2NoZW1hXG4gIGNvbnN0IHsgYXBwbHksIGhhc0RhdGFMb3NzLCBzdGF0ZW1lbnRzVG9FeGVjdXRlLCB3YXJuaW5ncyB9ID0gYXdhaXQgcHVzaFNjaGVtYShcbiAgICB0aGlzLnNjaGVtYSxcbiAgICB0aGlzLmRiLFxuICApXG5cbiAgdGhpcy5wYXlsb2FkLmxvZ2dlci5kZWJ1Zyh7XG4gICAgaGFzRGF0YUxvc3MsXG4gICAgbXNnOiAnU2NoZW1hIHB1c2ggcmVzdWx0cycsXG4gICAgc3RhdGVtZW50c1RvRXhlY3V0ZSxcbiAgICB3YXJuaW5ncyxcbiAgfSlcblxuICBpZiAod2FybmluZ3MubGVuZ3RoKSB7XG4gICAgdGhpcy5wYXlsb2FkLmxvZ2dlci53YXJuKHtcbiAgICAgIG1zZzogYFdhcm5pbmdzIGRldGVjdGVkIGR1cmluZyBzY2hlbWEgcHVzaDogJHt3YXJuaW5ncy5qb2luKCdcXG4nKX1gLFxuICAgICAgd2FybmluZ3MsXG4gICAgfSlcblxuICAgIGlmIChoYXNEYXRhTG9zcykge1xuICAgICAgdGhpcy5wYXlsb2FkLmxvZ2dlci53YXJuKHtcbiAgICAgICAgbXNnOiAnREFUQSBMT1NTIFdBUk5JTkc6IFBvc3NpYmxlIGRhdGEgbG9zcyBkZXRlY3RlZCBpZiBzY2hlbWEgaXMgcHVzaGVkLicsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IHsgY29uZmlybTogYWNjZXB0V2FybmluZ3MgfSA9IGF3YWl0IHByb21wdHMoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgICAgaW5pdGlhbDogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2U6ICdBY2NlcHQgd2FybmluZ3MgYW5kIHB1c2ggc2NoZW1hIHRvIGRhdGFiYXNlPycsXG4gICAgICAgIHR5cGU6ICdjb25maXJtJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9uQ2FuY2VsOiAoKSA9PiB7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIClcblxuICAgIC8vIEV4aXQgaWYgdXNlciBkb2VzIG5vdCBhY2NlcHQgd2FybmluZ3MuXG4gICAgLy8gUTogSXMgdGhpcyB0aGUgcmlnaHQgdHlwZSBvZiBleGl0IGZvciB0aGlzIGludGVyYWN0aW9uP1xuICAgIGlmICghYWNjZXB0V2FybmluZ3MpIHtcbiAgICAgIHByb2Nlc3MuZXhpdCgwKVxuICAgIH1cbiAgfVxuXG4gIGF3YWl0IGFwcGx5KClcbn1cbiJdLCJuYW1lcyI6WyJjb25uZWN0IiwicGF5bG9hZCIsInNjaGVtYSIsInRhYmxlcyIsInJlbGF0aW9ucyIsImVudW1zIiwicG9vbCIsIlBvb2wiLCJjbGllbnQiLCJkYiIsImRyaXp6bGUiLCJwcm9jZXNzIiwiZW52IiwiUEFZTE9BRF9EUk9QX0RBVEFCQVNFIiwibG9nZ2VyIiwiaW5mbyIsImV4ZWN1dGUiLCJzcWwiLCJlcnIiLCJlcnJvciIsIm1lc3NhZ2UiLCJleGl0IiwiTk9ERV9FTlYiLCJQQVlMT0FEX01JR1JBVElORyIsImFwcGx5IiwiaGFzRGF0YUxvc3MiLCJzdGF0ZW1lbnRzVG9FeGVjdXRlIiwid2FybmluZ3MiLCJwdXNoU2NoZW1hIiwiZGVidWciLCJtc2ciLCJsZW5ndGgiLCJ3YXJuIiwiam9pbiIsImNvbmZpcm0iLCJhY2NlcHRXYXJuaW5ncyIsInByb21wdHMiLCJuYW1lIiwiaW5pdGlhbCIsInR5cGUiLCJvbkNhbmNlbCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFVYUE7OztlQUFBQTs7O3VCQVJjOzRCQUNQOzhCQUNJO29CQUNIO2dFQUNEOzs7Ozs7QUFJYixNQUFNQSxVQUFtQixlQUFlQSxRQUErQkMsT0FBTztJQUNuRixJQUFJLENBQUNDLE1BQU0sR0FBRztRQUNaLEdBQUcsSUFBSSxDQUFDQyxNQUFNO1FBQ2QsR0FBRyxJQUFJLENBQUNDLFNBQVM7UUFDakIsR0FBRyxJQUFJLENBQUNDLEtBQUs7SUFDZjtJQUVBLElBQUk7UUFDRixJQUFJLENBQUNDLElBQUksR0FBRyxJQUFJQyxRQUFJLENBQUMsSUFBSSxDQUFDQyxNQUFNO1FBQ2hDLE1BQU0sSUFBSSxDQUFDRixJQUFJLENBQUNOLE9BQU87UUFFdkIsSUFBSSxDQUFDUyxFQUFFLEdBQUdDLElBQUFBLHFCQUFPLEVBQUMsSUFBSSxDQUFDSixJQUFJLEVBQUU7WUFBRUosUUFBUSxJQUFJLENBQUNBLE1BQU07UUFBQztRQUNuRCxJQUFJUyxRQUFRQyxHQUFHLENBQUNDLHFCQUFxQixLQUFLLFFBQVE7WUFDaEQsSUFBSSxDQUFDWixPQUFPLENBQUNhLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDTixFQUFFLENBQUNPLE9BQU8sQ0FBQ0MsSUFBQUEsZUFBRyxDQUFBLENBQUMsa0RBQWtELENBQUM7WUFDN0UsSUFBSSxDQUFDaEIsT0FBTyxDQUFDYSxNQUFNLENBQUNDLElBQUksQ0FBQztRQUMzQjtJQUNGLEVBQUUsT0FBT0csS0FBSztRQUNaakIsUUFBUWEsTUFBTSxDQUFDSyxLQUFLLENBQUMsQ0FBQyw0Q0FBNEMsRUFBRUQsSUFBSUUsT0FBTyxDQUFDLENBQUMsRUFBRUY7UUFDbkZQLFFBQVFVLElBQUksQ0FBQztJQUNmO0lBRUEsSUFBSSxDQUFDcEIsT0FBTyxDQUFDYSxNQUFNLENBQUNDLElBQUksQ0FBQztJQUV6Qix3Q0FBd0M7SUFDeEMsSUFBSUosUUFBUUMsR0FBRyxDQUFDVSxRQUFRLEtBQUssZ0JBQWdCWCxRQUFRQyxHQUFHLENBQUNXLGlCQUFpQixLQUFLLFFBQVE7SUFFdkYsK0VBQStFO0lBQy9FLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxXQUFXLEVBQUVDLG1CQUFtQixFQUFFQyxRQUFRLEVBQUUsR0FBRyxNQUFNQyxJQUFBQSxpQkFBVSxFQUM1RSxJQUFJLENBQUMxQixNQUFNLEVBQ1gsSUFBSSxDQUFDTyxFQUFFO0lBR1QsSUFBSSxDQUFDUixPQUFPLENBQUNhLE1BQU0sQ0FBQ2UsS0FBSyxDQUFDO1FBQ3hCSjtRQUNBSyxLQUFLO1FBQ0xKO1FBQ0FDO0lBQ0Y7SUFFQSxJQUFJQSxTQUFTSSxNQUFNLEVBQUU7UUFDbkIsSUFBSSxDQUFDOUIsT0FBTyxDQUFDYSxNQUFNLENBQUNrQixJQUFJLENBQUM7WUFDdkJGLEtBQUssQ0FBQyxzQ0FBc0MsRUFBRUgsU0FBU00sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNuRU47UUFDRjtRQUVBLElBQUlGLGFBQWE7WUFDZixJQUFJLENBQUN4QixPQUFPLENBQUNhLE1BQU0sQ0FBQ2tCLElBQUksQ0FBQztnQkFDdkJGLEtBQUs7WUFDUDtRQUNGO1FBRUEsTUFBTSxFQUFFSSxTQUFTQyxjQUFjLEVBQUUsR0FBRyxNQUFNQyxJQUFBQSxnQkFBTyxFQUMvQztZQUNFQyxNQUFNO1lBQ05DLFNBQVM7WUFDVGxCLFNBQVM7WUFDVG1CLE1BQU07UUFDUixHQUNBO1lBQ0VDLFVBQVU7Z0JBQ1I3QixRQUFRVSxJQUFJLENBQUM7WUFDZjtRQUNGO1FBR0YseUNBQXlDO1FBQ3pDLDBEQUEwRDtRQUMxRCxJQUFJLENBQUNjLGdCQUFnQjtZQUNuQnhCLFFBQVFVLElBQUksQ0FBQztRQUNmO0lBQ0Y7SUFFQSxNQUFNRztBQUNSIn0=
|
package/dist/create.js
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "create", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return create;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
12
|
+
const _upsertRow = require("./upsertRow");
|
13
|
+
function _interop_require_default(obj) {
|
14
|
+
return obj && obj.__esModule ? obj : {
|
15
|
+
default: obj
|
16
|
+
};
|
17
|
+
}
|
18
|
+
const create = async function create({ collection: collectionSlug, data, req }) {
|
19
|
+
const db = this.sessions[req.transactionID]?.db || this.db;
|
20
|
+
const collection = this.payload.collections[collectionSlug].config;
|
21
|
+
const result = await (0, _upsertRow.upsertRow)({
|
22
|
+
adapter: this,
|
23
|
+
data,
|
24
|
+
db,
|
25
|
+
fields: collection.fields,
|
26
|
+
operation: 'create',
|
27
|
+
tableName: (0, _tosnakecase.default)(collectionSlug)
|
28
|
+
});
|
29
|
+
return result;
|
30
|
+
};
|
31
|
+
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHsgdXBzZXJ0Um93IH0gZnJvbSAnLi91cHNlcnRSb3cnXG5cbmV4cG9ydCBjb25zdCBjcmVhdGU6IENyZWF0ZSA9IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZSAoeyBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZywgZGF0YSwgcmVxIH0pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kYlxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3coe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24uZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgdGFibGVOYW1lOiB0b1NuYWtlQ2FzZShjb2xsZWN0aW9uU2x1ZyksXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJyZXEiLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsInJlc3VsdCIsInVwc2VydFJvdyIsImFkYXB0ZXIiLCJmaWVsZHMiLCJvcGVyYXRpb24iLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFNYUE7OztlQUFBQTs7O29FQUpXOzJCQUVFOzs7Ozs7QUFFbkIsTUFBTUEsU0FBaUIsZUFBZUEsT0FBUSxFQUFFQyxZQUFZQyxjQUFjLEVBQUVDLElBQUksRUFBRUMsR0FBRyxFQUFFO0lBQzVGLE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNGLElBQUlHLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0EsRUFBRTtJQUMxRCxNQUFNSixhQUFhLElBQUksQ0FBQ08sT0FBTyxDQUFDQyxXQUFXLENBQUNQLGVBQWUsQ0FBQ1EsTUFBTTtJQUVsRSxNQUFNQyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQUM7UUFDN0JDLFNBQVMsSUFBSTtRQUNiVjtRQUNBRTtRQUNBUyxRQUFRYixXQUFXYSxNQUFNO1FBQ3pCQyxXQUFXO1FBQ1hDLFdBQVdDLElBQUFBLG9CQUFXLEVBQUNmO0lBQ3pCO0lBRUEsT0FBT1M7QUFDVCJ9
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "createGlobal", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return createGlobal;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
12
|
+
const _upsertRow = require("./upsertRow");
|
13
|
+
function _interop_require_default(obj) {
|
14
|
+
return obj && obj.__esModule ? obj : {
|
15
|
+
default: obj
|
16
|
+
};
|
17
|
+
}
|
18
|
+
async function createGlobal({ data, req = {}, slug }) {
|
19
|
+
const db = this.sessions[req.transactionID]?.db || this.db;
|
20
|
+
const globalConfig = this.payload.globals.config.find((config)=>config.slug === slug);
|
21
|
+
const result = await (0, _upsertRow.upsertRow)({
|
22
|
+
adapter: this,
|
23
|
+
data,
|
24
|
+
db,
|
25
|
+
fields: globalConfig.fields,
|
26
|
+
operation: 'create',
|
27
|
+
tableName: (0, _tosnakecase.default)(slug)
|
28
|
+
});
|
29
|
+
return result;
|
30
|
+
}
|
31
|
+
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVHbG9iYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHbG9iYWxBcmdzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUdsb2JhbDxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBkYXRhLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgc2x1ZyB9OiBDcmVhdGVHbG9iYWxBcmdzLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZGJcbiAgY29uc3QgZ2xvYmFsQ29uZmlnID0gdGhpcy5wYXlsb2FkLmdsb2JhbHMuY29uZmlnLmZpbmQoKGNvbmZpZykgPT4gY29uZmlnLnNsdWcgPT09IHNsdWcpXG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdXBzZXJ0Um93PFQ+KHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGEsXG4gICAgZGIsXG4gICAgZmllbGRzOiBnbG9iYWxDb25maWcuZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgdGFibGVOYW1lOiB0b1NuYWtlQ2FzZShzbHVnKSxcbiAgfSlcblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlR2xvYmFsIiwiZGF0YSIsInJlcSIsInNsdWciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImdsb2JhbENvbmZpZyIsInBheWxvYWQiLCJnbG9iYWxzIiwiY29uZmlnIiwiZmluZCIsInJlc3VsdCIsInVwc2VydFJvdyIsImFkYXB0ZXIiLCJmaWVsZHMiLCJvcGVyYXRpb24iLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTc0JBOzs7ZUFBQUE7OztvRUFORTsyQkFJRTs7Ozs7O0FBRW5CLGVBQWVBLGFBRXBCLEVBQUVDLElBQUksRUFBRUMsTUFBTSxDQUFDLENBQW1CLEVBQUVDLElBQUksRUFBb0I7SUFFNUQsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0gsSUFBSUksYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDQSxFQUFFO0lBQzFELE1BQU1HLGVBQWUsSUFBSSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQ0QsU0FBV0EsT0FBT1AsSUFBSSxLQUFLQTtJQUVsRixNQUFNUyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQUk7UUFDaENDLFNBQVMsSUFBSTtRQUNiYjtRQUNBRztRQUNBVyxRQUFRUixhQUFhUSxNQUFNO1FBQzNCQyxXQUFXO1FBQ1hDLFdBQVdDLElBQUFBLG9CQUFXLEVBQUNmO0lBQ3pCO0lBRUEsT0FBT1M7QUFDVCJ9
|
@@ -0,0 +1,48 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "createGlobalVersion", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return createGlobalVersion;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _drizzleorm = require("drizzle-orm");
|
12
|
+
const _versions = require("payload/versions");
|
13
|
+
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
14
|
+
const _upsertRow = require("./upsertRow");
|
15
|
+
function _interop_require_default(obj) {
|
16
|
+
return obj && obj.__esModule ? obj : {
|
17
|
+
default: obj
|
18
|
+
};
|
19
|
+
}
|
20
|
+
async function createGlobalVersion({ autosave, globalSlug, req = {}, versionData }) {
|
21
|
+
const db = this.sessions[req.transactionID]?.db || this.db;
|
22
|
+
const global = this.payload.globals.config.find(({ slug })=>slug === globalSlug);
|
23
|
+
const globalTableName = (0, _tosnakecase.default)(globalSlug);
|
24
|
+
const tableName = `_${globalTableName}_v`;
|
25
|
+
const result = await (0, _upsertRow.upsertRow)({
|
26
|
+
adapter: this,
|
27
|
+
data: {
|
28
|
+
autosave,
|
29
|
+
latest: true,
|
30
|
+
version: versionData
|
31
|
+
},
|
32
|
+
db,
|
33
|
+
fields: (0, _versions.buildVersionGlobalFields)(global),
|
34
|
+
operation: 'create',
|
35
|
+
tableName
|
36
|
+
});
|
37
|
+
const table = this.tables[tableName];
|
38
|
+
if (global.versions.drafts) {
|
39
|
+
await db.execute((0, _drizzleorm.sql)`
|
40
|
+
UPDATE ${table}
|
41
|
+
SET latest = false
|
42
|
+
WHERE ${table.id} != ${result.id};
|
43
|
+
`);
|
44
|
+
}
|
45
|
+
return result;
|
46
|
+
}
|
47
|
+
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVHbG9iYWxWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IHR5cGUgQ3JlYXRlR2xvYmFsVmVyc2lvbkFyZ3MgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlR2xvYmFsVmVyc2lvbjxUIGV4dGVuZHMgVHlwZVdpdGhJRD4gKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgYXV0b3NhdmUsIGdsb2JhbFNsdWcsIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LCB2ZXJzaW9uRGF0YSB9OiBDcmVhdGVHbG9iYWxWZXJzaW9uQXJncyxcbikge1xuICBjb25zdCBkYiA9IHRoaXMuc2Vzc2lvbnNbcmVxLnRyYW5zYWN0aW9uSURdPy5kYiB8fCB0aGlzLmRiXG4gIGNvbnN0IGdsb2JhbCA9IHRoaXMucGF5bG9hZC5nbG9iYWxzLmNvbmZpZy5maW5kKCh7IHNsdWcgfSkgPT4gc2x1ZyA9PT0gZ2xvYmFsU2x1ZylcbiAgY29uc3QgZ2xvYmFsVGFibGVOYW1lID0gdG9TbmFrZUNhc2UoZ2xvYmFsU2x1ZylcbiAgY29uc3QgdGFibGVOYW1lID0gYF8ke2dsb2JhbFRhYmxlTmFtZX1fdmBcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VHlwZVdpdGhWZXJzaW9uPFQ+Pih7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkYXRhOiB7XG4gICAgICBhdXRvc2F2ZSxcbiAgICAgIGxhdGVzdDogdHJ1ZSxcbiAgICAgIHZlcnNpb246IHZlcnNpb25EYXRhLFxuICAgIH0sXG4gICAgZGIsXG4gICAgZmllbGRzOiBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMoZ2xvYmFsKSxcbiAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgIHRhYmxlTmFtZSxcbiAgfSlcblxuICBjb25zdCB0YWJsZSA9IHRoaXMudGFibGVzW3RhYmxlTmFtZV1cblxuICBpZiAoZ2xvYmFsLnZlcnNpb25zLmRyYWZ0cykge1xuICAgIGF3YWl0IGRiLmV4ZWN1dGUoc3FsYFxuICAgICAgVVBEQVRFICR7dGFibGV9XG4gICAgICBTRVQgbGF0ZXN0ID0gZmFsc2VcbiAgICAgIFdIRVJFICR7dGFibGUuaWR9ICE9ICR7cmVzdWx0LmlkfTtcbiAgICBgKVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUdsb2JhbFZlcnNpb24iLCJhdXRvc2F2ZSIsImdsb2JhbFNsdWciLCJyZXEiLCJ2ZXJzaW9uRGF0YSIsImRiIiwic2Vzc2lvbnMiLCJ0cmFuc2FjdGlvbklEIiwiZ2xvYmFsIiwicGF5bG9hZCIsImdsb2JhbHMiLCJjb25maWciLCJmaW5kIiwic2x1ZyIsImdsb2JhbFRhYmxlTmFtZSIsInRvU25ha2VDYXNlIiwidGFibGVOYW1lIiwicmVzdWx0IiwidXBzZXJ0Um93IiwiYWRhcHRlciIsImRhdGEiLCJsYXRlc3QiLCJ2ZXJzaW9uIiwiZmllbGRzIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIiwib3BlcmF0aW9uIiwidGFibGUiLCJ0YWJsZXMiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsImV4ZWN1dGUiLCJzcWwiLCJpZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFZc0JBOzs7ZUFBQUE7Ozs0QkFURjswQkFFcUI7b0VBQ2pCOzJCQUlFOzs7Ozs7QUFFbkIsZUFBZUEsb0JBRXBCLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLENBQUMsQ0FBbUIsRUFBRUMsV0FBVyxFQUEyQjtJQUUxRixNQUFNQyxLQUFLLElBQUksQ0FBQ0MsUUFBUSxDQUFDSCxJQUFJSSxhQUFhLENBQUMsRUFBRUYsTUFBTSxJQUFJLENBQUNBLEVBQUU7SUFDMUQsTUFBTUcsU0FBUyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLEVBQUVDLElBQUksRUFBRSxHQUFLQSxTQUFTWDtJQUN2RSxNQUFNWSxrQkFBa0JDLElBQUFBLG9CQUFXLEVBQUNiO0lBQ3BDLE1BQU1jLFlBQVksQ0FBQyxDQUFDLEVBQUVGLGdCQUFnQixFQUFFLENBQUM7SUFFekMsTUFBTUcsU0FBUyxNQUFNQyxJQUFBQSxvQkFBUyxFQUFxQjtRQUNqREMsU0FBUyxJQUFJO1FBQ2JDLE1BQU07WUFDSm5CO1lBQ0FvQixRQUFRO1lBQ1JDLFNBQVNsQjtRQUNYO1FBQ0FDO1FBQ0FrQixRQUFRQyxJQUFBQSxrQ0FBd0IsRUFBQ2hCO1FBQ2pDaUIsV0FBVztRQUNYVDtJQUNGO0lBRUEsTUFBTVUsUUFBUSxJQUFJLENBQUNDLE1BQU0sQ0FBQ1gsVUFBVTtJQUVwQyxJQUFJUixPQUFPb0IsUUFBUSxDQUFDQyxNQUFNLEVBQUU7UUFDMUIsTUFBTXhCLEdBQUd5QixPQUFPLENBQUNDLElBQUFBLGVBQUcsQ0FBQSxDQUFDO2FBQ1osRUFBRUwsTUFBTTs7WUFFVCxFQUFFQSxNQUFNTSxFQUFFLENBQUMsSUFBSSxFQUFFZixPQUFPZSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUNIO0lBRUEsT0FBT2Y7QUFDVCJ9
|
@@ -0,0 +1,85 @@
|
|
1
|
+
/* eslint-disable no-restricted-syntax, no-await-in-loop */ "use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "createMigration", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return createMigration;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _utils = require("drizzle-kit/utils");
|
12
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
13
|
+
const _migrationTableExists = require("./utilities/migrationTableExists");
|
14
|
+
function _interop_require_default(obj) {
|
15
|
+
return obj && obj.__esModule ? obj : {
|
16
|
+
default: obj
|
17
|
+
};
|
18
|
+
}
|
19
|
+
const migrationTemplate = (upSQL, downSQL)=>`import { MigrateUpArgs, MigrateDownArgs } from '@payloadcms/db-postgres/types'
|
20
|
+
import { sql } from 'drizzle-orm'
|
21
|
+
|
22
|
+
export async function up({ payload }: MigrateUpArgs): Promise<void> {
|
23
|
+
${upSQL ? `await payload.db.db.execute(sql\`
|
24
|
+
|
25
|
+
${upSQL}\`);
|
26
|
+
` : '// Migration code'}
|
27
|
+
};
|
28
|
+
|
29
|
+
export async function down({ payload }: MigrateUpArgs): Promise<void> {
|
30
|
+
${downSQL ? `await payload.db.db.execute(sql\`
|
31
|
+
|
32
|
+
${downSQL}\`);
|
33
|
+
` : '// Migration code'}
|
34
|
+
};
|
35
|
+
`;
|
36
|
+
const getDefaultDrizzleSnapshot = ()=>({
|
37
|
+
id: '00000000-0000-0000-0000-000000000000',
|
38
|
+
_meta: {
|
39
|
+
columns: {},
|
40
|
+
schemas: {},
|
41
|
+
tables: {}
|
42
|
+
},
|
43
|
+
dialect: 'pg',
|
44
|
+
enums: {},
|
45
|
+
prevId: '00000000-0000-0000-0000-00000000000',
|
46
|
+
schemas: {},
|
47
|
+
tables: {},
|
48
|
+
version: '5'
|
49
|
+
});
|
50
|
+
const createMigration = async function createMigration(payload, migrationName) {
|
51
|
+
payload.logger.info({
|
52
|
+
msg: 'Creating new migration...'
|
53
|
+
});
|
54
|
+
const dir = payload.db.migrationDir;
|
55
|
+
if (!_fs.default.existsSync(dir)) {
|
56
|
+
_fs.default.mkdirSync(dir);
|
57
|
+
}
|
58
|
+
const [yyymmdd, hhmmss] = new Date().toISOString().split('T');
|
59
|
+
const formattedDate = yyymmdd.replace(/\D/g, '');
|
60
|
+
const formattedTime = hhmmss.split('.')[0].replace(/\D/g, '');
|
61
|
+
const timestamp = `${formattedDate}_${formattedTime}`;
|
62
|
+
const fileName = migrationName ? `${timestamp}_${migrationName.replace(/\W/g, '_')}.ts` : `${timestamp}.ts`;
|
63
|
+
const filePath = `${dir}/${fileName}`;
|
64
|
+
let drizzleJsonBefore = getDefaultDrizzleSnapshot();
|
65
|
+
const hasMigrationTable = await (0, _migrationTableExists.migrationTableExists)(this.db);
|
66
|
+
if (hasMigrationTable) {
|
67
|
+
const migrationQuery = await payload.find({
|
68
|
+
collection: 'payload-migrations',
|
69
|
+
limit: 1,
|
70
|
+
sort: '-name'
|
71
|
+
});
|
72
|
+
if (migrationQuery.docs?.[0]?.schema) {
|
73
|
+
drizzleJsonBefore = migrationQuery.docs[0]?.schema;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
const drizzleJsonAfter = (0, _utils.generateDrizzleJson)(this.schema);
|
77
|
+
const sqlStatementsUp = await (0, _utils.generateMigration)(drizzleJsonBefore, drizzleJsonAfter);
|
78
|
+
const sqlStatementsDown = await (0, _utils.generateMigration)(drizzleJsonAfter, drizzleJsonBefore);
|
79
|
+
_fs.default.writeFileSync(filePath, migrationTemplate(sqlStatementsUp.length ? sqlStatementsUp?.join('\n') : undefined, sqlStatementsDown.length ? sqlStatementsDown?.join('\n') : undefined));
|
80
|
+
payload.logger.info({
|
81
|
+
msg: `Migration created at ${filePath}`
|
82
|
+
});
|
83
|
+
};
|
84
|
+
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVNaWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgRHJpenpsZVNuYXBzaG90SlNPTiB9IGZyb20gJ2RyaXp6bGUta2l0L3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVNaWdyYXRpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgeyBnZW5lcmF0ZURyaXp6bGVKc29uLCBnZW5lcmF0ZU1pZ3JhdGlvbiB9IGZyb20gJ2RyaXp6bGUta2l0L3V0aWxzJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IG1pZ3JhdGlvblRhYmxlRXhpc3RzIH0gZnJvbSAnLi91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMnXG5cbmNvbnN0IG1pZ3JhdGlvblRlbXBsYXRlID0gKFxuICB1cFNRTD86IHN0cmluZyxcbiAgZG93blNRTD86IHN0cmluZyxcbikgPT4gYGltcG9ydCB7IE1pZ3JhdGVVcEFyZ3MsIE1pZ3JhdGVEb3duQXJncyB9IGZyb20gJ0BwYXlsb2FkY21zL2RiLXBvc3RncmVzL3R5cGVzJ1xuaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cCh7IHBheWxvYWQgfTogTWlncmF0ZVVwQXJncyk6IFByb21pc2U8dm9pZD4ge1xuJHtcbiAgdXBTUUxcbiAgICA/IGBhd2FpdCBwYXlsb2FkLmRiLmRiLmV4ZWN1dGUoc3FsXFxgXG5cbiR7dXBTUUx9XFxgKTtcbmBcbiAgICA6ICcvLyBNaWdyYXRpb24gY29kZSdcbn1cbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb3duKHsgcGF5bG9hZCB9OiBNaWdyYXRlVXBBcmdzKTogUHJvbWlzZTx2b2lkPiB7XG4ke1xuICBkb3duU1FMXG4gICAgPyBgYXdhaXQgcGF5bG9hZC5kYi5kYi5leGVjdXRlKHNxbFxcYFxuXG4ke2Rvd25TUUx9XFxgKTtcbmBcbiAgICA6ICcvLyBNaWdyYXRpb24gY29kZSdcbn1cbn07XG5gXG5cbmNvbnN0IGdldERlZmF1bHREcml6emxlU25hcHNob3QgPSAoKTogRHJpenpsZVNuYXBzaG90SlNPTiA9PiAoe1xuICBpZDogJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCcsXG4gIF9tZXRhOiB7XG4gICAgY29sdW1uczoge30sXG4gICAgc2NoZW1hczoge30sXG4gICAgdGFibGVzOiB7fSxcbiAgfSxcbiAgZGlhbGVjdDogJ3BnJyxcbiAgZW51bXM6IHt9LFxuICBwcmV2SWQ6ICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMCcsXG4gIHNjaGVtYXM6IHt9LFxuICB0YWJsZXM6IHt9LFxuICB2ZXJzaW9uOiAnNScsXG59KVxuXG5leHBvcnQgY29uc3QgY3JlYXRlTWlncmF0aW9uOiBDcmVhdGVNaWdyYXRpb24gPSBhc3luYyBmdW5jdGlvbiBjcmVhdGVNaWdyYXRpb24oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgcGF5bG9hZCxcbiAgbWlncmF0aW9uTmFtZSxcbikge1xuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiAnQ3JlYXRpbmcgbmV3IG1pZ3JhdGlvbi4uLicgfSlcbiAgY29uc3QgZGlyID0gcGF5bG9hZC5kYi5taWdyYXRpb25EaXJcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGRpcikpIHtcbiAgICBmcy5ta2RpclN5bmMoZGlyKVxuICB9XG5cbiAgY29uc3QgW3l5eW1tZGQsIGhobW1zc10gPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVxuICBjb25zdCBmb3JtYXR0ZWREYXRlID0geXl5bW1kZC5yZXBsYWNlKC9cXEQvZywgJycpXG4gIGNvbnN0IGZvcm1hdHRlZFRpbWUgPSBoaG1tc3Muc3BsaXQoJy4nKVswXS5yZXBsYWNlKC9cXEQvZywgJycpXG5cbiAgY29uc3QgdGltZXN0YW1wID0gYCR7Zm9ybWF0dGVkRGF0ZX1fJHtmb3JtYXR0ZWRUaW1lfWBcblxuICBjb25zdCBmaWxlTmFtZSA9IG1pZ3JhdGlvbk5hbWVcbiAgICA/IGAke3RpbWVzdGFtcH1fJHttaWdyYXRpb25OYW1lLnJlcGxhY2UoL1xcVy9nLCAnXycpfS50c2BcbiAgICA6IGAke3RpbWVzdGFtcH0udHNgXG5cbiAgY29uc3QgZmlsZVBhdGggPSBgJHtkaXJ9LyR7ZmlsZU5hbWV9YFxuXG4gIGxldCBkcml6emxlSnNvbkJlZm9yZSA9IGdldERlZmF1bHREcml6emxlU25hcHNob3QoKVxuXG4gIGNvbnN0IGhhc01pZ3JhdGlvblRhYmxlID0gYXdhaXQgbWlncmF0aW9uVGFibGVFeGlzdHModGhpcy5kYilcblxuICBpZiAoaGFzTWlncmF0aW9uVGFibGUpIHtcbiAgICBjb25zdCBtaWdyYXRpb25RdWVyeSA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgIGxpbWl0OiAxLFxuICAgICAgc29ydDogJy1uYW1lJyxcbiAgICB9KVxuXG4gICAgaWYgKG1pZ3JhdGlvblF1ZXJ5LmRvY3M/LlswXT8uc2NoZW1hKSB7XG4gICAgICBkcml6emxlSnNvbkJlZm9yZSA9IG1pZ3JhdGlvblF1ZXJ5LmRvY3NbMF0/LnNjaGVtYSBhcyBEcml6emxlU25hcHNob3RKU09OXG4gICAgfVxuICB9XG5cbiAgY29uc3QgZHJpenpsZUpzb25BZnRlciA9IGdlbmVyYXRlRHJpenpsZUpzb24odGhpcy5zY2hlbWEpXG4gIGNvbnN0IHNxbFN0YXRlbWVudHNVcCA9IGF3YWl0IGdlbmVyYXRlTWlncmF0aW9uKGRyaXp6bGVKc29uQmVmb3JlLCBkcml6emxlSnNvbkFmdGVyKVxuICBjb25zdCBzcWxTdGF0ZW1lbnRzRG93biA9IGF3YWl0IGdlbmVyYXRlTWlncmF0aW9uKGRyaXp6bGVKc29uQWZ0ZXIsIGRyaXp6bGVKc29uQmVmb3JlKVxuXG4gIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgZmlsZVBhdGgsXG4gICAgbWlncmF0aW9uVGVtcGxhdGUoXG4gICAgICBzcWxTdGF0ZW1lbnRzVXAubGVuZ3RoID8gc3FsU3RhdGVtZW50c1VwPy5qb2luKCdcXG4nKSA6IHVuZGVmaW5lZCxcbiAgICAgIHNxbFN0YXRlbWVudHNEb3duLmxlbmd0aCA/IHNxbFN0YXRlbWVudHNEb3duPy5qb2luKCdcXG4nKSA6IHVuZGVmaW5lZCxcbiAgICApLFxuICApXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpb24gY3JlYXRlZCBhdCAke2ZpbGVQYXRofWAgfSlcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVNaWdyYXRpb24iLCJtaWdyYXRpb25UZW1wbGF0ZSIsInVwU1FMIiwiZG93blNRTCIsImdldERlZmF1bHREcml6emxlU25hcHNob3QiLCJpZCIsIl9tZXRhIiwiY29sdW1ucyIsInNjaGVtYXMiLCJ0YWJsZXMiLCJkaWFsZWN0IiwiZW51bXMiLCJwcmV2SWQiLCJ2ZXJzaW9uIiwicGF5bG9hZCIsIm1pZ3JhdGlvbk5hbWUiLCJsb2dnZXIiLCJpbmZvIiwibXNnIiwiZGlyIiwiZGIiLCJtaWdyYXRpb25EaXIiLCJmcyIsImV4aXN0c1N5bmMiLCJta2RpclN5bmMiLCJ5eXltbWRkIiwiaGhtbXNzIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwic3BsaXQiLCJmb3JtYXR0ZWREYXRlIiwicmVwbGFjZSIsImZvcm1hdHRlZFRpbWUiLCJ0aW1lc3RhbXAiLCJmaWxlTmFtZSIsImZpbGVQYXRoIiwiZHJpenpsZUpzb25CZWZvcmUiLCJoYXNNaWdyYXRpb25UYWJsZSIsIm1pZ3JhdGlvblRhYmxlRXhpc3RzIiwibWlncmF0aW9uUXVlcnkiLCJmaW5kIiwiY29sbGVjdGlvbiIsImxpbWl0Iiwic29ydCIsImRvY3MiLCJzY2hlbWEiLCJkcml6emxlSnNvbkFmdGVyIiwiZ2VuZXJhdGVEcml6emxlSnNvbiIsInNxbFN0YXRlbWVudHNVcCIsImdlbmVyYXRlTWlncmF0aW9uIiwic3FsU3RhdGVtZW50c0Rvd24iLCJ3cml0ZUZpbGVTeW5jIiwibGVuZ3RoIiwiam9pbiIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEOzs7OytCQXVENUNBOzs7ZUFBQUE7Ozt1QkFuRDBDOzJEQUN4QztzQ0FJc0I7Ozs7OztBQUVyQyxNQUFNQyxvQkFBb0IsQ0FDeEJDLE9BQ0FDLFVBQ0csQ0FBQzs7OztBQUlOLEVBQ0VELFFBQ0ksQ0FBQzs7QUFFUCxFQUFFQSxNQUFNO0FBQ1IsQ0FBQyxHQUNLLG9CQUNMOzs7O0FBSUQsRUFDRUMsVUFDSSxDQUFDOztBQUVQLEVBQUVBLFFBQVE7QUFDVixDQUFDLEdBQ0ssb0JBQ0w7O0FBRUQsQ0FBQztBQUVELE1BQU1DLDRCQUE0QixJQUE0QixDQUFBO1FBQzVEQyxJQUFJO1FBQ0pDLE9BQU87WUFDTEMsU0FBUyxDQUFDO1lBQ1ZDLFNBQVMsQ0FBQztZQUNWQyxRQUFRLENBQUM7UUFDWDtRQUNBQyxTQUFTO1FBQ1RDLE9BQU8sQ0FBQztRQUNSQyxRQUFRO1FBQ1JKLFNBQVMsQ0FBQztRQUNWQyxRQUFRLENBQUM7UUFDVEksU0FBUztJQUNYLENBQUE7QUFFTyxNQUFNYixrQkFBbUMsZUFBZUEsZ0JBRTdEYyxPQUFPLEVBQ1BDLGFBQWE7SUFFYkQsUUFBUUUsTUFBTSxDQUFDQyxJQUFJLENBQUM7UUFBRUMsS0FBSztJQUE0QjtJQUN2RCxNQUFNQyxNQUFNTCxRQUFRTSxFQUFFLENBQUNDLFlBQVk7SUFDbkMsSUFBSSxDQUFDQyxXQUFFLENBQUNDLFVBQVUsQ0FBQ0osTUFBTTtRQUN2QkcsV0FBRSxDQUFDRSxTQUFTLENBQUNMO0lBQ2Y7SUFFQSxNQUFNLENBQUNNLFNBQVNDLE9BQU8sR0FBRyxJQUFJQyxPQUFPQyxXQUFXLEdBQUdDLEtBQUssQ0FBQztJQUN6RCxNQUFNQyxnQkFBZ0JMLFFBQVFNLE9BQU8sQ0FBQyxPQUFPO0lBQzdDLE1BQU1DLGdCQUFnQk4sT0FBT0csS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUNFLE9BQU8sQ0FBQyxPQUFPO0lBRTFELE1BQU1FLFlBQVksQ0FBQyxFQUFFSCxjQUFjLENBQUMsRUFBRUUsY0FBYyxDQUFDO0lBRXJELE1BQU1FLFdBQVduQixnQkFDYixDQUFDLEVBQUVrQixVQUFVLENBQUMsRUFBRWxCLGNBQWNnQixPQUFPLENBQUMsT0FBTyxLQUFLLEdBQUcsQ0FBQyxHQUN0RCxDQUFDLEVBQUVFLFVBQVUsR0FBRyxDQUFDO0lBRXJCLE1BQU1FLFdBQVcsQ0FBQyxFQUFFaEIsSUFBSSxDQUFDLEVBQUVlLFNBQVMsQ0FBQztJQUVyQyxJQUFJRSxvQkFBb0JoQztJQUV4QixNQUFNaUMsb0JBQW9CLE1BQU1DLElBQUFBLDBDQUFvQixFQUFDLElBQUksQ0FBQ2xCLEVBQUU7SUFFNUQsSUFBSWlCLG1CQUFtQjtRQUNyQixNQUFNRSxpQkFBaUIsTUFBTXpCLFFBQVEwQixJQUFJLENBQUM7WUFDeENDLFlBQVk7WUFDWkMsT0FBTztZQUNQQyxNQUFNO1FBQ1I7UUFFQSxJQUFJSixlQUFlSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUVDLFFBQVE7WUFDcENULG9CQUFvQkcsZUFBZUssSUFBSSxDQUFDLEVBQUUsRUFBRUM7UUFDOUM7SUFDRjtJQUVBLE1BQU1DLG1CQUFtQkMsSUFBQUEsMEJBQW1CLEVBQUMsSUFBSSxDQUFDRixNQUFNO0lBQ3hELE1BQU1HLGtCQUFrQixNQUFNQyxJQUFBQSx3QkFBaUIsRUFBQ2IsbUJBQW1CVTtJQUNuRSxNQUFNSSxvQkFBb0IsTUFBTUQsSUFBQUEsd0JBQWlCLEVBQUNILGtCQUFrQlY7SUFFcEVkLFdBQUUsQ0FBQzZCLGFBQWEsQ0FDZGhCLFVBQ0FsQyxrQkFDRStDLGdCQUFnQkksTUFBTSxHQUFHSixpQkFBaUJLLEtBQUssUUFBUUMsV0FDdkRKLGtCQUFrQkUsTUFBTSxHQUFHRixtQkFBbUJHLEtBQUssUUFBUUM7SUFHL0R4QyxRQUFRRSxNQUFNLENBQUNDLElBQUksQ0FBQztRQUFFQyxLQUFLLENBQUMscUJBQXFCLEVBQUVpQixTQUFTLENBQUM7SUFBQztBQUNoRSJ9
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "createVersion", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return createVersion;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _drizzleorm = require("drizzle-orm");
|
12
|
+
const _versions = require("payload/versions");
|
13
|
+
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
14
|
+
const _upsertRow = require("./upsertRow");
|
15
|
+
function _interop_require_default(obj) {
|
16
|
+
return obj && obj.__esModule ? obj : {
|
17
|
+
default: obj
|
18
|
+
};
|
19
|
+
}
|
20
|
+
async function createVersion({ autosave, collectionSlug, parent, req = {}, versionData }) {
|
21
|
+
const db = this.sessions[req.transactionID]?.db || this.db;
|
22
|
+
const collection = this.payload.collections[collectionSlug].config;
|
23
|
+
const collectionTableName = (0, _tosnakecase.default)(collectionSlug);
|
24
|
+
const tableName = `_${collectionTableName}_v`;
|
25
|
+
const result = await (0, _upsertRow.upsertRow)({
|
26
|
+
adapter: this,
|
27
|
+
data: {
|
28
|
+
autosave,
|
29
|
+
latest: true,
|
30
|
+
parent,
|
31
|
+
version: versionData
|
32
|
+
},
|
33
|
+
db,
|
34
|
+
fields: (0, _versions.buildVersionCollectionFields)(collection),
|
35
|
+
operation: 'create',
|
36
|
+
tableName
|
37
|
+
});
|
38
|
+
const table = this.tables[tableName];
|
39
|
+
const relationshipsTable = this.tables[`${tableName}_relationships`];
|
40
|
+
if (collection.versions.drafts) {
|
41
|
+
await db.execute((0, _drizzleorm.sql)`
|
42
|
+
UPDATE ${table}
|
43
|
+
SET latest = false
|
44
|
+
FROM ${relationshipsTable}
|
45
|
+
WHERE ${table.id} = ${relationshipsTable.parent}
|
46
|
+
AND ${relationshipsTable.path} = ${'parent'}
|
47
|
+
AND ${relationshipsTable[`${collectionSlug}ID`]} = ${parent}
|
48
|
+
AND ${table.id} != ${result.id};
|
49
|
+
`);
|
50
|
+
}
|
51
|
+
return result;
|
52
|
+
}
|
53
|
+
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlVmVyc2lvbkFyZ3MsIFR5cGVXaXRoVmVyc2lvbiB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBUeXBlV2l0aElEIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVmVyc2lvbjxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAge1xuICAgIGF1dG9zYXZlLFxuICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgIHBhcmVudCxcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICB2ZXJzaW9uRGF0YSxcbiAgfTogQ3JlYXRlVmVyc2lvbkFyZ3M8VD4sXG4pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kYlxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcbiAgY29uc3QgY29sbGVjdGlvblRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGNvbGxlY3Rpb25TbHVnKVxuICBjb25zdCB0YWJsZU5hbWUgPSBgXyR7Y29sbGVjdGlvblRhYmxlTmFtZX1fdmBcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VHlwZVdpdGhWZXJzaW9uPFQ+Pih7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkYXRhOiB7XG4gICAgICBhdXRvc2F2ZSxcbiAgICAgIGxhdGVzdDogdHJ1ZSxcbiAgICAgIHBhcmVudCxcbiAgICAgIHZlcnNpb246IHZlcnNpb25EYXRhLFxuICAgIH0sXG4gICAgZGIsXG4gICAgZmllbGRzOiBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24pLFxuICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgdGFibGVOYW1lLFxuICB9KVxuXG4gIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZXNbdGFibGVOYW1lXVxuICBjb25zdCByZWxhdGlvbnNoaXBzVGFibGUgPSB0aGlzLnRhYmxlc1tgJHt0YWJsZU5hbWV9X3JlbGF0aW9uc2hpcHNgXVxuXG4gIGlmIChjb2xsZWN0aW9uLnZlcnNpb25zLmRyYWZ0cykge1xuICAgIGF3YWl0IGRiLmV4ZWN1dGUoc3FsYFxuICAgICAgVVBEQVRFICR7dGFibGV9XG4gICAgICBTRVQgbGF0ZXN0ID0gZmFsc2VcbiAgICAgIEZST00gJHtyZWxhdGlvbnNoaXBzVGFibGV9XG4gICAgICBXSEVSRSAke3RhYmxlLmlkfSA9ICR7cmVsYXRpb25zaGlwc1RhYmxlLnBhcmVudH1cbiAgICAgICAgQU5EICR7cmVsYXRpb25zaGlwc1RhYmxlLnBhdGh9ID0gJHsncGFyZW50J31cbiAgICAgICAgQU5EICR7cmVsYXRpb25zaGlwc1RhYmxlW2Ake2NvbGxlY3Rpb25TbHVnfUlEYF19ID0gJHtwYXJlbnR9XG4gICAgICAgIEFORCAke3RhYmxlLmlkfSAhPSAke3Jlc3VsdC5pZH07XG4gIGApXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlVmVyc2lvbiIsImF1dG9zYXZlIiwiY29sbGVjdGlvblNsdWciLCJwYXJlbnQiLCJyZXEiLCJ2ZXJzaW9uRGF0YSIsImRiIiwic2Vzc2lvbnMiLCJ0cmFuc2FjdGlvbklEIiwiY29sbGVjdGlvbiIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsImNvbGxlY3Rpb25UYWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsInRhYmxlTmFtZSIsInJlc3VsdCIsInVwc2VydFJvdyIsImFkYXB0ZXIiLCJkYXRhIiwibGF0ZXN0IiwidmVyc2lvbiIsImZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJvcGVyYXRpb24iLCJ0YWJsZSIsInRhYmxlcyIsInJlbGF0aW9uc2hpcHNUYWJsZSIsInZlcnNpb25zIiwiZHJhZnRzIiwiZXhlY3V0ZSIsInNxbCIsImlkIiwicGF0aCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFXc0JBOzs7ZUFBQUE7Ozs0QkFSRjswQkFDeUI7b0VBQ3JCOzJCQUlFOzs7Ozs7QUFFbkIsZUFBZUEsY0FFcEIsRUFDRUMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxXQUFXLEVBQ1U7SUFFdkIsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0gsSUFBSUksYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDQSxFQUFFO0lBQzFELE1BQU1HLGFBQWEsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFdBQVcsQ0FBQ1QsZUFBZSxDQUFDVSxNQUFNO0lBQ2xFLE1BQU1DLHNCQUFzQkMsSUFBQUEsb0JBQVcsRUFBQ1o7SUFDeEMsTUFBTWEsWUFBWSxDQUFDLENBQUMsRUFBRUYsb0JBQW9CLEVBQUUsQ0FBQztJQUU3QyxNQUFNRyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQXFCO1FBQ2pEQyxTQUFTLElBQUk7UUFDYkMsTUFBTTtZQUNKbEI7WUFDQW1CLFFBQVE7WUFDUmpCO1lBQ0FrQixTQUFTaEI7UUFDWDtRQUNBQztRQUNBZ0IsUUFBUUMsSUFBQUEsc0NBQTRCLEVBQUNkO1FBQ3JDZSxXQUFXO1FBQ1hUO0lBQ0Y7SUFFQSxNQUFNVSxRQUFRLElBQUksQ0FBQ0MsTUFBTSxDQUFDWCxVQUFVO0lBQ3BDLE1BQU1ZLHFCQUFxQixJQUFJLENBQUNELE1BQU0sQ0FBQyxDQUFDLEVBQUVYLFVBQVUsY0FBYyxDQUFDLENBQUM7SUFFcEUsSUFBSU4sV0FBV21CLFFBQVEsQ0FBQ0MsTUFBTSxFQUFFO1FBQzlCLE1BQU12QixHQUFHd0IsT0FBTyxDQUFDQyxJQUFBQSxlQUFHLENBQUEsQ0FBQzthQUNaLEVBQUVOLE1BQU07O1dBRVYsRUFBRUUsbUJBQW1CO1lBQ3BCLEVBQUVGLE1BQU1PLEVBQUUsQ0FBQyxHQUFHLEVBQUVMLG1CQUFtQnhCLE1BQU0sQ0FBQztZQUMxQyxFQUFFd0IsbUJBQW1CTSxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVM7WUFDeEMsRUFBRU4sa0JBQWtCLENBQUMsQ0FBQyxFQUFFekIsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRUMsT0FBTztZQUN4RCxFQUFFc0IsTUFBTU8sRUFBRSxDQUFDLElBQUksRUFBRWhCLE9BQU9nQixFQUFFLENBQUM7RUFDckMsQ0FBQztJQUNEO0lBRUEsT0FBT2hCO0FBQ1QifQ==
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "deleteMany", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return deleteMany;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _drizzleorm = require("drizzle-orm");
|
12
|
+
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
13
|
+
const _findMany = require("./find/findMany");
|
14
|
+
function _interop_require_default(obj) {
|
15
|
+
return obj && obj.__esModule ? obj : {
|
16
|
+
default: obj
|
17
|
+
};
|
18
|
+
}
|
19
|
+
const deleteMany = async function deleteMany({ collection, req = {}, where }) {
|
20
|
+
const db = this.sessions[req.transactionID]?.db || this.db;
|
21
|
+
const collectionConfig = this.payload.collections[collection].config;
|
22
|
+
const tableName = (0, _tosnakecase.default)(collection);
|
23
|
+
const result = await (0, _findMany.findMany)({
|
24
|
+
adapter: this,
|
25
|
+
fields: collectionConfig.fields,
|
26
|
+
limit: 0,
|
27
|
+
locale: req.locale,
|
28
|
+
page: 1,
|
29
|
+
pagination: false,
|
30
|
+
req,
|
31
|
+
tableName,
|
32
|
+
where
|
33
|
+
});
|
34
|
+
const ids = [];
|
35
|
+
result.docs.forEach((data)=>{
|
36
|
+
ids.push(data.id);
|
37
|
+
});
|
38
|
+
if (ids.length > 0) {
|
39
|
+
await db.delete(this.tables[tableName]).where((0, _drizzleorm.inArray)(this.tables[tableName].id, ids));
|
40
|
+
}
|
41
|
+
return result;
|
42
|
+
};
|
43
|
+
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWxldGVNYW55LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVsZXRlTWFueSB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgaW5BcnJheSB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgZmluZE1hbnkgfSBmcm9tICcuL2ZpbmQvZmluZE1hbnknXG5cbmV4cG9ydCBjb25zdCBkZWxldGVNYW55OiBEZWxldGVNYW55ID0gYXN5bmMgZnVuY3Rpb24gZGVsZXRlTWFueShcbiAgdGhpczogUG9zdGdyZXNBZGFwdGVyLFxuICB7IGNvbGxlY3Rpb24sIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LCB3aGVyZSB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZGJcbiAgY29uc3QgY29sbGVjdGlvbkNvbmZpZyA9IHRoaXMucGF5bG9hZC5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uXS5jb25maWdcbiAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvbilcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaW5kTWFueSh7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb25Db25maWcuZmllbGRzLFxuICAgIGxpbWl0OiAwLFxuICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICBwYWdlOiAxLFxuICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgIHJlcSxcbiAgICB0YWJsZU5hbWUsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgY29uc3QgaWRzID0gW11cblxuICByZXN1bHQuZG9jcy5mb3JFYWNoKChkYXRhKSA9PiB7XG4gICAgaWRzLnB1c2goZGF0YS5pZClcbiAgfSlcblxuICBpZiAoaWRzLmxlbmd0aCA+IDApIHtcbiAgICBhd2FpdCBkYi5kZWxldGUodGhpcy50YWJsZXNbdGFibGVOYW1lXSkud2hlcmUoaW5BcnJheSh0aGlzLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBpZHMpKVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbImRlbGV0ZU1hbnkiLCJjb2xsZWN0aW9uIiwicmVxIiwid2hlcmUiLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImNvbGxlY3Rpb25Db25maWciLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsInJlc3VsdCIsImZpbmRNYW55IiwiYWRhcHRlciIsImZpZWxkcyIsImxpbWl0IiwibG9jYWxlIiwicGFnZSIsInBhZ2luYXRpb24iLCJpZHMiLCJkb2NzIiwiZm9yRWFjaCIsImRhdGEiLCJwdXNoIiwiaWQiLCJsZW5ndGgiLCJkZWxldGUiLCJ0YWJsZXMiLCJpbkFycmF5Il0sIm1hcHBpbmdzIjoiOzs7OytCQVVhQTs7O2VBQUFBOzs7NEJBUFc7b0VBQ0E7MEJBSUM7Ozs7OztBQUVsQixNQUFNQSxhQUF5QixlQUFlQSxXQUVuRCxFQUFFQyxVQUFVLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxLQUFLLEVBQUU7SUFFakQsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0gsSUFBSUksYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDQSxFQUFFO0lBQzFELE1BQU1HLG1CQUFtQixJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsV0FBVyxDQUFDUixXQUFXLENBQUNTLE1BQU07SUFDcEUsTUFBTUMsWUFBWUMsSUFBQUEsb0JBQVcsRUFBQ1g7SUFFOUIsTUFBTVksU0FBUyxNQUFNQyxJQUFBQSxrQkFBUSxFQUFDO1FBQzVCQyxTQUFTLElBQUk7UUFDYkMsUUFBUVQsaUJBQWlCUyxNQUFNO1FBQy9CQyxPQUFPO1FBQ1BDLFFBQVFoQixJQUFJZ0IsTUFBTTtRQUNsQkMsTUFBTTtRQUNOQyxZQUFZO1FBQ1psQjtRQUNBUztRQUNBUjtJQUNGO0lBRUEsTUFBTWtCLE1BQU0sRUFBRTtJQUVkUixPQUFPUyxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDQztRQUNuQkgsSUFBSUksSUFBSSxDQUFDRCxLQUFLRSxFQUFFO0lBQ2xCO0lBRUEsSUFBSUwsSUFBSU0sTUFBTSxHQUFHLEdBQUc7UUFDbEIsTUFBTXZCLEdBQUd3QixNQUFNLENBQUMsSUFBSSxDQUFDQyxNQUFNLENBQUNsQixVQUFVLEVBQUVSLEtBQUssQ0FBQzJCLElBQUFBLG1CQUFPLEVBQUMsSUFBSSxDQUFDRCxNQUFNLENBQUNsQixVQUFVLENBQUNlLEVBQUUsRUFBRUw7SUFDbkY7SUFFQSxPQUFPUjtBQUNUIn0=
|
@@ -0,0 +1,47 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "deleteOne", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return deleteOne;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
12
|
+
const _buildFindManyArgs = require("./find/buildFindManyArgs");
|
13
|
+
const _buildQuery = /*#__PURE__*/ _interop_require_default(require("./queries/buildQuery"));
|
14
|
+
const _read = require("./transform/read");
|
15
|
+
function _interop_require_default(obj) {
|
16
|
+
return obj && obj.__esModule ? obj : {
|
17
|
+
default: obj
|
18
|
+
};
|
19
|
+
}
|
20
|
+
const deleteOne = async function deleteOne({ collection, req = {}, where: incomingWhere }) {
|
21
|
+
const db = this.sessions[req.transactionID]?.db || this.db;
|
22
|
+
const collectionConfig = this.payload.collections[collection].config;
|
23
|
+
const tableName = (0, _tosnakecase.default)(collection);
|
24
|
+
const { where } = await (0, _buildQuery.default)({
|
25
|
+
adapter: this,
|
26
|
+
fields: collectionConfig.fields,
|
27
|
+
tableName,
|
28
|
+
where: incomingWhere
|
29
|
+
});
|
30
|
+
const findManyArgs = (0, _buildFindManyArgs.buildFindManyArgs)({
|
31
|
+
adapter: this,
|
32
|
+
depth: 0,
|
33
|
+
fields: collectionConfig.fields,
|
34
|
+
tableName
|
35
|
+
});
|
36
|
+
findManyArgs.where = where;
|
37
|
+
const docToDelete = await db.query[tableName].findFirst(findManyArgs);
|
38
|
+
const result = (0, _read.transform)({
|
39
|
+
config: this.payload.config,
|
40
|
+
data: docToDelete,
|
41
|
+
fields: collectionConfig.fields
|
42
|
+
});
|
43
|
+
await db.delete(this.tables[tableName]).where(where);
|
44
|
+
return result;
|
45
|
+
};
|
46
|
+
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWxldGVPbmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWxldGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGJ1aWxkRmluZE1hbnlBcmdzIH0gZnJvbSAnLi9maW5kL2J1aWxkRmluZE1hbnlBcmdzJ1xuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICcuL3RyYW5zZm9ybS9yZWFkJ1xuXG5leHBvcnQgY29uc3QgZGVsZXRlT25lOiBEZWxldGVPbmUgPSBhc3luYyBmdW5jdGlvbiBkZWxldGVPbmUoXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAgeyBjb2xsZWN0aW9uLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgd2hlcmU6IGluY29taW5nV2hlcmUgfSxcbikge1xuICBjb25zdCBkYiA9IHRoaXMuc2Vzc2lvbnNbcmVxLnRyYW5zYWN0aW9uSURdPy5kYiB8fCB0aGlzLmRiXG4gIGNvbnN0IGNvbGxlY3Rpb25Db25maWcgPSB0aGlzLnBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvbl0uY29uZmlnXG4gIGNvbnN0IHRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGNvbGxlY3Rpb24pXG5cbiAgY29uc3QgeyB3aGVyZSB9ID0gYXdhaXQgYnVpbGRRdWVyeSh7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb25Db25maWcuZmllbGRzLFxuICAgIHRhYmxlTmFtZSxcbiAgICB3aGVyZTogaW5jb21pbmdXaGVyZSxcbiAgfSlcblxuICBjb25zdCBmaW5kTWFueUFyZ3MgPSBidWlsZEZpbmRNYW55QXJncyh7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkZXB0aDogMCxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb25Db25maWcuZmllbGRzLFxuICAgIHRhYmxlTmFtZSxcbiAgfSlcblxuICBmaW5kTWFueUFyZ3Mud2hlcmUgPSB3aGVyZVxuXG4gIGNvbnN0IGRvY1RvRGVsZXRlID0gYXdhaXQgZGIucXVlcnlbdGFibGVOYW1lXS5maW5kRmlyc3QoZmluZE1hbnlBcmdzKVxuXG4gIGNvbnN0IHJlc3VsdCA9IHRyYW5zZm9ybSh7XG4gICAgY29uZmlnOiB0aGlzLnBheWxvYWQuY29uZmlnLFxuICAgIGRhdGE6IGRvY1RvRGVsZXRlLFxuICAgIGZpZWxkczogY29sbGVjdGlvbkNvbmZpZy5maWVsZHMsXG4gIH0pXG5cbiAgYXdhaXQgZGIuZGVsZXRlKHRoaXMudGFibGVzW3RhYmxlTmFtZV0pLndoZXJlKHdoZXJlKVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJkZWxldGVPbmUiLCJjb2xsZWN0aW9uIiwicmVxIiwid2hlcmUiLCJpbmNvbWluZ1doZXJlIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJjb2xsZWN0aW9uQ29uZmlnIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwidGFibGVOYW1lIiwidG9TbmFrZUNhc2UiLCJidWlsZFF1ZXJ5IiwiYWRhcHRlciIsImZpZWxkcyIsImZpbmRNYW55QXJncyIsImJ1aWxkRmluZE1hbnlBcmdzIiwiZGVwdGgiLCJkb2NUb0RlbGV0ZSIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwidHJhbnNmb3JtIiwiZGF0YSIsImRlbGV0ZSIsInRhYmxlcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFXYUE7OztlQUFBQTs7O29FQVJXO21DQUlVO21FQUNYO3NCQUNHOzs7Ozs7QUFFbkIsTUFBTUEsWUFBdUIsZUFBZUEsVUFFakQsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLENBQUMsQ0FBbUIsRUFBRUMsT0FBT0MsYUFBYSxFQUFFO0lBRWhFLE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNKLElBQUlLLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0EsRUFBRTtJQUMxRCxNQUFNRyxtQkFBbUIsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFdBQVcsQ0FBQ1QsV0FBVyxDQUFDVSxNQUFNO0lBQ3BFLE1BQU1DLFlBQVlDLElBQUFBLG9CQUFXLEVBQUNaO0lBRTlCLE1BQU0sRUFBRUUsS0FBSyxFQUFFLEdBQUcsTUFBTVcsSUFBQUEsbUJBQVUsRUFBQztRQUNqQ0MsU0FBUyxJQUFJO1FBQ2JDLFFBQVFSLGlCQUFpQlEsTUFBTTtRQUMvQko7UUFDQVQsT0FBT0M7SUFDVDtJQUVBLE1BQU1hLGVBQWVDLElBQUFBLG9DQUFpQixFQUFDO1FBQ3JDSCxTQUFTLElBQUk7UUFDYkksT0FBTztRQUNQSCxRQUFRUixpQkFBaUJRLE1BQU07UUFDL0JKO0lBQ0Y7SUFFQUssYUFBYWQsS0FBSyxHQUFHQTtJQUVyQixNQUFNaUIsY0FBYyxNQUFNZixHQUFHZ0IsS0FBSyxDQUFDVCxVQUFVLENBQUNVLFNBQVMsQ0FBQ0w7SUFFeEQsTUFBTU0sU0FBU0MsSUFBQUEsZUFBUyxFQUFDO1FBQ3ZCYixRQUFRLElBQUksQ0FBQ0YsT0FBTyxDQUFDRSxNQUFNO1FBQzNCYyxNQUFNTDtRQUNOSixRQUFRUixpQkFBaUJRLE1BQU07SUFDakM7SUFFQSxNQUFNWCxHQUFHcUIsTUFBTSxDQUFDLElBQUksQ0FBQ0MsTUFBTSxDQUFDZixVQUFVLEVBQUVULEtBQUssQ0FBQ0E7SUFFOUMsT0FBT29CO0FBQ1QifQ==
|
@@ -0,0 +1,46 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "deleteVersions", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return deleteVersions;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _drizzleorm = require("drizzle-orm");
|
12
|
+
const _versions = require("payload/versions");
|
13
|
+
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
14
|
+
const _findMany = require("./find/findMany");
|
15
|
+
function _interop_require_default(obj) {
|
16
|
+
return obj && obj.__esModule ? obj : {
|
17
|
+
default: obj
|
18
|
+
};
|
19
|
+
}
|
20
|
+
const deleteVersions = async function deleteVersion({ collection, locale, req = {}, where: where }) {
|
21
|
+
const db = this.sessions[req.transactionID]?.db || this.db;
|
22
|
+
const collectionConfig = this.payload.collections[collection].config;
|
23
|
+
const tableName = `_${(0, _tosnakecase.default)(collection)}_v`;
|
24
|
+
const fields = (0, _versions.buildVersionCollectionFields)(collectionConfig);
|
25
|
+
const { docs } = await (0, _findMany.findMany)({
|
26
|
+
adapter: this,
|
27
|
+
fields,
|
28
|
+
limit: 0,
|
29
|
+
locale,
|
30
|
+
page: 1,
|
31
|
+
pagination: false,
|
32
|
+
req,
|
33
|
+
tableName,
|
34
|
+
where
|
35
|
+
});
|
36
|
+
const ids = [];
|
37
|
+
docs.forEach((doc)=>{
|
38
|
+
ids.push(doc.id);
|
39
|
+
});
|
40
|
+
if (ids.length > 0) {
|
41
|
+
await db.delete(this.tables[tableName]).where((0, _drizzleorm.inArray)(this.tables[tableName].id, ids));
|
42
|
+
}
|
43
|
+
return docs;
|
44
|
+
};
|
45
|
+
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWxldGVWZXJzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERlbGV0ZVZlcnNpb25zIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBpbkFycmF5IH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGZpbmRNYW55IH0gZnJvbSAnLi9maW5kL2ZpbmRNYW55J1xuXG5leHBvcnQgY29uc3QgZGVsZXRlVmVyc2lvbnM6IERlbGV0ZVZlcnNpb25zID0gYXN5bmMgZnVuY3Rpb24gZGVsZXRlVmVyc2lvbihcbiAgdGhpczogUG9zdGdyZXNBZGFwdGVyLFxuICB7IGNvbGxlY3Rpb24sIGxvY2FsZSwgcmVxID0ge30gYXMgUGF5bG9hZFJlcXVlc3QsIHdoZXJlOiB3aGVyZSB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZGJcbiAgY29uc3QgY29sbGVjdGlvbkNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyA9IHRoaXMucGF5bG9hZC5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uXS5jb25maWdcblxuICBjb25zdCB0YWJsZU5hbWUgPSBgXyR7dG9TbmFrZUNhc2UoY29sbGVjdGlvbil9X3ZgXG4gIGNvbnN0IGZpZWxkcyA9IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMoY29sbGVjdGlvbkNvbmZpZylcblxuICBjb25zdCB7IGRvY3MgfSA9IGF3YWl0IGZpbmRNYW55KHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGZpZWxkcyxcbiAgICBsaW1pdDogMCxcbiAgICBsb2NhbGUsXG4gICAgcGFnZTogMSxcbiAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICByZXEsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlLFxuICB9KVxuXG4gIGNvbnN0IGlkcyA9IFtdXG5cbiAgZG9jcy5mb3JFYWNoKChkb2MpID0+IHtcbiAgICBpZHMucHVzaChkb2MuaWQpXG4gIH0pXG5cbiAgaWYgKGlkcy5sZW5ndGggPiAwKSB7XG4gICAgYXdhaXQgZGIuZGVsZXRlKHRoaXMudGFibGVzW3RhYmxlTmFtZV0pLndoZXJlKGluQXJyYXkodGhpcy50YWJsZXNbdGFibGVOYW1lXS5pZCwgaWRzKSlcbiAgfVxuXG4gIHJldHVybiBkb2NzXG59XG4iXSwibmFtZXMiOlsiZGVsZXRlVmVyc2lvbnMiLCJkZWxldGVWZXJzaW9uIiwiY29sbGVjdGlvbiIsImxvY2FsZSIsInJlcSIsIndoZXJlIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJjb2xsZWN0aW9uQ29uZmlnIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwidGFibGVOYW1lIiwidG9TbmFrZUNhc2UiLCJmaWVsZHMiLCJidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIiwiZG9jcyIsImZpbmRNYW55IiwiYWRhcHRlciIsImxpbWl0IiwicGFnZSIsInBhZ2luYXRpb24iLCJpZHMiLCJmb3JFYWNoIiwiZG9jIiwicHVzaCIsImlkIiwibGVuZ3RoIiwiZGVsZXRlIiwidGFibGVzIiwiaW5BcnJheSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFXYUE7OztlQUFBQTs7OzRCQVJXOzBCQUNxQjtvRUFDckI7MEJBSUM7Ozs7OztBQUVsQixNQUFNQSxpQkFBaUMsZUFBZUMsY0FFM0QsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxPQUFPQSxLQUFLLEVBQUU7SUFFaEUsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0gsSUFBSUksYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDQSxFQUFFO0lBQzFELE1BQU1HLG1CQUE4QyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsV0FBVyxDQUFDVCxXQUFXLENBQUNVLE1BQU07SUFFL0YsTUFBTUMsWUFBWSxDQUFDLENBQUMsRUFBRUMsSUFBQUEsb0JBQVcsRUFBQ1osWUFBWSxFQUFFLENBQUM7SUFDakQsTUFBTWEsU0FBU0MsSUFBQUEsc0NBQTRCLEVBQUNQO0lBRTVDLE1BQU0sRUFBRVEsSUFBSSxFQUFFLEdBQUcsTUFBTUMsSUFBQUEsa0JBQVEsRUFBQztRQUM5QkMsU0FBUyxJQUFJO1FBQ2JKO1FBQ0FLLE9BQU87UUFDUGpCO1FBQ0FrQixNQUFNO1FBQ05DLFlBQVk7UUFDWmxCO1FBQ0FTO1FBQ0FSO0lBQ0Y7SUFFQSxNQUFNa0IsTUFBTSxFQUFFO0lBRWROLEtBQUtPLE9BQU8sQ0FBQyxDQUFDQztRQUNaRixJQUFJRyxJQUFJLENBQUNELElBQUlFLEVBQUU7SUFDakI7SUFFQSxJQUFJSixJQUFJSyxNQUFNLEdBQUcsR0FBRztRQUNsQixNQUFNdEIsR0FBR3VCLE1BQU0sQ0FBQyxJQUFJLENBQUNDLE1BQU0sQ0FBQ2pCLFVBQVUsRUFBRVIsS0FBSyxDQUFDMEIsSUFBQUEsbUJBQU8sRUFBQyxJQUFJLENBQUNELE1BQU0sQ0FBQ2pCLFVBQVUsQ0FBQ2MsRUFBRSxFQUFFSjtJQUNuRjtJQUVBLE9BQU9OO0FBQ1QifQ==
|
package/dist/destroy.js
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "destroy", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return destroy;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const destroy = async function destroy() {
|
12
|
+
// TODO: this hangs test suite for some reason
|
13
|
+
// await this.pool.end()
|
14
|
+
};
|
15
|
+
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXN0cm95LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVzdHJveSB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IGRlc3Ryb3k6IERlc3Ryb3kgPSBhc3luYyBmdW5jdGlvbiBkZXN0cm95KHRoaXM6IFBvc3RncmVzQWRhcHRlcikge1xuICAvLyBUT0RPOiB0aGlzIGhhbmdzIHRlc3Qgc3VpdGUgZm9yIHNvbWUgcmVhc29uXG4gIC8vIGF3YWl0IHRoaXMucG9vbC5lbmQoKVxufVxuIl0sIm5hbWVzIjpbImRlc3Ryb3kiXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLFVBQW1CLGVBQWVBO0FBQzdDLDhDQUE4QztBQUM5Qyx3QkFBd0I7QUFDMUIifQ==
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "buildFindManyArgs", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return buildFindManyArgs;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _traverseFields = require("./traverseFields");
|
12
|
+
const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
|
13
|
+
const result = {
|
14
|
+
with: {}
|
15
|
+
};
|
16
|
+
const _locales = {
|
17
|
+
columns: {
|
18
|
+
id: false,
|
19
|
+
_parentID: false
|
20
|
+
}
|
21
|
+
};
|
22
|
+
if (adapter.tables[`${tableName}_numbers`]) {
|
23
|
+
result.with._numbers = {
|
24
|
+
columns: {
|
25
|
+
id: false,
|
26
|
+
parent: false
|
27
|
+
},
|
28
|
+
orderBy: ({ order }, { asc: ASC })=>[
|
29
|
+
ASC(order)
|
30
|
+
]
|
31
|
+
};
|
32
|
+
}
|
33
|
+
if (adapter.tables[`${tableName}_relationships`]) {
|
34
|
+
result.with._relationships = {
|
35
|
+
columns: {
|
36
|
+
id: false,
|
37
|
+
parent: false
|
38
|
+
},
|
39
|
+
orderBy: ({ order }, { asc: ASC })=>[
|
40
|
+
ASC(order)
|
41
|
+
]
|
42
|
+
};
|
43
|
+
}
|
44
|
+
if (adapter.tables[`${tableName}_locales`]) {
|
45
|
+
result.with._locales = _locales;
|
46
|
+
}
|
47
|
+
(0, _traverseFields.traverseFields)({
|
48
|
+
_locales,
|
49
|
+
adapter,
|
50
|
+
currentArgs: result,
|
51
|
+
currentTableName: tableName,
|
52
|
+
depth,
|
53
|
+
fields,
|
54
|
+
path: '',
|
55
|
+
topLevelArgs: result,
|
56
|
+
topLevelTableName: tableName
|
57
|
+
});
|
58
|
+
return result;
|
59
|
+
};
|
60
|
+
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL2J1aWxkRmluZE1hbnlBcmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgREJRdWVyeUNvbmZpZyB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBCdWlsZEZpbmRRdWVyeUFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBkZXB0aDogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICB0YWJsZU5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQgPSBEQlF1ZXJ5Q29uZmlnPCdtYW55JywgdHJ1ZSwgYW55LCBhbnk+XG5cbi8vIEdlbmVyYXRlIHRoZSBEcml6emxlIHF1ZXJ5IGZvciBmaW5kTWFueSBiYXNlZCBvblxuLy8gYSBjb2xsZWN0aW9uIGZpZWxkIHN0cnVjdHVyZVxuZXhwb3J0IGNvbnN0IGJ1aWxkRmluZE1hbnlBcmdzID0gKHtcbiAgYWRhcHRlcixcbiAgZGVwdGgsXG4gIGZpZWxkcyxcbiAgdGFibGVOYW1lLFxufTogQnVpbGRGaW5kUXVlcnlBcmdzKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlc3VsdCA9IHtcbiAgICB3aXRoOiB7fSxcbiAgfVxuXG4gIGNvbnN0IF9sb2NhbGVzOiBSZXN1bHQgPSB7XG4gICAgY29sdW1uczoge1xuICAgICAgaWQ6IGZhbHNlLFxuICAgICAgX3BhcmVudElEOiBmYWxzZSxcbiAgICB9LFxuICB9XG5cbiAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX1fbnVtYmVyc2BdKSB7XG4gICAgcmVzdWx0LndpdGguX251bWJlcnMgPSB7XG4gICAgICBjb2x1bW5zOiB7XG4gICAgICAgIGlkOiBmYWxzZSxcbiAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBvcmRlckJ5OiAoeyBvcmRlciB9LCB7IGFzYzogQVNDIH0pID0+IFtBU0Mob3JkZXIpXSxcbiAgICB9XG4gIH1cblxuICBpZiAoYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfV9yZWxhdGlvbnNoaXBzYF0pIHtcbiAgICByZXN1bHQud2l0aC5fcmVsYXRpb25zaGlwcyA9IHtcbiAgICAgIGNvbHVtbnM6IHtcbiAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICBwYXJlbnQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIG9yZGVyQnk6ICh7IG9yZGVyIH0sIHsgYXNjOiBBU0MgfSkgPT4gW0FTQyhvcmRlcildLFxuICAgIH1cbiAgfVxuXG4gIGlmIChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXSkge1xuICAgIHJlc3VsdC53aXRoLl9sb2NhbGVzID0gX2xvY2FsZXNcbiAgfVxuXG4gIHRyYXZlcnNlRmllbGRzKHtcbiAgICBfbG9jYWxlcyxcbiAgICBhZGFwdGVyLFxuICAgIGN1cnJlbnRBcmdzOiByZXN1bHQsXG4gICAgY3VycmVudFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICAgIGRlcHRoLFxuICAgIGZpZWxkcyxcbiAgICBwYXRoOiAnJyxcbiAgICB0b3BMZXZlbEFyZ3M6IHJlc3VsdCxcbiAgICB0b3BMZXZlbFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJidWlsZEZpbmRNYW55QXJncyIsImFkYXB0ZXIiLCJkZXB0aCIsImZpZWxkcyIsInRhYmxlTmFtZSIsInJlc3VsdCIsIndpdGgiLCJfbG9jYWxlcyIsImNvbHVtbnMiLCJpZCIsIl9wYXJlbnRJRCIsInRhYmxlcyIsIl9udW1iZXJzIiwicGFyZW50Iiwib3JkZXJCeSIsIm9yZGVyIiwiYXNjIiwiQVNDIiwiX3JlbGF0aW9uc2hpcHMiLCJ0cmF2ZXJzZUZpZWxkcyIsImN1cnJlbnRBcmdzIiwiY3VycmVudFRhYmxlTmFtZSIsInBhdGgiLCJ0b3BMZXZlbEFyZ3MiLCJ0b3BMZXZlbFRhYmxlTmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQmFBOzs7ZUFBQUE7OztnQ0Fia0I7QUFheEIsTUFBTUEsb0JBQW9CLENBQUMsRUFDaENDLE9BQU8sRUFDUEMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLFNBQVMsRUFDVTtJQUNuQixNQUFNQyxTQUFpQjtRQUNyQkMsTUFBTSxDQUFDO0lBQ1Q7SUFFQSxNQUFNQyxXQUFtQjtRQUN2QkMsU0FBUztZQUNQQyxJQUFJO1lBQ0pDLFdBQVc7UUFDYjtJQUNGO0lBRUEsSUFBSVQsUUFBUVUsTUFBTSxDQUFDLENBQUMsRUFBRVAsVUFBVSxRQUFRLENBQUMsQ0FBQyxFQUFFO1FBQzFDQyxPQUFPQyxJQUFJLENBQUNNLFFBQVEsR0FBRztZQUNyQkosU0FBUztnQkFDUEMsSUFBSTtnQkFDSkksUUFBUTtZQUNWO1lBQ0FDLFNBQVMsQ0FBQyxFQUFFQyxLQUFLLEVBQUUsRUFBRSxFQUFFQyxLQUFLQyxHQUFHLEVBQUUsR0FBSztvQkFBQ0EsSUFBSUY7aUJBQU87UUFDcEQ7SUFDRjtJQUVBLElBQUlkLFFBQVFVLE1BQU0sQ0FBQyxDQUFDLEVBQUVQLFVBQVUsY0FBYyxDQUFDLENBQUMsRUFBRTtRQUNoREMsT0FBT0MsSUFBSSxDQUFDWSxjQUFjLEdBQUc7WUFDM0JWLFNBQVM7Z0JBQ1BDLElBQUk7Z0JBQ0pJLFFBQVE7WUFDVjtZQUNBQyxTQUFTLENBQUMsRUFBRUMsS0FBSyxFQUFFLEVBQUUsRUFBRUMsS0FBS0MsR0FBRyxFQUFFLEdBQUs7b0JBQUNBLElBQUlGO2lCQUFPO1FBQ3BEO0lBQ0Y7SUFFQSxJQUFJZCxRQUFRVSxNQUFNLENBQUMsQ0FBQyxFQUFFUCxVQUFVLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDMUNDLE9BQU9DLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtJQUN6QjtJQUVBWSxJQUFBQSw4QkFBYyxFQUFDO1FBQ2JaO1FBQ0FOO1FBQ0FtQixhQUFhZjtRQUNiZ0Isa0JBQWtCakI7UUFDbEJGO1FBQ0FDO1FBQ0FtQixNQUFNO1FBQ05DLGNBQWNsQjtRQUNkbUIsbUJBQW1CcEI7SUFDckI7SUFFQSxPQUFPQztBQUNUIn0=
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "chainMethods", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return chainMethods;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
/**
|
12
|
+
* Call and returning methods that would normally be chained together but cannot be because of control logic
|
13
|
+
* @param methods
|
14
|
+
* @param query
|
15
|
+
*/ const chainMethods = ({ methods, query })=>{
|
16
|
+
return methods.reduce((query, { args, method })=>{
|
17
|
+
return query[method](...args);
|
18
|
+
}, query);
|
19
|
+
};
|
20
|
+
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL2NoYWluTWV0aG9kcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDaGFpbmVkTWV0aG9kcyA9IHtcbiAgYXJnczogdW5rbm93bltdXG4gIG1ldGhvZDogc3RyaW5nXG59W11cblxuLyoqXG4gKiBDYWxsIGFuZCByZXR1cm5pbmcgbWV0aG9kcyB0aGF0IHdvdWxkIG5vcm1hbGx5IGJlIGNoYWluZWQgdG9nZXRoZXIgYnV0IGNhbm5vdCBiZSBiZWNhdXNlIG9mIGNvbnRyb2wgbG9naWNcbiAqIEBwYXJhbSBtZXRob2RzXG4gKiBAcGFyYW0gcXVlcnlcbiAqL1xuY29uc3QgY2hhaW5NZXRob2RzID0gKHsgbWV0aG9kcywgcXVlcnkgfSk6IFByb21pc2U8dW5rbm93bj4gPT4ge1xuICByZXR1cm4gbWV0aG9kcy5yZWR1Y2UoKHF1ZXJ5LCB7IGFyZ3MsIG1ldGhvZCB9KSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oLi4uYXJncylcbiAgfSwgcXVlcnkpXG59XG5cbmV4cG9ydCB7IGNoYWluTWV0aG9kcyB9XG4iXSwibmFtZXMiOlsiY2hhaW5NZXRob2RzIiwibWV0aG9kcyIsInF1ZXJ5IiwicmVkdWNlIiwiYXJncyIsIm1ldGhvZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFnQlNBOzs7ZUFBQUE7OztBQVhUOzs7O0NBSUMsR0FDRCxNQUFNQSxlQUFlLENBQUMsRUFBRUMsT0FBTyxFQUFFQyxLQUFLLEVBQUU7SUFDdEMsT0FBT0QsUUFBUUUsTUFBTSxDQUFDLENBQUNELE9BQU8sRUFBRUUsSUFBSSxFQUFFQyxNQUFNLEVBQUU7UUFDNUMsT0FBT0gsS0FBSyxDQUFDRyxPQUFPLElBQUlEO0lBQzFCLEdBQUdGO0FBQ0wifQ==
|