@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/index.js
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "postgresAdapter", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return postgresAdapter;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
12
|
+
const _database = require("payload/database");
|
13
|
+
const _connect = require("./connect");
|
14
|
+
const _create = require("./create");
|
15
|
+
const _createGlobal = require("./createGlobal");
|
16
|
+
const _createGlobalVersion = require("./createGlobalVersion");
|
17
|
+
const _createMigration = require("./createMigration");
|
18
|
+
const _createVersion = require("./createVersion");
|
19
|
+
const _deleteMany = require("./deleteMany");
|
20
|
+
const _deleteOne = require("./deleteOne");
|
21
|
+
const _deleteVersions = require("./deleteVersions");
|
22
|
+
const _destroy = require("./destroy");
|
23
|
+
const _find = require("./find");
|
24
|
+
const _findGlobal = require("./findGlobal");
|
25
|
+
const _findGlobalVersions = require("./findGlobalVersions");
|
26
|
+
const _findOne = require("./findOne");
|
27
|
+
const _findVersions = require("./findVersions");
|
28
|
+
const _init = require("./init");
|
29
|
+
const _migrate = require("./migrate");
|
30
|
+
const _migrateStatus = require("./migrateStatus");
|
31
|
+
const _queryDrafts = require("./queryDrafts");
|
32
|
+
const _beginTransaction = require("./transactions/beginTransaction");
|
33
|
+
const _commitTransaction = require("./transactions/commitTransaction");
|
34
|
+
const _rollbackTransaction = require("./transactions/rollbackTransaction");
|
35
|
+
const _update = require("./update");
|
36
|
+
const _updateGlobal = require("./updateGlobal");
|
37
|
+
const _updateGlobalVersion = require("./updateGlobalVersion");
|
38
|
+
const _updateVersion = require("./updateVersion");
|
39
|
+
const _webpack = require("./webpack");
|
40
|
+
function _interop_require_default(obj) {
|
41
|
+
return obj && obj.__esModule ? obj : {
|
42
|
+
default: obj
|
43
|
+
};
|
44
|
+
}
|
45
|
+
function postgresAdapter(args) {
|
46
|
+
function adapter({ payload }) {
|
47
|
+
const migrationDir = args.migrationDir || _path.default.resolve(__dirname, '../../../migrations');
|
48
|
+
return (0, _database.createDatabaseAdapter)({
|
49
|
+
...args,
|
50
|
+
name: 'postgres',
|
51
|
+
// Postgres-specific
|
52
|
+
db: undefined,
|
53
|
+
enums: {},
|
54
|
+
pool: undefined,
|
55
|
+
relations: {},
|
56
|
+
schema: {},
|
57
|
+
sessions: {},
|
58
|
+
tables: {},
|
59
|
+
// DatabaseAdapter
|
60
|
+
beginTransaction: _beginTransaction.beginTransaction,
|
61
|
+
commitTransaction: _commitTransaction.commitTransaction,
|
62
|
+
connect: _connect.connect,
|
63
|
+
create: _create.create,
|
64
|
+
createGlobal: _createGlobal.createGlobal,
|
65
|
+
createGlobalVersion: _createGlobalVersion.createGlobalVersion,
|
66
|
+
createMigration: _createMigration.createMigration,
|
67
|
+
createVersion: _createVersion.createVersion,
|
68
|
+
defaultIDType: 'number',
|
69
|
+
deleteMany: _deleteMany.deleteMany,
|
70
|
+
deleteOne: _deleteOne.deleteOne,
|
71
|
+
deleteVersions: _deleteVersions.deleteVersions,
|
72
|
+
destroy: _destroy.destroy,
|
73
|
+
find: _find.find,
|
74
|
+
findGlobal: _findGlobal.findGlobal,
|
75
|
+
findGlobalVersions: _findGlobalVersions.findGlobalVersions,
|
76
|
+
findOne: _findOne.findOne,
|
77
|
+
findVersions: _findVersions.findVersions,
|
78
|
+
init: _init.init,
|
79
|
+
migrate: _migrate.migrate,
|
80
|
+
migrateStatus: _migrateStatus.migrateStatus,
|
81
|
+
migrationDir,
|
82
|
+
payload,
|
83
|
+
queryDrafts: _queryDrafts.queryDrafts,
|
84
|
+
rollbackTransaction: _rollbackTransaction.rollbackTransaction,
|
85
|
+
updateGlobal: _updateGlobal.updateGlobal,
|
86
|
+
updateGlobalVersion: _updateGlobalVersion.updateGlobalVersion,
|
87
|
+
updateOne: _update.updateOne,
|
88
|
+
updateVersion: _updateVersion.updateVersion,
|
89
|
+
webpack: _webpack.webpack
|
90
|
+
});
|
91
|
+
}
|
92
|
+
return adapter;
|
93
|
+
}
|
94
|
+
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgY3JlYXRlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBBcmdzLCBQb3N0Z3Jlc0FkYXB0ZXIsIFBvc3RncmVzQWRhcHRlclJlc3VsdCB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICcuL2Nvbm5lY3QnXG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL2NyZWF0ZSdcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbCB9IGZyb20gJy4vY3JlYXRlR2xvYmFsJ1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IGNyZWF0ZU1pZ3JhdGlvbiB9IGZyb20gJy4vY3JlYXRlTWlncmF0aW9uJ1xuaW1wb3J0IHsgY3JlYXRlVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlVmVyc2lvbidcbmltcG9ydCB7IGRlbGV0ZU1hbnkgfSBmcm9tICcuL2RlbGV0ZU1hbnknXG5pbXBvcnQgeyBkZWxldGVPbmUgfSBmcm9tICcuL2RlbGV0ZU9uZSdcbmltcG9ydCB7IGRlbGV0ZVZlcnNpb25zIH0gZnJvbSAnLi9kZWxldGVWZXJzaW9ucydcbmltcG9ydCB7IGRlc3Ryb3kgfSBmcm9tICcuL2Rlc3Ryb3knXG5pbXBvcnQgeyBmaW5kIH0gZnJvbSAnLi9maW5kJ1xuaW1wb3J0IHsgZmluZEdsb2JhbCB9IGZyb20gJy4vZmluZEdsb2JhbCdcbmltcG9ydCB7IGZpbmRHbG9iYWxWZXJzaW9ucyB9IGZyb20gJy4vZmluZEdsb2JhbFZlcnNpb25zJ1xuaW1wb3J0IHsgZmluZE9uZSB9IGZyb20gJy4vZmluZE9uZSdcbmltcG9ydCB7IGZpbmRWZXJzaW9ucyB9IGZyb20gJy4vZmluZFZlcnNpb25zJ1xuaW1wb3J0IHsgaW5pdCB9IGZyb20gJy4vaW5pdCdcbmltcG9ydCB7IG1pZ3JhdGUgfSBmcm9tICcuL21pZ3JhdGUnXG5pbXBvcnQgeyBtaWdyYXRlU3RhdHVzIH0gZnJvbSAnLi9taWdyYXRlU3RhdHVzJ1xuaW1wb3J0IHsgcXVlcnlEcmFmdHMgfSBmcm9tICcuL3F1ZXJ5RHJhZnRzJ1xuaW1wb3J0IHsgYmVnaW5UcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL2JlZ2luVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgcm9sbGJhY2tUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL3JvbGxiYWNrVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyB1cGRhdGVPbmUgfSBmcm9tICcuL3VwZGF0ZSdcbmltcG9ydCB7IHVwZGF0ZUdsb2JhbCB9IGZyb20gJy4vdXBkYXRlR2xvYmFsJ1xuaW1wb3J0IHsgdXBkYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vdXBkYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IHVwZGF0ZVZlcnNpb24gfSBmcm9tICcuL3VwZGF0ZVZlcnNpb24nXG5pbXBvcnQgeyB3ZWJwYWNrIH0gZnJvbSAnLi93ZWJwYWNrJ1xuXG5leHBvcnQgZnVuY3Rpb24gcG9zdGdyZXNBZGFwdGVyKGFyZ3M6IEFyZ3MpOiBQb3N0Z3Jlc0FkYXB0ZXJSZXN1bHQge1xuICBmdW5jdGlvbiBhZGFwdGVyKHsgcGF5bG9hZCB9OiB7IHBheWxvYWQ6IFBheWxvYWQgfSkge1xuICAgIGNvbnN0IG1pZ3JhdGlvbkRpciA9IGFyZ3MubWlncmF0aW9uRGlyIHx8IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLi8uLi8uLi9taWdyYXRpb25zJylcbiAgICByZXR1cm4gY3JlYXRlRGF0YWJhc2VBZGFwdGVyPFBvc3RncmVzQWRhcHRlcj4oe1xuICAgICAgLi4uYXJncyxcbiAgICAgIG5hbWU6ICdwb3N0Z3JlcycsXG5cbiAgICAgIC8vIFBvc3RncmVzLXNwZWNpZmljXG4gICAgICBkYjogdW5kZWZpbmVkLFxuICAgICAgZW51bXM6IHt9LFxuICAgICAgcG9vbDogdW5kZWZpbmVkLFxuICAgICAgcmVsYXRpb25zOiB7fSxcbiAgICAgIHNjaGVtYToge30sXG4gICAgICBzZXNzaW9uczoge30sXG4gICAgICB0YWJsZXM6IHt9LFxuXG4gICAgICAvLyBEYXRhYmFzZUFkYXB0ZXJcbiAgICAgIGJlZ2luVHJhbnNhY3Rpb24sXG4gICAgICBjb21taXRUcmFuc2FjdGlvbixcbiAgICAgIGNvbm5lY3QsXG4gICAgICBjcmVhdGUsXG4gICAgICBjcmVhdGVHbG9iYWwsXG4gICAgICBjcmVhdGVHbG9iYWxWZXJzaW9uLFxuICAgICAgY3JlYXRlTWlncmF0aW9uLFxuICAgICAgY3JlYXRlVmVyc2lvbixcbiAgICAgIGRlZmF1bHRJRFR5cGU6ICdudW1iZXInLFxuICAgICAgZGVsZXRlTWFueSxcbiAgICAgIGRlbGV0ZU9uZSxcbiAgICAgIGRlbGV0ZVZlcnNpb25zLFxuICAgICAgZGVzdHJveSxcbiAgICAgIGZpbmQsXG4gICAgICBmaW5kR2xvYmFsLFxuICAgICAgZmluZEdsb2JhbFZlcnNpb25zLFxuICAgICAgZmluZE9uZSxcbiAgICAgIGZpbmRWZXJzaW9ucyxcbiAgICAgIGluaXQsXG4gICAgICBtaWdyYXRlLFxuICAgICAgbWlncmF0ZVN0YXR1cyxcbiAgICAgIG1pZ3JhdGlvbkRpcixcbiAgICAgIHBheWxvYWQsXG4gICAgICBxdWVyeURyYWZ0cyxcbiAgICAgIHJvbGxiYWNrVHJhbnNhY3Rpb24sXG4gICAgICB1cGRhdGVHbG9iYWwsXG4gICAgICB1cGRhdGVHbG9iYWxWZXJzaW9uLFxuICAgICAgdXBkYXRlT25lLFxuICAgICAgdXBkYXRlVmVyc2lvbixcbiAgICAgIHdlYnBhY2ssXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBhZGFwdGVyXG59XG4iXSwibmFtZXMiOlsicG9zdGdyZXNBZGFwdGVyIiwiYXJncyIsImFkYXB0ZXIiLCJwYXlsb2FkIiwibWlncmF0aW9uRGlyIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJjcmVhdGVEYXRhYmFzZUFkYXB0ZXIiLCJuYW1lIiwiZGIiLCJ1bmRlZmluZWQiLCJlbnVtcyIsInBvb2wiLCJyZWxhdGlvbnMiLCJzY2hlbWEiLCJzZXNzaW9ucyIsInRhYmxlcyIsImJlZ2luVHJhbnNhY3Rpb24iLCJjb21taXRUcmFuc2FjdGlvbiIsImNvbm5lY3QiLCJjcmVhdGUiLCJjcmVhdGVHbG9iYWwiLCJjcmVhdGVHbG9iYWxWZXJzaW9uIiwiY3JlYXRlTWlncmF0aW9uIiwiY3JlYXRlVmVyc2lvbiIsImRlZmF1bHRJRFR5cGUiLCJkZWxldGVNYW55IiwiZGVsZXRlT25lIiwiZGVsZXRlVmVyc2lvbnMiLCJkZXN0cm95IiwiZmluZCIsImZpbmRHbG9iYWwiLCJmaW5kR2xvYmFsVmVyc2lvbnMiLCJmaW5kT25lIiwiZmluZFZlcnNpb25zIiwiaW5pdCIsIm1pZ3JhdGUiLCJtaWdyYXRlU3RhdHVzIiwicXVlcnlEcmFmdHMiLCJyb2xsYmFja1RyYW5zYWN0aW9uIiwidXBkYXRlR2xvYmFsIiwidXBkYXRlR2xvYmFsVmVyc2lvbiIsInVwZGF0ZU9uZSIsInVwZGF0ZVZlcnNpb24iLCJ3ZWJwYWNrIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1DZ0JBOzs7ZUFBQUE7Ozs2REFqQ0M7MEJBQ3FCO3lCQUlkO3dCQUNEOzhCQUNNO3FDQUNPO2lDQUNKOytCQUNGOzRCQUNIOzJCQUNEO2dDQUNLO3lCQUNQO3NCQUNIOzRCQUNNO29DQUNRO3lCQUNYOzhCQUNLO3NCQUNSO3lCQUNHOytCQUNNOzZCQUNGO2tDQUNLO21DQUNDO3FDQUNFO3dCQUNWOzhCQUNHO3FDQUNPOytCQUNOO3lCQUNOOzs7Ozs7QUFFakIsU0FBU0EsZ0JBQWdCQyxJQUFVO0lBQ3hDLFNBQVNDLFFBQVEsRUFBRUMsT0FBTyxFQUF3QjtRQUNoRCxNQUFNQyxlQUFlSCxLQUFLRyxZQUFZLElBQUlDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDQyxXQUFXO1FBQ2xFLE9BQU9DLElBQUFBLCtCQUFxQixFQUFrQjtZQUM1QyxHQUFHUCxJQUFJO1lBQ1BRLE1BQU07WUFFTixvQkFBb0I7WUFDcEJDLElBQUlDO1lBQ0pDLE9BQU8sQ0FBQztZQUNSQyxNQUFNRjtZQUNORyxXQUFXLENBQUM7WUFDWkMsUUFBUSxDQUFDO1lBQ1RDLFVBQVUsQ0FBQztZQUNYQyxRQUFRLENBQUM7WUFFVCxrQkFBa0I7WUFDbEJDLGtCQUFBQSxrQ0FBZ0I7WUFDaEJDLG1CQUFBQSxvQ0FBaUI7WUFDakJDLFNBQUFBLGdCQUFPO1lBQ1BDLFFBQUFBLGNBQU07WUFDTkMsY0FBQUEsMEJBQVk7WUFDWkMscUJBQUFBLHdDQUFtQjtZQUNuQkMsaUJBQUFBLGdDQUFlO1lBQ2ZDLGVBQUFBLDRCQUFhO1lBQ2JDLGVBQWU7WUFDZkMsWUFBQUEsc0JBQVU7WUFDVkMsV0FBQUEsb0JBQVM7WUFDVEMsZ0JBQUFBLDhCQUFjO1lBQ2RDLFNBQUFBLGdCQUFPO1lBQ1BDLE1BQUFBLFVBQUk7WUFDSkMsWUFBQUEsc0JBQVU7WUFDVkMsb0JBQUFBLHNDQUFrQjtZQUNsQkMsU0FBQUEsZ0JBQU87WUFDUEMsY0FBQUEsMEJBQVk7WUFDWkMsTUFBQUEsVUFBSTtZQUNKQyxTQUFBQSxnQkFBTztZQUNQQyxlQUFBQSw0QkFBYTtZQUNibEM7WUFDQUQ7WUFDQW9DLGFBQUFBLHdCQUFXO1lBQ1hDLHFCQUFBQSx3Q0FBbUI7WUFDbkJDLGNBQUFBLDBCQUFZO1lBQ1pDLHFCQUFBQSx3Q0FBbUI7WUFDbkJDLFdBQUFBLGlCQUFTO1lBQ1RDLGVBQUFBLDRCQUFhO1lBQ2JDLFNBQUFBLGdCQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU8zQztBQUNUIn0=
|
package/dist/init.js
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
/* eslint-disable no-param-reassign */ "use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "init", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return init;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _pgcore = require("drizzle-orm/pg-core");
|
12
|
+
const _versions = require("payload/versions");
|
13
|
+
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
14
|
+
const _build = require("./schema/build");
|
15
|
+
function _interop_require_default(obj) {
|
16
|
+
return obj && obj.__esModule ? obj : {
|
17
|
+
default: obj
|
18
|
+
};
|
19
|
+
}
|
20
|
+
const init = async function init() {
|
21
|
+
if (this.payload.config.localization) {
|
22
|
+
this.enums.enum__locales = (0, _pgcore.pgEnum)('_locales', // TODO: types out of sync with core, monorepo please
|
23
|
+
// this.payload.config.localization.localeCodes,
|
24
|
+
this.payload.config.localization.locales.map(({ code })=>code));
|
25
|
+
}
|
26
|
+
this.payload.config.collections.forEach((collection)=>{
|
27
|
+
const tableName = (0, _tosnakecase.default)(collection.slug);
|
28
|
+
(0, _build.buildTable)({
|
29
|
+
adapter: this,
|
30
|
+
buildRelationships: true,
|
31
|
+
disableUnique: false,
|
32
|
+
fields: collection.fields,
|
33
|
+
tableName,
|
34
|
+
timestamps: collection.timestamps
|
35
|
+
});
|
36
|
+
if (collection.versions) {
|
37
|
+
const versionsTableName = `_${tableName}_v`;
|
38
|
+
const versionFields = (0, _versions.buildVersionCollectionFields)(collection);
|
39
|
+
(0, _build.buildTable)({
|
40
|
+
adapter: this,
|
41
|
+
buildRelationships: true,
|
42
|
+
disableUnique: true,
|
43
|
+
fields: versionFields,
|
44
|
+
tableName: versionsTableName,
|
45
|
+
timestamps: true
|
46
|
+
});
|
47
|
+
}
|
48
|
+
});
|
49
|
+
this.payload.config.globals.forEach((global)=>{
|
50
|
+
const tableName = (0, _tosnakecase.default)(global.slug);
|
51
|
+
(0, _build.buildTable)({
|
52
|
+
adapter: this,
|
53
|
+
buildRelationships: true,
|
54
|
+
disableUnique: false,
|
55
|
+
fields: global.fields,
|
56
|
+
tableName,
|
57
|
+
timestamps: false
|
58
|
+
});
|
59
|
+
if (global.versions) {
|
60
|
+
const versionsTableName = `_${tableName}_v`;
|
61
|
+
const versionFields = (0, _versions.buildVersionGlobalFields)(global);
|
62
|
+
(0, _build.buildTable)({
|
63
|
+
adapter: this,
|
64
|
+
buildRelationships: true,
|
65
|
+
disableUnique: true,
|
66
|
+
fields: versionFields,
|
67
|
+
tableName: versionsTableName,
|
68
|
+
timestamps: true
|
69
|
+
});
|
70
|
+
}
|
71
|
+
});
|
72
|
+
};
|
73
|
+
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEluaXQgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgcGdFbnVtIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMsIGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdmVyc2lvbnMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFRhYmxlIH0gZnJvbSAnLi9zY2hlbWEvYnVpbGQnXG5cbmV4cG9ydCBjb25zdCBpbml0OiBJbml0ID0gYXN5bmMgZnVuY3Rpb24gaW5pdCh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpIHtcbiAgaWYgKHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgdGhpcy5lbnVtcy5lbnVtX19sb2NhbGVzID0gcGdFbnVtKFxuICAgICAgJ19sb2NhbGVzJyxcbiAgICAgIC8vIFRPRE86IHR5cGVzIG91dCBvZiBzeW5jIHdpdGggY29yZSwgbW9ub3JlcG8gcGxlYXNlXG4gICAgICAvLyB0aGlzLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVDb2RlcyxcbiAgICAgICh0aGlzLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVzIGFzIHVua25vd24gYXMgeyBjb2RlOiBzdHJpbmcgfVtdKS5tYXAoXG4gICAgICAgICh7IGNvZGUgfSkgPT4gY29kZSxcbiAgICAgICkgYXMgW3N0cmluZywgLi4uc3RyaW5nW11dLFxuICAgIClcbiAgfVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuY29sbGVjdGlvbnMuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGNvbGxlY3Rpb24uc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGRpc2FibGVVbmlxdWU6IGZhbHNlLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgIHRhYmxlTmFtZSxcbiAgICAgIHRpbWVzdGFtcHM6IGNvbGxlY3Rpb24udGltZXN0YW1wcyxcbiAgICB9KVxuXG4gICAgaWYgKGNvbGxlY3Rpb24udmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zVGFibGVOYW1lID0gYF8ke3RhYmxlTmFtZX1fdmBcbiAgICAgIGNvbnN0IHZlcnNpb25GaWVsZHMgPSBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24pXG5cbiAgICAgIGJ1aWxkVGFibGUoe1xuICAgICAgICBhZGFwdGVyOiB0aGlzLFxuICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHM6IHRydWUsXG4gICAgICAgIGRpc2FibGVVbmlxdWU6IHRydWUsXG4gICAgICAgIGZpZWxkczogdmVyc2lvbkZpZWxkcyxcbiAgICAgICAgdGFibGVOYW1lOiB2ZXJzaW9uc1RhYmxlTmFtZSxcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgfVxuICB9KVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuZ2xvYmFscy5mb3JFYWNoKChnbG9iYWwpID0+IHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSB0b1NuYWtlQ2FzZShnbG9iYWwuc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGRpc2FibGVVbmlxdWU6IGZhbHNlLFxuICAgICAgZmllbGRzOiBnbG9iYWwuZmllbGRzLFxuICAgICAgdGFibGVOYW1lLFxuICAgICAgdGltZXN0YW1wczogZmFsc2UsXG4gICAgfSlcblxuICAgIGlmIChnbG9iYWwudmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zVGFibGVOYW1lID0gYF8ke3RhYmxlTmFtZX1fdmBcbiAgICAgIGNvbnN0IHZlcnNpb25GaWVsZHMgPSBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMoZ2xvYmFsKVxuXG4gICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzOiB0cnVlLFxuICAgICAgICBkaXNhYmxlVW5pcXVlOiB0cnVlLFxuICAgICAgICBmaWVsZHM6IHZlcnNpb25GaWVsZHMsXG4gICAgICAgIHRhYmxlTmFtZTogdmVyc2lvbnNUYWJsZU5hbWUsXG4gICAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgICB9KVxuICAgIH1cbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJpbml0IiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsImVudW1zIiwiZW51bV9fbG9jYWxlcyIsInBnRW51bSIsImxvY2FsZXMiLCJtYXAiLCJjb2RlIiwiY29sbGVjdGlvbnMiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInRhYmxlTmFtZSIsInRvU25ha2VDYXNlIiwic2x1ZyIsImJ1aWxkVGFibGUiLCJhZGFwdGVyIiwiYnVpbGRSZWxhdGlvbnNoaXBzIiwiZGlzYWJsZVVuaXF1ZSIsImZpZWxkcyIsInRpbWVzdGFtcHMiLCJ2ZXJzaW9ucyIsInZlcnNpb25zVGFibGVOYW1lIiwidmVyc2lvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJnbG9iYWxzIiwiZ2xvYmFsIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBWXZCQTs7O2VBQUFBOzs7d0JBUlU7MEJBQ2dEO29FQUMvQzt1QkFJRzs7Ozs7O0FBRXBCLE1BQU1BLE9BQWEsZUFBZUE7SUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLEVBQUU7UUFDcEMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLGFBQWEsR0FBR0MsSUFBQUEsY0FBTSxFQUMvQixZQUdBLEFBRkEscURBQXFEO1FBQ3JELGdEQUFnRDtRQUMvQyxJQUFJLENBQUNMLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLENBQUNJLE9BQU8sQ0FBbUNDLEdBQUcsQ0FDN0UsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBS0E7SUFHcEI7SUFFQSxJQUFJLENBQUNSLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDUSxXQUFXLENBQUNDLE9BQU8sQ0FBQyxDQUFDQztRQUN2QyxNQUFNQyxZQUFZQyxJQUFBQSxvQkFBVyxFQUFDRixXQUFXRyxJQUFJO1FBRTdDQyxJQUFBQSxpQkFBVSxFQUFDO1lBQ1RDLFNBQVMsSUFBSTtZQUNiQyxvQkFBb0I7WUFDcEJDLGVBQWU7WUFDZkMsUUFBUVIsV0FBV1EsTUFBTTtZQUN6QlA7WUFDQVEsWUFBWVQsV0FBV1MsVUFBVTtRQUNuQztRQUVBLElBQUlULFdBQVdVLFFBQVEsRUFBRTtZQUN2QixNQUFNQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUVWLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU1XLGdCQUFnQkMsSUFBQUEsc0NBQTRCLEVBQUNiO1lBRW5ESSxJQUFBQSxpQkFBVSxFQUFDO2dCQUNUQyxTQUFTLElBQUk7Z0JBQ2JDLG9CQUFvQjtnQkFDcEJDLGVBQWU7Z0JBQ2ZDLFFBQVFJO2dCQUNSWCxXQUFXVTtnQkFDWEYsWUFBWTtZQUNkO1FBQ0Y7SUFDRjtJQUVBLElBQUksQ0FBQ3BCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDd0IsT0FBTyxDQUFDZixPQUFPLENBQUMsQ0FBQ2dCO1FBQ25DLE1BQU1kLFlBQVlDLElBQUFBLG9CQUFXLEVBQUNhLE9BQU9aLElBQUk7UUFFekNDLElBQUFBLGlCQUFVLEVBQUM7WUFDVEMsU0FBUyxJQUFJO1lBQ2JDLG9CQUFvQjtZQUNwQkMsZUFBZTtZQUNmQyxRQUFRTyxPQUFPUCxNQUFNO1lBQ3JCUDtZQUNBUSxZQUFZO1FBQ2Q7UUFFQSxJQUFJTSxPQUFPTCxRQUFRLEVBQUU7WUFDbkIsTUFBTUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFVixVQUFVLEVBQUUsQ0FBQztZQUMzQyxNQUFNVyxnQkFBZ0JJLElBQUFBLGtDQUF3QixFQUFDRDtZQUUvQ1gsSUFBQUEsaUJBQVUsRUFBQztnQkFDVEMsU0FBUyxJQUFJO2dCQUNiQyxvQkFBb0I7Z0JBQ3BCQyxlQUFlO2dCQUNmQyxRQUFRSTtnQkFDUlgsV0FBV1U7Z0JBQ1hGLFlBQVk7WUFDZDtRQUNGO0lBQ0Y7QUFDRiJ9
|
package/dist/migrate.js
ADDED
@@ -0,0 +1,81 @@
|
|
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, "migrate", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return migrate;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _utils = require("drizzle-kit/utils");
|
12
|
+
const _database = require("payload/database");
|
13
|
+
const _pg = require("pg");
|
14
|
+
const _createMigrationTable = require("./utilities/createMigrationTable");
|
15
|
+
const _migrationTableExists = require("./utilities/migrationTableExists");
|
16
|
+
async function migrate() {
|
17
|
+
const { payload } = this;
|
18
|
+
const migrationFiles = await (0, _database.readMigrationFiles)({
|
19
|
+
payload
|
20
|
+
});
|
21
|
+
let latestBatch = 0;
|
22
|
+
let existingMigrations = [];
|
23
|
+
const hasMigrationTable = await (0, _migrationTableExists.migrationTableExists)(this.db);
|
24
|
+
if (hasMigrationTable) {
|
25
|
+
({ docs: existingMigrations } = await payload.find({
|
26
|
+
collection: 'payload-migrations',
|
27
|
+
limit: 0,
|
28
|
+
sort: '-name'
|
29
|
+
}));
|
30
|
+
if (typeof existingMigrations[0]?.batch !== 'undefined') {
|
31
|
+
latestBatch = Number(existingMigrations[0]?.batch);
|
32
|
+
}
|
33
|
+
} else {
|
34
|
+
await (0, _createMigrationTable.createMigrationTable)(this.db);
|
35
|
+
}
|
36
|
+
const newBatch = latestBatch + 1;
|
37
|
+
// Execute 'up' function for each migration sequentially
|
38
|
+
for (const migration of migrationFiles){
|
39
|
+
const existingMigration = existingMigrations.find((existing)=>existing.name === migration.name);
|
40
|
+
// Run migration if not found in database
|
41
|
+
if (existingMigration) {
|
42
|
+
continue; // eslint-disable-line no-continue
|
43
|
+
}
|
44
|
+
const start = Date.now();
|
45
|
+
payload.logger.info({
|
46
|
+
msg: `Migrating: ${migration.name}`
|
47
|
+
});
|
48
|
+
const pgAdapter = payload.db// TODO: Fix this typing
|
49
|
+
;
|
50
|
+
const drizzleJSON = (0, _utils.generateDrizzleJson)(pgAdapter.schema);
|
51
|
+
try {
|
52
|
+
await migration.up({
|
53
|
+
payload
|
54
|
+
});
|
55
|
+
payload.logger.info({
|
56
|
+
msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
|
57
|
+
});
|
58
|
+
await payload.create({
|
59
|
+
collection: 'payload-migrations',
|
60
|
+
data: {
|
61
|
+
name: migration.name,
|
62
|
+
batch: newBatch,
|
63
|
+
schema: drizzleJSON
|
64
|
+
}
|
65
|
+
});
|
66
|
+
} catch (err) {
|
67
|
+
let msg = `Error running migration ${migration.name}`;
|
68
|
+
if (err instanceof _pg.DatabaseError) {
|
69
|
+
msg += `: ${err.message}`;
|
70
|
+
if (err.hint) msg += `. ${err.hint}`;
|
71
|
+
}
|
72
|
+
payload.logger.error({
|
73
|
+
err,
|
74
|
+
msg
|
75
|
+
});
|
76
|
+
throw err;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1hd2FpdC1pbi1sb29wICovXG5pbXBvcnQgeyBnZW5lcmF0ZURyaXp6bGVKc29uIH0gZnJvbSAnZHJpenpsZS1raXQvdXRpbHMnXG5pbXBvcnQgeyByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgRGF0YWJhc2VFcnJvciB9IGZyb20gJ3BnJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGNyZWF0ZU1pZ3JhdGlvblRhYmxlIH0gZnJvbSAnLi91dGlsaXRpZXMvY3JlYXRlTWlncmF0aW9uVGFibGUnXG5pbXBvcnQgeyBtaWdyYXRpb25UYWJsZUV4aXN0cyB9IGZyb20gJy4vdXRpbGl0aWVzL21pZ3JhdGlvblRhYmxlRXhpc3RzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZSh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuXG4gIGxldCBsYXRlc3RCYXRjaCA9IDBcbiAgbGV0IGV4aXN0aW5nTWlncmF0aW9ucyA9IFtdXG5cbiAgY29uc3QgaGFzTWlncmF0aW9uVGFibGUgPSBhd2FpdCBtaWdyYXRpb25UYWJsZUV4aXN0cyh0aGlzLmRiKVxuXG4gIGlmIChoYXNNaWdyYXRpb25UYWJsZSkge1xuICAgIDsoeyBkb2NzOiBleGlzdGluZ01pZ3JhdGlvbnMgfSA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgIGxpbWl0OiAwLFxuICAgICAgc29ydDogJy1uYW1lJyxcbiAgICB9KSlcbiAgICBpZiAodHlwZW9mIGV4aXN0aW5nTWlncmF0aW9uc1swXT8uYmF0Y2ggIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsYXRlc3RCYXRjaCA9IE51bWJlcihleGlzdGluZ01pZ3JhdGlvbnNbMF0/LmJhdGNoKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBjcmVhdGVNaWdyYXRpb25UYWJsZSh0aGlzLmRiKVxuICB9XG5cbiAgY29uc3QgbmV3QmF0Y2ggPSBsYXRlc3RCYXRjaCArIDFcblxuICAvLyBFeGVjdXRlICd1cCcgZnVuY3Rpb24gZm9yIGVhY2ggbWlncmF0aW9uIHNlcXVlbnRpYWxseVxuICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBtaWdyYXRpb25GaWxlcykge1xuICAgIGNvbnN0IGV4aXN0aW5nTWlncmF0aW9uID0gZXhpc3RpbmdNaWdyYXRpb25zLmZpbmQoXG4gICAgICAoZXhpc3RpbmcpID0+IGV4aXN0aW5nLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lLFxuICAgIClcblxuICAgIC8vIFJ1biBtaWdyYXRpb24gaWYgbm90IGZvdW5kIGluIGRhdGFiYXNlXG4gICAgaWYgKGV4aXN0aW5nTWlncmF0aW9uKSB7XG4gICAgICBjb250aW51ZSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG5cbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcblxuICAgIGNvbnN0IHBnQWRhcHRlciA9IHBheWxvYWQuZGIgYXMgUG9zdGdyZXNBZGFwdGVyIC8vIFRPRE86IEZpeCB0aGlzIHR5cGluZ1xuICAgIGNvbnN0IGRyaXp6bGVKU09OID0gZ2VuZXJhdGVEcml6emxlSnNvbihwZ0FkYXB0ZXIuc2NoZW1hKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbi51cCh7IHBheWxvYWQgfSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgYmF0Y2g6IG5ld0JhdGNoLFxuICAgICAgICAgIHNjaGVtYTogZHJpenpsZUpTT04sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgbGV0IG1zZyA9IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfWBcblxuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIERhdGFiYXNlRXJyb3IpIHtcbiAgICAgICAgbXNnICs9IGA6ICR7ZXJyLm1lc3NhZ2V9YFxuICAgICAgICBpZiAoZXJyLmhpbnQpIG1zZyArPSBgLiAke2Vyci5oaW50fWBcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoeyBlcnIsIG1zZyB9KVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsibWlncmF0ZSIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsInJlYWRNaWdyYXRpb25GaWxlcyIsImxhdGVzdEJhdGNoIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwiaGFzTWlncmF0aW9uVGFibGUiLCJtaWdyYXRpb25UYWJsZUV4aXN0cyIsImRiIiwiZG9jcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwibGltaXQiLCJzb3J0IiwiYmF0Y2giLCJOdW1iZXIiLCJjcmVhdGVNaWdyYXRpb25UYWJsZSIsIm5ld0JhdGNoIiwibWlncmF0aW9uIiwiZXhpc3RpbmdNaWdyYXRpb24iLCJleGlzdGluZyIsIm5hbWUiLCJzdGFydCIsIkRhdGUiLCJub3ciLCJsb2dnZXIiLCJpbmZvIiwibXNnIiwicGdBZGFwdGVyIiwiZHJpenpsZUpTT04iLCJnZW5lcmF0ZURyaXp6bGVKc29uIiwic2NoZW1hIiwidXAiLCJjcmVhdGUiLCJkYXRhIiwiZXJyIiwiRGF0YWJhc2VFcnJvciIsIm1lc3NhZ2UiLCJoaW50IiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDs7OzsrQkFVbkNBOzs7ZUFBQUE7Ozt1QkFUYzswQkFDRDtvQkFDTDtzQ0FJTztzQ0FDQTtBQUU5QixlQUFlQTtJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLDRCQUFrQixFQUFDO1FBQUVGO0lBQVE7SUFFMUQsSUFBSUcsY0FBYztJQUNsQixJQUFJQyxxQkFBcUIsRUFBRTtJQUUzQixNQUFNQyxvQkFBb0IsTUFBTUMsSUFBQUEsMENBQW9CLEVBQUMsSUFBSSxDQUFDQyxFQUFFO0lBRTVELElBQUlGLG1CQUFtQjtRQUNuQixDQUFBLEVBQUVHLE1BQU1KLGtCQUFrQixFQUFFLEdBQUcsTUFBTUosUUFBUVMsSUFBSSxDQUFDO1lBQ2xEQyxZQUFZO1lBQ1pDLE9BQU87WUFDUEMsTUFBTTtRQUNSLEVBQUM7UUFDRCxJQUFJLE9BQU9SLGtCQUFrQixDQUFDLEVBQUUsRUFBRVMsVUFBVSxhQUFhO1lBQ3ZEVixjQUFjVyxPQUFPVixrQkFBa0IsQ0FBQyxFQUFFLEVBQUVTO1FBQzlDO0lBQ0YsT0FBTztRQUNMLE1BQU1FLElBQUFBLDBDQUFvQixFQUFDLElBQUksQ0FBQ1IsRUFBRTtJQUNwQztJQUVBLE1BQU1TLFdBQVdiLGNBQWM7SUFFL0Isd0RBQXdEO0lBQ3hELEtBQUssTUFBTWMsYUFBYWhCLGVBQWdCO1FBQ3RDLE1BQU1pQixvQkFBb0JkLG1CQUFtQkssSUFBSSxDQUMvQyxDQUFDVSxXQUFhQSxTQUFTQyxJQUFJLEtBQUtILFVBQVVHLElBQUk7UUFHaEQseUNBQXlDO1FBQ3pDLElBQUlGLG1CQUFtQjtZQUNyQixVQUFTLGtDQUFrQztRQUM3QztRQUVBLE1BQU1HLFFBQVFDLEtBQUtDLEdBQUc7UUFFdEJ2QixRQUFRd0IsTUFBTSxDQUFDQyxJQUFJLENBQUM7WUFBRUMsS0FBSyxDQUFDLFdBQVcsRUFBRVQsVUFBVUcsSUFBSSxDQUFDLENBQUM7UUFBQztRQUUxRCxNQUFNTyxZQUFZM0IsUUFBUU8sRUFBRSxBQUFvQix3QkFBd0I7O1FBQ3hFLE1BQU1xQixjQUFjQyxJQUFBQSwwQkFBbUIsRUFBQ0YsVUFBVUcsTUFBTTtRQUV4RCxJQUFJO1lBQ0YsTUFBTWIsVUFBVWMsRUFBRSxDQUFDO2dCQUFFL0I7WUFBUTtZQUM3QkEsUUFBUXdCLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFVCxVQUFVRyxJQUFJLENBQUMsRUFBRSxFQUFFRSxLQUFLQyxHQUFHLEtBQUtGLE1BQU0sR0FBRyxDQUFDO1lBQUM7WUFDcEYsTUFBTXJCLFFBQVFnQyxNQUFNLENBQUM7Z0JBQ25CdEIsWUFBWTtnQkFDWnVCLE1BQU07b0JBQ0piLE1BQU1ILFVBQVVHLElBQUk7b0JBQ3BCUCxPQUFPRztvQkFDUGMsUUFBUUY7Z0JBQ1Y7WUFDRjtRQUNGLEVBQUUsT0FBT00sS0FBYztZQUNyQixJQUFJUixNQUFNLENBQUMsd0JBQXdCLEVBQUVULFVBQVVHLElBQUksQ0FBQyxDQUFDO1lBRXJELElBQUljLGVBQWVDLGlCQUFhLEVBQUU7Z0JBQ2hDVCxPQUFPLENBQUMsRUFBRSxFQUFFUSxJQUFJRSxPQUFPLENBQUMsQ0FBQztnQkFDekIsSUFBSUYsSUFBSUcsSUFBSSxFQUFFWCxPQUFPLENBQUMsRUFBRSxFQUFFUSxJQUFJRyxJQUFJLENBQUMsQ0FBQztZQUN0QztZQUVBckMsUUFBUXdCLE1BQU0sQ0FBQ2MsS0FBSyxDQUFDO2dCQUFFSjtnQkFBS1I7WUFBSTtZQUNoQyxNQUFNUTtRQUNSO0lBQ0Y7QUFDRiJ9
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "migrateStatus", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return migrateStatus;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _consoletableprinter = require("console-table-printer");
|
12
|
+
const _database = require("payload/database");
|
13
|
+
const _migrationTableExists = require("./utilities/migrationTableExists");
|
14
|
+
async function migrateStatus() {
|
15
|
+
const { payload } = this;
|
16
|
+
const migrationFiles = await (0, _database.readMigrationFiles)({
|
17
|
+
payload
|
18
|
+
});
|
19
|
+
payload.logger.debug({
|
20
|
+
msg: `Found ${migrationFiles.length} migration files.`
|
21
|
+
});
|
22
|
+
let existingMigrations = [];
|
23
|
+
const hasMigrationTable = await (0, _migrationTableExists.migrationTableExists)(this.db);
|
24
|
+
if (hasMigrationTable) {
|
25
|
+
({ existingMigrations } = await (0, _database.getMigrations)({
|
26
|
+
payload
|
27
|
+
}));
|
28
|
+
}
|
29
|
+
if (!migrationFiles.length) {
|
30
|
+
payload.logger.info({
|
31
|
+
msg: 'No migrations found.'
|
32
|
+
});
|
33
|
+
return;
|
34
|
+
}
|
35
|
+
// Compare migration files to existing migrations
|
36
|
+
const statuses = migrationFiles.map((migration)=>{
|
37
|
+
const existingMigration = existingMigrations.find((m)=>m.name === migration.name);
|
38
|
+
return {
|
39
|
+
Name: migration.name,
|
40
|
+
// eslint-disable-next-line perfectionist/sort-objects
|
41
|
+
Batch: existingMigration?.batch,
|
42
|
+
Ran: existingMigration ? 'Yes' : 'No'
|
43
|
+
};
|
44
|
+
});
|
45
|
+
const p = new _consoletableprinter.Table();
|
46
|
+
statuses.forEach((s)=>{
|
47
|
+
p.addRow(s, {
|
48
|
+
color: s.Ran === 'Yes' ? 'green' : 'red'
|
49
|
+
});
|
50
|
+
});
|
51
|
+
p.printTable();
|
52
|
+
}
|
53
|
+
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlU3RhdHVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSAnY29uc29sZS10YWJsZS1wcmludGVyJ1xuaW1wb3J0IHsgZ2V0TWlncmF0aW9ucywgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBtaWdyYXRpb25UYWJsZUV4aXN0cyB9IGZyb20gJy4vdXRpbGl0aWVzL21pZ3JhdGlvblRhYmxlRXhpc3RzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVN0YXR1cyh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuXG4gIHBheWxvYWQubG9nZ2VyLmRlYnVnKHtcbiAgICBtc2c6IGBGb3VuZCAke21pZ3JhdGlvbkZpbGVzLmxlbmd0aH0gbWlncmF0aW9uIGZpbGVzLmAsXG4gIH0pXG5cbiAgbGV0IGV4aXN0aW5nTWlncmF0aW9ucyA9IFtdXG4gIGNvbnN0IGhhc01pZ3JhdGlvblRhYmxlID0gYXdhaXQgbWlncmF0aW9uVGFibGVFeGlzdHModGhpcy5kYilcblxuICBpZiAoaGFzTWlncmF0aW9uVGFibGUpIHtcbiAgICA7KHsgZXhpc3RpbmdNaWdyYXRpb25zIH0gPSBhd2FpdCBnZXRNaWdyYXRpb25zKHsgcGF5bG9hZCB9KSlcbiAgfVxuXG4gIGlmICghbWlncmF0aW9uRmlsZXMubGVuZ3RoKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogJ05vIG1pZ3JhdGlvbnMgZm91bmQuJyB9KVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gQ29tcGFyZSBtaWdyYXRpb24gZmlsZXMgdG8gZXhpc3RpbmcgbWlncmF0aW9uc1xuICBjb25zdCBzdGF0dXNlcyA9IG1pZ3JhdGlvbkZpbGVzLm1hcCgobWlncmF0aW9uKSA9PiB7XG4gICAgY29uc3QgZXhpc3RpbmdNaWdyYXRpb24gPSBleGlzdGluZ01pZ3JhdGlvbnMuZmluZCgobSkgPT4gbS5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcbiAgICByZXR1cm4ge1xuICAgICAgTmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGVyZmVjdGlvbmlzdC9zb3J0LW9iamVjdHNcbiAgICAgIEJhdGNoOiBleGlzdGluZ01pZ3JhdGlvbj8uYmF0Y2gsXG4gICAgICBSYW46IGV4aXN0aW5nTWlncmF0aW9uID8gJ1llcycgOiAnTm8nLFxuICAgIH1cbiAgfSlcblxuICBjb25zdCBwID0gbmV3IFRhYmxlKClcblxuICBzdGF0dXNlcy5mb3JFYWNoKChzKSA9PiB7XG4gICAgcC5hZGRSb3cocywge1xuICAgICAgY29sb3I6IHMuUmFuID09PSAnWWVzJyA/ICdncmVlbicgOiAncmVkJyxcbiAgICB9KVxuICB9KVxuICBwLnByaW50VGFibGUoKVxufVxuIl0sIm5hbWVzIjpbIm1pZ3JhdGVTdGF0dXMiLCJwYXlsb2FkIiwibWlncmF0aW9uRmlsZXMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJsb2dnZXIiLCJkZWJ1ZyIsIm1zZyIsImxlbmd0aCIsImV4aXN0aW5nTWlncmF0aW9ucyIsImhhc01pZ3JhdGlvblRhYmxlIiwibWlncmF0aW9uVGFibGVFeGlzdHMiLCJkYiIsImdldE1pZ3JhdGlvbnMiLCJpbmZvIiwic3RhdHVzZXMiLCJtYXAiLCJtaWdyYXRpb24iLCJleGlzdGluZ01pZ3JhdGlvbiIsImZpbmQiLCJtIiwibmFtZSIsIk5hbWUiLCJCYXRjaCIsImJhdGNoIiwiUmFuIiwicCIsIlRhYmxlIiwiZm9yRWFjaCIsInMiLCJhZGRSb3ciLCJjb2xvciIsInByaW50VGFibGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBT3NCQTs7O2VBQUFBOzs7cUNBUEE7MEJBQzRCO3NDQUliO0FBRTlCLGVBQWVBO0lBQ3BCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUcsSUFBSTtJQUN4QixNQUFNQyxpQkFBaUIsTUFBTUMsSUFBQUEsNEJBQWtCLEVBQUM7UUFBRUY7SUFBUTtJQUUxREEsUUFBUUcsTUFBTSxDQUFDQyxLQUFLLENBQUM7UUFDbkJDLEtBQUssQ0FBQyxNQUFNLEVBQUVKLGVBQWVLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RDtJQUVBLElBQUlDLHFCQUFxQixFQUFFO0lBQzNCLE1BQU1DLG9CQUFvQixNQUFNQyxJQUFBQSwwQ0FBb0IsRUFBQyxJQUFJLENBQUNDLEVBQUU7SUFFNUQsSUFBSUYsbUJBQW1CO1FBQ25CLENBQUEsRUFBRUQsa0JBQWtCLEVBQUUsR0FBRyxNQUFNSSxJQUFBQSx1QkFBYSxFQUFDO1lBQUVYO1FBQVEsRUFBQztJQUM1RDtJQUVBLElBQUksQ0FBQ0MsZUFBZUssTUFBTSxFQUFFO1FBQzFCTixRQUFRRyxNQUFNLENBQUNTLElBQUksQ0FBQztZQUFFUCxLQUFLO1FBQXVCO1FBQ2xEO0lBQ0Y7SUFFQSxpREFBaUQ7SUFDakQsTUFBTVEsV0FBV1osZUFBZWEsR0FBRyxDQUFDLENBQUNDO1FBQ25DLE1BQU1DLG9CQUFvQlQsbUJBQW1CVSxJQUFJLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLSixVQUFVSSxJQUFJO1FBQ2xGLE9BQU87WUFDTEMsTUFBTUwsVUFBVUksSUFBSTtZQUNwQixzREFBc0Q7WUFDdERFLE9BQU9MLG1CQUFtQk07WUFDMUJDLEtBQUtQLG9CQUFvQixRQUFRO1FBQ25DO0lBQ0Y7SUFFQSxNQUFNUSxJQUFJLElBQUlDLDBCQUFLO0lBRW5CWixTQUFTYSxPQUFPLENBQUMsQ0FBQ0M7UUFDaEJILEVBQUVJLE1BQU0sQ0FBQ0QsR0FBRztZQUNWRSxPQUFPRixFQUFFSixHQUFHLEtBQUssUUFBUSxVQUFVO1FBQ3JDO0lBQ0Y7SUFDQUMsRUFBRU0sVUFBVTtBQUNkIn0=
|
package/dist/mock.js
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "postgresAdapter", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return postgresAdapter;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const postgresAdapter = ()=>({});
|
12
|
+
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBwb3N0Z3Jlc0FkYXB0ZXIgPSAoKSA9PiAoe30pXG4iXSwibmFtZXMiOlsicG9zdGdyZXNBZGFwdGVyIl0sIm1hcHBpbmdzIjoiOzs7OytCQUFhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxrQkFBa0IsSUFBTyxDQUFBLENBQUMsQ0FBQSJ9
|
@@ -0,0 +1,39 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "buildAndOrConditions", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return buildAndOrConditions;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _parseParams = require("./parseParams");
|
12
|
+
async function buildAndOrConditions({ adapter, fields, joinAliases, joins, locale, selectFields, tableName, where }) {
|
13
|
+
const completedConditions = [];
|
14
|
+
// Loop over all AND / OR operations and add them to the AND / OR query param
|
15
|
+
// Operations should come through as an array
|
16
|
+
// eslint-disable-next-line no-restricted-syntax
|
17
|
+
for (const condition of where){
|
18
|
+
// If the operation is properly formatted as an object
|
19
|
+
if (typeof condition === 'object') {
|
20
|
+
// eslint-disable-next-line no-await-in-loop
|
21
|
+
const result = await (0, _parseParams.parseParams)({
|
22
|
+
adapter,
|
23
|
+
fields,
|
24
|
+
joinAliases,
|
25
|
+
joins,
|
26
|
+
locale,
|
27
|
+
selectFields,
|
28
|
+
tableName,
|
29
|
+
where: condition
|
30
|
+
});
|
31
|
+
if (result && Object.keys(result).length > 0) {
|
32
|
+
completedConditions.push(result);
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
return completedConditions;
|
37
|
+
}
|
38
|
+
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2J1aWxkQW5kT3JDb25kaXRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBXaGVyZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJ1aWxkUXVlcnlKb2luQWxpYXNlcywgQnVpbGRRdWVyeUpvaW5zIH0gZnJvbSAnLi9idWlsZFF1ZXJ5J1xuXG5pbXBvcnQgeyBwYXJzZVBhcmFtcyB9IGZyb20gJy4vcGFyc2VQYXJhbXMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZEFuZE9yQ29uZGl0aW9ucyh7XG4gIGFkYXB0ZXIsXG4gIGZpZWxkcyxcbiAgam9pbkFsaWFzZXMsXG4gIGpvaW5zLFxuICBsb2NhbGUsXG4gIHNlbGVjdEZpZWxkcyxcbiAgdGFibGVOYW1lLFxuICB3aGVyZSxcbn06IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGNvbGxlY3Rpb25TbHVnPzogc3RyaW5nXG4gIGZpZWxkczogRmllbGRbXVxuICBnbG9iYWxTbHVnPzogc3RyaW5nXG4gIGpvaW5BbGlhc2VzOiBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXNcbiAgam9pbnM6IEJ1aWxkUXVlcnlKb2luc1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgc2VsZWN0RmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBHZW5lcmljQ29sdW1uPlxuICB0YWJsZU5hbWU6IHN0cmluZ1xuICB3aGVyZTogV2hlcmVbXVxufSk6IFByb21pc2U8U1FMW10+IHtcbiAgY29uc3QgY29tcGxldGVkQ29uZGl0aW9ucyA9IFtdXG4gIC8vIExvb3Agb3ZlciBhbGwgQU5EIC8gT1Igb3BlcmF0aW9ucyBhbmQgYWRkIHRoZW0gdG8gdGhlIEFORCAvIE9SIHF1ZXJ5IHBhcmFtXG4gIC8vIE9wZXJhdGlvbnMgc2hvdWxkIGNvbWUgdGhyb3VnaCBhcyBhbiBhcnJheVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgZm9yIChjb25zdCBjb25kaXRpb24gb2Ygd2hlcmUpIHtcbiAgICAvLyBJZiB0aGUgb3BlcmF0aW9uIGlzIHByb3Blcmx5IGZvcm1hdHRlZCBhcyBhbiBvYmplY3RcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ29iamVjdCcpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXJzZVBhcmFtcyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgIGpvaW5zLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICB3aGVyZTogY29uZGl0aW9uLFxuICAgICAgfSlcbiAgICAgIGlmIChyZXN1bHQgJiYgT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbXBsZXRlZENvbmRpdGlvbnMucHVzaChyZXN1bHQpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBjb21wbGV0ZWRDb25kaXRpb25zXG59XG4iXSwibmFtZXMiOlsiYnVpbGRBbmRPckNvbmRpdGlvbnMiLCJhZGFwdGVyIiwiZmllbGRzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsImxvY2FsZSIsInNlbGVjdEZpZWxkcyIsInRhYmxlTmFtZSIsIndoZXJlIiwiY29tcGxldGVkQ29uZGl0aW9ucyIsImNvbmRpdGlvbiIsInJlc3VsdCIsInBhcnNlUGFyYW1zIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7K0JBUXNCQTs7O2VBQUFBOzs7NkJBRk07QUFFckIsZUFBZUEscUJBQXFCLEVBQ3pDQyxPQUFPLEVBQ1BDLE1BQU0sRUFDTkMsV0FBVyxFQUNYQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxTQUFTLEVBQ1RDLEtBQUssRUFZTjtJQUNDLE1BQU1DLHNCQUFzQixFQUFFO0lBQzlCLDZFQUE2RTtJQUM3RSw2Q0FBNkM7SUFDN0MsZ0RBQWdEO0lBQ2hELEtBQUssTUFBTUMsYUFBYUYsTUFBTztRQUM3QixzREFBc0Q7UUFDdEQsSUFBSSxPQUFPRSxjQUFjLFVBQVU7WUFDakMsNENBQTRDO1lBQzVDLE1BQU1DLFNBQVMsTUFBTUMsSUFBQUEsd0JBQVcsRUFBQztnQkFDL0JYO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQyxPQUFPRTtZQUNUO1lBQ0EsSUFBSUMsVUFBVUUsT0FBT0MsSUFBSSxDQUFDSCxRQUFRSSxNQUFNLEdBQUcsR0FBRztnQkFDNUNOLG9CQUFvQk8sSUFBSSxDQUFDTDtZQUMzQjtRQUNGO0lBQ0Y7SUFDQSxPQUFPRjtBQUNUIn0=
|
@@ -0,0 +1,80 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "default", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return _default;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _drizzleorm = require("drizzle-orm");
|
12
|
+
const _getTableColumnFromPath = require("./getTableColumnFromPath");
|
13
|
+
const _parseParams = require("./parseParams");
|
14
|
+
const buildQuery = async function buildQuery({ adapter, fields, locale, sort, tableName, where: incomingWhere }) {
|
15
|
+
const selectFields = {
|
16
|
+
id: adapter.tables[tableName].id
|
17
|
+
};
|
18
|
+
const joins = {};
|
19
|
+
const joinAliases = [];
|
20
|
+
const orderBy = {
|
21
|
+
column: null,
|
22
|
+
order: null
|
23
|
+
};
|
24
|
+
if (sort) {
|
25
|
+
let sortPath;
|
26
|
+
if (sort[0] === '-') {
|
27
|
+
sortPath = sort.substring(1);
|
28
|
+
orderBy.order = _drizzleorm.desc;
|
29
|
+
} else {
|
30
|
+
sortPath = sort;
|
31
|
+
orderBy.order = _drizzleorm.asc;
|
32
|
+
}
|
33
|
+
const { columnName: sortTableColumnName, table: sortTable } = (0, _getTableColumnFromPath.getTableColumnFromPath)({
|
34
|
+
adapter,
|
35
|
+
collectionPath: sortPath,
|
36
|
+
fields,
|
37
|
+
joinAliases,
|
38
|
+
joins,
|
39
|
+
locale,
|
40
|
+
pathSegments: sortPath.replace(/__/g, '.').split('.'),
|
41
|
+
selectFields,
|
42
|
+
tableName
|
43
|
+
});
|
44
|
+
orderBy.column = sortTable[sortTableColumnName];
|
45
|
+
} else {
|
46
|
+
orderBy.order = _drizzleorm.desc;
|
47
|
+
const createdAt = adapter.tables[tableName]?.createdAt;
|
48
|
+
if (createdAt) {
|
49
|
+
orderBy.column = createdAt;
|
50
|
+
} else {
|
51
|
+
orderBy.column = adapter.tables[tableName].id;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
if (orderBy.column) {
|
55
|
+
selectFields.sort = orderBy.column;
|
56
|
+
}
|
57
|
+
let where;
|
58
|
+
if (incomingWhere && Object.keys(incomingWhere).length > 0) {
|
59
|
+
where = await (0, _parseParams.parseParams)({
|
60
|
+
adapter,
|
61
|
+
fields,
|
62
|
+
joinAliases,
|
63
|
+
joins,
|
64
|
+
locale,
|
65
|
+
selectFields,
|
66
|
+
tableName,
|
67
|
+
where: incomingWhere
|
68
|
+
});
|
69
|
+
}
|
70
|
+
return {
|
71
|
+
joinAliases,
|
72
|
+
joins,
|
73
|
+
orderBy,
|
74
|
+
selectFields,
|
75
|
+
where
|
76
|
+
};
|
77
|
+
};
|
78
|
+
const _default = buildQuery;
|
79
|
+
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2J1aWxkUXVlcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTUUwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFdoZXJlIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgYXNjLCBkZXNjIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbiwgR2VuZXJpY1RhYmxlLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCB9IGZyb20gJy4vZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCdcbmltcG9ydCB7IHBhcnNlUGFyYW1zIH0gZnJvbSAnLi9wYXJzZVBhcmFtcydcblxuZXhwb3J0IHR5cGUgQnVpbGRRdWVyeUpvaW5zID0gUmVjb3JkPHN0cmluZywgU1FMPlxuXG5leHBvcnQgdHlwZSBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXMgPSB7XG4gIGNvbmRpdGlvbjogU1FMXG4gIHRhYmxlOiBHZW5lcmljVGFibGVcbn1bXVxuXG50eXBlIEJ1aWxkUXVlcnlBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgZmllbGRzOiBGaWVsZFtdXG4gIGxvY2FsZT86IHN0cmluZ1xuICBzb3J0Pzogc3RyaW5nXG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIHdoZXJlOiBXaGVyZVxufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgam9pbkFsaWFzZXM6IEJ1aWxkUXVlcnlKb2luQWxpYXNlc1xuICBqb2luczogQnVpbGRRdWVyeUpvaW5zXG4gIG9yZGVyQnk6IHtcbiAgICBjb2x1bW46IEdlbmVyaWNDb2x1bW5cbiAgICBvcmRlcjogdHlwZW9mIGFzYyB8IHR5cGVvZiBkZXNjXG4gIH1cbiAgc2VsZWN0RmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBHZW5lcmljQ29sdW1uPlxuICB3aGVyZTogU1FMXG59XG5jb25zdCBidWlsZFF1ZXJ5ID0gYXN5bmMgZnVuY3Rpb24gYnVpbGRRdWVyeSh7XG4gIGFkYXB0ZXIsXG4gIGZpZWxkcyxcbiAgbG9jYWxlLFxuICBzb3J0LFxuICB0YWJsZU5hbWUsXG4gIHdoZXJlOiBpbmNvbWluZ1doZXJlLFxufTogQnVpbGRRdWVyeUFyZ3MpOiBQcm9taXNlPFJlc3VsdD4ge1xuICBjb25zdCBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+ID0ge1xuICAgIGlkOiBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLFxuICB9XG4gIGNvbnN0IGpvaW5zOiBCdWlsZFF1ZXJ5Sm9pbnMgPSB7fVxuICBjb25zdCBqb2luQWxpYXNlczogQnVpbGRRdWVyeUpvaW5BbGlhc2VzID0gW11cblxuICBjb25zdCBvcmRlckJ5OiBSZXN1bHRbJ29yZGVyQnknXSA9IHtcbiAgICBjb2x1bW46IG51bGwsXG4gICAgb3JkZXI6IG51bGwsXG4gIH1cblxuICBpZiAoc29ydCkge1xuICAgIGxldCBzb3J0UGF0aFxuXG4gICAgaWYgKHNvcnRbMF0gPT09ICctJykge1xuICAgICAgc29ydFBhdGggPSBzb3J0LnN1YnN0cmluZygxKVxuICAgICAgb3JkZXJCeS5vcmRlciA9IGRlc2NcbiAgICB9IGVsc2Uge1xuICAgICAgc29ydFBhdGggPSBzb3J0XG4gICAgICBvcmRlckJ5Lm9yZGVyID0gYXNjXG4gICAgfVxuXG4gICAgY29uc3QgeyBjb2x1bW5OYW1lOiBzb3J0VGFibGVDb2x1bW5OYW1lLCB0YWJsZTogc29ydFRhYmxlIH0gPSBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgIGFkYXB0ZXIsXG4gICAgICBjb2xsZWN0aW9uUGF0aDogc29ydFBhdGgsXG4gICAgICBmaWVsZHMsXG4gICAgICBqb2luQWxpYXNlcyxcbiAgICAgIGpvaW5zLFxuICAgICAgbG9jYWxlLFxuICAgICAgcGF0aFNlZ21lbnRzOiBzb3J0UGF0aC5yZXBsYWNlKC9fXy9nLCAnLicpLnNwbGl0KCcuJyksXG4gICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICB0YWJsZU5hbWUsXG4gICAgfSlcblxuICAgIG9yZGVyQnkuY29sdW1uID0gc29ydFRhYmxlW3NvcnRUYWJsZUNvbHVtbk5hbWVdXG4gIH0gZWxzZSB7XG4gICAgb3JkZXJCeS5vcmRlciA9IGRlc2NcbiAgICBjb25zdCBjcmVhdGVkQXQgPSBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdPy5jcmVhdGVkQXRcblxuICAgIGlmIChjcmVhdGVkQXQpIHtcbiAgICAgIG9yZGVyQnkuY29sdW1uID0gY3JlYXRlZEF0XG4gICAgfSBlbHNlIHtcbiAgICAgIG9yZGVyQnkuY29sdW1uID0gYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZFxuICAgIH1cbiAgfVxuXG4gIGlmIChvcmRlckJ5LmNvbHVtbikge1xuICAgIHNlbGVjdEZpZWxkcy5zb3J0ID0gb3JkZXJCeS5jb2x1bW5cbiAgfVxuXG4gIGxldCB3aGVyZTogU1FMXG5cbiAgaWYgKGluY29taW5nV2hlcmUgJiYgT2JqZWN0LmtleXMoaW5jb21pbmdXaGVyZSkubGVuZ3RoID4gMCkge1xuICAgIHdoZXJlID0gYXdhaXQgcGFyc2VQYXJhbXMoe1xuICAgICAgYWRhcHRlcixcbiAgICAgIGZpZWxkcyxcbiAgICAgIGpvaW5BbGlhc2VzLFxuICAgICAgam9pbnMsXG4gICAgICBsb2NhbGUsXG4gICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICB0YWJsZU5hbWUsXG4gICAgICB3aGVyZTogaW5jb21pbmdXaGVyZSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBqb2luQWxpYXNlcyxcbiAgICBqb2lucyxcbiAgICBvcmRlckJ5LFxuICAgIHNlbGVjdEZpZWxkcyxcbiAgICB3aGVyZSxcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBidWlsZFF1ZXJ5XG4iXSwibmFtZXMiOlsiYnVpbGRRdWVyeSIsImFkYXB0ZXIiLCJmaWVsZHMiLCJsb2NhbGUiLCJzb3J0IiwidGFibGVOYW1lIiwid2hlcmUiLCJpbmNvbWluZ1doZXJlIiwic2VsZWN0RmllbGRzIiwiaWQiLCJ0YWJsZXMiLCJqb2lucyIsImpvaW5BbGlhc2VzIiwib3JkZXJCeSIsImNvbHVtbiIsIm9yZGVyIiwic29ydFBhdGgiLCJzdWJzdHJpbmciLCJkZXNjIiwiYXNjIiwiY29sdW1uTmFtZSIsInNvcnRUYWJsZUNvbHVtbk5hbWUiLCJ0YWJsZSIsInNvcnRUYWJsZSIsImdldFRhYmxlQ29sdW1uRnJvbVBhdGgiLCJjb2xsZWN0aW9uUGF0aCIsInBhdGhTZWdtZW50cyIsInJlcGxhY2UiLCJzcGxpdCIsImNyZWF0ZWRBdCIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJwYXJzZVBhcmFtcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFzSEE7OztlQUFBOzs7NEJBbkgwQjt3Q0FJYTs2QkFDWDtBQTRCNUIsTUFBTUEsYUFBYSxlQUFlQSxXQUFXLEVBQzNDQyxPQUFPLEVBQ1BDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxJQUFJLEVBQ0pDLFNBQVMsRUFDVEMsT0FBT0MsYUFBYSxFQUNMO0lBQ2YsTUFBTUMsZUFBOEM7UUFDbERDLElBQUlSLFFBQVFTLE1BQU0sQ0FBQ0wsVUFBVSxDQUFDSSxFQUFFO0lBQ2xDO0lBQ0EsTUFBTUUsUUFBeUIsQ0FBQztJQUNoQyxNQUFNQyxjQUFxQyxFQUFFO0lBRTdDLE1BQU1DLFVBQTZCO1FBQ2pDQyxRQUFRO1FBQ1JDLE9BQU87SUFDVDtJQUVBLElBQUlYLE1BQU07UUFDUixJQUFJWTtRQUVKLElBQUlaLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSztZQUNuQlksV0FBV1osS0FBS2EsU0FBUyxDQUFDO1lBQzFCSixRQUFRRSxLQUFLLEdBQUdHLGdCQUFJO1FBQ3RCLE9BQU87WUFDTEYsV0FBV1o7WUFDWFMsUUFBUUUsS0FBSyxHQUFHSSxlQUFHO1FBQ3JCO1FBRUEsTUFBTSxFQUFFQyxZQUFZQyxtQkFBbUIsRUFBRUMsT0FBT0MsU0FBUyxFQUFFLEdBQUdDLElBQUFBLDhDQUFzQixFQUFDO1lBQ25GdkI7WUFDQXdCLGdCQUFnQlQ7WUFDaEJkO1lBQ0FVO1lBQ0FEO1lBQ0FSO1lBQ0F1QixjQUFjVixTQUFTVyxPQUFPLENBQUMsT0FBTyxLQUFLQyxLQUFLLENBQUM7WUFDakRwQjtZQUNBSDtRQUNGO1FBRUFRLFFBQVFDLE1BQU0sR0FBR1MsU0FBUyxDQUFDRixvQkFBb0I7SUFDakQsT0FBTztRQUNMUixRQUFRRSxLQUFLLEdBQUdHLGdCQUFJO1FBQ3BCLE1BQU1XLFlBQVk1QixRQUFRUyxNQUFNLENBQUNMLFVBQVUsRUFBRXdCO1FBRTdDLElBQUlBLFdBQVc7WUFDYmhCLFFBQVFDLE1BQU0sR0FBR2U7UUFDbkIsT0FBTztZQUNMaEIsUUFBUUMsTUFBTSxHQUFHYixRQUFRUyxNQUFNLENBQUNMLFVBQVUsQ0FBQ0ksRUFBRTtRQUMvQztJQUNGO0lBRUEsSUFBSUksUUFBUUMsTUFBTSxFQUFFO1FBQ2xCTixhQUFhSixJQUFJLEdBQUdTLFFBQVFDLE1BQU07SUFDcEM7SUFFQSxJQUFJUjtJQUVKLElBQUlDLGlCQUFpQnVCLE9BQU9DLElBQUksQ0FBQ3hCLGVBQWV5QixNQUFNLEdBQUcsR0FBRztRQUMxRDFCLFFBQVEsTUFBTTJCLElBQUFBLHdCQUFXLEVBQUM7WUFDeEJoQztZQUNBQztZQUNBVTtZQUNBRDtZQUNBUjtZQUNBSztZQUNBSDtZQUNBQyxPQUFPQztRQUNUO0lBQ0Y7SUFFQSxPQUFPO1FBQ0xLO1FBQ0FEO1FBQ0FFO1FBQ0FMO1FBQ0FGO0lBQ0Y7QUFDRjtNQUVBLFdBQWVOIn0=
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "convertPathToJSONTraversal", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return convertPathToJSONTraversal;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _formatJSONPathSegment = require("./formatJSONPathSegment");
|
12
|
+
const convertPathToJSONTraversal = (incomingSegments)=>{
|
13
|
+
const segments = [
|
14
|
+
...incomingSegments
|
15
|
+
];
|
16
|
+
segments.shift();
|
17
|
+
return segments.reduce((res, segment, i)=>{
|
18
|
+
const formattedSegment = (0, _formatJSONPathSegment.formatJSONPathSegment)(segment);
|
19
|
+
if (i + 1 === segments.length) return `${res}->>${formattedSegment}`;
|
20
|
+
return `${res}->${formattedSegment}`;
|
21
|
+
}, '');
|
22
|
+
};
|
23
|
+
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL2NyZWF0ZUpTT05RdWVyeS9jb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXRKU09OUGF0aFNlZ21lbnQgfSBmcm9tICcuL2Zvcm1hdEpTT05QYXRoU2VnbWVudCdcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsID0gKGluY29taW5nU2VnbWVudHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IHNlZ21lbnRzID0gWy4uLmluY29taW5nU2VnbWVudHNdXG4gIHNlZ21lbnRzLnNoaWZ0KClcblxuICByZXR1cm4gc2VnbWVudHMucmVkdWNlKChyZXMsIHNlZ21lbnQsIGkpID0+IHtcbiAgICBjb25zdCBmb3JtYXR0ZWRTZWdtZW50ID0gZm9ybWF0SlNPTlBhdGhTZWdtZW50KHNlZ21lbnQpXG5cbiAgICBpZiAoaSArIDEgPT09IHNlZ21lbnRzLmxlbmd0aCkgcmV0dXJuIGAke3Jlc30tPj4ke2Zvcm1hdHRlZFNlZ21lbnR9YFxuICAgIHJldHVybiBgJHtyZXN9LT4ke2Zvcm1hdHRlZFNlZ21lbnR9YFxuICB9LCAnJylcbn1cbiJdLCJuYW1lcyI6WyJjb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbCIsImluY29taW5nU2VnbWVudHMiLCJzZWdtZW50cyIsInNoaWZ0IiwicmVkdWNlIiwicmVzIiwic2VnbWVudCIsImkiLCJmb3JtYXR0ZWRTZWdtZW50IiwiZm9ybWF0SlNPTlBhdGhTZWdtZW50IiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7OytCQUVhQTs7O2VBQUFBOzs7dUNBRnlCO0FBRS9CLE1BQU1BLDZCQUE2QixDQUFDQztJQUN6QyxNQUFNQyxXQUFXO1dBQUlEO0tBQWlCO0lBQ3RDQyxTQUFTQyxLQUFLO0lBRWQsT0FBT0QsU0FBU0UsTUFBTSxDQUFDLENBQUNDLEtBQUtDLFNBQVNDO1FBQ3BDLE1BQU1DLG1CQUFtQkMsSUFBQUEsNENBQXFCLEVBQUNIO1FBRS9DLElBQUlDLElBQUksTUFBTUwsU0FBU1EsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFTCxJQUFJLEdBQUcsRUFBRUcsaUJBQWlCLENBQUM7UUFDcEUsT0FBTyxDQUFDLEVBQUVILElBQUksRUFBRSxFQUFFRyxpQkFBaUIsQ0FBQztJQUN0QyxHQUFHO0FBQ0wifQ==
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "formatJSONPathSegment", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return formatJSONPathSegment;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const formatJSONPathSegment = (segment)=>{
|
12
|
+
return Number.isNaN(parseInt(segment)) ? `'${segment}'` : segment;
|
13
|
+
};
|
14
|
+
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL2NyZWF0ZUpTT05RdWVyeS9mb3JtYXRKU09OUGF0aFNlZ21lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZvcm1hdEpTT05QYXRoU2VnbWVudCA9IChzZWdtZW50OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIE51bWJlci5pc05hTihwYXJzZUludChzZWdtZW50KSkgPyBgJyR7c2VnbWVudH0nYCA6IHNlZ21lbnRcbn1cbiJdLCJuYW1lcyI6WyJmb3JtYXRKU09OUGF0aFNlZ21lbnQiLCJzZWdtZW50IiwiTnVtYmVyIiwiaXNOYU4iLCJwYXJzZUludCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsd0JBQXdCLENBQUNDO0lBQ3BDLE9BQU9DLE9BQU9DLEtBQUssQ0FBQ0MsU0FBU0gsWUFBWSxDQUFDLENBQUMsRUFBRUEsUUFBUSxDQUFDLENBQUMsR0FBR0E7QUFDNUQifQ==
|
@@ -0,0 +1,64 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "createJSONQuery", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return createJSONQuery;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _convertPathToJSONTraversal = require("./convertPathToJSONTraversal");
|
12
|
+
const _formatJSONPathSegment = require("./formatJSONPathSegment");
|
13
|
+
const operatorMap = {
|
14
|
+
contains: '~*',
|
15
|
+
equals: '=',
|
16
|
+
like: '~*'
|
17
|
+
};
|
18
|
+
const fromArray = ({ isRoot, operator, pathSegments, treatAsArray, value })=>{
|
19
|
+
const newPathSegments = pathSegments.slice(isRoot ? 1 : 2);
|
20
|
+
const alias = `${pathSegments[isRoot ? 0 : 1]}_alias_${newPathSegments.length}`;
|
21
|
+
newPathSegments.unshift(alias);
|
22
|
+
const arrayElements = isRoot ? pathSegments[0] : `${pathSegments[0]} -> ${(0, _formatJSONPathSegment.formatJSONPathSegment)(pathSegments[1])}`;
|
23
|
+
return `EXISTS (
|
24
|
+
SELECT 1
|
25
|
+
FROM jsonb_array_elements(${arrayElements}) AS ${alias}
|
26
|
+
WHERE ${createJSONQuery({
|
27
|
+
operator,
|
28
|
+
pathSegments: newPathSegments,
|
29
|
+
treatAsArray,
|
30
|
+
value
|
31
|
+
})}
|
32
|
+
)`;
|
33
|
+
};
|
34
|
+
const createConstraint = ({ operator, pathSegments, value })=>{
|
35
|
+
const jsonQuery = (0, _convertPathToJSONTraversal.convertPathToJSONTraversal)(pathSegments);
|
36
|
+
return `${pathSegments[0]}${jsonQuery} ${operatorMap[operator]} '${value}'`;
|
37
|
+
};
|
38
|
+
const createJSONQuery = ({ operator, pathSegments, treatAsArray, treatRootAsArray, value })=>{
|
39
|
+
if (treatRootAsArray) {
|
40
|
+
return fromArray({
|
41
|
+
isRoot: true,
|
42
|
+
operator,
|
43
|
+
pathSegments,
|
44
|
+
treatAsArray,
|
45
|
+
value
|
46
|
+
});
|
47
|
+
}
|
48
|
+
if (treatAsArray.includes(pathSegments[1])) {
|
49
|
+
return fromArray({
|
50
|
+
operator,
|
51
|
+
pathSegments,
|
52
|
+
treatAsArray,
|
53
|
+
value
|
54
|
+
});
|
55
|
+
}
|
56
|
+
return createConstraint({
|
57
|
+
operator,
|
58
|
+
pathSegments,
|
59
|
+
treatAsArray,
|
60
|
+
value
|
61
|
+
});
|
62
|
+
};
|
63
|
+
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL2NyZWF0ZUpTT05RdWVyeS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbCB9IGZyb20gJy4vY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwnXG5pbXBvcnQgeyBmb3JtYXRKU09OUGF0aFNlZ21lbnQgfSBmcm9tICcuL2Zvcm1hdEpTT05QYXRoU2VnbWVudCdcblxuY29uc3Qgb3BlcmF0b3JNYXAgPSB7XG4gIGNvbnRhaW5zOiAnfionLFxuICBlcXVhbHM6ICc9JyxcbiAgbGlrZTogJ34qJyxcbn1cblxudHlwZSBGcm9tQXJyYXlBcmdzID0ge1xuICBpc1Jvb3Q/OiB0cnVlXG4gIG9wZXJhdG9yOiBzdHJpbmdcbiAgcGF0aFNlZ21lbnRzOiBzdHJpbmdbXVxuICB0cmVhdEFzQXJyYXk/OiBzdHJpbmdbXVxuICB2YWx1ZTogdW5rbm93blxufVxuXG5jb25zdCBmcm9tQXJyYXkgPSAoeyBpc1Jvb3QsIG9wZXJhdG9yLCBwYXRoU2VnbWVudHMsIHRyZWF0QXNBcnJheSwgdmFsdWUgfTogRnJvbUFycmF5QXJncykgPT4ge1xuICBjb25zdCBuZXdQYXRoU2VnbWVudHMgPSBwYXRoU2VnbWVudHMuc2xpY2UoaXNSb290ID8gMSA6IDIpXG4gIGNvbnN0IGFsaWFzID0gYCR7cGF0aFNlZ21lbnRzW2lzUm9vdCA/IDAgOiAxXX1fYWxpYXNfJHtuZXdQYXRoU2VnbWVudHMubGVuZ3RofWBcblxuICBuZXdQYXRoU2VnbWVudHMudW5zaGlmdChhbGlhcylcblxuICBjb25zdCBhcnJheUVsZW1lbnRzID0gaXNSb290XG4gICAgPyBwYXRoU2VnbWVudHNbMF1cbiAgICA6IGAke3BhdGhTZWdtZW50c1swXX0gLT4gJHtmb3JtYXRKU09OUGF0aFNlZ21lbnQocGF0aFNlZ21lbnRzWzFdKX1gXG5cbiAgcmV0dXJuIGBFWElTVFMgKFxuICAgIFNFTEVDVCAxXG4gICAgRlJPTSBqc29uYl9hcnJheV9lbGVtZW50cygke2FycmF5RWxlbWVudHN9KSBBUyAke2FsaWFzfVxuICAgIFdIRVJFICR7Y3JlYXRlSlNPTlF1ZXJ5KHtcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgcGF0aFNlZ21lbnRzOiBuZXdQYXRoU2VnbWVudHMsXG4gICAgICB0cmVhdEFzQXJyYXksXG4gICAgICB2YWx1ZSxcbiAgICB9KX1cbiAgKWBcbn1cblxudHlwZSBDcmVhdGVDb25zdHJhaW50QXJncyA9IHtcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICBwYXRoU2VnbWVudHM6IHN0cmluZ1tdXG4gIHRyZWF0QXNBcnJheT86IHN0cmluZ1tdXG4gIHZhbHVlOiB1bmtub3duXG59XG5cbmNvbnN0IGNyZWF0ZUNvbnN0cmFpbnQgPSAoeyBvcGVyYXRvciwgcGF0aFNlZ21lbnRzLCB2YWx1ZSB9OiBDcmVhdGVDb25zdHJhaW50QXJncyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGpzb25RdWVyeSA9IGNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsKHBhdGhTZWdtZW50cylcbiAgcmV0dXJuIGAke3BhdGhTZWdtZW50c1swXX0ke2pzb25RdWVyeX0gJHtvcGVyYXRvck1hcFtvcGVyYXRvcl19ICcke3ZhbHVlfSdgXG59XG5cbnR5cGUgQXJncyA9IHtcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICBwYXRoU2VnbWVudHM6IHN0cmluZ1tdXG4gIHRyZWF0QXNBcnJheT86IHN0cmluZ1tdXG4gIHRyZWF0Um9vdEFzQXJyYXk/OiBib29sZWFuXG4gIHZhbHVlOiB1bmtub3duXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVKU09OUXVlcnkgPSAoe1xuICBvcGVyYXRvcixcbiAgcGF0aFNlZ21lbnRzLFxuICB0cmVhdEFzQXJyYXksXG4gIHRyZWF0Um9vdEFzQXJyYXksXG4gIHZhbHVlLFxufTogQXJncyk6IHN0cmluZyA9PiB7XG4gIGlmICh0cmVhdFJvb3RBc0FycmF5KSB7XG4gICAgcmV0dXJuIGZyb21BcnJheSh7XG4gICAgICBpc1Jvb3Q6IHRydWUsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgIHRyZWF0QXNBcnJheSxcbiAgICAgIHZhbHVlLFxuICAgIH0pXG4gIH1cblxuICBpZiAodHJlYXRBc0FycmF5LmluY2x1ZGVzKHBhdGhTZWdtZW50c1sxXSkpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5KHtcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgcGF0aFNlZ21lbnRzLFxuICAgICAgdHJlYXRBc0FycmF5LFxuICAgICAgdmFsdWUsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVDb25zdHJhaW50KHsgb3BlcmF0b3IsIHBhdGhTZWdtZW50cywgdHJlYXRBc0FycmF5LCB2YWx1ZSB9KVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUpTT05RdWVyeSIsIm9wZXJhdG9yTWFwIiwiY29udGFpbnMiLCJlcXVhbHMiLCJsaWtlIiwiZnJvbUFycmF5IiwiaXNSb290Iiwib3BlcmF0b3IiLCJwYXRoU2VnbWVudHMiLCJ0cmVhdEFzQXJyYXkiLCJ2YWx1ZSIsIm5ld1BhdGhTZWdtZW50cyIsInNsaWNlIiwiYWxpYXMiLCJsZW5ndGgiLCJ1bnNoaWZ0IiwiYXJyYXlFbGVtZW50cyIsImZvcm1hdEpTT05QYXRoU2VnbWVudCIsImNyZWF0ZUNvbnN0cmFpbnQiLCJqc29uUXVlcnkiLCJjb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbCIsInRyZWF0Um9vdEFzQXJyYXkiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkEyRGFBOzs7ZUFBQUE7Ozs0Q0EzRDhCO3VDQUNMO0FBRXRDLE1BQU1DLGNBQWM7SUFDbEJDLFVBQVU7SUFDVkMsUUFBUTtJQUNSQyxNQUFNO0FBQ1I7QUFVQSxNQUFNQyxZQUFZLENBQUMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFlBQVksRUFBRUMsWUFBWSxFQUFFQyxLQUFLLEVBQWlCO0lBQ3ZGLE1BQU1DLGtCQUFrQkgsYUFBYUksS0FBSyxDQUFDTixTQUFTLElBQUk7SUFDeEQsTUFBTU8sUUFBUSxDQUFDLEVBQUVMLFlBQVksQ0FBQ0YsU0FBUyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUVLLGdCQUFnQkcsTUFBTSxDQUFDLENBQUM7SUFFL0VILGdCQUFnQkksT0FBTyxDQUFDRjtJQUV4QixNQUFNRyxnQkFBZ0JWLFNBQ2xCRSxZQUFZLENBQUMsRUFBRSxHQUNmLENBQUMsRUFBRUEsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUVTLElBQUFBLDRDQUFxQixFQUFDVCxZQUFZLENBQUMsRUFBRSxFQUFFLENBQUM7SUFFckUsT0FBTyxDQUFDOzs4QkFFb0IsRUFBRVEsY0FBYyxLQUFLLEVBQUVILE1BQU07VUFDakQsRUFBRWIsZ0JBQWdCO1FBQ3RCTztRQUNBQyxjQUFjRztRQUNkRjtRQUNBQztJQUNGLEdBQUc7R0FDSixDQUFDO0FBQ0o7QUFTQSxNQUFNUSxtQkFBbUIsQ0FBQyxFQUFFWCxRQUFRLEVBQUVDLFlBQVksRUFBRUUsS0FBSyxFQUF3QjtJQUMvRSxNQUFNUyxZQUFZQyxJQUFBQSxzREFBMEIsRUFBQ1o7SUFDN0MsT0FBTyxDQUFDLEVBQUVBLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRVcsVUFBVSxDQUFDLEVBQUVsQixXQUFXLENBQUNNLFNBQVMsQ0FBQyxFQUFFLEVBQUVHLE1BQU0sQ0FBQyxDQUFDO0FBQzdFO0FBVU8sTUFBTVYsa0JBQWtCLENBQUMsRUFDOUJPLFFBQVEsRUFDUkMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pZLGdCQUFnQixFQUNoQlgsS0FBSyxFQUNBO0lBQ0wsSUFBSVcsa0JBQWtCO1FBQ3BCLE9BQU9oQixVQUFVO1lBQ2ZDLFFBQVE7WUFDUkM7WUFDQUM7WUFDQUM7WUFDQUM7UUFDRjtJQUNGO0lBRUEsSUFBSUQsYUFBYWEsUUFBUSxDQUFDZCxZQUFZLENBQUMsRUFBRSxHQUFHO1FBQzFDLE9BQU9ILFVBQVU7WUFDZkU7WUFDQUM7WUFDQUM7WUFDQUM7UUFDRjtJQUNGO0lBRUEsT0FBT1EsaUJBQWlCO1FBQUVYO1FBQVVDO1FBQWNDO1FBQWNDO0lBQU07QUFDeEUifQ==
|