@payloadcms/db-postgres 0.6.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. package/dist/connect.d.ts.map +1 -1
  2. package/dist/connect.js +7 -5
  3. package/dist/deleteOne.d.ts.map +1 -1
  4. package/dist/deleteOne.js +42 -15
  5. package/dist/find/chainMethods.d.ts +3 -2
  6. package/dist/find/chainMethods.d.ts.map +1 -1
  7. package/dist/find/chainMethods.js +1 -1
  8. package/dist/find/findMany.d.ts.map +1 -1
  9. package/dist/find/findMany.js +32 -54
  10. package/dist/find/traverseFields.js +2 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +3 -1
  13. package/dist/init.d.ts.map +1 -1
  14. package/dist/init.js +8 -1
  15. package/dist/migrate.js +2 -2
  16. package/dist/migrateFresh.d.ts.map +1 -1
  17. package/dist/migrateFresh.js +3 -3
  18. package/dist/queries/buildQuery.d.ts +2 -1
  19. package/dist/queries/buildQuery.d.ts.map +1 -1
  20. package/dist/queries/buildQuery.js +1 -1
  21. package/dist/queries/getTableColumnFromPath.d.ts +4 -3
  22. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  23. package/dist/queries/getTableColumnFromPath.js +1 -1
  24. package/dist/queries/selectDistinct.d.ts +23 -0
  25. package/dist/queries/selectDistinct.d.ts.map +1 -0
  26. package/dist/queries/selectDistinct.js +49 -0
  27. package/dist/schema/build.d.ts.map +1 -1
  28. package/dist/schema/build.js +6 -6
  29. package/dist/types.d.ts +8 -2
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/update.d.ts.map +1 -1
  32. package/dist/update.js +21 -46
  33. package/dist/upsertRow/insertArrays.d.ts.map +1 -1
  34. package/dist/upsertRow/insertArrays.js +14 -2
  35. package/dist/utilities/createMigrationTable.d.ts +2 -2
  36. package/dist/utilities/createMigrationTable.d.ts.map +1 -1
  37. package/dist/utilities/createMigrationTable.js +5 -4
  38. package/package.json +8 -4
@@ -77,7 +77,7 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildNumb
77
77
  withTimezone: true
78
78
  }).defaultNow().notNull();
79
79
  }
80
- const table = (0, _pgcore.pgTable)(tableName, columns, (cols)=>{
80
+ const table = adapter.pgSchema.table(tableName, columns, (cols)=>{
81
81
  const extraConfig = Object.entries(baseExtraConfig).reduce((config, [key, func])=>{
82
82
  config[key] = func(cols);
83
83
  return config;
@@ -95,7 +95,7 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildNumb
95
95
  localesColumns._parentID = _parentIDColumnMap.parentIDColumnMap[idColType]('_parent_id').references(()=>table.id, {
96
96
  onDelete: 'cascade'
97
97
  }).notNull();
98
- localesTable = (0, _pgcore.pgTable)(localeTableName, localesColumns, (cols)=>{
98
+ localesTable = adapter.pgSchema.table(localeTableName, localesColumns, (cols)=>{
99
99
  return Object.entries(localesIndexes).reduce((acc, [colName, func])=>{
100
100
  acc[colName] = func(cols);
101
101
  return acc;
@@ -130,7 +130,7 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildNumb
130
130
  if (hasLocalizedManyTextField) {
131
131
  columns.locale = adapter.enums.enum__locales('locale');
132
132
  }
133
- textsTable = (0, _pgcore.pgTable)(textsTableName, columns, (cols)=>{
133
+ textsTable = adapter.pgSchema.table(textsTableName, columns, (cols)=>{
134
134
  const indexes = {
135
135
  orderParentIdx: (0, _pgcore.index)(`${textsTableName}_order_parent_idx`).on(cols.order, cols.parent)
136
136
  };
@@ -169,7 +169,7 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildNumb
169
169
  if (hasLocalizedManyNumberField) {
170
170
  columns.locale = adapter.enums.enum__locales('locale');
171
171
  }
172
- numbersTable = (0, _pgcore.pgTable)(numbersTableName, columns, (cols)=>{
172
+ numbersTable = adapter.pgSchema.table(numbersTableName, columns, (cols)=>{
173
173
  const indexes = {
174
174
  orderParentIdx: (0, _pgcore.index)(`${numbersTableName}_order_parent_idx`).on(cols.order, cols.parent)
175
175
  };
@@ -218,7 +218,7 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildNumb
218
218
  });
219
219
  });
220
220
  const relationshipsTableName = `${tableName}_rels`;
221
- relationshipsTable = (0, _pgcore.pgTable)(relationshipsTableName, relationshipColumns, (cols)=>{
221
+ relationshipsTable = adapter.pgSchema.table(relationshipsTableName, relationshipColumns, (cols)=>{
222
222
  const result = {
223
223
  order: (0, _pgcore.index)(`${relationshipsTableName}_order_idx`).on(cols.order),
224
224
  parentIdx: (0, _pgcore.index)(`${relationshipsTableName}_parent_idx`).on(cols.parent),
@@ -288,4 +288,4 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildNumb
288
288
  };
289
289
  };
290
290
 
291
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBudW1lcmljLFxuICBwZ1RhYmxlLFxuICBzZXJpYWwsXG4gIHRpbWVzdGFtcCxcbiAgdW5pcXVlLFxuICB2YXJjaGFyLFxufSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1ucywgR2VuZXJpY1RhYmxlLCBJRFR5cGUsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyBzZXRDb2x1bW5JRCB9IGZyb20gJy4vc2V0Q29sdW1uSUQnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJhc2VDb2x1bW5zPzogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBiYXNlRXh0cmFDb25maWc/OiBSZWNvcmQ8c3RyaW5nLCAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyPlxuICBidWlsZE51bWJlcnM/OiBib29sZWFuXG4gIGJ1aWxkUmVsYXRpb25zaGlwcz86IGJvb2xlYW5cbiAgYnVpbGRUZXh0cz86IGJvb2xlYW5cbiAgZGlzYWJsZU5vdE51bGw6IGJvb2xlYW5cbiAgZGlzYWJsZVVuaXF1ZTogYm9vbGVhblxuICBmaWVsZHM6IEZpZWxkW11cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RSZWxhdGlvbnNoaXBzPzogU2V0PHN0cmluZz5cbiAgcm9vdFRhYmxlSURDb2xUeXBlPzogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU/OiBzdHJpbmdcbiAgdGFibGVOYW1lOiBzdHJpbmdcbiAgdGltZXN0YW1wcz86IGJvb2xlYW5cbn1cblxudHlwZSBSZXN1bHQgPSB7XG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbiAgaGFzTWFueVRleHRGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbiAgcmVsYXRpb25zVG9CdWlsZDogTWFwPHN0cmluZywgc3RyaW5nPlxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRUYWJsZSA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJhc2VDb2x1bW5zID0ge30sXG4gIGJhc2VFeHRyYUNvbmZpZyA9IHt9LFxuICBidWlsZE51bWJlcnMsXG4gIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgYnVpbGRUZXh0cyxcbiAgZGlzYWJsZU5vdE51bGwsXG4gIGRpc2FibGVVbmlxdWUgPSBmYWxzZSxcbiAgZmllbGRzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFJlbGF0aW9uc2hpcHMsXG4gIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgcm9vdFRhYmxlTmFtZTogaW5jb21pbmdSb290VGFibGVOYW1lLFxuICB0YWJsZU5hbWUsXG4gIHRpbWVzdGFtcHMsXG59OiBBcmdzKTogUmVzdWx0ID0+IHtcbiAgY29uc3Qgcm9vdFRhYmxlTmFtZSA9IGluY29taW5nUm9vdFRhYmxlTmFtZSB8fCB0YWJsZU5hbWVcbiAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IGJhc2VDb2x1bW5zXG4gIGNvbnN0IGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPiA9IHt9XG5cbiAgbGV0IGhhc0xvY2FsaXplZEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc01hbnlUZXh0RmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSBmYWxzZVxuXG4gIGNvbnN0IGxvY2FsZXNDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge31cbiAgY29uc3QgbG9jYWxlc0luZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPiA9IHt9XG4gIGxldCBsb2NhbGVzVGFibGU6IEdlbmVyaWNUYWJsZVxuICBsZXQgdGV4dHNUYWJsZTogR2VuZXJpY1RhYmxlXG4gIGxldCBudW1iZXJzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIFJlbGF0aW9uc2hpcHMgdG8gdGhlIGJhc2UgY29sbGVjdGlvblxuICBjb25zdCByZWxhdGlvbnNoaXBzOiBTZXQ8c3RyaW5nPiA9IHJvb3RSZWxhdGlvbnNoaXBzIHx8IG5ldyBTZXQoKVxuXG4gIGxldCByZWxhdGlvbnNoaXBzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIERyaXp6bGUgcmVsYXRpb25zXG4gIGNvbnN0IHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKClcblxuICBjb25zdCBpZENvbFR5cGU6IElEVHlwZSA9IHNldENvbHVtbklEKHsgYWRhcHRlciwgY29sdW1ucywgZmllbGRzIH0pXG5cbiAgOyh7XG4gICAgaGFzTG9jYWxpemVkRmllbGQsXG4gICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgIGhhc0xvY2FsaXplZE1hbnlUZXh0RmllbGQsXG4gICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgaGFzTWFueU51bWJlckZpZWxkLFxuICAgIGhhc01hbnlUZXh0RmllbGQsXG4gIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgYWRhcHRlcixcbiAgICBidWlsZE51bWJlcnMsXG4gICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgIGJ1aWxkVGV4dHMsXG4gICAgY29sdW1ucyxcbiAgICBkaXNhYmxlTm90TnVsbCxcbiAgICBkaXNhYmxlVW5pcXVlLFxuICAgIGZpZWxkcyxcbiAgICBpbmRleGVzLFxuICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgIGxvY2FsZXNJbmRleGVzLFxuICAgIG5ld1RhYmxlTmFtZTogdGFibGVOYW1lLFxuICAgIHBhcmVudFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgcmVsYXRpb25zaGlwcyxcbiAgICByb290UmVsYXRpb25zVG9CdWlsZDogcm9vdFJlbGF0aW9uc1RvQnVpbGQgfHwgcmVsYXRpb25zVG9CdWlsZCxcbiAgICByb290VGFibGVJRENvbFR5cGU6IHJvb3RUYWJsZUlEQ29sVHlwZSB8fCBpZENvbFR5cGUsXG4gICAgcm9vdFRhYmxlTmFtZSxcbiAgfSkpXG5cbiAgaWYgKHRpbWVzdGFtcHMpIHtcbiAgICBjb2x1bW5zLmNyZWF0ZWRBdCA9IHRpbWVzdGFtcCgnY3JlYXRlZF9hdCcsIHtcbiAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgd2l0aFRpbWV6b25lOiB0cnVlLFxuICAgIH0pXG4gICAgICAuZGVmYXVsdE5vdygpXG4gICAgICAubm90TnVsbCgpXG4gICAgY29sdW1ucy51cGRhdGVkQXQgPSB0aW1lc3RhbXAoJ3VwZGF0ZWRfYXQnLCB7XG4gICAgICBtb2RlOiAnc3RyaW5nJyxcbiAgICAgIHByZWNpc2lvbjogMyxcbiAgICAgIHdpdGhUaW1lem9uZTogdHJ1ZSxcbiAgICB9KVxuICAgICAgLmRlZmF1bHROb3coKVxuICAgICAgLm5vdE51bGwoKVxuICB9XG5cbiAgY29uc3QgdGFibGUgPSBwZ1RhYmxlKHRhYmxlTmFtZSwgY29sdW1ucywgKGNvbHMpID0+IHtcbiAgICBjb25zdCBleHRyYUNvbmZpZyA9IE9iamVjdC5lbnRyaWVzKGJhc2VFeHRyYUNvbmZpZykucmVkdWNlKChjb25maWcsIFtrZXksIGZ1bmNdKSA9PiB7XG4gICAgICBjb25maWdba2V5XSA9IGZ1bmMoY29scylcbiAgICAgIHJldHVybiBjb25maWdcbiAgICB9LCB7fSlcblxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhpbmRleGVzKS5yZWR1Y2UoKGFjYywgW2NvbE5hbWUsIGZ1bmNdKSA9PiB7XG4gICAgICBhY2NbY29sTmFtZV0gPSBmdW5jKGNvbHMpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwgZXh0cmFDb25maWcpXG4gIH0pXG5cbiAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSA9IHRhYmxlXG5cbiAgaWYgKGhhc0xvY2FsaXplZEZpZWxkKSB7XG4gICAgY29uc3QgbG9jYWxlVGFibGVOYW1lID0gYCR7dGFibGVOYW1lfV9sb2NhbGVzYFxuICAgIGxvY2FsZXNDb2x1bW5zLmlkID0gc2VyaWFsKCdpZCcpLnByaW1hcnlLZXkoKVxuICAgIGxvY2FsZXNDb2x1bW5zLl9sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ19sb2NhbGUnKS5ub3ROdWxsKClcbiAgICBsb2NhbGVzQ29sdW1ucy5fcGFyZW50SUQgPSBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdfcGFyZW50X2lkJylcbiAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgIC5ub3ROdWxsKClcblxuICAgIGxvY2FsZXNUYWJsZSA9IHBnVGFibGUobG9jYWxlVGFibGVOYW1lLCBsb2NhbGVzQ29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgIHJldHVybiBPYmplY3QuZW50cmllcyhsb2NhbGVzSW5kZXhlcykucmVkdWNlKFxuICAgICAgICAoYWNjLCBbY29sTmFtZSwgZnVuY10pID0+IHtcbiAgICAgICAgICBhY2NbY29sTmFtZV0gPSBmdW5jKGNvbHMpXG4gICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgX2xvY2FsZVBhcmVudDogdW5pcXVlKGAke2xvY2FsZVRhYmxlTmFtZX1fbG9jYWxlX3BhcmVudF9pZF91bmlxdWVgKS5vbihcbiAgICAgICAgICAgIGNvbHMuX2xvY2FsZSxcbiAgICAgICAgICAgIGNvbHMuX3BhcmVudElELFxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICApXG4gICAgfSlcblxuICAgIGFkYXB0ZXIudGFibGVzW2xvY2FsZVRhYmxlTmFtZV0gPSBsb2NhbGVzVGFibGVcblxuICAgIGNvbnN0IGxvY2FsZXNUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhsb2NhbGVzVGFibGUsICh7IG9uZSB9KSA9PiAoe1xuICAgICAgX3BhcmVudElEOiBvbmUodGFibGUsIHtcbiAgICAgICAgZmllbGRzOiBbbG9jYWxlc1RhYmxlLl9wYXJlbnRJRF0sXG4gICAgICAgIHJlZmVyZW5jZXM6IFt0YWJsZS5pZF0sXG4gICAgICB9KSxcbiAgICB9KSlcblxuICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtsb2NhbGVUYWJsZU5hbWV9YF0gPSBsb2NhbGVzVGFibGVSZWxhdGlvbnNcbiAgfVxuXG4gIGlmIChoYXNNYW55VGV4dEZpZWxkICYmIGJ1aWxkVGV4dHMpIHtcbiAgICBjb25zdCB0ZXh0c1RhYmxlTmFtZSA9IGAke3Jvb3RUYWJsZU5hbWV9X3RleHRzYFxuICAgIGNvbnN0IGNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICBpZDogc2VyaWFsKCdpZCcpLnByaW1hcnlLZXkoKSxcbiAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbaWRDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAubm90TnVsbCgpLFxuICAgICAgcGF0aDogdmFyY2hhcigncGF0aCcpLm5vdE51bGwoKSxcbiAgICAgIHRleHQ6IHZhcmNoYXIoJ3RleHQnKSxcbiAgICB9XG5cbiAgICBpZiAoaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCkge1xuICAgICAgY29sdW1ucy5sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ2xvY2FsZScpXG4gICAgfVxuXG4gICAgdGV4dHNUYWJsZSA9IHBnVGFibGUodGV4dHNUYWJsZU5hbWUsIGNvbHVtbnMsIChjb2xzKSA9PiB7XG4gICAgICBjb25zdCBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCBJbmRleEJ1aWxkZXI+ID0ge1xuICAgICAgICBvcmRlclBhcmVudElkeDogaW5kZXgoYCR7dGV4dHNUYWJsZU5hbWV9X29yZGVyX3BhcmVudF9pZHhgKS5vbihjb2xzLm9yZGVyLCBjb2xzLnBhcmVudCksXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNNYW55VGV4dEZpZWxkID09PSAnaW5kZXgnKSB7XG4gICAgICAgIGluZGV4ZXMudGV4dF9pZHggPSBpbmRleChgJHt0ZXh0c1RhYmxlTmFtZX1fdGV4dF9pZHhgKS5vbihjb2xzLnRleHQpXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNMb2NhbGl6ZWRNYW55VGV4dEZpZWxkKSB7XG4gICAgICAgIGluZGV4ZXMubG9jYWxlUGFyZW50ID0gaW5kZXgoYCR7dGV4dHNUYWJsZU5hbWV9X2xvY2FsZV9wYXJlbnRgKS5vbihjb2xzLmxvY2FsZSwgY29scy5wYXJlbnQpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzXG4gICAgfSlcblxuICAgIGFkYXB0ZXIudGFibGVzW3RleHRzVGFibGVOYW1lXSA9IHRleHRzVGFibGVcblxuICAgIGNvbnN0IHRleHRzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnModGV4dHNUYWJsZSwgKHsgb25lIH0pID0+ICh7XG4gICAgICBwYXJlbnQ6IG9uZSh0YWJsZSwge1xuICAgICAgICBmaWVsZHM6IFt0ZXh0c1RhYmxlLnBhcmVudF0sXG4gICAgICAgIHJlZmVyZW5jZXM6IFt0YWJsZS5pZF0sXG4gICAgICB9KSxcbiAgICB9KSlcblxuICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHt0ZXh0c1RhYmxlTmFtZX1gXSA9IHRleHRzVGFibGVSZWxhdGlvbnNcbiAgfVxuXG4gIGlmIChoYXNNYW55TnVtYmVyRmllbGQgJiYgYnVpbGROdW1iZXJzKSB7XG4gICAgY29uc3QgbnVtYmVyc1RhYmxlTmFtZSA9IGAke3Jvb3RUYWJsZU5hbWV9X251bWJlcnNgXG4gICAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgbnVtYmVyOiBudW1lcmljKCdudW1iZXInKSxcbiAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbaWRDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAubm90TnVsbCgpLFxuICAgICAgcGF0aDogdmFyY2hhcigncGF0aCcpLm5vdE51bGwoKSxcbiAgICB9XG5cbiAgICBpZiAoaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSB7XG4gICAgICBjb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJylcbiAgICB9XG5cbiAgICBudW1iZXJzVGFibGUgPSBwZ1RhYmxlKG51bWJlcnNUYWJsZU5hbWUsIGNvbHVtbnMsIChjb2xzKSA9PiB7XG4gICAgICBjb25zdCBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCBJbmRleEJ1aWxkZXI+ID0ge1xuICAgICAgICBvcmRlclBhcmVudElkeDogaW5kZXgoYCR7bnVtYmVyc1RhYmxlTmFtZX1fb3JkZXJfcGFyZW50X2lkeGApLm9uKGNvbHMub3JkZXIsIGNvbHMucGFyZW50KSxcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCA9PT0gJ2luZGV4Jykge1xuICAgICAgICBpbmRleGVzLm51bWJlcklkeCA9IGluZGV4KGAke251bWJlcnNUYWJsZU5hbWV9X251bWJlcl9pZHhgKS5vbihjb2xzLm51bWJlcilcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgICBpbmRleGVzLmxvY2FsZVBhcmVudCA9IGluZGV4KGAke251bWJlcnNUYWJsZU5hbWV9X2xvY2FsZV9wYXJlbnRgKS5vbihcbiAgICAgICAgICBjb2xzLmxvY2FsZSxcbiAgICAgICAgICBjb2xzLnBhcmVudCxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlc1xuICAgIH0pXG5cbiAgICBhZGFwdGVyLnRhYmxlc1tudW1iZXJzVGFibGVOYW1lXSA9IG51bWJlcnNUYWJsZVxuXG4gICAgY29uc3QgbnVtYmVyc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKG51bWJlcnNUYWJsZSwgKHsgb25lIH0pID0+ICh7XG4gICAgICBwYXJlbnQ6IG9uZSh0YWJsZSwge1xuICAgICAgICBmaWVsZHM6IFtudW1iZXJzVGFibGUucGFyZW50XSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke251bWJlcnNUYWJsZU5hbWV9YF0gPSBudW1iZXJzVGFibGVSZWxhdGlvbnNcbiAgfVxuXG4gIGlmIChidWlsZFJlbGF0aW9uc2hpcHMpIHtcbiAgICBpZiAocmVsYXRpb25zaGlwcy5zaXplKSB7XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge1xuICAgICAgICBpZDogc2VyaWFsKCdpZCcpLnByaW1hcnlLZXkoKSxcbiAgICAgICAgb3JkZXI6IGludGVnZXIoJ29yZGVyJyksXG4gICAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbaWRDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgICAucmVmZXJlbmNlcygoKSA9PiB0YWJsZS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgICAgcGF0aDogdmFyY2hhcigncGF0aCcpLm5vdE51bGwoKSxcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSB7XG4gICAgICAgIHJlbGF0aW9uc2hpcENvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKVxuICAgICAgfVxuXG4gICAgICByZWxhdGlvbnNoaXBzLmZvckVhY2goKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkUmVsYXRpb25UbyA9IHRvU25ha2VDYXNlKHJlbGF0aW9uVG8pXG4gICAgICAgIGxldCBjb2xUeXBlID0gYWRhcHRlci5pZFR5cGUgPT09ICd1dWlkJyA/ICd1dWlkJyA6ICdpbnRlZ2VyJ1xuICAgICAgICBjb25zdCByZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEID0gYWRhcHRlci5wYXlsb2FkLmNvbGxlY3Rpb25zW1xuICAgICAgICAgIHJlbGF0aW9uVG9cbiAgICAgICAgXS5jb25maWcuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICAgICAgICBpZiAocmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRD8udHlwZSA9PT0gJ251bWJlcicpIGNvbFR5cGUgPSAnbnVtZXJpYydcbiAgICAgICAgaWYgKHJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQ/LnR5cGUgPT09ICd0ZXh0JykgY29sVHlwZSA9ICd2YXJjaGFyJ1xuXG4gICAgICAgIHJlbGF0aW9uc2hpcENvbHVtbnNbYCR7cmVsYXRpb25Ub31JRGBdID0gcGFyZW50SURDb2x1bW5NYXBbY29sVHlwZV0oXG4gICAgICAgICAgYCR7Zm9ybWF0dGVkUmVsYXRpb25Ub31faWRgLFxuICAgICAgICApLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbZm9ybWF0dGVkUmVsYXRpb25Ub10uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgfSlcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwc1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fcmVsc2BcblxuICAgICAgcmVsYXRpb25zaGlwc1RhYmxlID0gcGdUYWJsZShyZWxhdGlvbnNoaXBzVGFibGVOYW1lLCByZWxhdGlvbnNoaXBDb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgICAgIG9yZGVyOiBpbmRleChgJHtyZWxhdGlvbnNoaXBzVGFibGVOYW1lfV9vcmRlcl9pZHhgKS5vbihjb2xzLm9yZGVyKSxcbiAgICAgICAgICBwYXJlbnRJZHg6IGluZGV4KGAke3JlbGF0aW9uc2hpcHNUYWJsZU5hbWV9X3BhcmVudF9pZHhgKS5vbihjb2xzLnBhcmVudCksXG4gICAgICAgICAgcGF0aElkeDogaW5kZXgoYCR7cmVsYXRpb25zaGlwc1RhYmxlTmFtZX1fcGF0aF9pZHhgKS5vbihjb2xzLnBhdGgpLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSB7XG4gICAgICAgICAgcmVzdWx0LmxvY2FsZUlkeCA9IGluZGV4KGAke3JlbGF0aW9uc2hpcHNUYWJsZU5hbWV9X2xvY2FsZV9pZHhgKS5vbihjb2xzLmxvY2FsZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0pXG5cbiAgICAgIGFkYXB0ZXIudGFibGVzW3JlbGF0aW9uc2hpcHNUYWJsZU5hbWVdID0gcmVsYXRpb25zaGlwc1RhYmxlXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhyZWxhdGlvbnNoaXBzVGFibGUsICh7IG9uZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7XG4gICAgICAgICAgcGFyZW50OiBvbmUodGFibGUsIHtcbiAgICAgICAgICAgIGZpZWxkczogW3JlbGF0aW9uc2hpcHNUYWJsZS5wYXJlbnRdLFxuICAgICAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgICAgICAgIHJlbGF0aW9uTmFtZTogJ19yZWxzJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfVxuXG4gICAgICAgIHJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb25UbykgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlbGF0ZWRUYWJsZU5hbWUgPSB0b1NuYWtlQ2FzZShyZWxhdGlvblRvKVxuICAgICAgICAgIGNvbnN0IGlkQ29sdW1uTmFtZSA9IGAke3JlbGF0aW9uVG99SURgXG4gICAgICAgICAgcmVzdWx0W2lkQ29sdW1uTmFtZV0gPSBvbmUoYWRhcHRlci50YWJsZXNbcmVsYXRlZFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgIGZpZWxkczogW3JlbGF0aW9uc2hpcHNUYWJsZVtpZENvbHVtbk5hbWVdXSxcbiAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1tyZWxhdGVkVGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9KVxuXG4gICAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7cmVsYXRpb25zaGlwc1RhYmxlTmFtZX1gXSA9IHJlbGF0aW9uc2hpcHNUYWJsZVJlbGF0aW9uc1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKHRhYmxlLCAoeyBtYW55IH0pID0+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge31cblxuICAgIHJlbGF0aW9uc1RvQnVpbGQuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgIHJlc3VsdFtrZXldID0gbWFueShhZGFwdGVyLnRhYmxlc1t2YWxdKVxuICAgIH0pXG5cbiAgICBpZiAoaGFzTG9jYWxpemVkRmllbGQpIHtcbiAgICAgIHJlc3VsdC5fbG9jYWxlcyA9IG1hbnkobG9jYWxlc1RhYmxlKVxuICAgIH1cblxuICAgIGlmIChoYXNNYW55VGV4dEZpZWxkKSB7XG4gICAgICByZXN1bHQuX3RleHRzID0gbWFueSh0ZXh0c1RhYmxlKVxuICAgIH1cbiAgICBpZiAoaGFzTWFueU51bWJlckZpZWxkKSB7XG4gICAgICByZXN1bHQuX251bWJlcnMgPSBtYW55KG51bWJlcnNUYWJsZSlcbiAgICB9XG5cbiAgICBpZiAocmVsYXRpb25zaGlwcy5zaXplICYmIHJlbGF0aW9uc2hpcHNUYWJsZSkge1xuICAgICAgcmVzdWx0Ll9yZWxzID0gbWFueShyZWxhdGlvbnNoaXBzVGFibGUsIHtcbiAgICAgICAgcmVsYXRpb25OYW1lOiAnX3JlbHMnLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0pXG5cbiAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke3RhYmxlTmFtZX1gXSA9IHRhYmxlUmVsYXRpb25zXG5cbiAgcmV0dXJuIHsgaGFzTWFueU51bWJlckZpZWxkLCBoYXNNYW55VGV4dEZpZWxkLCByZWxhdGlvbnNUb0J1aWxkIH1cbn1cbiJdLCJuYW1lcyI6WyJidWlsZFRhYmxlIiwiYWRhcHRlciIsImJhc2VDb2x1bW5zIiwiYmFzZUV4dHJhQ29uZmlnIiwiYnVpbGROdW1iZXJzIiwiYnVpbGRSZWxhdGlvbnNoaXBzIiwiYnVpbGRUZXh0cyIsImRpc2FibGVOb3ROdWxsIiwiZGlzYWJsZVVuaXF1ZSIsImZpZWxkcyIsInJvb3RSZWxhdGlvbnNUb0J1aWxkIiwicm9vdFJlbGF0aW9uc2hpcHMiLCJyb290VGFibGVJRENvbFR5cGUiLCJyb290VGFibGVOYW1lIiwiaW5jb21pbmdSb290VGFibGVOYW1lIiwidGFibGVOYW1lIiwidGltZXN0YW1wcyIsImNvbHVtbnMiLCJpbmRleGVzIiwiaGFzTG9jYWxpemVkRmllbGQiLCJoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsImhhc01hbnlUZXh0RmllbGQiLCJoYXNNYW55TnVtYmVyRmllbGQiLCJoYXNMb2NhbGl6ZWRNYW55VGV4dEZpZWxkIiwiaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwibG9jYWxlc0NvbHVtbnMiLCJsb2NhbGVzSW5kZXhlcyIsImxvY2FsZXNUYWJsZSIsInRleHRzVGFibGUiLCJudW1iZXJzVGFibGUiLCJyZWxhdGlvbnNoaXBzIiwiU2V0IiwicmVsYXRpb25zaGlwc1RhYmxlIiwicmVsYXRpb25zVG9CdWlsZCIsIk1hcCIsImlkQ29sVHlwZSIsInNldENvbHVtbklEIiwidHJhdmVyc2VGaWVsZHMiLCJuZXdUYWJsZU5hbWUiLCJwYXJlbnRUYWJsZU5hbWUiLCJjcmVhdGVkQXQiLCJ0aW1lc3RhbXAiLCJtb2RlIiwicHJlY2lzaW9uIiwid2l0aFRpbWV6b25lIiwiZGVmYXVsdE5vdyIsIm5vdE51bGwiLCJ1cGRhdGVkQXQiLCJ0YWJsZSIsInBnVGFibGUiLCJjb2xzIiwiZXh0cmFDb25maWciLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwiY29uZmlnIiwia2V5IiwiZnVuYyIsImFjYyIsImNvbE5hbWUiLCJ0YWJsZXMiLCJsb2NhbGVUYWJsZU5hbWUiLCJpZCIsInNlcmlhbCIsInByaW1hcnlLZXkiLCJfbG9jYWxlIiwiZW51bXMiLCJlbnVtX19sb2NhbGVzIiwiX3BhcmVudElEIiwicGFyZW50SURDb2x1bW5NYXAiLCJyZWZlcmVuY2VzIiwib25EZWxldGUiLCJfbG9jYWxlUGFyZW50IiwidW5pcXVlIiwib24iLCJsb2NhbGVzVGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbnMiLCJvbmUiLCJ0ZXh0c1RhYmxlTmFtZSIsIm9yZGVyIiwiaW50ZWdlciIsInBhcmVudCIsInBhdGgiLCJ2YXJjaGFyIiwidGV4dCIsImxvY2FsZSIsIm9yZGVyUGFyZW50SWR4IiwiaW5kZXgiLCJ0ZXh0X2lkeCIsImxvY2FsZVBhcmVudCIsInRleHRzVGFibGVSZWxhdGlvbnMiLCJudW1iZXJzVGFibGVOYW1lIiwibnVtYmVyIiwibnVtZXJpYyIsIm51bWJlcklkeCIsIm51bWJlcnNUYWJsZVJlbGF0aW9ucyIsInNpemUiLCJyZWxhdGlvbnNoaXBDb2x1bW5zIiwiZm9yRWFjaCIsInJlbGF0aW9uVG8iLCJmb3JtYXR0ZWRSZWxhdGlvblRvIiwidG9TbmFrZUNhc2UiLCJjb2xUeXBlIiwiaWRUeXBlIiwicmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRCIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImZpbmQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwidHlwZSIsInJlbGF0aW9uc2hpcHNUYWJsZU5hbWUiLCJyZXN1bHQiLCJwYXJlbnRJZHgiLCJwYXRoSWR4IiwibG9jYWxlSWR4IiwicmVsYXRpb25zaGlwc1RhYmxlUmVsYXRpb25zIiwicmVsYXRpb25OYW1lIiwicmVsYXRlZFRhYmxlTmFtZSIsImlkQ29sdW1uTmFtZSIsInRhYmxlUmVsYXRpb25zIiwibWFueSIsInZhbCIsIl9sb2NhbGVzIiwiX3RleHRzIiwiX251bWJlcnMiLCJfcmVscyJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQWlEdkJBOzs7ZUFBQUE7Ozs0QkE1Q2E7d0JBVW5CO3VCQUMwQjtvRUFDVDttQ0FJVTs2QkFDTjtnQ0FDRzs7Ozs7O0FBMEJ4QixNQUFNQSxhQUFhLENBQUMsRUFDekJDLE9BQU8sRUFDUEMsY0FBYyxDQUFDLENBQUMsRUFDaEJDLGtCQUFrQixDQUFDLENBQUMsRUFDcEJDLFlBQVksRUFDWkMsa0JBQWtCLEVBQ2xCQyxVQUFVLEVBQ1ZDLGNBQWMsRUFDZEMsZ0JBQWdCLEtBQUssRUFDckJDLE1BQU0sRUFDTkMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsRUFDakJDLGtCQUFrQixFQUNsQkMsZUFBZUMscUJBQXFCLEVBQ3BDQyxTQUFTLEVBQ1RDLFVBQVUsRUFDTDtJQUNMLE1BQU1ILGdCQUFnQkMseUJBQXlCQztJQUMvQyxNQUFNRSxVQUEyQ2Y7SUFDakQsTUFBTWdCLFVBQWtFLENBQUM7SUFFekUsSUFBSUMsb0JBQW9CO0lBQ3hCLElBQUlDLGdDQUFnQztJQUNwQyxJQUFJQyxtQkFBc0M7SUFDMUMsSUFBSUMscUJBQXdDO0lBQzVDLElBQUlDLDRCQUE0QjtJQUNoQyxJQUFJQyw4QkFBOEI7SUFFbEMsTUFBTUMsaUJBQWtELENBQUM7SUFDekQsTUFBTUMsaUJBQXlFLENBQUM7SUFDaEYsSUFBSUM7SUFDSixJQUFJQztJQUNKLElBQUlDO0lBRUosdUNBQXVDO0lBQ3ZDLE1B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
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHtcbiAgSW5kZXhCdWlsZGVyLFxuICBQZ0NvbHVtbkJ1aWxkZXIsXG4gIFBnVGFibGVXaXRoQ29sdW1ucyxcbiAgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXIsXG59IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgcmVsYXRpb25zIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBpbmRleCwgaW50ZWdlciwgbnVtZXJpYywgc2VyaWFsLCB0aW1lc3RhbXAsIHVuaXF1ZSwgdmFyY2hhciB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNDb2x1bW5zLCBHZW5lcmljVGFibGUsIElEVHlwZSwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHBhcmVudElEQ29sdW1uTWFwIH0gZnJvbSAnLi9wYXJlbnRJRENvbHVtbk1hcCdcbmltcG9ydCB7IHNldENvbHVtbklEIH0gZnJvbSAnLi9zZXRDb2x1bW5JRCdcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgYmFzZUNvbHVtbnM/OiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+XG4gIGJhc2VFeHRyYUNvbmZpZz86IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXI+XG4gIGJ1aWxkTnVtYmVycz86IGJvb2xlYW5cbiAgYnVpbGRSZWxhdGlvbnNoaXBzPzogYm9vbGVhblxuICBidWlsZFRleHRzPzogYm9vbGVhblxuICBkaXNhYmxlTm90TnVsbDogYm9vbGVhblxuICBkaXNhYmxlVW5pcXVlOiBib29sZWFuXG4gIGZpZWxkczogRmllbGRbXVxuICByb290UmVsYXRpb25zVG9CdWlsZD86IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc2hpcHM/OiBTZXQ8c3RyaW5nPlxuICByb290VGFibGVJRENvbFR5cGU/OiBzdHJpbmdcbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICB0aW1lc3RhbXBzPzogYm9vbGVhblxufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgaGFzTWFueU51bWJlckZpZWxkOiAnaW5kZXgnIHwgYm9vbGVhblxuICBoYXNNYW55VGV4dEZpZWxkOiAnaW5kZXgnIHwgYm9vbGVhblxuICByZWxhdGlvbnNUb0J1aWxkOiBNYXA8c3RyaW5nLCBzdHJpbmc+XG59XG5cbmV4cG9ydCBjb25zdCBidWlsZFRhYmxlID0gKHtcbiAgYWRhcHRlcixcbiAgYmFzZUNvbHVtbnMgPSB7fSxcbiAgYmFzZUV4dHJhQ29uZmlnID0ge30sXG4gIGJ1aWxkTnVtYmVycyxcbiAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICBidWlsZFRleHRzLFxuICBkaXNhYmxlTm90TnVsbCxcbiAgZGlzYWJsZVVuaXF1ZSA9IGZhbHNlLFxuICBmaWVsZHMsXG4gIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICByb290UmVsYXRpb25zaGlwcyxcbiAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICByb290VGFibGVOYW1lOiBpbmNvbWluZ1Jvb3RUYWJsZU5hbWUsXG4gIHRhYmxlTmFtZSxcbiAgdGltZXN0YW1wcyxcbn06IEFyZ3MpOiBSZXN1bHQgPT4ge1xuICBjb25zdCByb290VGFibGVOYW1lID0gaW5jb21pbmdSb290VGFibGVOYW1lIHx8IHRhYmxlTmFtZVxuICBjb25zdCBjb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0gYmFzZUNvbHVtbnNcbiAgY29uc3QgaW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+ID0ge31cblxuICBsZXQgaGFzTG9jYWxpemVkRmllbGQgPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSBmYWxzZVxuICBsZXQgaGFzTWFueVRleHRGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgaGFzTWFueU51bWJlckZpZWxkOiAnaW5kZXgnIHwgYm9vbGVhbiA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRNYW55VGV4dEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IGZhbHNlXG5cbiAgY29uc3QgbG9jYWxlc0NvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7fVxuICBjb25zdCBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+ID0ge31cbiAgbGV0IGxvY2FsZXNUYWJsZTogR2VuZXJpY1RhYmxlIHwgUGdUYWJsZVdpdGhDb2x1bW5zPGFueT5cbiAgbGV0IHRleHRzVGFibGU6IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIGxldCBudW1iZXJzVGFibGU6IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG5cbiAgLy8gUmVsYXRpb25zaGlwcyB0byB0aGUgYmFzZSBjb2xsZWN0aW9uXG4gIGNvbnN0IHJlbGF0aW9uc2hpcHM6IFNldDxzdHJpbmc+ID0gcm9vdFJlbGF0aW9uc2hpcHMgfHwgbmV3IFNldCgpXG5cbiAgbGV0IHJlbGF0aW9uc2hpcHNUYWJsZTogR2VuZXJpY1RhYmxlIHwgUGdUYWJsZVdpdGhDb2x1bW5zPGFueT5cblxuICAvLyBEcml6emxlIHJlbGF0aW9uc1xuICBjb25zdCByZWxhdGlvbnNUb0J1aWxkOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpXG5cbiAgY29uc3QgaWRDb2xUeXBlOiBJRFR5cGUgPSBzZXRDb2x1bW5JRCh7IGFkYXB0ZXIsIGNvbHVtbnMsIGZpZWxkcyB9KVxuXG4gIDsoe1xuICAgIGhhc0xvY2FsaXplZEZpZWxkLFxuICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRNYW55VGV4dEZpZWxkLFxuICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgIGhhc01hbnlOdW1iZXJGaWVsZCxcbiAgICBoYXNNYW55VGV4dEZpZWxkLFxuICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgIGFkYXB0ZXIsXG4gICAgYnVpbGROdW1iZXJzLFxuICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICBidWlsZFRleHRzLFxuICAgIGNvbHVtbnMsXG4gICAgZGlzYWJsZU5vdE51bGwsXG4gICAgZGlzYWJsZVVuaXF1ZSxcbiAgICBmaWVsZHMsXG4gICAgaW5kZXhlcyxcbiAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICBuZXdUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICBwYXJlbnRUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ6IHJvb3RSZWxhdGlvbnNUb0J1aWxkIHx8IHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgcm9vdFRhYmxlSURDb2xUeXBlOiByb290VGFibGVJRENvbFR5cGUgfHwgaWRDb2xUeXBlLFxuICAgIHJvb3RUYWJsZU5hbWUsXG4gIH0pKVxuXG4gIGlmICh0aW1lc3RhbXBzKSB7XG4gICAgY29sdW1ucy5jcmVhdGVkQXQgPSB0aW1lc3RhbXAoJ2NyZWF0ZWRfYXQnLCB7XG4gICAgICBtb2RlOiAnc3RyaW5nJyxcbiAgICAgIHByZWNpc2lvbjogMyxcbiAgICAgIHdpdGhUaW1lem9uZTogdHJ1ZSxcbiAgICB9KVxuICAgICAgLmRlZmF1bHROb3coKVxuICAgICAgLm5vdE51bGwoKVxuICAgIGNvbHVtbnMudXBkYXRlZEF0ID0gdGltZXN0YW1wKCd1cGRhdGVkX2F0Jywge1xuICAgICAgbW9kZTogJ3N0cmluZycsXG4gICAgICBwcmVjaXNpb246IDMsXG4gICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgfSlcbiAgICAgIC5kZWZhdWx0Tm93KClcbiAgICAgIC5ub3ROdWxsKClcbiAgfVxuXG4gIGNvbnN0IHRhYmxlID0gYWRhcHRlci5wZ1NjaGVtYS50YWJsZSh0YWJsZU5hbWUsIGNvbHVtbnMsIChjb2xzKSA9PiB7XG4gICAgY29uc3QgZXh0cmFDb25maWcgPSBPYmplY3QuZW50cmllcyhiYXNlRXh0cmFDb25maWcpLnJlZHVjZSgoY29uZmlnLCBba2V5LCBmdW5jXSkgPT4ge1xuICAgICAgY29uZmlnW2tleV0gPSBmdW5jKGNvbHMpXG4gICAgICByZXR1cm4gY29uZmlnXG4gICAgfSwge30pXG5cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoaW5kZXhlcykucmVkdWNlKChhY2MsIFtjb2xOYW1lLCBmdW5jXSkgPT4ge1xuICAgICAgYWNjW2NvbE5hbWVdID0gZnVuYyhjb2xzKVxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sIGV4dHJhQ29uZmlnKVxuICB9KVxuXG4gIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0gPSB0YWJsZVxuXG4gIGlmIChoYXNMb2NhbGl6ZWRGaWVsZCkge1xuICAgIGNvbnN0IGxvY2FsZVRhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fbG9jYWxlc2BcbiAgICBsb2NhbGVzQ29sdW1ucy5pZCA9IHNlcmlhbCgnaWQnKS5wcmltYXJ5S2V5KClcbiAgICBsb2NhbGVzQ29sdW1ucy5fbG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdfbG9jYWxlJykubm90TnVsbCgpXG4gICAgbG9jYWxlc0NvbHVtbnMuX3BhcmVudElEID0gcGFyZW50SURDb2x1bW5NYXBbaWRDb2xUeXBlXSgnX3BhcmVudF9pZCcpXG4gICAgICAucmVmZXJlbmNlcygoKSA9PiB0YWJsZS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAubm90TnVsbCgpXG5cbiAgICBsb2NhbGVzVGFibGUgPSBhZGFwdGVyLnBnU2NoZW1hLnRhYmxlKGxvY2FsZVRhYmxlTmFtZSwgbG9jYWxlc0NvbHVtbnMsIChjb2xzKSA9PiB7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMobG9jYWxlc0luZGV4ZXMpLnJlZHVjZShcbiAgICAgICAgKGFjYywgW2NvbE5hbWUsIGZ1bmNdKSA9PiB7XG4gICAgICAgICAgYWNjW2NvbE5hbWVdID0gZnVuYyhjb2xzKVxuICAgICAgICAgIHJldHVybiBhY2NcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIF9sb2NhbGVQYXJlbnQ6IHVuaXF1ZShgJHtsb2NhbGVUYWJsZU5hbWV9X2xvY2FsZV9wYXJlbnRfaWRfdW5pcXVlYCkub24oXG4gICAgICAgICAgICBjb2xzLl9sb2NhbGUsXG4gICAgICAgICAgICBjb2xzLl9wYXJlbnRJRCxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgIH0pXG5cbiAgICBhZGFwdGVyLnRhYmxlc1tsb2NhbGVUYWJsZU5hbWVdID0gbG9jYWxlc1RhYmxlXG5cbiAgICBjb25zdCBsb2NhbGVzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMobG9jYWxlc1RhYmxlLCAoeyBvbmUgfSkgPT4gKHtcbiAgICAgIF9wYXJlbnRJRDogb25lKHRhYmxlLCB7XG4gICAgICAgIGZpZWxkczogW2xvY2FsZXNUYWJsZS5fcGFyZW50SURdLFxuICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgfSksXG4gICAgfSkpXG5cbiAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7bG9jYWxlVGFibGVOYW1lfWBdID0gbG9jYWxlc1RhYmxlUmVsYXRpb25zXG4gIH1cblxuICBpZiAoaGFzTWFueVRleHRGaWVsZCAmJiBidWlsZFRleHRzKSB7XG4gICAgY29uc3QgdGV4dHNUYWJsZU5hbWUgPSBgJHtyb290VGFibGVOYW1lfV90ZXh0c2BcbiAgICBjb25zdCBjb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge1xuICAgICAgaWQ6IHNlcmlhbCgnaWQnKS5wcmltYXJ5S2V5KCksXG4gICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICBwYXJlbnQ6IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ3BhcmVudF9pZCcpXG4gICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgIHBhdGg6IHZhcmNoYXIoJ3BhdGgnKS5ub3ROdWxsKCksXG4gICAgICB0ZXh0OiB2YXJjaGFyKCd0ZXh0JyksXG4gICAgfVxuXG4gICAgaWYgKGhhc0xvY2FsaXplZE1hbnlUZXh0RmllbGQpIHtcbiAgICAgIGNvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKVxuICAgIH1cblxuICAgIHRleHRzVGFibGUgPSBhZGFwdGVyLnBnU2NoZW1hLnRhYmxlKHRleHRzVGFibGVOYW1lLCBjb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgY29uc3QgaW5kZXhlczogUmVjb3JkPHN0cmluZywgSW5kZXhCdWlsZGVyPiA9IHtcbiAgICAgICAgb3JkZXJQYXJlbnRJZHg6IGluZGV4KGAke3RleHRzVGFibGVOYW1lfV9vcmRlcl9wYXJlbnRfaWR4YCkub24oY29scy5vcmRlciwgY29scy5wYXJlbnQpLFxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTWFueVRleHRGaWVsZCA9PT0gJ2luZGV4Jykge1xuICAgICAgICBpbmRleGVzLnRleHRfaWR4ID0gaW5kZXgoYCR7dGV4dHNUYWJsZU5hbWV9X3RleHRfaWR4YCkub24oY29scy50ZXh0KVxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCkge1xuICAgICAgICBpbmRleGVzLmxvY2FsZVBhcmVudCA9IGluZGV4KGAke3RleHRzVGFibGVOYW1lfV9sb2NhbGVfcGFyZW50YCkub24oY29scy5sb2NhbGUsIGNvbHMucGFyZW50KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlc1xuICAgIH0pXG5cbiAgICBhZGFwdGVyLnRhYmxlc1t0ZXh0c1RhYmxlTmFtZV0gPSB0ZXh0c1RhYmxlXG5cbiAgICBjb25zdCB0ZXh0c1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKHRleHRzVGFibGUsICh7IG9uZSB9KSA9PiAoe1xuICAgICAgcGFyZW50OiBvbmUodGFibGUsIHtcbiAgICAgICAgZmllbGRzOiBbdGV4dHNUYWJsZS5wYXJlbnRdLFxuICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgfSksXG4gICAgfSkpXG5cbiAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7dGV4dHNUYWJsZU5hbWV9YF0gPSB0ZXh0c1RhYmxlUmVsYXRpb25zXG4gIH1cblxuICBpZiAoaGFzTWFueU51bWJlckZpZWxkICYmIGJ1aWxkTnVtYmVycykge1xuICAgIGNvbnN0IG51bWJlcnNUYWJsZU5hbWUgPSBgJHtyb290VGFibGVOYW1lfV9udW1iZXJzYFxuICAgIGNvbnN0IGNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICBpZDogc2VyaWFsKCdpZCcpLnByaW1hcnlLZXkoKSxcbiAgICAgIG51bWJlcjogbnVtZXJpYygnbnVtYmVyJyksXG4gICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICBwYXJlbnQ6IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ3BhcmVudF9pZCcpXG4gICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgIHBhdGg6IHZhcmNoYXIoJ3BhdGgnKS5ub3ROdWxsKCksXG4gICAgfVxuXG4gICAgaWYgKGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgY29sdW1ucy5sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ2xvY2FsZScpXG4gICAgfVxuXG4gICAgbnVtYmVyc1RhYmxlID0gYWRhcHRlci5wZ1NjaGVtYS50YWJsZShudW1iZXJzVGFibGVOYW1lLCBjb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgY29uc3QgaW5kZXhlczogUmVjb3JkPHN0cmluZywgSW5kZXhCdWlsZGVyPiA9IHtcbiAgICAgICAgb3JkZXJQYXJlbnRJZHg6IGluZGV4KGAke251bWJlcnNUYWJsZU5hbWV9X29yZGVyX3BhcmVudF9pZHhgKS5vbihjb2xzLm9yZGVyLCBjb2xzLnBhcmVudCksXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNNYW55TnVtYmVyRmllbGQgPT09ICdpbmRleCcpIHtcbiAgICAgICAgaW5kZXhlcy5udW1iZXJJZHggPSBpbmRleChgJHtudW1iZXJzVGFibGVOYW1lfV9udW1iZXJfaWR4YCkub24oY29scy5udW1iZXIpXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgICAgaW5kZXhlcy5sb2NhbGVQYXJlbnQgPSBpbmRleChgJHtudW1iZXJzVGFibGVOYW1lfV9sb2NhbGVfcGFyZW50YCkub24oXG4gICAgICAgICAgY29scy5sb2NhbGUsXG4gICAgICAgICAgY29scy5wYXJlbnQsXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluZGV4ZXNcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbbnVtYmVyc1RhYmxlTmFtZV0gPSBudW1iZXJzVGFibGVcblxuICAgIGNvbnN0IG51bWJlcnNUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhudW1iZXJzVGFibGUsICh7IG9uZSB9KSA9PiAoe1xuICAgICAgcGFyZW50OiBvbmUodGFibGUsIHtcbiAgICAgICAgZmllbGRzOiBbbnVtYmVyc1RhYmxlLnBhcmVudF0sXG4gICAgICAgIHJlZmVyZW5jZXM6IFt0YWJsZS5pZF0sXG4gICAgICB9KSxcbiAgICB9KSlcblxuICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtudW1iZXJzVGFibGVOYW1lfWBdID0gbnVtYmVyc1RhYmxlUmVsYXRpb25zXG4gIH1cblxuICBpZiAoYnVpbGRSZWxhdGlvbnNoaXBzKSB7XG4gICAgaWYgKHJlbGF0aW9uc2hpcHMuc2l6ZSkge1xuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgaWQ6IHNlcmlhbCgnaWQnKS5wcmltYXJ5S2V5KCksXG4gICAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLFxuICAgICAgICBwYXJlbnQ6IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ3BhcmVudF9pZCcpXG4gICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgIHBhdGg6IHZhcmNoYXIoJ3BhdGgnKS5ub3ROdWxsKCksXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkge1xuICAgICAgICByZWxhdGlvbnNoaXBDb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJylcbiAgICAgIH1cblxuICAgICAgcmVsYXRpb25zaGlwcy5mb3JFYWNoKChyZWxhdGlvblRvKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFJlbGF0aW9uVG8gPSB0b1NuYWtlQ2FzZShyZWxhdGlvblRvKVxuICAgICAgICBsZXQgY29sVHlwZSA9IGFkYXB0ZXIuaWRUeXBlID09PSAndXVpZCcgPyAndXVpZCcgOiAnaW50ZWdlcidcbiAgICAgICAgY29uc3QgcmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRCA9IGFkYXB0ZXIucGF5bG9hZC5jb2xsZWN0aW9uc1tcbiAgICAgICAgICByZWxhdGlvblRvXG4gICAgICAgIF0uY29uZmlnLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcbiAgICAgICAgaWYgKHJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQ/LnR5cGUgPT09ICdudW1iZXInKSBjb2xUeXBlID0gJ251bWVyaWMnXG4gICAgICAgIGlmIChyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEPy50eXBlID09PSAndGV4dCcpIGNvbFR5cGUgPSAndmFyY2hhcidcblxuICAgICAgICByZWxhdGlvbnNoaXBDb2x1bW5zW2Ake3JlbGF0aW9uVG99SURgXSA9IHBhcmVudElEQ29sdW1uTWFwW2NvbFR5cGVdKFxuICAgICAgICAgIGAke2Zvcm1hdHRlZFJlbGF0aW9uVG99X2lkYCxcbiAgICAgICAgKS5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW2Zvcm1hdHRlZFJlbGF0aW9uVG9dLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X3JlbHNgXG5cbiAgICAgIHJlbGF0aW9uc2hpcHNUYWJsZSA9IGFkYXB0ZXIucGdTY2hlbWEudGFibGUoXG4gICAgICAgIHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUsXG4gICAgICAgIHJlbGF0aW9uc2hpcENvbHVtbnMsXG4gICAgICAgIChjb2xzKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBpbmRleChgJHtyZWxhdGlvbnNoaXBzVGFibGVOYW1lfV9vcmRlcl9pZHhgKS5vbihjb2xzLm9yZGVyKSxcbiAgICAgICAgICAgIHBhcmVudElkeDogaW5kZXgoYCR7cmVsYXRpb25zaGlwc1RhYmxlTmFtZX1fcGFyZW50X2lkeGApLm9uKGNvbHMucGFyZW50KSxcbiAgICAgICAgICAgIHBhdGhJZHg6IGluZGV4KGAke3JlbGF0aW9uc2hpcHNUYWJsZU5hbWV9X3BhdGhfaWR4YCkub24oY29scy5wYXRoKSxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIHtcbiAgICAgICAgICAgIHJlc3VsdC5sb2NhbGVJZHggPSBpbmRleChgJHtyZWxhdGlvbnNoaXBzVGFibGVOYW1lfV9sb2NhbGVfaWR4YCkub24oY29scy5sb2NhbGUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICB9LFxuICAgICAgKVxuXG4gICAgICBhZGFwdGVyLnRhYmxlc1tyZWxhdGlvbnNoaXBzVGFibGVOYW1lXSA9IHJlbGF0aW9uc2hpcHNUYWJsZVxuXG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMocmVsYXRpb25zaGlwc1RhYmxlLCAoeyBvbmUgfSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgICAgICBmaWVsZHM6IFtyZWxhdGlvbnNoaXBzVGFibGUucGFyZW50XSxcbiAgICAgICAgICAgIHJlZmVyZW5jZXM6IFt0YWJsZS5pZF0sXG4gICAgICAgICAgICByZWxhdGlvbk5hbWU6ICdfcmVscycsXG4gICAgICAgICAgfSksXG4gICAgICAgIH1cblxuICAgICAgICByZWxhdGlvbnNoaXBzLmZvckVhY2goKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgICBjb25zdCByZWxhdGVkVGFibGVOYW1lID0gdG9TbmFrZUNhc2UocmVsYXRpb25UbylcbiAgICAgICAgICBjb25zdCBpZENvbHVtbk5hbWUgPSBgJHtyZWxhdGlvblRvfUlEYFxuICAgICAgICAgIHJlc3VsdFtpZENvbHVtbk5hbWVdID0gb25lKGFkYXB0ZXIudGFibGVzW3JlbGF0ZWRUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICBmaWVsZHM6IFtyZWxhdGlvbnNoaXBzVGFibGVbaWRDb2x1bW5OYW1lXV0sXG4gICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcmVsYXRlZFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSlcblxuICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke3JlbGF0aW9uc2hpcHNUYWJsZU5hbWV9YF0gPSByZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnNcbiAgICB9XG4gIH1cblxuICBjb25zdCB0YWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyh0YWJsZSwgKHsgbWFueSB9KSA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHt9XG5cbiAgICByZWxhdGlvbnNUb0J1aWxkLmZvckVhY2goKHZhbCwga2V5KSA9PiB7XG4gICAgICByZXN1bHRba2V5XSA9IG1hbnkoYWRhcHRlci50YWJsZXNbdmFsXSlcbiAgICB9KVxuXG4gICAgaWYgKGhhc0xvY2FsaXplZEZpZWxkKSB7XG4gICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGxvY2FsZXNUYWJsZSlcbiAgICB9XG5cbiAgICBpZiAoaGFzTWFueVRleHRGaWVsZCkge1xuICAgICAgcmVzdWx0Ll90ZXh0cyA9IG1hbnkodGV4dHNUYWJsZSlcbiAgICB9XG4gICAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9udW1iZXJzID0gbWFueShudW1iZXJzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKHJlbGF0aW9uc2hpcHMuc2l6ZSAmJiByZWxhdGlvbnNoaXBzVGFibGUpIHtcbiAgICAgIHJlc3VsdC5fcmVscyA9IG1hbnkocmVsYXRpb25zaGlwc1RhYmxlLCB7XG4gICAgICAgIHJlbGF0aW9uTmFtZTogJ19yZWxzJyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9KVxuXG4gIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHt0YWJsZU5hbWV9YF0gPSB0YWJsZVJlbGF0aW9uc1xuXG4gIHJldHVybiB7IGhhc01hbnlOdW1iZXJGaWVsZCwgaGFzTWFueVRleHRGaWVsZCwgcmVsYXRpb25zVG9CdWlsZCB9XG59XG4iXSwibmFtZXMiOlsiYnVpbGRUYWJsZSIsImFkYXB0ZXIiLCJiYXNlQ29sdW1ucyIsImJhc2VFeHRyYUNvbmZpZyIsImJ1aWxkTnVtYmVycyIsImJ1aWxkUmVsYXRpb25zaGlwcyIsImJ1aWxkVGV4dHMiLCJkaXNhYmxlTm90TnVsbCIsImRpc2FibGVVbmlxdWUiLCJmaWVsZHMiLCJyb290UmVsYXRpb25zVG9CdWlsZCIsInJvb3RSZWxhdGlvbnNoaXBzIiwicm9vdFRhYmxlSURDb2xUeXBlIiwicm9vdFRhYmxlTmFtZSIsImluY29taW5nUm9vdFRhYmxlTmFtZSIsInRhYmxlTmFtZSIsInRpbWVzdGFtcHMiLCJjb2x1bW5zIiwiaW5kZXhlcyIsImhhc0xvY2FsaXplZEZpZWxkIiwiaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJoYXNNYW55VGV4dEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCIsImhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsImxvY2FsZXNDb2x1bW5zIiwibG9jYWxlc0luZGV4ZXMiLCJsb2NhbGVzVGFibGUiLCJ0ZXh0c1RhYmxlIiwibnVtYmVyc1RhYmxlIiwicmVsYXRpb25zaGlwcyIsIlNldCIsInJlbGF0aW9uc2hpcHNUYWJsZSIsInJlbGF0aW9uc1RvQnVpbGQiLCJNYXAiLCJpZENvbFR5cGUiLCJzZXRDb2x1bW5JRCIsInRyYXZlcnNlRmllbGRzIiwibmV3VGFibGVOYW1lIiwicGFyZW50VGFibGVOYW1lIiwiY3JlYXRlZEF0IiwidGltZXN0YW1wIiwibW9kZSIsInByZWNpc2lvbiIsIndpdGhUaW1lem9uZSIsImRlZmF1bHROb3ciLCJub3ROdWxsIiwidXBkYXRlZEF0IiwidGFibGUiLCJwZ1NjaGVtYSIsImNvbHMiLCJleHRyYUNvbmZpZyIsIk9iamVjdCIsImVudHJpZXMiLCJyZWR1Y2UiLCJjb25maWciLCJrZXkiLCJmdW5jIiwiYWNjIiwiY29sTmFtZSIsInRhYmxlcyIsImxvY2FsZVRhYmxlTmFtZSIsImlkIiwic2VyaWFsIiwicHJpbWFyeUtleSIsIl9sb2NhbGUiLCJlbnVtcyIsImVudW1fX2xvY2FsZXMiLCJfcGFyZW50SUQiLCJwYXJlbnRJRENvbHVtbk1hcCIsInJlZmVyZW5jZXMiLCJvbkRlbGV0ZSIsIl9sb2NhbGVQYXJlbnQiLCJ1bmlxdWUiLCJvbiIsImxvY2FsZXNUYWJsZVJlbGF0aW9ucyIsInJlbGF0aW9ucyIsIm9uZSIsInRleHRzVGFibGVOYW1lIiwib3JkZXIiLCJpbnRlZ2VyIiwicGFyZW50IiwicGF0aCIsInZhcmNoYXIiLCJ0ZXh0IiwibG9jYWxlIiwib3JkZXJQYXJlbnRJZHgiLCJpbmRleCIsInRleHRfaWR4IiwibG9jYWxlUGFyZW50IiwidGV4dHNUYWJsZVJlbGF0aW9ucyIsIm51bWJlcnNUYWJsZU5hbWUiLCJudW1iZXIiLCJudW1lcmljIiwibnVtYmVySWR4IiwibnVtYmVyc1RhYmxlUmVsYXRpb25zIiwic2l6ZSIsInJlbGF0aW9uc2hpcENvbHVtbnMiLCJmb3JFYWNoIiwicmVsYXRpb25UbyIsImZvcm1hdHRlZFJlbGF0aW9uVG8iLCJ0b1NuYWtlQ2FzZSIsImNvbFR5cGUiLCJpZFR5cGUiLCJyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwiZmluZCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwicmVsYXRpb25zaGlwc1RhYmxlTmFtZSIsInJlc3VsdCIsInBhcmVudElkeCIsInBhdGhJZHgiLCJsb2NhbGVJZHgiLCJyZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbk5hbWUiLCJyZWxhdGVkVGFibGVOYW1lIiwiaWRDb2x1bW5OYW1lIiwidGFibGVSZWxhdGlvbnMiLCJtYW55IiwidmFsIiwiX2xvY2FsZXMiLCJfdGV4dHMiLCJfbnVtYmVycyIsIl9yZWxzIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBNkN2QkE7OztlQUFBQTs7OzRCQW5DYTt3QkFDa0Q7dUJBQzNDO29FQUNUO21DQUlVOzZCQUNOO2dDQUNHOzs7Ozs7QUEwQnhCLE1BQU1BLGFBQWEsQ0FBQyxFQUN6QkMsT0FBTyxFQUNQQyxjQUFjLENBQUMsQ0FBQyxFQUNoQkMsa0JBQWtCLENBQUMsQ0FBQyxFQUNwQkMsWUFBWSxFQUNaQyxrQkFBa0IsRUFDbEJDLFVBQVUsRUFDVkMsY0FBYyxFQUNkQyxnQkFBZ0IsS0FBSyxFQUNyQkMsTUFBTSxFQUNOQyxvQkFBb0IsRUFDcEJDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQyxlQUFlQyxxQkFBcUIsRUFDcENDLFNBQVMsRUFDVEMsVUFBVSxFQUNMO0lBQ0wsTUFBTUgsZ0JBQWdCQyx5QkFBeUJDO0lBQy9DLE1BQU1FLFVBQTJDZjtJQUNq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
package/dist/types.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { ColumnBaseConfig, ColumnDataType, DrizzleConfig, ExtractTablesWithRelations, Relation, Relations } from 'drizzle-orm';
2
2
  import type { NodePgDatabase, NodePgQueryResultHKT } from 'drizzle-orm/node-postgres';
3
- import type { PgColumn, PgEnum, PgTableWithColumns, PgTransaction } from 'drizzle-orm/pg-core';
3
+ import type { PgColumn, PgEnum, PgSchema, PgTableWithColumns, PgTransaction } from 'drizzle-orm/pg-core';
4
+ import type { PgTableFn } from 'drizzle-orm/pg-core/table';
4
5
  import type { Payload } from 'payload';
5
6
  import type { BaseDatabaseAdapter } from 'payload/database';
6
7
  import type { PayloadRequest } from 'payload/types';
@@ -12,6 +13,7 @@ export type Args = {
12
13
  migrationDir?: string;
13
14
  pool: PoolConfig;
14
15
  push?: boolean;
16
+ schemaName?: string;
15
17
  };
16
18
  export type GenericColumn = PgColumn<ColumnBaseConfig<ColumnDataType, string>, Record<string, unknown>>;
17
19
  export type GenericColumns = {
@@ -36,11 +38,15 @@ export type PostgresAdapter = BaseDatabaseAdapter & {
36
38
  fieldConstraints: Record<string, Record<string, string>>;
37
39
  idType: Args['idType'];
38
40
  logger: DrizzleConfig['logger'];
41
+ pgSchema?: {
42
+ table: PgTableFn;
43
+ } | PgSchema;
39
44
  pool: Pool;
40
45
  poolOptions: Args['pool'];
41
46
  push: boolean;
42
47
  relations: Record<string, GenericRelation>;
43
48
  schema: Record<string, GenericEnum | GenericRelation | GenericTable>;
49
+ schemaName?: Args['schemaName'];
44
50
  sessions: {
45
51
  [id: string]: {
46
52
  db: DrizzleTransaction;
@@ -48,7 +54,7 @@ export type PostgresAdapter = BaseDatabaseAdapter & {
48
54
  resolve: () => Promise<void>;
49
55
  };
50
56
  };
51
- tables: Record<string, GenericTable>;
57
+ tables: Record<string, GenericTable | PgTableWithColumns<any>>;
52
58
  };
53
59
  export type IDType = 'integer' | 'numeric' | 'uuid' | 'varchar';
54
60
  export type PostgresAdapterResult = (args: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,QAAQ,EACR,SAAS,EACV,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,EACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAC5C,oBAAoB,EACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CACpD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD,OAAO,EAAE,SAAS,CAAA;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAClC;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/B,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,YAAY,CAAC,CAAA;IACpE,QAAQ,EAAE;QACR,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,EAAE,EAAE,kBAAkB,CAAA;YACtB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;SAC7B,CAAA;KACF,CAAA;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAE/D,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAK,eAAe,CAAA;AAEnF,MAAM,MAAM,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAAE,CAAA;AAC/E,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAAE,CAAA;AAEjF,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAiB,eACf,SAAQ,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,EACzC,mBAAmB;QACrB,OAAO,EAAE,SAAS,CAAA;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACxD,IAAI,EAAE,IAAI,CAAA;QACV,IAAI,EAAE,OAAO,CAAA;QACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,YAAY,CAAC,CAAA;QACpE,QAAQ,EAAE;YACR,CAAC,EAAE,EAAE,MAAM,GAAG;gBACZ,EAAE,EAAE,kBAAkB,CAAA;gBACtB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;aAC7B,CAAA;SACF,CAAA;QACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;KACrC;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAUjD,eAAO,MAAM,SAAS,EAAE,SAmEvB,CAAA"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAUjD,eAAO,MAAM,SAAS,EAAE,SA6CvB,CAAA"}
package/dist/update.js CHANGED
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "updateOne", {
9
9
  }
10
10
  });
11
11
  const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
12
- const _chainMethods = require("./find/chainMethods");
13
12
  const _buildQuery = /*#__PURE__*/ _interop_require_default(require("./queries/buildQuery"));
13
+ const _selectDistinct = require("./queries/selectDistinct");
14
14
  const _upsertRow = require("./upsertRow");
15
15
  function _interop_require_default(obj) {
16
16
  return obj && obj.__esModule ? obj : {
@@ -26,6 +26,7 @@ const updateOne = async function updateOne({ id, collection: collectionSlug, dat
26
26
  equals: id
27
27
  }
28
28
  };
29
+ let idToUpdate = id;
29
30
  const { joinAliases, joins, selectFields, where } = await (0, _buildQuery.default)({
30
31
  adapter: this,
31
32
  fields: collection.fields,
@@ -33,51 +34,25 @@ const updateOne = async function updateOne({ id, collection: collectionSlug, dat
33
34
  tableName,
34
35
  where: whereToUse
35
36
  });
36
- let idToUpdate = id;
37
- // only fetch IDs when a sort or where query is used that needs to be done on join tables, otherwise these can be done directly on the table in findMany
38
- if (Object.keys(joins).length > 0 || joinAliases.length > 0) {
39
- const selectDistinctMethods = [];
40
- if (where) {
41
- selectDistinctMethods.push({
42
- args: [
43
- where
44
- ],
45
- method: 'where'
46
- });
47
- }
48
- joinAliases.forEach(({ condition, table })=>{
49
- selectDistinctMethods.push({
37
+ const selectDistinctResult = await (0, _selectDistinct.selectDistinct)({
38
+ adapter: this,
39
+ chainedMethods: [
40
+ {
50
41
  args: [
51
- table,
52
- condition
42
+ 1
53
43
  ],
54
- method: 'leftJoin'
55
- });
56
- });
57
- Object.entries(joins).forEach(([joinTable, condition])=>{
58
- if (joinTable) {
59
- selectDistinctMethods.push({
60
- args: [
61
- this.tables[joinTable],
62
- condition
63
- ],
64
- method: 'leftJoin'
65
- });
44
+ method: 'limit'
66
45
  }
67
- });
68
- selectDistinctMethods.push({
69
- args: [
70
- 1
71
- ],
72
- method: 'limit'
73
- });
74
- const selectDistinctResult = await (0, _chainMethods.chainMethods)({
75
- methods: selectDistinctMethods,
76
- query: db.selectDistinct(selectFields).from(this.tables[tableName])
77
- });
78
- if (selectDistinctResult?.[0]?.id) {
79
- idToUpdate = selectDistinctResult?.[0]?.id;
80
- }
46
+ ],
47
+ db,
48
+ joinAliases,
49
+ joins,
50
+ selectFields,
51
+ tableName,
52
+ where
53
+ });
54
+ if (selectDistinctResult?.[0]?.id) {
55
+ idToUpdate = selectDistinctResult?.[0]?.id;
81
56
  }
82
57
  const result = await (0, _upsertRow.upsertRow)({
83
58
  id: idToUpdate,
@@ -86,10 +61,10 @@ const updateOne = async function updateOne({ id, collection: collectionSlug, dat
86
61
  db,
87
62
  fields: collection.fields,
88
63
  operation: 'update',
89
- tableName: (0, _tosnakecase.default)(collectionSlug),
90
- req
64
+ req,
65
+ tableName: (0, _tosnakecase.default)(collectionSlug)
91
66
  });
92
67
  return result;
93
68
  };
94
69
 
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBDaGFpbmVkTWV0aG9kcyB9IGZyb20gJy4vZmluZC9jaGFpbk1ldGhvZHMnXG5pbXBvcnQgeyBjaGFpbk1ldGhvZHMgfSBmcm9tICcuL2ZpbmQvY2hhaW5NZXRob2RzJ1xuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9uZTogVXBkYXRlT25lID0gYXN5bmMgZnVuY3Rpb24gdXBkYXRlT25lKFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHsgaWQsIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25TbHVnLCBkYXRhLCBkcmFmdCwgbG9jYWxlLCByZXEsIHdoZXJlOiB3aGVyZUFyZyB9LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWdcbiAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpXG4gIGNvbnN0IHdoZXJlVG9Vc2UgPSB3aGVyZUFyZyB8fCB7IGlkOiB7IGVxdWFsczogaWQgfSB9XG5cbiAgY29uc3QgeyBqb2luQWxpYXNlcywgam9pbnMsIHNlbGVjdEZpZWxkcywgd2hlcmUgfSA9IGF3YWl0IGJ1aWxkUXVlcnkoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICBsb2NhbGUsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlOiB3aGVyZVRvVXNlLFxuICB9KVxuXG4gIGxldCBpZFRvVXBkYXRlID0gaWRcblxuICAvLyBvbmx5IGZldGNoIElEcyB3aGVuIGEgc29ydCBvciB3aGVyZSBxdWVyeSBpcyB1c2VkIHRoYXQgbmVlZHMgdG8gYmUgZG9uZSBvbiBqb2luIHRhYmxlcywgb3RoZXJ3aXNlIHRoZXNlIGNhbiBiZSBkb25lIGRpcmVjdGx5IG9uIHRoZSB0YWJsZSBpbiBmaW5kTWFueVxuICBpZiAoT2JqZWN0LmtleXMoam9pbnMpLmxlbmd0aCA+IDAgfHwgam9pbkFsaWFzZXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHNlbGVjdERpc3RpbmN0TWV0aG9kczogQ2hhaW5lZE1ldGhvZHMgPSBbXVxuXG4gICAgaWYgKHdoZXJlKSB7XG4gICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7IGFyZ3M6IFt3aGVyZV0sIG1ldGhvZDogJ3doZXJlJyB9KVxuICAgIH1cblxuICAgIGpvaW5BbGlhc2VzLmZvckVhY2goKHsgY29uZGl0aW9uLCB0YWJsZSB9KSA9PiB7XG4gICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7XG4gICAgICAgIGFyZ3M6IFt0YWJsZSwgY29uZGl0aW9uXSxcbiAgICAgICAgbWV0aG9kOiAnbGVmdEpvaW4nLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgT2JqZWN0LmVudHJpZXMoam9pbnMpLmZvckVhY2goKFtqb2luVGFibGUsIGNvbmRpdGlvbl0pID0+IHtcbiAgICAgIGlmIChqb2luVGFibGUpIHtcbiAgICAgICAgc2VsZWN0RGlzdGluY3RNZXRob2RzLnB1c2goe1xuICAgICAgICAgIGFyZ3M6IFt0aGlzLnRhYmxlc1tqb2luVGFibGVdLCBjb25kaXRpb25dLFxuICAgICAgICAgIG1ldGhvZDogJ2xlZnRKb2luJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgc2VsZWN0RGlzdGluY3RNZXRob2RzLnB1c2goeyBhcmdzOiBbMV0sIG1ldGhvZDogJ2xpbWl0JyB9KVxuXG4gICAgY29uc3Qgc2VsZWN0RGlzdGluY3RSZXN1bHQgPSBhd2FpdCBjaGFpbk1ldGhvZHMoe1xuICAgICAgbWV0aG9kczogc2VsZWN0RGlzdGluY3RNZXRob2RzLFxuICAgICAgcXVlcnk6IGRiLnNlbGVjdERpc3RpbmN0KHNlbGVjdEZpZWxkcykuZnJvbSh0aGlzLnRhYmxlc1t0YWJsZU5hbWVdKSxcbiAgICB9KVxuXG4gICAgaWYgKHNlbGVjdERpc3RpbmN0UmVzdWx0Py5bMF0/LmlkKSB7XG4gICAgICBpZFRvVXBkYXRlID0gc2VsZWN0RGlzdGluY3RSZXN1bHQ/LlswXT8uaWRcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3coe1xuICAgIGlkOiBpZFRvVXBkYXRlLFxuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24uZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgdGFibGVOYW1lOiB0b1NuYWtlQ2FzZShjb2xsZWN0aW9uU2x1ZyksXG4gICAgcmVxLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVPbmUiLCJpZCIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJkcmFmdCIsImxvY2FsZSIsInJlcSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsIndoZXJlVG9Vc2UiLCJlcXVhbHMiLCJqb2luQWxpYXNlcyIsImpvaW5zIiwic2VsZWN0RmllbGRzIiwiYnVpbGRRdWVyeSIsImFkYXB0ZXIiLCJmaWVsZHMiLCJpZFRvVXBkYXRlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInNlbGVjdERpc3RpbmN0TWV0aG9kcyIsInB1c2giLCJhcmdzIiwibWV0aG9kIiwiZm9yRWFjaCIsImNvbmRpdGlvbiIsInRhYmxlIiwiZW50cmllcyIsImpvaW5UYWJsZSIsInRhYmxlcyIsInNlbGVjdERpc3RpbmN0UmVzdWx0IiwiY2hhaW5NZXRob2RzIiwibWV0aG9kcyIsInF1ZXJ5Iiwic2VsZWN0RGlzdGluY3QiLCJmcm9tIiwicmVzdWx0IiwidXBzZXJ0Um93Iiwib3BlcmF0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQVVhQTs7O2VBQUFBOzs7b0VBUlc7OEJBR0s7bUVBRU47MkJBQ0c7Ozs7OztBQUVuQixNQUFNQSxZQUF1QixlQUFlQSxVQUVqRCxFQUFFQyxFQUFFLEVBQUVDLFlBQVlDLGNBQWMsRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxPQUFPQyxRQUFRLEVBQUU7SUFFN0UsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0osSUFBSUssYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1YLGFBQWEsSUFBSSxDQUFDWSxPQUFPLENBQUNDLFdBQVcsQ0FBQ1osZUFBZSxDQUFDYSxNQUFNO0lBQ2xFLE1BQU1DLFlBQVlDLElBQUFBLG9CQUFXLEVBQUNmO0lBQzlCLE1BQU1nQixhQUFhVixZQUFZO1FBQUVSLElBQUk7WUFBRW1CLFFBQVFuQjtRQUFHO0lBQUU7SUFFcEQsTUFBTSxFQUFFb0IsV0FBVyxFQUFFQyxLQUFLLEVBQUVDLFlBQVksRUFBRWYsS0FBSyxFQUFFLEdBQUcsTUFBTWdCLElBQUFBLG1CQUFVLEVBQUM7UUFDbkVDLFNBQVMsSUFBSTtRQUNiQyxRQUFReEIsV0FBV3dCLE1BQU07UUFDekJwQjtRQUNBVztRQUNBVCxPQUFPVztJQUNUO0lBRUEsSUFBSVEsYUFBYTFCO0lBRWpCLHdKQUF3SjtJQUN4SixJQUFJMkIsT0FBT0MsSUFBSSxDQUFDUCxPQUFPUSxNQUFNLEdBQUcsS0FBS1QsWUFBWVMsTUFBTSxHQUFHLEdBQUc7UUFDM0QsTUFBTUMsd0JBQXdDLEVBQUU7UUFFaEQsSUFBSXZCLE9BQU87WUFDVHVCLHNCQUFzQkMsSUFBSSxDQUFDO2dCQUFFQyxNQUFNO29CQUFDekI7aUJBQU07Z0JBQUUwQixRQUFRO1lBQVE7UUFDOUQ7UUFFQWIsWUFBWWMsT0FBTyxDQUFDLENBQUMsRUFBRUMsU0FBUyxFQUFFQyxLQUFLLEVBQUU7WUFDdkNOLHNCQUFzQkMsSUFBSSxDQUFDO2dCQUN6QkMsTUFBTTtvQkFBQ0k7b0JBQU9EO2lCQUFVO2dCQUN4QkYsUUFBUTtZQUNWO1FBQ0Y7UUFFQU4sT0FBT1UsT0FBTyxDQUFDaEIsT0FBT2EsT0FBTyxDQUFDLENBQUMsQ0FBQ0ksV0FBV0gsVUFBVTtZQUNuRCxJQUFJRyxXQUFXO2dCQUNiUixzQkFBc0JDLElBQUksQ0FBQztvQkFDekJDLE1BQU07d0JBQUMsSUFBSSxDQUFDTyxNQUFNLENBQUNELFVBQVU7d0JBQUVIO3FCQUFVO29CQUN6Q0YsUUFBUTtnQkFDVjtZQUNGO1FBQ0Y7UUFFQUgsc0JBQXNCQyxJQUFJLENBQUM7WUFBRUMsTUFBTTtnQkFBQzthQUFFO1lBQUVDLFFBQVE7UUFBUTtRQUV4RCxNQUFNTyx1QkFBdUIsTUFBTUMsSUFBQUEsMEJBQVksRUFBQztZQUM5Q0MsU0FBU1o7WUFDVGEsT0FBT2xDLEdBQUdtQyxjQUFjLENBQUN0QixjQUFjdUIsSUFBSSxDQUFDLElBQUksQ0FBQ04sTUFBTSxDQUFDdkIsVUFBVTtRQUNwRTtRQUVBLElBQUl3QixzQkFBc0IsQ0FBQyxFQUFFLEVBQUV4QyxJQUFJO1lBQ2pDMEIsYUFBYWMsc0JBQXNCLENBQUMsRUFBRSxFQUFFeEM7UUFDMUM7SUFDRjtJQUVBLE1BQU04QyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQUM7UUFDN0IvQyxJQUFJMEI7UUFDSkYsU0FBUyxJQUFJO1FBQ2JyQjtRQUNBTTtRQUNBZ0IsUUFBUXhCLFdBQVd3QixNQUFNO1FBQ3pCdUIsV0FBVztRQUNYaEMsV0FBV0MsSUFBQUEsb0JBQVcsRUFBQ2Y7UUFDdkJJO0lBQ0Y7SUFFQSxPQUFPd0M7QUFDVCJ9
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVPbmUgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgYnVpbGRRdWVyeSBmcm9tICcuL3F1ZXJpZXMvYnVpbGRRdWVyeSdcbmltcG9ydCB7IHNlbGVjdERpc3RpbmN0IH0gZnJvbSAnLi9xdWVyaWVzL3NlbGVjdERpc3RpbmN0J1xuaW1wb3J0IHsgdXBzZXJ0Um93IH0gZnJvbSAnLi91cHNlcnRSb3cnXG5cbmV4cG9ydCBjb25zdCB1cGRhdGVPbmU6IFVwZGF0ZU9uZSA9IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZU9uZShcbiAgdGhpczogUG9zdGdyZXNBZGFwdGVyLFxuICB7IGlkLCBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZywgZGF0YSwgZHJhZnQsIGxvY2FsZSwgcmVxLCB3aGVyZTogd2hlcmVBcmcgfSxcbikge1xuICBjb25zdCBkYiA9IHRoaXMuc2Vzc2lvbnNbcmVxLnRyYW5zYWN0aW9uSURdPy5kYiB8fCB0aGlzLmRyaXp6bGVcbiAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMucGF5bG9hZC5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uU2x1Z10uY29uZmlnXG4gIGNvbnN0IHRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGNvbGxlY3Rpb25TbHVnKVxuICBjb25zdCB3aGVyZVRvVXNlID0gd2hlcmVBcmcgfHwgeyBpZDogeyBlcXVhbHM6IGlkIH0gfVxuICBsZXQgaWRUb1VwZGF0ZSA9IGlkXG5cbiAgY29uc3QgeyBqb2luQWxpYXNlcywgam9pbnMsIHNlbGVjdEZpZWxkcywgd2hlcmUgfSA9IGF3YWl0IGJ1aWxkUXVlcnkoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICBsb2NhbGUsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlOiB3aGVyZVRvVXNlLFxuICB9KVxuXG4gIGNvbnN0IHNlbGVjdERpc3RpbmN0UmVzdWx0ID0gYXdhaXQgc2VsZWN0RGlzdGluY3Qoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgY2hhaW5lZE1ldGhvZHM6IFt7IGFyZ3M6IFsxXSwgbWV0aG9kOiAnbGltaXQnIH1dLFxuICAgIGRiLFxuICAgIGpvaW5BbGlhc2VzLFxuICAgIGpvaW5zLFxuICAgIHNlbGVjdEZpZWxkcyxcbiAgICB0YWJsZU5hbWUsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgaWYgKHNlbGVjdERpc3RpbmN0UmVzdWx0Py5bMF0/LmlkKSB7XG4gICAgaWRUb1VwZGF0ZSA9IHNlbGVjdERpc3RpbmN0UmVzdWx0Py5bMF0/LmlkXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3coe1xuICAgIGlkOiBpZFRvVXBkYXRlLFxuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgZGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24uZmllbGRzLFxuICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgcmVxLFxuICAgIHRhYmxlTmFtZTogdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVPbmUiLCJpZCIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJkcmFmdCIsImxvY2FsZSIsInJlcSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsIndoZXJlVG9Vc2UiLCJlcXVhbHMiLCJpZFRvVXBkYXRlIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsInNlbGVjdEZpZWxkcyIsImJ1aWxkUXVlcnkiLCJhZGFwdGVyIiwiZmllbGRzIiwic2VsZWN0RGlzdGluY3RSZXN1bHQiLCJzZWxlY3REaXN0aW5jdCIsImNoYWluZWRNZXRob2RzIiwiYXJncyIsIm1ldGhvZCIsInJlc3VsdCIsInVwc2VydFJvdyIsIm9wZXJhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFVYUE7OztlQUFBQTs7O29FQVJXO21FQUlEO2dDQUNROzJCQUNMOzs7Ozs7QUFFbkIsTUFBTUEsWUFBdUIsZUFBZUEsVUFFakQsRUFBRUMsRUFBRSxFQUFFQyxZQUFZQyxjQUFjLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLEdBQUcsRUFBRUMsT0FBT0MsUUFBUSxFQUFFO0lBRTdFLE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNKLElBQUlLLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNWCxhQUFhLElBQUksQ0FBQ1ksT0FBTyxDQUFDQyxXQUFXLENBQUNaLGVBQWUsQ0FBQ2EsTUFBTTtJQUNsRSxNQUFNQyxZQUFZQyxJQUFBQSxvQkFBVyxFQUFDZjtJQUM5QixNQUFNZ0IsYUFBYVYsWUFBWTtRQUFFUixJQUFJO1lBQUVtQixRQUFRbkI7UUFBRztJQUFFO0lBQ3BELElBQUlvQixhQUFhcEI7SUFFakIsTUFBTSxFQUFFcUIsV0FBVyxFQUFFQyxLQUFLLEVBQUVDLFlBQVksRUFBRWhCLEtBQUssRUFBRSxHQUFHLE1BQU1pQixJQUFBQSxtQkFBVSxFQUFDO1FBQ25FQyxTQUFTLElBQUk7UUFDYkMsUUFBUXpCLFdBQVd5QixNQUFNO1FBQ3pCckI7UUFDQVc7UUFDQVQsT0FBT1c7SUFDVDtJQUVBLE1BQU1TLHVCQUF1QixNQUFNQyxJQUFBQSw4QkFBYyxFQUFDO1FBQ2hESCxTQUFTLElBQUk7UUFDYkksZ0JBQWdCO1lBQUM7Z0JBQUVDLE1BQU07b0JBQUM7aUJBQUU7Z0JBQUVDLFFBQVE7WUFBUTtTQUFFO1FBQ2hEdEI7UUFDQVk7UUFDQUM7UUFDQUM7UUFDQVA7UUFDQVQ7SUFDRjtJQUVBLElBQUlvQixzQkFBc0IsQ0FBQyxFQUFFLEVBQUUzQixJQUFJO1FBQ2pDb0IsYUFBYU8sc0JBQXNCLENBQUMsRUFBRSxFQUFFM0I7SUFDMUM7SUFFQSxNQUFNZ0MsU0FBUyxNQUFNQyxJQUFBQSxvQkFBUyxFQUFDO1FBQzdCakMsSUFBSW9CO1FBQ0pLLFNBQVMsSUFBSTtRQUNidEI7UUFDQU07UUFDQWlCLFFBQVF6QixXQUFXeUIsTUFBTTtRQUN6QlEsV0FBVztRQUNYNUI7UUFDQVUsV0FBV0MsSUFBQUEsb0JBQVcsRUFBQ2Y7SUFDekI7SUFFQSxPQUFPOEI7QUFDVCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"insertArrays.d.ts","sourceRoot":"","sources":["../../src/upsertRow/insertArrays.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,EAAE,CAAA;IACH,EAAE,EAAE,SAAS,CAAA;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,YAAY,wCAA+C,IAAI,KAAG,QAAQ,IAAI,CA6D1F,CAAA"}
1
+ {"version":3,"file":"insertArrays.d.ts","sourceRoot":"","sources":["../../src/upsertRow/insertArrays.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,EAAE,CAAA;IACH,EAAE,EAAE,SAAS,CAAA;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,YAAY,wCAA+C,IAAI,KAAG,QAAQ,IAAI,CAyE1F,CAAA"}
@@ -24,7 +24,7 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
24
24
  const parentID = parentRows[parentRowIndex].id;
25
25
  // Add any sub arrays that need to be created
26
26
  // We will call this recursively below
27
- arrayRows.forEach((arrayRow)=>{
27
+ arrayRows.forEach((arrayRow, i)=>{
28
28
  if (Object.keys(arrayRow.arrays).length > 0) {
29
29
  rowsByTable[tableName].arrays.push(arrayRow.arrays);
30
30
  }
@@ -35,6 +35,9 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
35
35
  arrayRowLocaleData._parentID = arrayRow.row.id;
36
36
  arrayRowLocaleData._locale = arrayRowLocale;
37
37
  rowsByTable[tableName].locales.push(arrayRowLocaleData);
38
+ if (!arrayRow.row.id) {
39
+ arrayRowLocaleData._getParentID = (rows)=>rows[i].id;
40
+ }
38
41
  });
39
42
  });
40
43
  });
@@ -49,6 +52,15 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
49
52
  }
50
53
  // Insert locale rows
51
54
  if (adapter.tables[`${tableName}_locales`] && row.locales.length > 0) {
55
+ if (!row.locales[0]._parentID) {
56
+ row.locales = row.locales.map((localeRow, i)=>{
57
+ if (typeof localeRow._getParentID === 'function') {
58
+ localeRow._parentID = localeRow._getParentID(insertedRows);
59
+ delete localeRow._getParentID;
60
+ }
61
+ return localeRow;
62
+ });
63
+ }
52
64
  await db.insert(adapter.tables[`${tableName}_locales`]).values(row.locales).returning();
53
65
  }
54
66
  // If there are sub arrays, call this function recursively
@@ -63,4 +75,4 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
63
75
  }
64
76
  };
65
77
 
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdykgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICBhcnJheVJvd0xvY2FsZURhdGEuX3BhcmVudElEID0gYXJyYXlSb3cucm93LmlkXG4gICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9sb2NhbGUgPSBhcnJheVJvd0xvY2FsZVxuICAgICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ubG9jYWxlcy5wdXNoKGFycmF5Um93TG9jYWxlRGF0YSlcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfSlcbiAgfSlcblxuICAvLyBJbnNlcnQgYWxsIGNvcnJlc3BvbmRpbmcgYXJyYXlzXG4gIC8vIChvbmUgaW5zZXJ0IHBlciBhcnJheSB0YWJsZSlcbiAgZm9yIChjb25zdCBbdGFibGVOYW1lLCByb3ddIG9mIE9iamVjdC5lbnRyaWVzKHJvd3NCeVRhYmxlKSkge1xuICAgIC8vIHRoZSBuZXN0ZWQgYXJyYXlzIG5lZWQgdGhlIElEIGZvciB0aGUgcGFyZW50SUQgZm9yZWlnbiBrZXlcbiAgICBsZXQgaW5zZXJ0ZWRSb3dzOiBBcmdzWydwYXJlbnRSb3dzJ11cbiAgICBpZiAocm93LnJvd3MubGVuZ3RoID4gMCkge1xuICAgICAgaW5zZXJ0ZWRSb3dzID0gYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0pLnZhbHVlcyhyb3cucm93cykucmV0dXJuaW5nKClcbiAgICB9XG5cbiAgICAvLyBJbnNlcnQgbG9jYWxlIHJvd3NcbiAgICBpZiAoYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfV9sb2NhbGVzYF0gJiYgcm93LmxvY2FsZXMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX1fbG9jYWxlc2BdKS52YWx1ZXMocm93LmxvY2FsZXMpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHN1YiBhcnJheXMsIGNhbGwgdGhpcyBmdW5jdGlvbiByZWN1cnNpdmVseVxuICAgIGlmIChyb3cuYXJyYXlzLmxlbmd0aCA+IDApIHtcbiAgICAgIGF3YWl0IGluc2VydEFycmF5cyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5czogcm93LmFycmF5cyxcbiAgICAgICAgZGIsXG4gICAgICAgIHBhcmVudFJvd3M6IGluc2VydGVkUm93cyxcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiaW5zZXJ0QXJyYXlzIiwiYWRhcHRlciIsImFycmF5cyIsImRiIiwicGFyZW50Um93cyIsInJvd3NCeVRhYmxlIiwiZm9yRWFjaCIsImFycmF5c0J5VGFibGUiLCJwYXJlbnRSb3dJbmRleCIsIk9iamVjdCIsImVudHJpZXMiLCJ0YWJsZU5hbWUiLCJhcnJheVJvd3MiLCJsb2NhbGVzIiwicm93cyIsInBhcmVudElEIiwiaWQiLCJhcnJheVJvdyIsImtleXMiLCJsZW5ndGgiLCJwdXNoIiwicm93IiwiX3BhcmVudElEIiwiYXJyYXlSb3dMb2NhbGUiLCJhcnJheVJvd0xvY2FsZURhdGEiLCJfbG9jYWxlIiwiaW5zZXJ0ZWRSb3dzIiwiaW5zZXJ0IiwidGFibGVzIiwidmFsdWVzIiwicmV0dXJuaW5nIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBdUJ2QkE7OztlQUFBQTs7O0FBQU4sTUFBTUEsZUFBZSxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLFVBQVUsRUFBUTtJQUMxRSw0Q0FBNEM7SUFDNUMsTUFBTUMsY0FBMkIsQ0FBQztJQUVsQ0gsT0FBT0ksT0FBTyxDQUFDLENBQUNDLGVBQWVDO1FBQzdCQyxPQUFPQyxPQUFPLENBQUNILGVBQWVELE9BQU8sQ0FBQyxDQUFDLENBQUNLLFdBQVdDLFVBQVU7WUFDM0QsbURBQW1EO1lBQ25ELElBQUksQ0FBQ1AsV0FBVyxDQUFDTSxVQUFVLEVBQUU7Z0JBQzNCTixXQUFXLENBQUNNLFVBQVUsR0FBRztvQkFDdkJULFFBQVEsRUFBRTtvQkFDVlcsU0FBUyxFQUFFO29CQUNYQyxNQUFNLEVBQUU7Z0JBQ1Y7WUFDRjtZQUVBLE1BQU1DLFdBQVdYLFVBQVUsQ0FBQ0ksZUFBZSxDQUFDUSxFQUFFO1lBRTlDLDZDQUE2QztZQUM3QyxzQ0FBc0M7WUFDdENKLFVBQVVOLE9BQU8sQ0FBQyxDQUFDVztnQkFDakIsSUFBSVIsT0FBT1MsSUFBSSxDQUFDRCxTQUFTZixNQUFNLEVBQUVpQixNQUFNLEdBQUcsR0FBRztvQkFDM0NkLFdBQVcsQ0FBQ00sVUFBVSxDQUFDVCxNQUFNLENBQUNrQixJQUFJLENBQUNILFNBQVNmLE1BQU07Z0JBQ3BEO2dCQUVBLGdEQUFnRDtnQkFDaERlLFNBQVNJLEdBQUcsQ0FBQ0MsU0FBUyxHQUFHUDtnQkFDekJWLFdBQVcsQ0FBQ00sVUFBVSxDQUFDRyxJQUFJLENBQUNNLElBQUksQ0FBQ0gsU0FBU0ksR0FBRztnQkFFN0NaLE9BQU9DLE9BQU8sQ0FBQ08sU0FBU0osT0FBTyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDaUIsZ0JBQWdCQyxtQkFBbUI7b0JBQzVFQSxtQkFBbUJGLFNBQVMsR0FBR0wsU0FBU0ksR0FBRyxDQUFDTCxFQUFFO29CQUM5Q1EsbUJBQW1CQyxPQUFPLEdBQUdGO29CQUM3QmxCLFdBQVcsQ0FBQ00sVUFBVSxDQUFDRSxPQUFPLENBQUNPLElBQUksQ0FBQ0k7Z0JBQ3RDO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsa0NBQWtDO0lBQ2xDLCtCQUErQjtJQUMvQixLQUFLLE1BQU0sQ0FBQ2IsV0FBV1UsSUFBSSxJQUFJWixPQUFPQyxPQUFPLENBQUNMLGFBQWM7UUFDMUQsNkRBQTZEO1FBQzdELElBQUlxQjtRQUNKLElBQUlMLElBQUlQLElBQUksQ0FBQ0ssTUFBTSxHQUFHLEdBQUc7WUFDdkJPLGVBQWUsTUFBTXZCLEdBQUd3QixNQUFNLENBQUMxQixRQUFRMkIsTUFBTSxDQUFDakIsVUFBVSxFQUFFa0IsTUFBTSxDQUFDUixJQUFJUCxJQUFJLEVBQUVnQixTQUFTO1FBQ3RGO1FBRUEscUJBQXFCO1FBQ3JCLElBQUk3QixRQUFRMkIsTUFBTSxDQUFDLENBQUMsRUFBRWpCLFVBQVUsUUFBUSxDQUFDLENBQUMsSUFBSVUsSUFBSVIsT0FBTyxDQUFDTSxNQUFNLEdBQUcsR0FBRztZQUNwRSxNQUFNaEIsR0FBR3dCLE1BQU0sQ0FBQzFCLFFBQVEyQixNQUFNLENBQUMsQ0FBQyxFQUFFakIsVUFBVSxRQUFRLENBQUMsQ0FBQyxFQUFFa0IsTUFBTSxDQUFDUixJQUFJUixPQUFPLEVBQUVpQixTQUFTO1FBQ3ZGO1FBRUEsMERBQTBEO1FBQzFELElBQUlULElBQUluQixNQUFNLENBQUNpQixNQUFNLEdBQUcsR0FBRztZQUN6QixNQUFNbkIsYUFBYTtnQkFDakJDO2dCQUNBQyxRQUFRbUIsSUFBSW5CLE1BQU07Z0JBQ2xCQztnQkFDQUMsWUFBWXNCO1lBQ2Q7UUFDRjtJQUNGO0FBQ0YifQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICBhcnJheVJvd0xvY2FsZURhdGEuX3BhcmVudElEID0gYXJyYXlSb3cucm93LmlkXG4gICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9sb2NhbGUgPSBhcnJheVJvd0xvY2FsZVxuICAgICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ubG9jYWxlcy5wdXNoKGFycmF5Um93TG9jYWxlRGF0YSlcbiAgICAgICAgICBpZiAoIWFycmF5Um93LnJvdy5pZCkge1xuICAgICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9nZXRQYXJlbnRJRCA9IChyb3dzKSA9PiByb3dzW2ldLmlkXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9KVxuXG4gIC8vIEluc2VydCBhbGwgY29ycmVzcG9uZGluZyBhcnJheXNcbiAgLy8gKG9uZSBpbnNlcnQgcGVyIGFycmF5IHRhYmxlKVxuICBmb3IgKGNvbnN0IFt0YWJsZU5hbWUsIHJvd10gb2YgT2JqZWN0LmVudHJpZXMocm93c0J5VGFibGUpKSB7XG4gICAgLy8gdGhlIG5lc3RlZCBhcnJheXMgbmVlZCB0aGUgSUQgZm9yIHRoZSBwYXJlbnRJRCBmb3JlaWduIGtleVxuICAgIGxldCBpbnNlcnRlZFJvd3M6IEFyZ3NbJ3BhcmVudFJvd3MnXVxuICAgIGlmIChyb3cucm93cy5sZW5ndGggPiAwKSB7XG4gICAgICBpbnNlcnRlZFJvd3MgPSBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSkudmFsdWVzKHJvdy5yb3dzKS5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIEluc2VydCBsb2NhbGUgcm93c1xuICAgIGlmIChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXSAmJiByb3cubG9jYWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoIXJvdy5sb2NhbGVzWzBdLl9wYXJlbnRJRCkge1xuICAgICAgICByb3cubG9jYWxlcyA9IHJvdy5sb2NhbGVzLm1hcCgobG9jYWxlUm93LCBpKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGVSb3cuX2dldFBhcmVudElEID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBsb2NhbGVSb3cuX3BhcmVudElEID0gbG9jYWxlUm93Ll9nZXRQYXJlbnRJRChpbnNlcnRlZFJvd3MpXG4gICAgICAgICAgICBkZWxldGUgbG9jYWxlUm93Ll9nZXRQYXJlbnRJRFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbG9jYWxlUm93XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfV9sb2NhbGVzYF0pLnZhbHVlcyhyb3cubG9jYWxlcykucmV0dXJuaW5nKClcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSBhcmUgc3ViIGFycmF5cywgY2FsbCB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2l2ZWx5XG4gICAgaWYgKHJvdy5hcnJheXMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgaW5zZXJ0QXJyYXlzKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgYXJyYXlzOiByb3cuYXJyYXlzLFxuICAgICAgICBkYixcbiAgICAgICAgcGFyZW50Um93czogaW5zZXJ0ZWRSb3dzLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpbnNlcnRBcnJheXMiLCJhZGFwdGVyIiwiYXJyYXlzIiwiZGIiLCJwYXJlbnRSb3dzIiwicm93c0J5VGFibGUiLCJmb3JFYWNoIiwiYXJyYXlzQnlUYWJsZSIsInBhcmVudFJvd0luZGV4IiwiT2JqZWN0IiwiZW50cmllcyIsInRhYmxlTmFtZSIsImFycmF5Um93cyIsImxvY2FsZXMiLCJyb3dzIiwicGFyZW50SUQiLCJpZCIsImFycmF5Um93IiwiaSIsImtleXMiLCJsZW5ndGgiLCJwdXNoIiwicm93IiwiX3BhcmVudElEIiwiYXJyYXlSb3dMb2NhbGUiLCJhcnJheVJvd0xvY2FsZURhdGEiLCJfbG9jYWxlIiwiX2dldFBhcmVudElEIiwiaW5zZXJ0ZWRSb3dzIiwiaW5zZXJ0Iiwi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
@@ -1,3 +1,3 @@
1
- import type { DrizzleDB } from '../types';
2
- export declare const createMigrationTable: (db: DrizzleDB) => Promise<void>;
1
+ import type { PostgresAdapter } from '../types';
2
+ export declare const createMigrationTable: (adapter: PostgresAdapter) => Promise<void>;
3
3
  //# sourceMappingURL=createMigrationTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMigrationTable.d.ts","sourceRoot":"","sources":["../../src/utilities/createMigrationTable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,eAAO,MAAM,oBAAoB,qBAA0B,QAAQ,IAAI,CAQtE,CAAA"}
1
+ {"version":3,"file":"createMigrationTable.d.ts","sourceRoot":"","sources":["../../src/utilities/createMigrationTable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,eAAO,MAAM,oBAAoB,YAAmB,eAAe,KAAG,QAAQ,IAAI,CAYjF,CAAA"}
@@ -9,14 +9,15 @@ Object.defineProperty(exports, "createMigrationTable", {
9
9
  }
10
10
  });
11
11
  const _drizzleorm = require("drizzle-orm");
12
- const createMigrationTable = async (db)=>{
13
- await db.execute((0, _drizzleorm.sql)`CREATE TABLE IF NOT EXISTS "payload_migrations" (
12
+ const createMigrationTable = async (adapter)=>{
13
+ const prependSchema = adapter.schemaName ? `"${adapter.schemaName}".` : '';
14
+ await adapter.drizzle.execute(_drizzleorm.sql.raw(`CREATE TABLE IF NOT EXISTS ${prependSchema}"payload_migrations" (
14
15
  "id" serial PRIMARY KEY NOT NULL,
15
16
  "name" varchar,
16
17
  "batch" numeric,
17
18
  "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL,
18
19
  "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL
19
- );`);
20
+ );`));
20
21
  };
21
22
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlTWlncmF0aW9uVGFibGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgRHJpenpsZURCIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNaWdyYXRpb25UYWJsZSA9IGFzeW5jIChkYjogRHJpenpsZURCKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGF3YWl0IGRiLmV4ZWN1dGUoc3FsYENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFwicGF5bG9hZF9taWdyYXRpb25zXCIgKFxuICBcImlkXCIgc2VyaWFsIFBSSU1BUlkgS0VZIE5PVCBOVUxMLFxuICBcIm5hbWVcIiB2YXJjaGFyLFxuICBcImJhdGNoXCIgbnVtZXJpYyxcbiAgXCJ1cGRhdGVkX2F0XCIgdGltZXN0YW1wKDMpIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCgzKSB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMXG4pO2ApXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlTWlncmF0aW9uVGFibGUiLCJkYiIsImV4ZWN1dGUiLCJzcWwiXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7Ozs0QkFKTztBQUliLE1BQU1BLHVCQUF1QixPQUFPQztJQUN6QyxNQUFNQSxHQUFHQyxPQUFPLENBQUNDLElBQUFBLGVBQUcsQ0FBQSxDQUFDOzs7Ozs7RUFNckIsQ0FBQztBQUNIIn0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlTWlncmF0aW9uVGFibGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNaWdyYXRpb25UYWJsZSA9IGFzeW5jIChhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgcHJlcGVuZFNjaGVtYSA9IGFkYXB0ZXIuc2NoZW1hTmFtZSA/IGBcIiR7YWRhcHRlci5zY2hlbWFOYW1lfVwiLmAgOiAnJ1xuXG4gIGF3YWl0IGFkYXB0ZXIuZHJpenpsZS5leGVjdXRlKFxuICAgIHNxbC5yYXcoYENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICR7cHJlcGVuZFNjaGVtYX1cInBheWxvYWRfbWlncmF0aW9uc1wiIChcbiAgXCJpZFwiIHNlcmlhbCBQUklNQVJZIEtFWSBOT1QgTlVMTCxcbiAgXCJuYW1lXCIgdmFyY2hhcixcbiAgXCJiYXRjaFwiIG51bWVyaWMsXG4gIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCgzKSB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAoMykgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuKTtgKSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZU1pZ3JhdGlvblRhYmxlIiwiYWRhcHRlciIsInByZXBlbmRTY2hlbWEiLCJzY2hlbWFOYW1lIiwiZHJpenpsZSIsImV4ZWN1dGUiLCJzcWwiLCJyYXciXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7Ozs0QkFKTztBQUliLE1BQU1BLHVCQUF1QixPQUFPQztJQUN6QyxNQUFNQyxnQkFBZ0JELFFBQVFFLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRUYsUUFBUUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxHQUFHO0lBRXhFLE1BQU1GLFFBQVFHLE9BQU8sQ0FBQ0MsT0FBTyxDQUMzQkMsZUFBRyxDQUFDQyxHQUFHLENBQUMsQ0FBQywyQkFBMkIsRUFBRUwsY0FBYzs7Ozs7O0VBTXRELENBQUM7QUFFSCJ9
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "@payloadcms/db-postgres",
3
- "version": "0.6.0",
3
+ "version": "0.7.1",
4
4
  "description": "The officially supported Postgres database adapter for Payload",
5
- "repository": "https://github.com/payloadcms/payload",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/payloadcms/payload.git",
8
+ "directory": "packages/db-postgres"
9
+ },
6
10
  "license": "MIT",
7
11
  "homepage": "https://payloadcms.com",
8
12
  "author": {
@@ -25,8 +29,8 @@
25
29
  "devDependencies": {
26
30
  "@types/pg": "8.10.2",
27
31
  "@types/to-snake-case": "1.0.0",
28
- "payload": "2.11.1",
29
- "@payloadcms/eslint-config": "1.1.1"
32
+ "@payloadcms/eslint-config": "1.1.1",
33
+ "payload": "2.12.0"
30
34
  },
31
35
  "peerDependencies": {
32
36
  "payload": "^2.0.0"