@payloadcms/plugin-cloud-storage 3.0.0-alpha.41 → 3.0.0-alpha.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/adapters/azure/generateURL.js +1 -1
  2. package/dist/adapters/azure/generateURL.js.map +1 -0
  3. package/dist/adapters/azure/handleDelete.js +1 -1
  4. package/dist/adapters/azure/handleDelete.js.map +1 -0
  5. package/dist/adapters/azure/handleUpload.js +1 -1
  6. package/dist/adapters/azure/handleUpload.js.map +1 -0
  7. package/dist/adapters/azure/index.js +1 -1
  8. package/dist/adapters/azure/index.js.map +1 -0
  9. package/dist/adapters/azure/staticHandler.js +1 -1
  10. package/dist/adapters/azure/staticHandler.js.map +1 -0
  11. package/dist/adapters/gcs/generateURL.js +1 -1
  12. package/dist/adapters/gcs/generateURL.js.map +1 -0
  13. package/dist/adapters/gcs/handleDelete.js +1 -1
  14. package/dist/adapters/gcs/handleDelete.js.map +1 -0
  15. package/dist/adapters/gcs/handleUpload.js +1 -1
  16. package/dist/adapters/gcs/handleUpload.js.map +1 -0
  17. package/dist/adapters/gcs/index.js +1 -1
  18. package/dist/adapters/gcs/index.js.map +1 -0
  19. package/dist/adapters/gcs/staticHandler.js +1 -1
  20. package/dist/adapters/gcs/staticHandler.js.map +1 -0
  21. package/dist/adapters/s3/generateURL.js +1 -1
  22. package/dist/adapters/s3/generateURL.js.map +1 -0
  23. package/dist/adapters/s3/handleDelete.js +1 -1
  24. package/dist/adapters/s3/handleDelete.js.map +1 -0
  25. package/dist/adapters/s3/handleUpload.js +1 -1
  26. package/dist/adapters/s3/handleUpload.js.map +1 -0
  27. package/dist/adapters/s3/index.js +1 -1
  28. package/dist/adapters/s3/index.js.map +1 -0
  29. package/dist/adapters/s3/staticHandler.js +1 -1
  30. package/dist/adapters/s3/staticHandler.js.map +1 -0
  31. package/dist/admin/fields/getFields.js +1 -1
  32. package/dist/admin/fields/getFields.js.map +1 -0
  33. package/dist/admin/index.js +1 -1
  34. package/dist/admin/index.js.map +1 -0
  35. package/dist/fields/getFields.js +1 -1
  36. package/dist/fields/getFields.js.map +1 -0
  37. package/dist/hooks/afterDelete.js +1 -1
  38. package/dist/hooks/afterDelete.js.map +1 -0
  39. package/dist/hooks/afterRead.js +1 -1
  40. package/dist/hooks/afterRead.js.map +1 -0
  41. package/dist/hooks/beforeChange.js +1 -1
  42. package/dist/hooks/beforeChange.js.map +1 -0
  43. package/dist/index.js +1 -1
  44. package/dist/index.js.map +1 -0
  45. package/dist/plugin.js +1 -1
  46. package/dist/plugin.js.map +1 -0
  47. package/dist/types.js +1 -1
  48. package/dist/types.js.map +1 -0
  49. package/dist/utilities/getFilePrefix.js +1 -1
  50. package/dist/utilities/getFilePrefix.js.map +1 -0
  51. package/dist/utilities/getIncomingFiles.js +1 -1
  52. package/dist/utilities/getIncomingFiles.js.map +1 -0
  53. package/dist/utilities/getRangeFromHeader.js +1 -1
  54. package/dist/utilities/getRangeFromHeader.js.map +1 -0
  55. package/package.json +3 -3
@@ -3,4 +3,4 @@ export const getGenerateURL = ({ baseURL, containerName })=>({ filename, prefix
3
3
  return `${baseURL}/${containerName}/${path.posix.join(prefix, filename)}`;
4
4
  };
5
5
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9henVyZS9nZW5lcmF0ZVVSTC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlVVJMIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnXG5cbmludGVyZmFjZSBBcmdzIHtcbiAgYmFzZVVSTDogc3RyaW5nXG4gIGNvbnRhaW5lck5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgZ2V0R2VuZXJhdGVVUkwgPVxuICAoeyBiYXNlVVJMLCBjb250YWluZXJOYW1lIH06IEFyZ3MpOiBHZW5lcmF0ZVVSTCA9PlxuICAoeyBmaWxlbmFtZSwgcHJlZml4ID0gJycgfSkgPT4ge1xuICAgIHJldHVybiBgJHtiYXNlVVJMfS8ke2NvbnRhaW5lck5hbWV9LyR7cGF0aC5wb3NpeC5qb2luKHByZWZpeCwgZmlsZW5hbWUpfWBcbiAgfVxuIl0sIm5hbWVzIjpbInBhdGgiLCJnZXRHZW5lcmF0ZVVSTCIsImJhc2VVUkwiLCJjb250YWluZXJOYW1lIiwiZmlsZW5hbWUiLCJwcmVmaXgiLCJwb3NpeCIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFVBQVUsT0FBTTtBQVN2QixPQUFPLE1BQU1DLGlCQUNYLENBQUMsRUFBRUMsT0FBTyxFQUFFQyxhQUFhLEVBQVEsR0FDakMsQ0FBQyxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRSxFQUFFO1FBQ3hCLE9BQU8sQ0FBQyxFQUFFSCxRQUFRLENBQUMsRUFBRUMsY0FBYyxDQUFDLEVBQUVILEtBQUtNLEtBQUssQ0FBQ0MsSUFBSSxDQUFDRixRQUFRRCxVQUFVLENBQUM7SUFDM0UsRUFBQyJ9
6
+ //# sourceMappingURL=generateURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/azure/generateURL.ts"],"sourcesContent":["import path from 'path'\n\nimport type { GenerateURL } from '../../types.js'\n\ninterface Args {\n baseURL: string\n containerName: string\n}\n\nexport const getGenerateURL =\n ({ baseURL, containerName }: Args): GenerateURL =>\n ({ filename, prefix = '' }) => {\n return `${baseURL}/${containerName}/${path.posix.join(prefix, filename)}`\n }\n"],"names":["path","getGenerateURL","baseURL","containerName","filename","prefix","posix","join"],"mappings":"AAAA,OAAOA,UAAU,OAAM;AASvB,OAAO,MAAMC,iBACX,CAAC,EAAEC,OAAO,EAAEC,aAAa,EAAQ,GACjC,CAAC,EAAEC,QAAQ,EAAEC,SAAS,EAAE,EAAE;QACxB,OAAO,CAAC,EAAEH,QAAQ,CAAC,EAAEC,cAAc,CAAC,EAAEH,KAAKM,KAAK,CAACC,IAAI,CAACF,QAAQD,UAAU,CAAC;IAC3E,EAAC"}
@@ -6,4 +6,4 @@ export const getHandleDelete = ({ getStorageClient })=>{
6
6
  };
7
7
  };
8
8
 
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9henVyZS9oYW5kbGVEZWxldGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250YWluZXJDbGllbnQgfSBmcm9tICdAYXp1cmUvc3RvcmFnZS1ibG9iJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHR5cGUgeyBIYW5kbGVEZWxldGUgfSBmcm9tICcuLi8uLi90eXBlcy5qcydcblxuaW50ZXJmYWNlIEFyZ3Mge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnXG4gIGdldFN0b3JhZ2VDbGllbnQ6ICgpID0+IENvbnRhaW5lckNsaWVudFxufVxuXG5leHBvcnQgY29uc3QgZ2V0SGFuZGxlRGVsZXRlID0gKHsgZ2V0U3RvcmFnZUNsaWVudCB9OiBBcmdzKTogSGFuZGxlRGVsZXRlID0+IHtcbiAgcmV0dXJuIGFzeW5jICh7IGRvYzogeyBwcmVmaXggPSAnJyB9LCBmaWxlbmFtZSB9KSA9PiB7XG4gICAgY29uc3QgYmxvY2tCbG9iQ2xpZW50ID0gZ2V0U3RvcmFnZUNsaWVudCgpLmdldEJsb2NrQmxvYkNsaWVudChwYXRoLnBvc2l4LmpvaW4ocHJlZml4LCBmaWxlbmFtZSkpXG4gICAgYXdhaXQgYmxvY2tCbG9iQ2xpZW50LmRlbGV0ZUlmRXhpc3RzKClcbiAgfVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJnZXRIYW5kbGVEZWxldGUiLCJnZXRTdG9yYWdlQ2xpZW50IiwiZG9jIiwicHJlZml4IiwiZmlsZW5hbWUiLCJibG9ja0Jsb2JDbGllbnQiLCJnZXRCbG9ja0Jsb2JDbGllbnQiLCJwb3NpeCIsImpvaW4iLCJkZWxldGVJZkV4aXN0cyJdLCJtYXBwaW5ncyI6IkFBR0EsT0FBT0EsVUFBVSxPQUFNO0FBU3ZCLE9BQU8sTUFBTUMsa0JBQWtCLENBQUMsRUFBRUMsZ0JBQWdCLEVBQVE7SUFDeEQsT0FBTyxPQUFPLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUFFLEVBQUUsRUFBRUMsUUFBUSxFQUFFO1FBQzlDLE1BQU1DLGtCQUFrQkosbUJBQW1CSyxrQkFBa0IsQ0FBQ1AsS0FBS1EsS0FBSyxDQUFDQyxJQUFJLENBQUNMLFFBQVFDO1FBQ3RGLE1BQU1DLGdCQUFnQkksY0FBYztJQUN0QztBQUNGLEVBQUMifQ==
9
+ //# sourceMappingURL=handleDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/azure/handleDelete.ts"],"sourcesContent":["import type { ContainerClient } from '@azure/storage-blob'\nimport type { CollectionConfig } from 'payload/types'\n\nimport path from 'path'\n\nimport type { HandleDelete } from '../../types.js'\n\ninterface Args {\n collection: CollectionConfig\n getStorageClient: () => ContainerClient\n}\n\nexport const getHandleDelete = ({ getStorageClient }: Args): HandleDelete => {\n return async ({ doc: { prefix = '' }, filename }) => {\n const blockBlobClient = getStorageClient().getBlockBlobClient(path.posix.join(prefix, filename))\n await blockBlobClient.deleteIfExists()\n }\n}\n"],"names":["path","getHandleDelete","getStorageClient","doc","prefix","filename","blockBlobClient","getBlockBlobClient","posix","join","deleteIfExists"],"mappings":"AAGA,OAAOA,UAAU,OAAM;AASvB,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,gBAAgB,EAAQ;IACxD,OAAO,OAAO,EAAEC,KAAK,EAAEC,SAAS,EAAE,EAAE,EAAEC,QAAQ,EAAE;QAC9C,MAAMC,kBAAkBJ,mBAAmBK,kBAAkB,CAACP,KAAKQ,KAAK,CAACC,IAAI,CAACL,QAAQC;QACtF,MAAMC,gBAAgBI,cAAc;IACtC;AACF,EAAC"}
@@ -25,4 +25,4 @@ export const getHandleUpload = ({ getStorageClient, prefix = '' })=>{
25
25
  };
26
26
  };
27
27
 
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9henVyZS9oYW5kbGVVcGxvYWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250YWluZXJDbGllbnQgfSBmcm9tICdAYXp1cmUvc3RvcmFnZS1ibG9iJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnQGF6dXJlL2Fib3J0LWNvbnRyb2xsZXInXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tICdzdHJlYW0nXG5cbmltcG9ydCB0eXBlIHsgSGFuZGxlVXBsb2FkIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnXG5cbmludGVyZmFjZSBBcmdzIHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBnZXRTdG9yYWdlQ2xpZW50OiAoKSA9PiBDb250YWluZXJDbGllbnRcbiAgcHJlZml4Pzogc3RyaW5nXG59XG5cbmNvbnN0IG11bHRpcGFydFRocmVzaG9sZCA9IDEwMjQgKiAxMDI0ICogNTAgLy8gNTBNQlxuZXhwb3J0IGNvbnN0IGdldEhhbmRsZVVwbG9hZCA9ICh7IGdldFN0b3JhZ2VDbGllbnQsIHByZWZpeCA9ICcnIH06IEFyZ3MpOiBIYW5kbGVVcGxvYWQgPT4ge1xuICByZXR1cm4gYXN5bmMgKHsgZGF0YSwgZmlsZSB9KSA9PiB7XG4gICAgY29uc3QgZmlsZUtleSA9IHBhdGgucG9zaXguam9pbihkYXRhLnByZWZpeCB8fCBwcmVmaXgsIGZpbGUuZmlsZW5hbWUpXG5cbiAgICBjb25zdCBibG9ja0Jsb2JDbGllbnQgPSBnZXRTdG9yYWdlQ2xpZW50KCkuZ2V0QmxvY2tCbG9iQ2xpZW50KGZpbGVLZXkpXG5cbiAgICAvLyB3aGVuIHRoZXJlIGFyZSBubyB0ZW1wIGZpbGVzLCBvciB0aGUgdXBsb2FkIGlzIGxlc3MgdGhhbiB0aGUgdGhyZXNob2xkIHNpemUsIGRvIG5vdCBzdHJlYW0gZmlsZXNcbiAgICBpZiAoIWZpbGUudGVtcEZpbGVQYXRoICYmIGZpbGUuYnVmZmVyLmxlbmd0aCA+IDAgJiYgZmlsZS5idWZmZXIubGVuZ3RoIDwgbXVsdGlwYXJ0VGhyZXNob2xkKSB7XG4gICAgICBhd2FpdCBibG9ja0Jsb2JDbGllbnQudXBsb2FkKGZpbGUuYnVmZmVyLCBmaWxlLmJ1ZmZlci5ieXRlTGVuZ3RoLCB7XG4gICAgICAgIGJsb2JIVFRQSGVhZGVyczogeyBibG9iQ29udGVudFR5cGU6IGZpbGUubWltZVR5cGUgfSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgY29uc3QgZmlsZUJ1ZmZlck9yU3RyZWFtOiBSZWFkYWJsZSA9IGZpbGUudGVtcEZpbGVQYXRoXG4gICAgICA/IGZzLmNyZWF0ZVJlYWRTdHJlYW0oZmlsZS50ZW1wRmlsZVBhdGgpXG4gICAgICA6IFJlYWRhYmxlLmZyb20oZmlsZS5idWZmZXIpXG5cbiAgICBhd2FpdCBibG9ja0Jsb2JDbGllbnQudXBsb2FkU3RyZWFtKGZpbGVCdWZmZXJPclN0cmVhbSwgNCAqIDEwMjQgKiAxMDI0LCA0LCB7XG4gICAgICBhYm9ydFNpZ25hbDogQWJvcnRDb250cm9sbGVyLnRpbWVvdXQoMzAgKiA2MCAqIDEwMDApLFxuICAgIH0pXG5cbiAgICByZXR1cm4gZGF0YVxuICB9XG59XG4iXSwibmFtZXMiOlsiQWJvcnRDb250cm9sbGVyIiwiZnMiLCJwYXRoIiwiUmVhZGFibGUiLCJtdWx0aXBhcnRUaHJlc2hvbGQiLCJnZXRIYW5kbGVVcGxvYWQiLCJnZXRTdG9yYWdlQ2xpZW50IiwicHJlZml4IiwiZGF0YSIsImZpbGUiLCJmaWxlS2V5IiwicG9zaXgiLCJqb2luIiwiZmlsZW5hbWUiLCJibG9ja0Jsb2JDbGllbnQiLCJnZXRCbG9ja0Jsb2JDbGllbnQiLCJ0ZW1wRmlsZVBhdGgiLCJidWZmZXIiLCJsZW5ndGgiLCJ1cGxvYWQiLCJieXRlTGVuZ3RoIiwiYmxvYkhUVFBIZWFkZXJzIiwiYmxvYkNvbnRlbnRUeXBlIiwibWltZVR5cGUiLCJmaWxlQnVmZmVyT3JTdHJlYW0iLCJjcmVhdGVSZWFkU3RyZWFtIiwiZnJvbSIsInVwbG9hZFN0cmVhbSIsImFib3J0U2lnbmFsIiwidGltZW91dCJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EsZUFBZSxRQUFRLDBCQUF5QjtBQUN6RCxPQUFPQyxRQUFRLEtBQUk7QUFDbkIsT0FBT0MsVUFBVSxPQUFNO0FBQ3ZCLFNBQVNDLFFBQVEsUUFBUSxTQUFRO0FBVWpDLE1BQU1DLHFCQUFxQixPQUFPLE9BQU8sR0FBRyxPQUFPOztBQUNuRCxPQUFPLE1BQU1DLGtCQUFrQixDQUFDLEVBQUVDLGdCQUFnQixFQUFFQyxTQUFTLEVBQUUsRUFBUTtJQUNyRSxPQUFPLE9BQU8sRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUU7UUFDMUIsTUFBTUMsVUFBVVIsS0FBS1MsS0FBSyxDQUFDQyxJQUFJLENBQUNKLEtBQUtELE1BQU0sSUFBSUEsUUFBUUUsS0FBS0ksUUFBUTtRQUVwRSxNQUFNQyxrQkFBa0JSLG1CQUFtQlMsa0JBQWtCLENBQUNMO1FBRTlELG1HQUFtRztRQUNuRyxJQUFJLENBQUNELEtBQUtPLFlBQVksSUFBSVAsS0FBS1EsTUFBTSxDQUFDQyxNQUFNLEdBQUcsS0FBS1QsS0FBS1EsTUFBTSxDQUFDQyxNQUFNLEdBQUdkLG9CQUFvQjtZQUMzRixNQUFNVSxnQkFBZ0JLLE1BQU0sQ0FBQ1YsS0FBS1EsTUFBTSxFQUFFUixLQUFLUSxNQUFNLENBQUNHLFVBQVUsRUFBRTtnQkFDaEVDLGlCQUFpQjtvQkFBRUMsaUJBQWlCYixLQUFLYyxRQUFRO2dCQUFDO1lBQ3BEO1lBRUEsT0FBT2Y7UUFDVDtRQUVBLE1BQU1nQixxQkFBK0JmLEtBQUtPLFlBQVksR0FDbERmLEdBQUd3QixnQkFBZ0IsQ0FBQ2hCLEtBQUtPLFlBQVksSUFDckNiLFNBQVN1QixJQUFJLENBQUNqQixLQUFLUSxNQUFNO1FBRTdCLE1BQU1ILGdCQUFnQmEsWUFBWSxDQUFDSCxvQkFBb0IsSUFBSSxPQUFPLE1BQU0sR0FBRztZQUN6RUksYUFBYTVCLGdCQUFnQjZCLE9BQU8sQ0FBQyxLQUFLLEtBQUs7UUFDakQ7UUFFQSxPQUFPckI7SUFDVDtBQUNGLEVBQUMifQ==
28
+ //# sourceMappingURL=handleUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/azure/handleUpload.ts"],"sourcesContent":["import type { ContainerClient } from '@azure/storage-blob'\nimport type { CollectionConfig } from 'payload/types'\n\nimport { AbortController } from '@azure/abort-controller'\nimport fs from 'fs'\nimport path from 'path'\nimport { Readable } from 'stream'\n\nimport type { HandleUpload } from '../../types.js'\n\ninterface Args {\n collection: CollectionConfig\n getStorageClient: () => ContainerClient\n prefix?: string\n}\n\nconst multipartThreshold = 1024 * 1024 * 50 // 50MB\nexport const getHandleUpload = ({ getStorageClient, prefix = '' }: Args): HandleUpload => {\n return async ({ data, file }) => {\n const fileKey = path.posix.join(data.prefix || prefix, file.filename)\n\n const blockBlobClient = getStorageClient().getBlockBlobClient(fileKey)\n\n // when there are no temp files, or the upload is less than the threshold size, do not stream files\n if (!file.tempFilePath && file.buffer.length > 0 && file.buffer.length < multipartThreshold) {\n await blockBlobClient.upload(file.buffer, file.buffer.byteLength, {\n blobHTTPHeaders: { blobContentType: file.mimeType },\n })\n\n return data\n }\n\n const fileBufferOrStream: Readable = file.tempFilePath\n ? fs.createReadStream(file.tempFilePath)\n : Readable.from(file.buffer)\n\n await blockBlobClient.uploadStream(fileBufferOrStream, 4 * 1024 * 1024, 4, {\n abortSignal: AbortController.timeout(30 * 60 * 1000),\n })\n\n return data\n }\n}\n"],"names":["AbortController","fs","path","Readable","multipartThreshold","getHandleUpload","getStorageClient","prefix","data","file","fileKey","posix","join","filename","blockBlobClient","getBlockBlobClient","tempFilePath","buffer","length","upload","byteLength","blobHTTPHeaders","blobContentType","mimeType","fileBufferOrStream","createReadStream","from","uploadStream","abortSignal","timeout"],"mappings":"AAGA,SAASA,eAAe,QAAQ,0BAAyB;AACzD,OAAOC,QAAQ,KAAI;AACnB,OAAOC,UAAU,OAAM;AACvB,SAASC,QAAQ,QAAQ,SAAQ;AAUjC,MAAMC,qBAAqB,OAAO,OAAO,GAAG,OAAO;;AACnD,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,gBAAgB,EAAEC,SAAS,EAAE,EAAQ;IACrE,OAAO,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAE;QAC1B,MAAMC,UAAUR,KAAKS,KAAK,CAACC,IAAI,CAACJ,KAAKD,MAAM,IAAIA,QAAQE,KAAKI,QAAQ;QAEpE,MAAMC,kBAAkBR,mBAAmBS,kBAAkB,CAACL;QAE9D,mGAAmG;QACnG,IAAI,CAACD,KAAKO,YAAY,IAAIP,KAAKQ,MAAM,CAACC,MAAM,GAAG,KAAKT,KAAKQ,MAAM,CAACC,MAAM,GAAGd,oBAAoB;YAC3F,MAAMU,gBAAgBK,MAAM,CAACV,KAAKQ,MAAM,EAAER,KAAKQ,MAAM,CAACG,UAAU,EAAE;gBAChEC,iBAAiB;oBAAEC,iBAAiBb,KAAKc,QAAQ;gBAAC;YACpD;YAEA,OAAOf;QACT;QAEA,MAAMgB,qBAA+Bf,KAAKO,YAAY,GAClDf,GAAGwB,gBAAgB,CAAChB,KAAKO,YAAY,IACrCb,SAASuB,IAAI,CAACjB,KAAKQ,MAAM;QAE7B,MAAMH,gBAAgBa,YAAY,CAACH,oBAAoB,IAAI,OAAO,MAAM,GAAG;YACzEI,aAAa5B,gBAAgB6B,OAAO,CAAC,KAAK,KAAK;QACjD;QAEA,OAAOrB;IACT;AACF,EAAC"}
@@ -41,4 +41,4 @@ export const azureBlobStorageAdapter = ({ allowContainerCreate, baseURL, connect
41
41
  };
42
42
  };
43
43
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9henVyZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbnRhaW5lckNsaWVudCB9IGZyb20gJ0BhenVyZS9zdG9yYWdlLWJsb2InXG5cbmltcG9ydCB7IEJsb2JTZXJ2aWNlQ2xpZW50IH0gZnJvbSAnQGF6dXJlL3N0b3JhZ2UtYmxvYidcblxuaW1wb3J0IHR5cGUgeyBBZGFwdGVyLCBHZW5lcmF0ZWRBZGFwdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnXG5cbmltcG9ydCB7IGdldEdlbmVyYXRlVVJMIH0gZnJvbSAnLi9nZW5lcmF0ZVVSTC5qcydcbmltcG9ydCB7IGdldEhhbmRsZURlbGV0ZSB9IGZyb20gJy4vaGFuZGxlRGVsZXRlLmpzJ1xuaW1wb3J0IHsgZ2V0SGFuZGxlVXBsb2FkIH0gZnJvbSAnLi9oYW5kbGVVcGxvYWQuanMnXG5pbXBvcnQgeyBnZXRIYW5kbGVyIH0gZnJvbSAnLi9zdGF0aWNIYW5kbGVyLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZ3Mge1xuICBhbGxvd0NvbnRhaW5lckNyZWF0ZTogYm9vbGVhblxuICBiYXNlVVJMOiBzdHJpbmdcbiAgY29ubmVjdGlvblN0cmluZzogc3RyaW5nXG4gIGNvbnRhaW5lck5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgYXp1cmVCbG9iU3RvcmFnZUFkYXB0ZXIgPSAoe1xuICBhbGxvd0NvbnRhaW5lckNyZWF0ZSxcbiAgYmFzZVVSTCxcbiAgY29ubmVjdGlvblN0cmluZyxcbiAgY29udGFpbmVyTmFtZSxcbn06IEFyZ3MpOiBBZGFwdGVyID0+IHtcbiAgbGV0IHN0b3JhZ2VDbGllbnQ6IENvbnRhaW5lckNsaWVudCB8IG51bGwgPSBudWxsXG4gIGNvbnN0IGdldFN0b3JhZ2VDbGllbnQgPSAoKSA9PiB7XG4gICAgaWYgKHN0b3JhZ2VDbGllbnQpIHJldHVybiBzdG9yYWdlQ2xpZW50XG4gICAgY29uc3QgYmxvYlNlcnZpY2VDbGllbnQgPSBCbG9iU2VydmljZUNsaWVudC5mcm9tQ29ubmVjdGlvblN0cmluZyhjb25uZWN0aW9uU3RyaW5nKVxuICAgIHJldHVybiAoc3RvcmFnZUNsaWVudCA9IGJsb2JTZXJ2aWNlQ2xpZW50LmdldENvbnRhaW5lckNsaWVudChjb250YWluZXJOYW1lKSlcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZUNvbnRhaW5lcklmTm90RXhpc3RzID0gKCkgPT4ge1xuICAgIGdldFN0b3JhZ2VDbGllbnQoKS5jcmVhdGVJZk5vdEV4aXN0cyh7IGFjY2VzczogJ2Jsb2InIH0pXG4gIH1cblxuICByZXR1cm4gKHsgY29sbGVjdGlvbiwgcHJlZml4IH0pOiBHZW5lcmF0ZWRBZGFwdGVyID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2VuZXJhdGVVUkw6IGdldEdlbmVyYXRlVVJMKHsgYmFzZVVSTCwgY29udGFpbmVyTmFtZSB9KSxcbiAgICAgIGhhbmRsZURlbGV0ZTogZ2V0SGFuZGxlRGVsZXRlKHsgY29sbGVjdGlvbiwgZ2V0U3RvcmFnZUNsaWVudCB9KSxcbiAgICAgIGhhbmRsZVVwbG9hZDogZ2V0SGFuZGxlVXBsb2FkKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZ2V0U3RvcmFnZUNsaWVudCxcbiAgICAgICAgcHJlZml4LFxuICAgICAgfSksXG4gICAgICBzdGF0aWNIYW5kbGVyOiBnZXRIYW5kbGVyKHsgY29sbGVjdGlvbiwgZ2V0U3RvcmFnZUNsaWVudCB9KSxcbiAgICAgIC4uLihhbGxvd0NvbnRhaW5lckNyZWF0ZSAmJiB7IG9uSW5pdDogY3JlYXRlQ29udGFpbmVySWZOb3RFeGlzdHMgfSksXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiQmxvYlNlcnZpY2VDbGllbnQiLCJnZXRHZW5lcmF0ZVVSTCIsImdldEhhbmRsZURlbGV0ZSIsImdldEhhbmRsZVVwbG9hZCIsImdldEhhbmRsZXIiLCJhenVyZUJsb2JTdG9yYWdlQWRhcHRlciIsImFsbG93Q29udGFpbmVyQ3JlYXRlIiwiYmFzZVVSTCIsImNvbm5lY3Rpb25TdHJpbmciLCJjb250YWluZXJOYW1lIiwic3RvcmFnZUNsaWVudCIsImdldFN0b3JhZ2VDbGllbnQiLCJibG9iU2VydmljZUNsaWVudCIsImZyb21Db25uZWN0aW9uU3RyaW5nIiwiZ2V0Q29udGFpbmVyQ2xpZW50IiwiY3JlYXRlQ29udGFpbmVySWZOb3RFeGlzdHMiLCJjcmVhdGVJZk5vdEV4aXN0cyIsImFjY2VzcyIsImNvbGxlY3Rpb24iLCJwcmVmaXgiLCJnZW5lcmF0ZVVSTCIsImhhbmRsZURlbGV0ZSIsImhhbmRsZVVwbG9hZCIsInN0YXRpY0hhbmRsZXIiLCJvbkluaXQiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLGlCQUFpQixRQUFRLHNCQUFxQjtBQUl2RCxTQUFTQyxjQUFjLFFBQVEsbUJBQWtCO0FBQ2pELFNBQVNDLGVBQWUsUUFBUSxvQkFBbUI7QUFDbkQsU0FBU0MsZUFBZSxRQUFRLG9CQUFtQjtBQUNuRCxTQUFTQyxVQUFVLFFBQVEscUJBQW9CO0FBUy9DLE9BQU8sTUFBTUMsMEJBQTBCLENBQUMsRUFDdENDLG9CQUFvQixFQUNwQkMsT0FBTyxFQUNQQyxnQkFBZ0IsRUFDaEJDLGFBQWEsRUFDUjtJQUNMLElBQUlDLGdCQUF3QztJQUM1QyxNQUFNQyxtQkFBbUI7UUFDdkIsSUFBSUQsZUFBZSxPQUFPQTtRQUMxQixNQUFNRSxvQkFBb0JaLGtCQUFrQmEsb0JBQW9CLENBQUNMO1FBQ2pFLE9BQVFFLGdCQUFnQkUsa0JBQWtCRSxrQkFBa0IsQ0FBQ0w7SUFDL0Q7SUFFQSxNQUFNTSw2QkFBNkI7UUFDakNKLG1CQUFtQkssaUJBQWlCLENBQUM7WUFBRUMsUUFBUTtRQUFPO0lBQ3hEO0lBRUEsT0FBTyxDQUFDLEVBQUVDLFVBQVUsRUFBRUMsTUFBTSxFQUFFO1FBQzVCLE9BQU87WUFDTEMsYUFBYW5CLGVBQWU7Z0JBQUVNO2dCQUFTRTtZQUFjO1lBQ3JEWSxjQUFjbkIsZ0JBQWdCO2dCQUFFZ0I7Z0JBQVlQO1lBQWlCO1lBQzdEVyxjQUFjbkIsZ0JBQWdCO2dCQUM1QmU7Z0JBQ0FQO2dCQUNBUTtZQUNGO1lBQ0FJLGVBQWVuQixXQUFXO2dCQUFFYztnQkFBWVA7WUFBaUI7WUFDekQsR0FBSUwsd0JBQXdCO2dCQUFFa0IsUUFBUVQ7WUFBMkIsQ0FBQztRQUNwRTtJQUNGO0FBQ0YsRUFBQyJ9
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/azure/index.ts"],"sourcesContent":["import type { ContainerClient } from '@azure/storage-blob'\n\nimport { BlobServiceClient } from '@azure/storage-blob'\n\nimport type { Adapter, GeneratedAdapter } from '../../types.js'\n\nimport { getGenerateURL } from './generateURL.js'\nimport { getHandleDelete } from './handleDelete.js'\nimport { getHandleUpload } from './handleUpload.js'\nimport { getHandler } from './staticHandler.js'\n\nexport interface Args {\n allowContainerCreate: boolean\n baseURL: string\n connectionString: string\n containerName: string\n}\n\nexport const azureBlobStorageAdapter = ({\n allowContainerCreate,\n baseURL,\n connectionString,\n containerName,\n}: Args): Adapter => {\n let storageClient: ContainerClient | null = null\n const getStorageClient = () => {\n if (storageClient) return storageClient\n const blobServiceClient = BlobServiceClient.fromConnectionString(connectionString)\n return (storageClient = blobServiceClient.getContainerClient(containerName))\n }\n\n const createContainerIfNotExists = () => {\n getStorageClient().createIfNotExists({ access: 'blob' })\n }\n\n return ({ collection, prefix }): GeneratedAdapter => {\n return {\n generateURL: getGenerateURL({ baseURL, containerName }),\n handleDelete: getHandleDelete({ collection, getStorageClient }),\n handleUpload: getHandleUpload({\n collection,\n getStorageClient,\n prefix,\n }),\n staticHandler: getHandler({ collection, getStorageClient }),\n ...(allowContainerCreate && { onInit: createContainerIfNotExists }),\n }\n }\n}\n"],"names":["BlobServiceClient","getGenerateURL","getHandleDelete","getHandleUpload","getHandler","azureBlobStorageAdapter","allowContainerCreate","baseURL","connectionString","containerName","storageClient","getStorageClient","blobServiceClient","fromConnectionString","getContainerClient","createContainerIfNotExists","createIfNotExists","access","collection","prefix","generateURL","handleDelete","handleUpload","staticHandler","onInit"],"mappings":"AAEA,SAASA,iBAAiB,QAAQ,sBAAqB;AAIvD,SAASC,cAAc,QAAQ,mBAAkB;AACjD,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,UAAU,QAAQ,qBAAoB;AAS/C,OAAO,MAAMC,0BAA0B,CAAC,EACtCC,oBAAoB,EACpBC,OAAO,EACPC,gBAAgB,EAChBC,aAAa,EACR;IACL,IAAIC,gBAAwC;IAC5C,MAAMC,mBAAmB;QACvB,IAAID,eAAe,OAAOA;QAC1B,MAAME,oBAAoBZ,kBAAkBa,oBAAoB,CAACL;QACjE,OAAQE,gBAAgBE,kBAAkBE,kBAAkB,CAACL;IAC/D;IAEA,MAAMM,6BAA6B;QACjCJ,mBAAmBK,iBAAiB,CAAC;YAAEC,QAAQ;QAAO;IACxD;IAEA,OAAO,CAAC,EAAEC,UAAU,EAAEC,MAAM,EAAE;QAC5B,OAAO;YACLC,aAAanB,eAAe;gBAAEM;gBAASE;YAAc;YACrDY,cAAcnB,gBAAgB;gBAAEgB;gBAAYP;YAAiB;YAC7DW,cAAcnB,gBAAgB;gBAC5Be;gBACAP;gBACAQ;YACF;YACAI,eAAenB,WAAW;gBAAEc;gBAAYP;YAAiB;YACzD,GAAIL,wBAAwB;gBAAEkB,QAAQT;YAA2B,CAAC;QACpE;IACF;AACF,EAAC"}
@@ -41,4 +41,4 @@ export const getHandler = ({ collection, getStorageClient })=>{
41
41
  };
42
42
  };
43
43
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9henVyZS9zdGF0aWNIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29udGFpbmVyQ2xpZW50IH0gZnJvbSAnQGF6dXJlL3N0b3JhZ2UtYmxvYidcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmltcG9ydCB0eXBlIHsgU3RhdGljSGFuZGxlciB9IGZyb20gJy4uLy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBnZXRGaWxlUHJlZml4IH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dldEZpbGVQcmVmaXguanMnXG5pbXBvcnQgZ2V0UmFuZ2VGcm9tSGVhZGVyIGZyb20gJy4uLy4uL3V0aWxpdGllcy9nZXRSYW5nZUZyb21IZWFkZXIuanMnXG5cbmludGVyZmFjZSBBcmdzIHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBnZXRTdG9yYWdlQ2xpZW50OiAoKSA9PiBDb250YWluZXJDbGllbnRcbn1cblxuZXhwb3J0IGNvbnN0IGdldEhhbmRsZXIgPSAoeyBjb2xsZWN0aW9uLCBnZXRTdG9yYWdlQ2xpZW50IH06IEFyZ3MpOiBTdGF0aWNIYW5kbGVyID0+IHtcbiAgcmV0dXJuIGFzeW5jIChyZXEsIHsgcGFyYW1zIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcHJlZml4ID0gYXdhaXQgZ2V0RmlsZVByZWZpeCh7IGNvbGxlY3Rpb24sIHJlcSB9KVxuICAgICAgY29uc3QgYmxvY2tCbG9iQ2xpZW50ID0gZ2V0U3RvcmFnZUNsaWVudCgpLmdldEJsb2NrQmxvYkNsaWVudChcbiAgICAgICAgcGF0aC5wb3NpeC5qb2luKHByZWZpeCwgcGFyYW1zLmZpbGVuYW1lKSxcbiAgICAgIClcblxuICAgICAgY29uc3QgeyBlbmQsIHN0YXJ0IH0gPSBhd2FpdCBnZXRSYW5nZUZyb21IZWFkZXIoYmxvY2tCbG9iQ2xpZW50LCByZXEuaGVhZGVycy5nZXQoJ3JhbmdlJykpXG5cbiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBibG9ja0Jsb2JDbGllbnQuZG93bmxvYWQoc3RhcnQsIGVuZClcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBibG9iLl9yZXNwb25zZVxuXG4gICAgICAvLyBNYW51YWxseSBjcmVhdGUgYSBSZWFkYWJsZVN0cmVhbSBmb3IgdGhlIHdlYiBmcm9tIGEgTm9kZS5qcyBzdHJlYW0uXG4gICAgICBjb25zdCByZWFkYWJsZVN0cmVhbSA9IG5ldyBSZWFkYWJsZVN0cmVhbSh7XG4gICAgICAgIHN0YXJ0KGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICBjb25zdCBub2RlU3RyZWFtID0gYmxvYi5yZWFkYWJsZVN0cmVhbUJvZHlcbiAgICAgICAgICBub2RlU3RyZWFtLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUobmV3IFVpbnQ4QXJyYXkoY2h1bmspKVxuICAgICAgICAgIH0pXG4gICAgICAgICAgbm9kZVN0cmVhbS5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICAgICAgY29udHJvbGxlci5jbG9zZSgpXG4gICAgICAgICAgfSlcbiAgICAgICAgICBub2RlU3RyZWFtLm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIuZXJyb3IoZXJyKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0sXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKHJlYWRhYmxlU3RyZWFtLCB7XG4gICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlLmhlYWRlcnMucmF3SGVhZGVycygpLFxuICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICByZXEucGF5bG9hZC5sb2dnZXIuZXJyb3IoZXJyKVxuICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSgnSW50ZXJuYWwgU2VydmVyIEVycm9yJywgeyBzdGF0dXM6IDUwMCB9KVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJnZXRGaWxlUHJlZml4IiwiZ2V0UmFuZ2VGcm9tSGVhZGVyIiwiZ2V0SGFuZGxlciIsImNvbGxlY3Rpb24iLCJnZXRTdG9yYWdlQ2xpZW50IiwicmVxIiwicGFyYW1zIiwicHJlZml4IiwiYmxvY2tCbG9iQ2xpZW50IiwiZ2V0QmxvY2tCbG9iQ2xpZW50IiwicG9zaXgiLCJqb2luIiwiZmlsZW5hbWUiLCJlbmQiLCJzdGFydCIsImhlYWRlcnMiLCJnZXQiLCJibG9iIiwiZG93bmxvYWQiLCJyZXNwb25zZSIsIl9yZXNwb25zZSIsInJlYWRhYmxlU3RyZWFtIiwiUmVhZGFibGVTdHJlYW0iLCJjb250cm9sbGVyIiwibm9kZVN0cmVhbSIsInJlYWRhYmxlU3RyZWFtQm9keSIsIm9uIiwiY2h1bmsiLCJlbnF1ZXVlIiwiVWludDhBcnJheSIsImNsb3NlIiwiZXJyIiwiZXJyb3IiLCJSZXNwb25zZSIsInJhd0hlYWRlcnMiLCJzdGF0dXMiLCJwYXlsb2FkIiwibG9nZ2VyIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPQSxVQUFVLE9BQU07QUFJdkIsU0FBU0MsYUFBYSxRQUFRLG1DQUFrQztBQUNoRSxPQUFPQyx3QkFBd0Isd0NBQXVDO0FBT3RFLE9BQU8sTUFBTUMsYUFBYSxDQUFDLEVBQUVDLFVBQVUsRUFBRUMsZ0JBQWdCLEVBQVE7SUFDL0QsT0FBTyxPQUFPQyxLQUFLLEVBQUVDLE1BQU0sRUFBRTtRQUMzQixJQUFJO1lBQ0YsTUFBTUMsU0FBUyxNQUFNUCxjQUFjO2dCQUFFRztnQkFBWUU7WUFBSTtZQUNyRCxNQUFNRyxrQkFBa0JKLG1CQUFtQkssa0JBQWtCLENBQzNEVixLQUFLVyxLQUFLLENBQUNDLElBQUksQ0FBQ0osUUFBUUQsT0FBT00sUUFBUTtZQUd6QyxNQUFNLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFLEdBQUcsTUFBTWIsbUJBQW1CTyxpQkFBaUJILElBQUlVLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDO1lBRWpGLE1BQU1DLE9BQU8sTUFBTVQsZ0JBQWdCVSxRQUFRLENBQUNKLE9BQU9EO1lBQ25ELGdEQUFnRDtZQUNoRCxNQUFNTSxXQUFXRixLQUFLRyxTQUFTO1lBRS9CLHNFQUFzRTtZQUN0RSxNQUFNQyxpQkFBaUIsSUFBSUMsZUFBZTtnQkFDeENSLE9BQU1TLFVBQVU7b0JBQ2QsTUFBTUMsYUFBYVAsS0FBS1Esa0JBQWtCO29CQUMxQ0QsV0FBV0UsRUFBRSxDQUFDLFFBQVEsQ0FBQ0M7d0JBQ3JCSixXQUFXSyxPQUFPLENBQUMsSUFBSUMsV0FBV0Y7b0JBQ3BDO29CQUNBSCxXQUFXRSxFQUFFLENBQUMsT0FBTzt3QkFDbkJILFdBQVdPLEtBQUs7b0JBQ2xCO29CQUNBTixXQUFXRSxFQUFFLENBQUMsU0FBUyxDQUFDSzt3QkFDdEJSLFdBQVdTLEtBQUssQ0FBQ0Q7b0JBQ25CO2dCQUNGO1lBQ0Y7WUFFQSxPQUFPLElBQUlFLFNBQVNaLGdCQUFnQjtnQkFDbENOLFNBQVNJLFNBQVNKLE9BQU8sQ0FBQ21CLFVBQVU7Z0JBQ3BDQyxRQUFRaEIsU0FBU2dCLE1BQU07WUFDekI7UUFDRixFQUFFLE9BQU9KLEtBQWM7WUFDckIxQixJQUFJK0IsT0FBTyxDQUFDQyxNQUFNLENBQUNMLEtBQUssQ0FBQ0Q7WUFDekIsT0FBTyxJQUFJRSxTQUFTLHlCQUF5QjtnQkFBRUUsUUFBUTtZQUFJO1FBQzdEO0lBQ0Y7QUFDRixFQUFDIn0=
44
+ //# sourceMappingURL=staticHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/azure/staticHandler.ts"],"sourcesContent":["import type { ContainerClient } from '@azure/storage-blob'\nimport type { CollectionConfig } from 'payload/types'\n\nimport path from 'path'\n\nimport type { StaticHandler } from '../../types.js'\n\nimport { getFilePrefix } from '../../utilities/getFilePrefix.js'\nimport getRangeFromHeader from '../../utilities/getRangeFromHeader.js'\n\ninterface Args {\n collection: CollectionConfig\n getStorageClient: () => ContainerClient\n}\n\nexport const getHandler = ({ collection, getStorageClient }: Args): StaticHandler => {\n return async (req, { params }) => {\n try {\n const prefix = await getFilePrefix({ collection, req })\n const blockBlobClient = getStorageClient().getBlockBlobClient(\n path.posix.join(prefix, params.filename),\n )\n\n const { end, start } = await getRangeFromHeader(blockBlobClient, req.headers.get('range'))\n\n const blob = await blockBlobClient.download(start, end)\n // eslint-disable-next-line no-underscore-dangle\n const response = blob._response\n\n // Manually create a ReadableStream for the web from a Node.js stream.\n const readableStream = new ReadableStream({\n start(controller) {\n const nodeStream = blob.readableStreamBody\n nodeStream.on('data', (chunk) => {\n controller.enqueue(new Uint8Array(chunk))\n })\n nodeStream.on('end', () => {\n controller.close()\n })\n nodeStream.on('error', (err) => {\n controller.error(err)\n })\n },\n })\n\n return new Response(readableStream, {\n headers: response.headers.rawHeaders(),\n status: response.status,\n })\n } catch (err: unknown) {\n req.payload.logger.error(err)\n return new Response('Internal Server Error', { status: 500 })\n }\n }\n}\n"],"names":["path","getFilePrefix","getRangeFromHeader","getHandler","collection","getStorageClient","req","params","prefix","blockBlobClient","getBlockBlobClient","posix","join","filename","end","start","headers","get","blob","download","response","_response","readableStream","ReadableStream","controller","nodeStream","readableStreamBody","on","chunk","enqueue","Uint8Array","close","err","error","Response","rawHeaders","status","payload","logger"],"mappings":"AAGA,OAAOA,UAAU,OAAM;AAIvB,SAASC,aAAa,QAAQ,mCAAkC;AAChE,OAAOC,wBAAwB,wCAAuC;AAOtE,OAAO,MAAMC,aAAa,CAAC,EAAEC,UAAU,EAAEC,gBAAgB,EAAQ;IAC/D,OAAO,OAAOC,KAAK,EAAEC,MAAM,EAAE;QAC3B,IAAI;YACF,MAAMC,SAAS,MAAMP,cAAc;gBAAEG;gBAAYE;YAAI;YACrD,MAAMG,kBAAkBJ,mBAAmBK,kBAAkB,CAC3DV,KAAKW,KAAK,CAACC,IAAI,CAACJ,QAAQD,OAAOM,QAAQ;YAGzC,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAG,MAAMb,mBAAmBO,iBAAiBH,IAAIU,OAAO,CAACC,GAAG,CAAC;YAEjF,MAAMC,OAAO,MAAMT,gBAAgBU,QAAQ,CAACJ,OAAOD;YACnD,gDAAgD;YAChD,MAAMM,WAAWF,KAAKG,SAAS;YAE/B,sEAAsE;YACtE,MAAMC,iBAAiB,IAAIC,eAAe;gBACxCR,OAAMS,UAAU;oBACd,MAAMC,aAAaP,KAAKQ,kBAAkB;oBAC1CD,WAAWE,EAAE,CAAC,QAAQ,CAACC;wBACrBJ,WAAWK,OAAO,CAAC,IAAIC,WAAWF;oBACpC;oBACAH,WAAWE,EAAE,CAAC,OAAO;wBACnBH,WAAWO,KAAK;oBAClB;oBACAN,WAAWE,EAAE,CAAC,SAAS,CAACK;wBACtBR,WAAWS,KAAK,CAACD;oBACnB;gBACF;YACF;YAEA,OAAO,IAAIE,SAASZ,gBAAgB;gBAClCN,SAASI,SAASJ,OAAO,CAACmB,UAAU;gBACpCC,QAAQhB,SAASgB,MAAM;YACzB;QACF,EAAE,OAAOJ,KAAc;YACrB1B,IAAI+B,OAAO,CAACC,MAAM,CAACL,KAAK,CAACD;YACzB,OAAO,IAAIE,SAAS,yBAAyB;gBAAEE,QAAQ;YAAI;QAC7D;IACF;AACF,EAAC"}
@@ -3,4 +3,4 @@ export const getGenerateURL = ({ bucket, getStorageClient })=>({ filename, prefi
3
3
  return decodeURIComponent(getStorageClient().bucket(bucket).file(path.posix.join(prefix, filename)).publicUrl());
4
4
  };
5
5
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9nY3MvZ2VuZXJhdGVVUkwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdG9yYWdlIH0gZnJvbSAnQGdvb2dsZS1jbG91ZC9zdG9yYWdlJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlVVJMIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnXG5cbmludGVyZmFjZSBBcmdzIHtcbiAgYnVja2V0OiBzdHJpbmdcbiAgZ2V0U3RvcmFnZUNsaWVudDogKCkgPT4gU3RvcmFnZVxufVxuXG5leHBvcnQgY29uc3QgZ2V0R2VuZXJhdGVVUkwgPVxuICAoeyBidWNrZXQsIGdldFN0b3JhZ2VDbGllbnQgfTogQXJncyk6IEdlbmVyYXRlVVJMID0+XG4gICh7IGZpbGVuYW1lLCBwcmVmaXggPSAnJyB9KSA9PiB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChcbiAgICAgIGdldFN0b3JhZ2VDbGllbnQoKS5idWNrZXQoYnVja2V0KS5maWxlKHBhdGgucG9zaXguam9pbihwcmVmaXgsIGZpbGVuYW1lKSkucHVibGljVXJsKCksXG4gICAgKVxuICB9XG4iXSwibmFtZXMiOlsicGF0aCIsImdldEdlbmVyYXRlVVJMIiwiYnVja2V0IiwiZ2V0U3RvcmFnZUNsaWVudCIsImZpbGVuYW1lIiwicHJlZml4IiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiZmlsZSIsInBvc2l4Iiwiam9pbiIsInB1YmxpY1VybCJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsVUFBVSxPQUFNO0FBU3ZCLE9BQU8sTUFBTUMsaUJBQ1gsQ0FBQyxFQUFFQyxNQUFNLEVBQUVDLGdCQUFnQixFQUFRLEdBQ25DLENBQUMsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsRUFBRTtRQUN4QixPQUFPQyxtQkFDTEgsbUJBQW1CRCxNQUFNLENBQUNBLFFBQVFLLElBQUksQ0FBQ1AsS0FBS1EsS0FBSyxDQUFDQyxJQUFJLENBQUNKLFFBQVFELFdBQVdNLFNBQVM7SUFFdkYsRUFBQyJ9
6
+ //# sourceMappingURL=generateURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/gcs/generateURL.ts"],"sourcesContent":["import type { Storage } from '@google-cloud/storage'\n\nimport path from 'path'\n\nimport type { GenerateURL } from '../../types.js'\n\ninterface Args {\n bucket: string\n getStorageClient: () => Storage\n}\n\nexport const getGenerateURL =\n ({ bucket, getStorageClient }: Args): GenerateURL =>\n ({ filename, prefix = '' }) => {\n return decodeURIComponent(\n getStorageClient().bucket(bucket).file(path.posix.join(prefix, filename)).publicUrl(),\n )\n }\n"],"names":["path","getGenerateURL","bucket","getStorageClient","filename","prefix","decodeURIComponent","file","posix","join","publicUrl"],"mappings":"AAEA,OAAOA,UAAU,OAAM;AASvB,OAAO,MAAMC,iBACX,CAAC,EAAEC,MAAM,EAAEC,gBAAgB,EAAQ,GACnC,CAAC,EAAEC,QAAQ,EAAEC,SAAS,EAAE,EAAE;QACxB,OAAOC,mBACLH,mBAAmBD,MAAM,CAACA,QAAQK,IAAI,CAACP,KAAKQ,KAAK,CAACC,IAAI,CAACJ,QAAQD,WAAWM,SAAS;IAEvF,EAAC"}
@@ -7,4 +7,4 @@ export const getHandleDelete = ({ bucket, getStorageClient })=>{
7
7
  };
8
8
  };
9
9
 
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9nY3MvaGFuZGxlRGVsZXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RvcmFnZSB9IGZyb20gJ0Bnb29nbGUtY2xvdWQvc3RvcmFnZSdcblxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHR5cGUgeyBIYW5kbGVEZWxldGUgfSBmcm9tICcuLi8uLi90eXBlcy5qcydcblxuaW50ZXJmYWNlIEFyZ3Mge1xuICBidWNrZXQ6IHN0cmluZ1xuICBnZXRTdG9yYWdlQ2xpZW50OiAoKSA9PiBTdG9yYWdlXG59XG5cbmV4cG9ydCBjb25zdCBnZXRIYW5kbGVEZWxldGUgPSAoeyBidWNrZXQsIGdldFN0b3JhZ2VDbGllbnQgfTogQXJncyk6IEhhbmRsZURlbGV0ZSA9PiB7XG4gIHJldHVybiBhc3luYyAoeyBkb2M6IHsgcHJlZml4ID0gJycgfSwgZmlsZW5hbWUgfSkgPT4ge1xuICAgIGF3YWl0IGdldFN0b3JhZ2VDbGllbnQoKS5idWNrZXQoYnVja2V0KS5maWxlKHBhdGgucG9zaXguam9pbihwcmVmaXgsIGZpbGVuYW1lKSkuZGVsZXRlKHtcbiAgICAgIGlnbm9yZU5vdEZvdW5kOiB0cnVlLFxuICAgIH0pXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwiZ2V0SGFuZGxlRGVsZXRlIiwiYnVja2V0IiwiZ2V0U3RvcmFnZUNsaWVudCIsImRvYyIsInByZWZpeCIsImZpbGVuYW1lIiwiZmlsZSIsInBvc2l4Iiwiam9pbiIsImRlbGV0ZSIsImlnbm9yZU5vdEZvdW5kIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPQSxVQUFVLE9BQU07QUFTdkIsT0FBTyxNQUFNQyxrQkFBa0IsQ0FBQyxFQUFFQyxNQUFNLEVBQUVDLGdCQUFnQixFQUFRO0lBQ2hFLE9BQU8sT0FBTyxFQUFFQyxLQUFLLEVBQUVDLFNBQVMsRUFBRSxFQUFFLEVBQUVDLFFBQVEsRUFBRTtRQUM5QyxNQUFNSCxtQkFBbUJELE1BQU0sQ0FBQ0EsUUFBUUssSUFBSSxDQUFDUCxLQUFLUSxLQUFLLENBQUNDLElBQUksQ0FBQ0osUUFBUUMsV0FBV0ksTUFBTSxDQUFDO1lBQ3JGQyxnQkFBZ0I7UUFDbEI7SUFDRjtBQUNGLEVBQUMifQ==
10
+ //# sourceMappingURL=handleDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/gcs/handleDelete.ts"],"sourcesContent":["import type { Storage } from '@google-cloud/storage'\n\nimport path from 'path'\n\nimport type { HandleDelete } from '../../types.js'\n\ninterface Args {\n bucket: string\n getStorageClient: () => Storage\n}\n\nexport const getHandleDelete = ({ bucket, getStorageClient }: Args): HandleDelete => {\n return async ({ doc: { prefix = '' }, filename }) => {\n await getStorageClient().bucket(bucket).file(path.posix.join(prefix, filename)).delete({\n ignoreNotFound: true,\n })\n }\n}\n"],"names":["path","getHandleDelete","bucket","getStorageClient","doc","prefix","filename","file","posix","join","delete","ignoreNotFound"],"mappings":"AAEA,OAAOA,UAAU,OAAM;AASvB,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAEC,gBAAgB,EAAQ;IAChE,OAAO,OAAO,EAAEC,KAAK,EAAEC,SAAS,EAAE,EAAE,EAAEC,QAAQ,EAAE;QAC9C,MAAMH,mBAAmBD,MAAM,CAACA,QAAQK,IAAI,CAACP,KAAKQ,KAAK,CAACC,IAAI,CAACJ,QAAQC,WAAWI,MAAM,CAAC;YACrFC,gBAAgB;QAClB;IACF;AACF,EAAC"}
@@ -15,4 +15,4 @@ export const getHandleUpload = ({ acl, bucket, getStorageClient, prefix = '' })=
15
15
  };
16
16
  };
17
17
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9nY3MvaGFuZGxlVXBsb2FkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RvcmFnZSB9IGZyb20gJ0Bnb29nbGUtY2xvdWQvc3RvcmFnZSdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmltcG9ydCB0eXBlIHsgSGFuZGxlVXBsb2FkIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnXG5cbmludGVyZmFjZSBBcmdzIHtcbiAgYWNsPzogJ1ByaXZhdGUnIHwgJ1B1YmxpYydcbiAgYnVja2V0OiBzdHJpbmdcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBnZXRTdG9yYWdlQ2xpZW50OiAoKSA9PiBTdG9yYWdlXG4gIHByZWZpeD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgZ2V0SGFuZGxlVXBsb2FkID0gKHtcbiAgYWNsLFxuICBidWNrZXQsXG4gIGdldFN0b3JhZ2VDbGllbnQsXG4gIHByZWZpeCA9ICcnLFxufTogQXJncyk6IEhhbmRsZVVwbG9hZCA9PiB7XG4gIHJldHVybiBhc3luYyAoeyBkYXRhLCBmaWxlIH0pID0+IHtcbiAgICBjb25zdCBmaWxlS2V5ID0gcGF0aC5wb3NpeC5qb2luKGRhdGEucHJlZml4IHx8IHByZWZpeCwgZmlsZS5maWxlbmFtZSlcblxuICAgIGNvbnN0IGdjc0ZpbGUgPSBnZXRTdG9yYWdlQ2xpZW50KCkuYnVja2V0KGJ1Y2tldCkuZmlsZShmaWxlS2V5KVxuICAgIGF3YWl0IGdjc0ZpbGUuc2F2ZShmaWxlLmJ1ZmZlciwge1xuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgY29udGVudFR5cGU6IGZpbGUubWltZVR5cGUsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICBpZiAoYWNsKSB7XG4gICAgICBhd2FpdCBnY3NGaWxlW2BtYWtlJHthY2x9YF0oKVxuICAgIH1cblxuICAgIHJldHVybiBkYXRhXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwiZ2V0SGFuZGxlVXBsb2FkIiwiYWNsIiwiYnVja2V0IiwiZ2V0U3RvcmFnZUNsaWVudCIsInByZWZpeCIsImRhdGEiLCJmaWxlIiwiZmlsZUtleSIsInBvc2l4Iiwiam9pbiIsImZpbGVuYW1lIiwiZ2NzRmlsZSIsInNhdmUiLCJidWZmZXIiLCJtZXRhZGF0YSIsImNvbnRlbnRUeXBlIiwibWltZVR5cGUiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU9BLFVBQVUsT0FBTTtBQVl2QixPQUFPLE1BQU1DLGtCQUFrQixDQUFDLEVBQzlCQyxHQUFHLEVBQ0hDLE1BQU0sRUFDTkMsZ0JBQWdCLEVBQ2hCQyxTQUFTLEVBQUUsRUFDTjtJQUNMLE9BQU8sT0FBTyxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRTtRQUMxQixNQUFNQyxVQUFVUixLQUFLUyxLQUFLLENBQUNDLElBQUksQ0FBQ0osS0FBS0QsTUFBTSxJQUFJQSxRQUFRRSxLQUFLSSxRQUFRO1FBRXBFLE1BQU1DLFVBQVVSLG1CQUFtQkQsTUFBTSxDQUFDQSxRQUFRSSxJQUFJLENBQUNDO1FBQ3ZELE1BQU1JLFFBQVFDLElBQUksQ0FBQ04sS0FBS08sTUFBTSxFQUFFO1lBQzlCQyxVQUFVO2dCQUNSQyxhQUFhVCxLQUFLVSxRQUFRO1lBQzVCO1FBQ0Y7UUFFQSxJQUFJZixLQUFLO1lBQ1AsTUFBTVUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFVixJQUFJLENBQUMsQ0FBQztRQUM3QjtRQUVBLE9BQU9JO0lBQ1Q7QUFDRixFQUFDIn0=
18
+ //# sourceMappingURL=handleUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/gcs/handleUpload.ts"],"sourcesContent":["import type { Storage } from '@google-cloud/storage'\nimport type { CollectionConfig } from 'payload/types'\n\nimport path from 'path'\n\nimport type { HandleUpload } from '../../types.js'\n\ninterface Args {\n acl?: 'Private' | 'Public'\n bucket: string\n collection: CollectionConfig\n getStorageClient: () => Storage\n prefix?: string\n}\n\nexport const getHandleUpload = ({\n acl,\n bucket,\n getStorageClient,\n prefix = '',\n}: Args): HandleUpload => {\n return async ({ data, file }) => {\n const fileKey = path.posix.join(data.prefix || prefix, file.filename)\n\n const gcsFile = getStorageClient().bucket(bucket).file(fileKey)\n await gcsFile.save(file.buffer, {\n metadata: {\n contentType: file.mimeType,\n },\n })\n\n if (acl) {\n await gcsFile[`make${acl}`]()\n }\n\n return data\n }\n}\n"],"names":["path","getHandleUpload","acl","bucket","getStorageClient","prefix","data","file","fileKey","posix","join","filename","gcsFile","save","buffer","metadata","contentType","mimeType"],"mappings":"AAGA,OAAOA,UAAU,OAAM;AAYvB,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,GAAG,EACHC,MAAM,EACNC,gBAAgB,EAChBC,SAAS,EAAE,EACN;IACL,OAAO,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAE;QAC1B,MAAMC,UAAUR,KAAKS,KAAK,CAACC,IAAI,CAACJ,KAAKD,MAAM,IAAIA,QAAQE,KAAKI,QAAQ;QAEpE,MAAMC,UAAUR,mBAAmBD,MAAM,CAACA,QAAQI,IAAI,CAACC;QACvD,MAAMI,QAAQC,IAAI,CAACN,KAAKO,MAAM,EAAE;YAC9BC,UAAU;gBACRC,aAAaT,KAAKU,QAAQ;YAC5B;QACF;QAEA,IAAIf,KAAK;YACP,MAAMU,OAAO,CAAC,CAAC,IAAI,EAAEV,IAAI,CAAC,CAAC;QAC7B;QAEA,OAAOI;IACT;AACF,EAAC"}
@@ -34,4 +34,4 @@ export const gcsAdapter = ({ acl, bucket, options })=>({ collection, prefix })=>
34
34
  };
35
35
  };
36
36
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9nY3MvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdG9yYWdlT3B0aW9ucyB9IGZyb20gJ0Bnb29nbGUtY2xvdWQvc3RvcmFnZSdcblxuaW1wb3J0IHsgU3RvcmFnZSB9IGZyb20gJ0Bnb29nbGUtY2xvdWQvc3RvcmFnZSdcblxuaW1wb3J0IHR5cGUgeyBBZGFwdGVyLCBHZW5lcmF0ZWRBZGFwdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnXG5cbmltcG9ydCB7IGdldEdlbmVyYXRlVVJMIH0gZnJvbSAnLi9nZW5lcmF0ZVVSTC5qcydcbmltcG9ydCB7IGdldEhhbmRsZURlbGV0ZSB9IGZyb20gJy4vaGFuZGxlRGVsZXRlLmpzJ1xuaW1wb3J0IHsgZ2V0SGFuZGxlVXBsb2FkIH0gZnJvbSAnLi9oYW5kbGVVcGxvYWQuanMnXG5pbXBvcnQgeyBnZXRIYW5kbGVyIH0gZnJvbSAnLi9zdGF0aWNIYW5kbGVyLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZ3Mge1xuICBhY2w/OiAnUHJpdmF0ZScgfCAnUHVibGljJ1xuICBidWNrZXQ6IHN0cmluZ1xuICBvcHRpb25zOiBTdG9yYWdlT3B0aW9uc1xufVxuXG5leHBvcnQgY29uc3QgZ2NzQWRhcHRlciA9XG4gICh7IGFjbCwgYnVja2V0LCBvcHRpb25zIH06IEFyZ3MpOiBBZGFwdGVyID0+XG4gICh7IGNvbGxlY3Rpb24sIHByZWZpeCB9KTogR2VuZXJhdGVkQWRhcHRlciA9PiB7XG4gICAgbGV0IHN0b3JhZ2VDbGllbnQ6IFN0b3JhZ2UgfCBudWxsID0gbnVsbFxuXG4gICAgY29uc3QgZ2V0U3RvcmFnZUNsaWVudCA9ICgpOiBTdG9yYWdlID0+IHtcbiAgICAgIGlmIChzdG9yYWdlQ2xpZW50KSByZXR1cm4gc3RvcmFnZUNsaWVudFxuICAgICAgc3RvcmFnZUNsaWVudCA9IG5ldyBTdG9yYWdlKG9wdGlvbnMpXG4gICAgICByZXR1cm4gc3RvcmFnZUNsaWVudFxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBnZW5lcmF0ZVVSTDogZ2V0R2VuZXJhdGVVUkwoeyBidWNrZXQsIGdldFN0b3JhZ2VDbGllbnQgfSksXG4gICAgICBoYW5kbGVEZWxldGU6IGdldEhhbmRsZURlbGV0ZSh7IGJ1Y2tldCwgZ2V0U3RvcmFnZUNsaWVudCB9KSxcbiAgICAgIGhhbmRsZVVwbG9hZDogZ2V0SGFuZGxlVXBsb2FkKHtcbiAgICAgICAgYWNsLFxuICAgICAgICBidWNrZXQsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGdldFN0b3JhZ2VDbGllbnQsXG4gICAgICAgIHByZWZpeCxcbiAgICAgIH0pLFxuICAgICAgc3RhdGljSGFuZGxlcjogZ2V0SGFuZGxlcih7IGJ1Y2tldCwgY29sbGVjdGlvbiwgZ2V0U3RvcmFnZUNsaWVudCB9KSxcbiAgICB9XG4gIH1cbiJdLCJuYW1lcyI6WyJTdG9yYWdlIiwiZ2V0R2VuZXJhdGVVUkwiLCJnZXRIYW5kbGVEZWxldGUiLCJnZXRIYW5kbGVVcGxvYWQiLCJnZXRIYW5kbGVyIiwiZ2NzQWRhcHRlciIsImFjbCIsImJ1Y2tldCIsIm9wdGlvbnMiLCJjb2xsZWN0aW9uIiwicHJlZml4Iiwic3RvcmFnZUNsaWVudCIsImdldFN0b3JhZ2VDbGllbnQiLCJnZW5lcmF0ZVVSTCIsImhhbmRsZURlbGV0ZSIsImhhbmRsZVVwbG9hZCIsInN0YXRpY0hhbmRsZXIiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLE9BQU8sUUFBUSx3QkFBdUI7QUFJL0MsU0FBU0MsY0FBYyxRQUFRLG1CQUFrQjtBQUNqRCxTQUFTQyxlQUFlLFFBQVEsb0JBQW1CO0FBQ25ELFNBQVNDLGVBQWUsUUFBUSxvQkFBbUI7QUFDbkQsU0FBU0MsVUFBVSxRQUFRLHFCQUFvQjtBQVEvQyxPQUFPLE1BQU1DLGFBQ1gsQ0FBQyxFQUFFQyxHQUFHLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFRLEdBQy9CLENBQUMsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLEVBQUU7UUFDckIsSUFBSUMsZ0JBQWdDO1FBRXBDLE1BQU1DLG1CQUFtQjtZQUN2QixJQUFJRCxlQUFlLE9BQU9BO1lBQzFCQSxnQkFBZ0IsSUFBSVgsUUFBUVE7WUFDNUIsT0FBT0c7UUFDVDtRQUVBLE9BQU87WUFDTEUsYUFBYVosZUFBZTtnQkFBRU07Z0JBQVFLO1lBQWlCO1lBQ3ZERSxjQUFjWixnQkFBZ0I7Z0JBQUVLO2dCQUFRSztZQUFpQjtZQUN6REcsY0FBY1osZ0JBQWdCO2dCQUM1Qkc7Z0JBQ0FDO2dCQUNBRTtnQkFDQUc7Z0JBQ0FGO1lBQ0Y7WUFDQU0sZUFBZVosV0FBVztnQkFBRUc7Z0JBQVFFO2dCQUFZRztZQUFpQjtRQUNuRTtJQUNGLEVBQUMifQ==
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/gcs/index.ts"],"sourcesContent":["import type { StorageOptions } from '@google-cloud/storage'\n\nimport { Storage } from '@google-cloud/storage'\n\nimport type { Adapter, GeneratedAdapter } from '../../types.js'\n\nimport { getGenerateURL } from './generateURL.js'\nimport { getHandleDelete } from './handleDelete.js'\nimport { getHandleUpload } from './handleUpload.js'\nimport { getHandler } from './staticHandler.js'\n\nexport interface Args {\n acl?: 'Private' | 'Public'\n bucket: string\n options: StorageOptions\n}\n\nexport const gcsAdapter =\n ({ acl, bucket, options }: Args): Adapter =>\n ({ collection, prefix }): GeneratedAdapter => {\n let storageClient: Storage | null = null\n\n const getStorageClient = (): Storage => {\n if (storageClient) return storageClient\n storageClient = new Storage(options)\n return storageClient\n }\n\n return {\n generateURL: getGenerateURL({ bucket, getStorageClient }),\n handleDelete: getHandleDelete({ bucket, getStorageClient }),\n handleUpload: getHandleUpload({\n acl,\n bucket,\n collection,\n getStorageClient,\n prefix,\n }),\n staticHandler: getHandler({ bucket, collection, getStorageClient }),\n }\n }\n"],"names":["Storage","getGenerateURL","getHandleDelete","getHandleUpload","getHandler","gcsAdapter","acl","bucket","options","collection","prefix","storageClient","getStorageClient","generateURL","handleDelete","handleUpload","staticHandler"],"mappings":"AAEA,SAASA,OAAO,QAAQ,wBAAuB;AAI/C,SAASC,cAAc,QAAQ,mBAAkB;AACjD,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,UAAU,QAAQ,qBAAoB;AAQ/C,OAAO,MAAMC,aACX,CAAC,EAAEC,GAAG,EAAEC,MAAM,EAAEC,OAAO,EAAQ,GAC/B,CAAC,EAAEC,UAAU,EAAEC,MAAM,EAAE;QACrB,IAAIC,gBAAgC;QAEpC,MAAMC,mBAAmB;YACvB,IAAID,eAAe,OAAOA;YAC1BA,gBAAgB,IAAIX,QAAQQ;YAC5B,OAAOG;QACT;QAEA,OAAO;YACLE,aAAaZ,eAAe;gBAAEM;gBAAQK;YAAiB;YACvDE,cAAcZ,gBAAgB;gBAAEK;gBAAQK;YAAiB;YACzDG,cAAcZ,gBAAgB;gBAC5BG;gBACAC;gBACAE;gBACAG;gBACAF;YACF;YACAM,eAAeZ,WAAW;gBAAEG;gBAAQE;gBAAYG;YAAiB;QACnE;IACF,EAAC"}
@@ -41,4 +41,4 @@ export const getHandler = ({ bucket, collection, getStorageClient })=>{
41
41
  };
42
42
  };
43
43
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9nY3Mvc3RhdGljSGFuZGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0b3JhZ2UgfSBmcm9tICdAZ29vZ2xlLWNsb3VkL3N0b3JhZ2UnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5pbXBvcnQgdHlwZSB7IFN0YXRpY0hhbmRsZXIgfSBmcm9tICcuLi8uLi90eXBlcy5qcydcblxuaW1wb3J0IHsgZ2V0RmlsZVByZWZpeCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9nZXRGaWxlUHJlZml4LmpzJ1xuXG5pbnRlcmZhY2UgQXJncyB7XG4gIGJ1Y2tldDogc3RyaW5nXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWdcbiAgZ2V0U3RvcmFnZUNsaWVudDogKCkgPT4gU3RvcmFnZVxufVxuXG5leHBvcnQgY29uc3QgZ2V0SGFuZGxlciA9ICh7IGJ1Y2tldCwgY29sbGVjdGlvbiwgZ2V0U3RvcmFnZUNsaWVudCB9OiBBcmdzKTogU3RhdGljSGFuZGxlciA9PiB7XG4gIHJldHVybiBhc3luYyAocmVxLCB7IHBhcmFtcyB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGF3YWl0IGdldEZpbGVQcmVmaXgoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgIGNvbnN0IGZpbGUgPSBnZXRTdG9yYWdlQ2xpZW50KCkuYnVja2V0KGJ1Y2tldCkuZmlsZShwYXRoLnBvc2l4LmpvaW4ocHJlZml4LCBwYXJhbXMuZmlsZW5hbWUpKVxuXG4gICAgICBjb25zdCBbbWV0YWRhdGFdID0gYXdhaXQgZmlsZS5nZXRNZXRhZGF0YSgpXG5cbiAgICAgIC8vIE1hbnVhbGx5IGNyZWF0ZSBhIFJlYWRhYmxlU3RyZWFtIGZvciB0aGUgd2ViIGZyb20gYSBOb2RlLmpzIHN0cmVhbS5cbiAgICAgIGNvbnN0IHJlYWRhYmxlU3RyZWFtID0gbmV3IFJlYWRhYmxlU3RyZWFtKHtcbiAgICAgICAgc3RhcnQoY29udHJvbGxlcikge1xuICAgICAgICAgIGNvbnN0IG5vZGVTdHJlYW0gPSBmaWxlLmNyZWF0ZVJlYWRTdHJlYW0oKVxuICAgICAgICAgIG5vZGVTdHJlYW0ub24oJ2RhdGEnLCAoY2h1bmspID0+IHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShuZXcgVWludDhBcnJheShjaHVuaykpXG4gICAgICAgICAgfSlcbiAgICAgICAgICBub2RlU3RyZWFtLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb250cm9sbGVyLmNsb3NlKClcbiAgICAgICAgICB9KVxuICAgICAgICAgIG5vZGVTdHJlYW0ub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgICAgICAgY29udHJvbGxlci5lcnJvcihlcnIpXG4gICAgICAgICAgfSlcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UocmVhZGFibGVTdHJlYW0sIHtcbiAgICAgICAgaGVhZGVyczogbmV3IEhlYWRlcnMoe1xuICAgICAgICAgICdDb250ZW50LUxlbmd0aCc6IFN0cmluZyhtZXRhZGF0YS5zaXplKSxcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogbWV0YWRhdGEuY29udGVudFR5cGUsXG4gICAgICAgICAgRVRhZzogbWV0YWRhdGEuZXRhZyxcbiAgICAgICAgfSksXG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIHJlcS5wYXlsb2FkLmxvZ2dlci5lcnJvcihlcnIpXG4gICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKCdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLCB7IHN0YXR1czogNTAwIH0pXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsicGF0aCIsImdldEZpbGVQcmVmaXgiLCJnZXRIYW5kbGVyIiwiYnVja2V0IiwiY29sbGVjdGlvbiIsImdldFN0b3JhZ2VDbGllbnQiLCJyZXEiLCJwYXJhbXMiLCJwcmVmaXgiLCJmaWxlIiwicG9zaXgiLCJqb2luIiwiZmlsZW5hbWUiLCJtZXRhZGF0YSIsImdldE1ldGFkYXRhIiwicmVhZGFibGVTdHJlYW0iLCJSZWFkYWJsZVN0cmVhbSIsInN0YXJ0IiwiY29udHJvbGxlciIsIm5vZGVTdHJlYW0iLCJjcmVhdGVSZWFkU3RyZWFtIiwib24iLCJjaHVuayIsImVucXVldWUiLCJVaW50OEFycmF5IiwiY2xvc2UiLCJlcnIiLCJlcnJvciIsIlJlc3BvbnNlIiwiaGVhZGVycyIsIkhlYWRlcnMiLCJTdHJpbmciLCJzaXplIiwiY29udGVudFR5cGUiLCJFVGFnIiwiZXRhZyIsInN0YXR1cyIsInBheWxvYWQiLCJsb2dnZXIiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU9BLFVBQVUsT0FBTTtBQUl2QixTQUFTQyxhQUFhLFFBQVEsbUNBQWtDO0FBUWhFLE9BQU8sTUFBTUMsYUFBYSxDQUFDLEVBQUVDLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxnQkFBZ0IsRUFBUTtJQUN2RSxPQUFPLE9BQU9DLEtBQUssRUFBRUMsTUFBTSxFQUFFO1FBQzNCLElBQUk7WUFDRixNQUFNQyxTQUFTLE1BQU1QLGNBQWM7Z0JBQUVHO2dCQUFZRTtZQUFJO1lBQ3JELE1BQU1HLE9BQU9KLG1CQUFtQkYsTUFBTSxDQUFDQSxRQUFRTSxJQUFJLENBQUNULEtBQUtVLEtBQUssQ0FBQ0MsSUFBSSxDQUFDSCxRQUFRRCxPQUFPSyxRQUFRO1lBRTNGLE1BQU0sQ0FBQ0MsU0FBUyxHQUFHLE1BQU1KLEtBQUtLLFdBQVc7WUFFekMsc0VBQXNFO1lBQ3RFLE1BQU1DLGlCQUFpQixJQUFJQyxlQUFlO2dCQUN4Q0MsT0FBTUMsVUFBVTtvQkFDZCxNQUFNQyxhQUFhVixLQUFLVyxnQkFBZ0I7b0JBQ3hDRCxXQUFXRSxFQUFFLENBQUMsUUFBUSxDQUFDQzt3QkFDckJKLFdBQVdLLE9BQU8sQ0FBQyxJQUFJQyxXQUFXRjtvQkFDcEM7b0JBQ0FILFdBQVdFLEVBQUUsQ0FBQyxPQUFPO3dCQUNuQkgsV0FBV08sS0FBSztvQkFDbEI7b0JBQ0FOLFdBQVdFLEVBQUUsQ0FBQyxTQUFTLENBQUNLO3dCQUN0QlIsV0FBV1MsS0FBSyxDQUFDRDtvQkFDbkI7Z0JBQ0Y7WUFDRjtZQUVBLE9BQU8sSUFBSUUsU0FBU2IsZ0JBQWdCO2dCQUNsQ2MsU0FBUyxJQUFJQyxRQUFRO29CQUNuQixrQkFBa0JDLE9BQU9sQixTQUFTbUIsSUFBSTtvQkFDdEMsZ0JBQWdCbkIsU0FBU29CLFdBQVc7b0JBQ3BDQyxNQUFNckIsU0FBU3NCLElBQUk7Z0JBQ3JCO2dCQUNBQyxRQUFRO1lBQ1Y7UUFDRixFQUFFLE9BQU9WLEtBQWM7WUFDckJwQixJQUFJK0IsT0FBTyxDQUFDQyxNQUFNLENBQUNYLEtBQUssQ0FBQ0Q7WUFDekIsT0FBTyxJQUFJRSxTQUFTLHlCQUF5QjtnQkFBRVEsUUFBUTtZQUFJO1FBQzdEO0lBQ0Y7QUFDRixFQUFDIn0=
44
+ //# sourceMappingURL=staticHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/gcs/staticHandler.ts"],"sourcesContent":["import type { Storage } from '@google-cloud/storage'\nimport type { CollectionConfig } from 'payload/types'\n\nimport path from 'path'\n\nimport type { StaticHandler } from '../../types.js'\n\nimport { getFilePrefix } from '../../utilities/getFilePrefix.js'\n\ninterface Args {\n bucket: string\n collection: CollectionConfig\n getStorageClient: () => Storage\n}\n\nexport const getHandler = ({ bucket, collection, getStorageClient }: Args): StaticHandler => {\n return async (req, { params }) => {\n try {\n const prefix = await getFilePrefix({ collection, req })\n const file = getStorageClient().bucket(bucket).file(path.posix.join(prefix, params.filename))\n\n const [metadata] = await file.getMetadata()\n\n // Manually create a ReadableStream for the web from a Node.js stream.\n const readableStream = new ReadableStream({\n start(controller) {\n const nodeStream = file.createReadStream()\n nodeStream.on('data', (chunk) => {\n controller.enqueue(new Uint8Array(chunk))\n })\n nodeStream.on('end', () => {\n controller.close()\n })\n nodeStream.on('error', (err) => {\n controller.error(err)\n })\n },\n })\n\n return new Response(readableStream, {\n headers: new Headers({\n 'Content-Length': String(metadata.size),\n 'Content-Type': metadata.contentType,\n ETag: metadata.etag,\n }),\n status: 200,\n })\n } catch (err: unknown) {\n req.payload.logger.error(err)\n return new Response('Internal Server Error', { status: 500 })\n }\n }\n}\n"],"names":["path","getFilePrefix","getHandler","bucket","collection","getStorageClient","req","params","prefix","file","posix","join","filename","metadata","getMetadata","readableStream","ReadableStream","start","controller","nodeStream","createReadStream","on","chunk","enqueue","Uint8Array","close","err","error","Response","headers","Headers","String","size","contentType","ETag","etag","status","payload","logger"],"mappings":"AAGA,OAAOA,UAAU,OAAM;AAIvB,SAASC,aAAa,QAAQ,mCAAkC;AAQhE,OAAO,MAAMC,aAAa,CAAC,EAAEC,MAAM,EAAEC,UAAU,EAAEC,gBAAgB,EAAQ;IACvE,OAAO,OAAOC,KAAK,EAAEC,MAAM,EAAE;QAC3B,IAAI;YACF,MAAMC,SAAS,MAAMP,cAAc;gBAAEG;gBAAYE;YAAI;YACrD,MAAMG,OAAOJ,mBAAmBF,MAAM,CAACA,QAAQM,IAAI,CAACT,KAAKU,KAAK,CAACC,IAAI,CAACH,QAAQD,OAAOK,QAAQ;YAE3F,MAAM,CAACC,SAAS,GAAG,MAAMJ,KAAKK,WAAW;YAEzC,sEAAsE;YACtE,MAAMC,iBAAiB,IAAIC,eAAe;gBACxCC,OAAMC,UAAU;oBACd,MAAMC,aAAaV,KAAKW,gBAAgB;oBACxCD,WAAWE,EAAE,CAAC,QAAQ,CAACC;wBACrBJ,WAAWK,OAAO,CAAC,IAAIC,WAAWF;oBACpC;oBACAH,WAAWE,EAAE,CAAC,OAAO;wBACnBH,WAAWO,KAAK;oBAClB;oBACAN,WAAWE,EAAE,CAAC,SAAS,CAACK;wBACtBR,WAAWS,KAAK,CAACD;oBACnB;gBACF;YACF;YAEA,OAAO,IAAIE,SAASb,gBAAgB;gBAClCc,SAAS,IAAIC,QAAQ;oBACnB,kBAAkBC,OAAOlB,SAASmB,IAAI;oBACtC,gBAAgBnB,SAASoB,WAAW;oBACpCC,MAAMrB,SAASsB,IAAI;gBACrB;gBACAC,QAAQ;YACV;QACF,EAAE,OAAOV,KAAc;YACrBpB,IAAI+B,OAAO,CAACC,MAAM,CAACX,KAAK,CAACD;YACzB,OAAO,IAAIE,SAAS,yBAAyB;gBAAEQ,QAAQ;YAAI;QAC7D;IACF;AACF,EAAC"}
@@ -3,4 +3,4 @@ export const getGenerateURL = ({ bucket, config: { endpoint } })=>({ filename, p
3
3
  return `${endpoint}/${bucket}/${path.posix.join(prefix, filename)}`;
4
4
  };
5
5
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9zMy9nZW5lcmF0ZVVSTC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIEFXUyBmcm9tICdAYXdzLXNkay9jbGllbnQtczMnXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVVUkwgfSBmcm9tICcuLi8uLi90eXBlcy5qcydcblxuaW50ZXJmYWNlIEFyZ3Mge1xuICBidWNrZXQ6IHN0cmluZ1xuICBjb25maWc6IEFXUy5TM0NsaWVudENvbmZpZ1xufVxuXG5leHBvcnQgY29uc3QgZ2V0R2VuZXJhdGVVUkwgPVxuICAoeyBidWNrZXQsIGNvbmZpZzogeyBlbmRwb2ludCB9IH06IEFyZ3MpOiBHZW5lcmF0ZVVSTCA9PlxuICAoeyBmaWxlbmFtZSwgcHJlZml4ID0gJycgfSkgPT4ge1xuICAgIHJldHVybiBgJHtlbmRwb2ludH0vJHtidWNrZXR9LyR7cGF0aC5wb3NpeC5qb2luKHByZWZpeCwgZmlsZW5hbWUpfWBcbiAgfVxuIl0sIm5hbWVzIjpbInBhdGgiLCJnZXRHZW5lcmF0ZVVSTCIsImJ1Y2tldCIsImNvbmZpZyIsImVuZHBvaW50IiwiZmlsZW5hbWUiLCJwcmVmaXgiLCJwb3NpeCIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUVBLE9BQU9BLFVBQVUsT0FBTTtBQVN2QixPQUFPLE1BQU1DLGlCQUNYLENBQUMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFFBQVEsRUFBRSxFQUFRLEdBQ3ZDLENBQUMsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsRUFBRTtRQUN4QixPQUFPLENBQUMsRUFBRUYsU0FBUyxDQUFDLEVBQUVGLE9BQU8sQ0FBQyxFQUFFRixLQUFLTyxLQUFLLENBQUNDLElBQUksQ0FBQ0YsUUFBUUQsVUFBVSxDQUFDO0lBQ3JFLEVBQUMifQ==
6
+ //# sourceMappingURL=generateURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/s3/generateURL.ts"],"sourcesContent":["import type * as AWS from '@aws-sdk/client-s3'\n\nimport path from 'path'\n\nimport type { GenerateURL } from '../../types.js'\n\ninterface Args {\n bucket: string\n config: AWS.S3ClientConfig\n}\n\nexport const getGenerateURL =\n ({ bucket, config: { endpoint } }: Args): GenerateURL =>\n ({ filename, prefix = '' }) => {\n return `${endpoint}/${bucket}/${path.posix.join(prefix, filename)}`\n }\n"],"names":["path","getGenerateURL","bucket","config","endpoint","filename","prefix","posix","join"],"mappings":"AAEA,OAAOA,UAAU,OAAM;AASvB,OAAO,MAAMC,iBACX,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,EAAQ,GACvC,CAAC,EAAEC,QAAQ,EAAEC,SAAS,EAAE,EAAE;QACxB,OAAO,CAAC,EAAEF,SAAS,CAAC,EAAEF,OAAO,CAAC,EAAEF,KAAKO,KAAK,CAACC,IAAI,CAACF,QAAQD,UAAU,CAAC;IACrE,EAAC"}
@@ -8,4 +8,4 @@ export const getHandleDelete = ({ bucket, getStorageClient })=>{
8
8
  };
9
9
  };
10
10
 
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9zMy9oYW5kbGVEZWxldGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBBV1MgZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5pbXBvcnQgdHlwZSB7IEhhbmRsZURlbGV0ZSB9IGZyb20gJy4uLy4uL3R5cGVzLmpzJ1xuXG5pbnRlcmZhY2UgQXJncyB7XG4gIGJ1Y2tldDogc3RyaW5nXG4gIGdldFN0b3JhZ2VDbGllbnQ6ICgpID0+IEFXUy5TM1xufVxuXG5leHBvcnQgY29uc3QgZ2V0SGFuZGxlRGVsZXRlID0gKHsgYnVja2V0LCBnZXRTdG9yYWdlQ2xpZW50IH06IEFyZ3MpOiBIYW5kbGVEZWxldGUgPT4ge1xuICByZXR1cm4gYXN5bmMgKHsgZG9jOiB7IHByZWZpeCA9ICcnIH0sIGZpbGVuYW1lIH0pID0+IHtcbiAgICBhd2FpdCBnZXRTdG9yYWdlQ2xpZW50KCkuZGVsZXRlT2JqZWN0KHtcbiAgICAgIEJ1Y2tldDogYnVja2V0LFxuICAgICAgS2V5OiBwYXRoLnBvc2l4LmpvaW4ocHJlZml4LCBmaWxlbmFtZSksXG4gICAgfSlcbiAgfVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJnZXRIYW5kbGVEZWxldGUiLCJidWNrZXQiLCJnZXRTdG9yYWdlQ2xpZW50IiwiZG9jIiwicHJlZml4IiwiZmlsZW5hbWUiLCJkZWxldGVPYmplY3QiLCJCdWNrZXQiLCJLZXkiLCJwb3NpeCIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUVBLE9BQU9BLFVBQVUsT0FBTTtBQVN2QixPQUFPLE1BQU1DLGtCQUFrQixDQUFDLEVBQUVDLE1BQU0sRUFBRUMsZ0JBQWdCLEVBQVE7SUFDaEUsT0FBTyxPQUFPLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUFFLEVBQUUsRUFBRUMsUUFBUSxFQUFFO1FBQzlDLE1BQU1ILG1CQUFtQkksWUFBWSxDQUFDO1lBQ3BDQyxRQUFRTjtZQUNSTyxLQUFLVCxLQUFLVSxLQUFLLENBQUNDLElBQUksQ0FBQ04sUUFBUUM7UUFDL0I7SUFDRjtBQUNGLEVBQUMifQ==
11
+ //# sourceMappingURL=handleDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/s3/handleDelete.ts"],"sourcesContent":["import type * as AWS from '@aws-sdk/client-s3'\n\nimport path from 'path'\n\nimport type { HandleDelete } from '../../types.js'\n\ninterface Args {\n bucket: string\n getStorageClient: () => AWS.S3\n}\n\nexport const getHandleDelete = ({ bucket, getStorageClient }: Args): HandleDelete => {\n return async ({ doc: { prefix = '' }, filename }) => {\n await getStorageClient().deleteObject({\n Bucket: bucket,\n Key: path.posix.join(prefix, filename),\n })\n }\n}\n"],"names":["path","getHandleDelete","bucket","getStorageClient","doc","prefix","filename","deleteObject","Bucket","Key","posix","join"],"mappings":"AAEA,OAAOA,UAAU,OAAM;AASvB,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAEC,gBAAgB,EAAQ;IAChE,OAAO,OAAO,EAAEC,KAAK,EAAEC,SAAS,EAAE,EAAE,EAAEC,QAAQ,EAAE;QAC9C,MAAMH,mBAAmBI,YAAY,CAAC;YACpCC,QAAQN;YACRO,KAAKT,KAAKU,KAAK,CAACC,IAAI,CAACN,QAAQC;QAC/B;IACF;AACF,EAAC"}
@@ -34,4 +34,4 @@ export const getHandleUpload = ({ acl, bucket, getStorageClient, prefix = '' })=
34
34
  };
35
35
  };
36
36
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9zMy9oYW5kbGVVcGxvYWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBBV1MgZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0eXBlIHN0cmVhbSBmcm9tICdzdHJlYW0nXG5cbmltcG9ydCB7IFVwbG9hZCB9IGZyb20gJ0Bhd3Mtc2RrL2xpYi1zdG9yYWdlJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHR5cGUgeyBIYW5kbGVVcGxvYWQgfSBmcm9tICcuLi8uLi90eXBlcy5qcydcblxuaW50ZXJmYWNlIEFyZ3Mge1xuICBhY2w/OiAncHJpdmF0ZScgfCAncHVibGljLXJlYWQnXG4gIGJ1Y2tldDogc3RyaW5nXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWdcbiAgZ2V0U3RvcmFnZUNsaWVudDogKCkgPT4gQVdTLlMzXG4gIHByZWZpeD86IHN0cmluZ1xufVxuXG5jb25zdCBtdWx0aXBhcnRUaHJlc2hvbGQgPSAxMDI0ICogMTAyNCAqIDUwIC8vIDUwTUJcblxuZXhwb3J0IGNvbnN0IGdldEhhbmRsZVVwbG9hZCA9ICh7XG4gIGFjbCxcbiAgYnVja2V0LFxuICBnZXRTdG9yYWdlQ2xpZW50LFxuICBwcmVmaXggPSAnJyxcbn06IEFyZ3MpOiBIYW5kbGVVcGxvYWQgPT4ge1xuICByZXR1cm4gYXN5bmMgKHsgZGF0YSwgZmlsZSB9KSA9PiB7XG4gICAgY29uc3QgZmlsZUtleSA9IHBhdGgucG9zaXguam9pbihkYXRhLnByZWZpeCB8fCBwcmVmaXgsIGZpbGUuZmlsZW5hbWUpXG5cbiAgICBjb25zdCBmaWxlQnVmZmVyT3JTdHJlYW06IEJ1ZmZlciB8IHN0cmVhbS5SZWFkYWJsZSA9IGZpbGUudGVtcEZpbGVQYXRoXG4gICAgICA/IGZzLmNyZWF0ZVJlYWRTdHJlYW0oZmlsZS50ZW1wRmlsZVBhdGgpXG4gICAgICA6IGZpbGUuYnVmZmVyXG5cbiAgICBpZiAoZmlsZS5idWZmZXIubGVuZ3RoID4gMCAmJiBmaWxlLmJ1ZmZlci5sZW5ndGggPCBtdWx0aXBhcnRUaHJlc2hvbGQpIHtcbiAgICAgIGF3YWl0IGdldFN0b3JhZ2VDbGllbnQoKS5wdXRPYmplY3Qoe1xuICAgICAgICBBQ0w6IGFjbCxcbiAgICAgICAgQm9keTogZmlsZUJ1ZmZlck9yU3RyZWFtLFxuICAgICAgICBCdWNrZXQ6IGJ1Y2tldCxcbiAgICAgICAgQ29udGVudFR5cGU6IGZpbGUubWltZVR5cGUsXG4gICAgICAgIEtleTogZmlsZUtleSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgY29uc3QgcGFyYWxsZWxVcGxvYWRTMyA9IG5ldyBVcGxvYWQoe1xuICAgICAgY2xpZW50OiBnZXRTdG9yYWdlQ2xpZW50KCksXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgQUNMOiBhY2wsXG4gICAgICAgIEJvZHk6IGZpbGVCdWZmZXJPclN0cmVhbSxcbiAgICAgICAgQnVja2V0OiBidWNrZXQsXG4gICAgICAgIENvbnRlbnRUeXBlOiBmaWxlLm1pbWVUeXBlLFxuICAgICAgICBLZXk6IGZpbGVLZXksXG4gICAgICB9LFxuICAgICAgcGFydFNpemU6IG11bHRpcGFydFRocmVzaG9sZCxcbiAgICAgIHF1ZXVlU2l6ZTogNCxcbiAgICB9KVxuXG4gICAgYXdhaXQgcGFyYWxsZWxVcGxvYWRTMy5kb25lKClcblxuICAgIHJldHVybiBkYXRhXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJVcGxvYWQiLCJmcyIsInBhdGgiLCJtdWx0aXBhcnRUaHJlc2hvbGQiLCJnZXRIYW5kbGVVcGxvYWQiLCJhY2wiLCJidWNrZXQiLCJnZXRTdG9yYWdlQ2xpZW50IiwicHJlZml4IiwiZGF0YSIsImZpbGUiLCJmaWxlS2V5IiwicG9zaXgiLCJqb2luIiwiZmlsZW5hbWUiLCJmaWxlQnVmZmVyT3JTdHJlYW0iLCJ0ZW1wRmlsZVBhdGgiLCJjcmVhdGVSZWFkU3RyZWFtIiwiYnVmZmVyIiwibGVuZ3RoIiwicHV0T2JqZWN0IiwiQUNMIiwiQm9keSIsIkJ1Y2tldCIsIkNvbnRlbnRUeXBlIiwibWltZVR5cGUiLCJLZXkiLCJwYXJhbGxlbFVwbG9hZFMzIiwiY2xpZW50IiwicGFyYW1zIiwicGFydFNpemUiLCJxdWV1ZVNpemUiLCJkb25lIl0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxNQUFNLFFBQVEsdUJBQXNCO0FBQzdDLE9BQU9DLFFBQVEsS0FBSTtBQUNuQixPQUFPQyxVQUFVLE9BQU07QUFZdkIsTUFBTUMscUJBQXFCLE9BQU8sT0FBTyxHQUFHLE9BQU87O0FBRW5ELE9BQU8sTUFBTUMsa0JBQWtCLENBQUMsRUFDOUJDLEdBQUcsRUFDSEMsTUFBTSxFQUNOQyxnQkFBZ0IsRUFDaEJDLFNBQVMsRUFBRSxFQUNOO0lBQ0wsT0FBTyxPQUFPLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFO1FBQzFCLE1BQU1DLFVBQVVULEtBQUtVLEtBQUssQ0FBQ0MsSUFBSSxDQUFDSixLQUFLRCxNQUFNLElBQUlBLFFBQVFFLEtBQUtJLFFBQVE7UUFFcEUsTUFBTUMscUJBQStDTCxLQUFLTSxZQUFZLEdBQ2xFZixHQUFHZ0IsZ0JBQWdCLENBQUNQLEtBQUtNLFlBQVksSUFDckNOLEtBQUtRLE1BQU07UUFFZixJQUFJUixLQUFLUSxNQUFNLENBQUNDLE1BQU0sR0FBRyxLQUFLVCxLQUFLUSxNQUFNLENBQUNDLE1BQU0sR0FBR2hCLG9CQUFvQjtZQUNyRSxNQUFNSSxtQkFBbUJhLFNBQVMsQ0FBQztnQkFDakNDLEtBQUtoQjtnQkFDTGlCLE1BQU1QO2dCQUNOUSxRQUFRakI7Z0JBQ1JrQixhQUFhZCxLQUFLZSxRQUFRO2dCQUMxQkMsS0FBS2Y7WUFDUDtZQUVBLE9BQU9GO1FBQ1Q7UUFFQSxNQUFNa0IsbUJBQW1CLElBQUkzQixPQUFPO1lBQ2xDNEIsUUFBUXJCO1lBQ1JzQixRQUFRO2dCQUNOUixLQUFLaEI7Z0JBQ0xpQixNQUFNUDtnQkFDTlEsUUFBUWpCO2dCQUNSa0IsYUFBYWQsS0FBS2UsUUFBUTtnQkFDMUJDLEtBQUtmO1lBQ1A7WUFDQW1CLFVBQVUzQjtZQUNWNEIsV0FBVztRQUNiO1FBRUEsTUFBTUosaUJBQWlCSyxJQUFJO1FBRTNCLE9BQU92QjtJQUNUO0FBQ0YsRUFBQyJ9
37
+ //# sourceMappingURL=handleUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/s3/handleUpload.ts"],"sourcesContent":["import type * as AWS from '@aws-sdk/client-s3'\nimport type { CollectionConfig } from 'payload/types'\nimport type stream from 'stream'\n\nimport { Upload } from '@aws-sdk/lib-storage'\nimport fs from 'fs'\nimport path from 'path'\n\nimport type { HandleUpload } from '../../types.js'\n\ninterface Args {\n acl?: 'private' | 'public-read'\n bucket: string\n collection: CollectionConfig\n getStorageClient: () => AWS.S3\n prefix?: string\n}\n\nconst multipartThreshold = 1024 * 1024 * 50 // 50MB\n\nexport const getHandleUpload = ({\n acl,\n bucket,\n getStorageClient,\n prefix = '',\n}: Args): HandleUpload => {\n return async ({ data, file }) => {\n const fileKey = path.posix.join(data.prefix || prefix, file.filename)\n\n const fileBufferOrStream: Buffer | stream.Readable = file.tempFilePath\n ? fs.createReadStream(file.tempFilePath)\n : file.buffer\n\n if (file.buffer.length > 0 && file.buffer.length < multipartThreshold) {\n await getStorageClient().putObject({\n ACL: acl,\n Body: fileBufferOrStream,\n Bucket: bucket,\n ContentType: file.mimeType,\n Key: fileKey,\n })\n\n return data\n }\n\n const parallelUploadS3 = new Upload({\n client: getStorageClient(),\n params: {\n ACL: acl,\n Body: fileBufferOrStream,\n Bucket: bucket,\n ContentType: file.mimeType,\n Key: fileKey,\n },\n partSize: multipartThreshold,\n queueSize: 4,\n })\n\n await parallelUploadS3.done()\n\n return data\n }\n}\n"],"names":["Upload","fs","path","multipartThreshold","getHandleUpload","acl","bucket","getStorageClient","prefix","data","file","fileKey","posix","join","filename","fileBufferOrStream","tempFilePath","createReadStream","buffer","length","putObject","ACL","Body","Bucket","ContentType","mimeType","Key","parallelUploadS3","client","params","partSize","queueSize","done"],"mappings":"AAIA,SAASA,MAAM,QAAQ,uBAAsB;AAC7C,OAAOC,QAAQ,KAAI;AACnB,OAAOC,UAAU,OAAM;AAYvB,MAAMC,qBAAqB,OAAO,OAAO,GAAG,OAAO;;AAEnD,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,GAAG,EACHC,MAAM,EACNC,gBAAgB,EAChBC,SAAS,EAAE,EACN;IACL,OAAO,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAE;QAC1B,MAAMC,UAAUT,KAAKU,KAAK,CAACC,IAAI,CAACJ,KAAKD,MAAM,IAAIA,QAAQE,KAAKI,QAAQ;QAEpE,MAAMC,qBAA+CL,KAAKM,YAAY,GAClEf,GAAGgB,gBAAgB,CAACP,KAAKM,YAAY,IACrCN,KAAKQ,MAAM;QAEf,IAAIR,KAAKQ,MAAM,CAACC,MAAM,GAAG,KAAKT,KAAKQ,MAAM,CAACC,MAAM,GAAGhB,oBAAoB;YACrE,MAAMI,mBAAmBa,SAAS,CAAC;gBACjCC,KAAKhB;gBACLiB,MAAMP;gBACNQ,QAAQjB;gBACRkB,aAAad,KAAKe,QAAQ;gBAC1BC,KAAKf;YACP;YAEA,OAAOF;QACT;QAEA,MAAMkB,mBAAmB,IAAI3B,OAAO;YAClC4B,QAAQrB;YACRsB,QAAQ;gBACNR,KAAKhB;gBACLiB,MAAMP;gBACNQ,QAAQjB;gBACRkB,aAAad,KAAKe,QAAQ;gBAC1BC,KAAKf;YACP;YACAmB,UAAU3B;YACV4B,WAAW;QACb;QAEA,MAAMJ,iBAAiBK,IAAI;QAE3B,OAAOvB;IACT;AACF,EAAC"}
@@ -34,4 +34,4 @@ export const s3Adapter = ({ acl, bucket, config = {} })=>({ collection, prefix }
34
34
  };
35
35
  };
36
36
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9zMy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBV1MgZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJ1xuXG5pbXBvcnQgdHlwZSB7IEFkYXB0ZXIsIEdlbmVyYXRlZEFkYXB0ZXIgfSBmcm9tICcuLi8uLi90eXBlcy5qcydcblxuaW1wb3J0IHsgZ2V0R2VuZXJhdGVVUkwgfSBmcm9tICcuL2dlbmVyYXRlVVJMLmpzJ1xuaW1wb3J0IHsgZ2V0SGFuZGxlRGVsZXRlIH0gZnJvbSAnLi9oYW5kbGVEZWxldGUuanMnXG5pbXBvcnQgeyBnZXRIYW5kbGVVcGxvYWQgfSBmcm9tICcuL2hhbmRsZVVwbG9hZC5qcydcbmltcG9ydCB7IGdldEhhbmRsZXIgfSBmcm9tICcuL3N0YXRpY0hhbmRsZXIuanMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJncyB7XG4gIGFjbD86ICdwcml2YXRlJyB8ICdwdWJsaWMtcmVhZCdcbiAgLyoqXG4gICAqIEJ1Y2tldCBuYW1lIHRvIHVwbG9hZCBmaWxlcyB0by5cbiAgICpcbiAgICogTXVzdCBmb2xsb3cgW0FXUyBTMyBidWNrZXQgbmFtaW5nIGNvbnZlbnRpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L3VzZXJndWlkZS9idWNrZXRuYW1pbmdydWxlcy5odG1sKS5cbiAgICovXG4gIGJ1Y2tldDogc3RyaW5nXG4gIC8qKlxuICAgKiBBV1MgUzMgY2xpZW50IGNvbmZpZ3VyYXRpb24uIEhpZ2hseSBkZXBlbmRlbnQgb24geW91ciBBV1Mgc2V0dXAuXG4gICAqXG4gICAqIFtBV1MuUzNDbGllbnRDb25maWcgRG9jc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0phdmFTY3JpcHRTREsvdjMvbGF0ZXN0L2NsaWVudHMvY2xpZW50LXMzL2ludGVyZmFjZXMvczNjbGllbnRjb25maWcuaHRtbClcbiAgICovXG4gIGNvbmZpZzogQVdTLlMzQ2xpZW50Q29uZmlnXG59XG5cbmV4cG9ydCBjb25zdCBzM0FkYXB0ZXIgPVxuICAoeyBhY2wsIGJ1Y2tldCwgY29uZmlnID0ge30gfTogQXJncyk6IEFkYXB0ZXIgPT5cbiAgKHsgY29sbGVjdGlvbiwgcHJlZml4IH0pOiBHZW5lcmF0ZWRBZGFwdGVyID0+IHtcbiAgICBsZXQgc3RvcmFnZUNsaWVudDogQVdTLlMzIHwgbnVsbCA9IG51bGxcbiAgICBjb25zdCBnZXRTdG9yYWdlQ2xpZW50OiAoKSA9PiBBV1MuUzMgPSAoKSA9PiB7XG4gICAgICBpZiAoc3RvcmFnZUNsaWVudCkgcmV0dXJuIHN0b3JhZ2VDbGllbnRcbiAgICAgIHN0b3JhZ2VDbGllbnQgPSBuZXcgQVdTLlMzKGNvbmZpZylcbiAgICAgIHJldHVybiBzdG9yYWdlQ2xpZW50XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdlbmVyYXRlVVJMOiBnZXRHZW5lcmF0ZVVSTCh7IGJ1Y2tldCwgY29uZmlnIH0pLFxuICAgICAgaGFuZGxlRGVsZXRlOiBnZXRIYW5kbGVEZWxldGUoeyBidWNrZXQsIGdldFN0b3JhZ2VDbGllbnQgfSksXG4gICAgICBoYW5kbGVVcGxvYWQ6IGdldEhhbmRsZVVwbG9hZCh7XG4gICAgICAgIGFjbCxcbiAgICAgICAgYnVja2V0LFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBnZXRTdG9yYWdlQ2xpZW50LFxuICAgICAgICBwcmVmaXgsXG4gICAgICB9KSxcbiAgICAgIHN0YXRpY0hhbmRsZXI6IGdldEhhbmRsZXIoeyBidWNrZXQsIGNvbGxlY3Rpb24sIGdldFN0b3JhZ2VDbGllbnQgfSksXG4gICAgfVxuICB9XG4iXSwibmFtZXMiOlsiQVdTIiwiZ2V0R2VuZXJhdGVVUkwiLCJnZXRIYW5kbGVEZWxldGUiLCJnZXRIYW5kbGVVcGxvYWQiLCJnZXRIYW5kbGVyIiwiczNBZGFwdGVyIiwiYWNsIiwiYnVja2V0IiwiY29uZmlnIiwiY29sbGVjdGlvbiIsInByZWZpeCIsInN0b3JhZ2VDbGllbnQiLCJnZXRTdG9yYWdlQ2xpZW50IiwiUzMiLCJnZW5lcmF0ZVVSTCIsImhhbmRsZURlbGV0ZSIsImhhbmRsZVVwbG9hZCIsInN0YXRpY0hhbmRsZXIiXSwibWFwcGluZ3MiOiJBQUFBLFlBQVlBLFNBQVMscUJBQW9CO0FBSXpDLFNBQVNDLGNBQWMsUUFBUSxtQkFBa0I7QUFDakQsU0FBU0MsZUFBZSxRQUFRLG9CQUFtQjtBQUNuRCxTQUFTQyxlQUFlLFFBQVEsb0JBQW1CO0FBQ25ELFNBQVNDLFVBQVUsUUFBUSxxQkFBb0I7QUFrQi9DLE9BQU8sTUFBTUMsWUFDWCxDQUFDLEVBQUVDLEdBQUcsRUFBRUMsTUFBTSxFQUFFQyxTQUFTLENBQUMsQ0FBQyxFQUFRLEdBQ25DLENBQUMsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLEVBQUU7UUFDckIsSUFBSUMsZ0JBQStCO1FBQ25DLE1BQU1DLG1CQUFpQztZQUNyQyxJQUFJRCxlQUFlLE9BQU9BO1lBQzFCQSxnQkFBZ0IsSUFBSVgsSUFBSWEsRUFBRSxDQUFDTDtZQUMzQixPQUFPRztRQUNUO1FBRUEsT0FBTztZQUNMRyxhQUFhYixlQUFlO2dCQUFFTTtnQkFBUUM7WUFBTztZQUM3Q08sY0FBY2IsZ0JBQWdCO2dCQUFFSztnQkFBUUs7WUFBaUI7WUFDekRJLGNBQWNiLGdCQUFnQjtnQkFDNUJHO2dCQUNBQztnQkFDQUU7Z0JBQ0FHO2dCQUNBRjtZQUNGO1lBQ0FPLGVBQWViLFdBQVc7Z0JBQUVHO2dCQUFRRTtnQkFBWUc7WUFBaUI7UUFDbkU7SUFDRixFQUFDIn0=
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/s3/index.ts"],"sourcesContent":["import * as AWS from '@aws-sdk/client-s3'\n\nimport type { Adapter, GeneratedAdapter } from '../../types.js'\n\nimport { getGenerateURL } from './generateURL.js'\nimport { getHandleDelete } from './handleDelete.js'\nimport { getHandleUpload } from './handleUpload.js'\nimport { getHandler } from './staticHandler.js'\n\nexport interface Args {\n acl?: 'private' | 'public-read'\n /**\n * Bucket name to upload files to.\n *\n * Must follow [AWS S3 bucket naming conventions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).\n */\n bucket: string\n /**\n * AWS S3 client configuration. Highly dependent on your AWS setup.\n *\n * [AWS.S3ClientConfig Docs](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/interfaces/s3clientconfig.html)\n */\n config: AWS.S3ClientConfig\n}\n\nexport const s3Adapter =\n ({ acl, bucket, config = {} }: Args): Adapter =>\n ({ collection, prefix }): GeneratedAdapter => {\n let storageClient: AWS.S3 | null = null\n const getStorageClient: () => AWS.S3 = () => {\n if (storageClient) return storageClient\n storageClient = new AWS.S3(config)\n return storageClient\n }\n\n return {\n generateURL: getGenerateURL({ bucket, config }),\n handleDelete: getHandleDelete({ bucket, getStorageClient }),\n handleUpload: getHandleUpload({\n acl,\n bucket,\n collection,\n getStorageClient,\n prefix,\n }),\n staticHandler: getHandler({ bucket, collection, getStorageClient }),\n }\n }\n"],"names":["AWS","getGenerateURL","getHandleDelete","getHandleUpload","getHandler","s3Adapter","acl","bucket","config","collection","prefix","storageClient","getStorageClient","S3","generateURL","handleDelete","handleUpload","staticHandler"],"mappings":"AAAA,YAAYA,SAAS,qBAAoB;AAIzC,SAASC,cAAc,QAAQ,mBAAkB;AACjD,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,UAAU,QAAQ,qBAAoB;AAkB/C,OAAO,MAAMC,YACX,CAAC,EAAEC,GAAG,EAAEC,MAAM,EAAEC,SAAS,CAAC,CAAC,EAAQ,GACnC,CAAC,EAAEC,UAAU,EAAEC,MAAM,EAAE;QACrB,IAAIC,gBAA+B;QACnC,MAAMC,mBAAiC;YACrC,IAAID,eAAe,OAAOA;YAC1BA,gBAAgB,IAAIX,IAAIa,EAAE,CAACL;YAC3B,OAAOG;QACT;QAEA,OAAO;YACLG,aAAab,eAAe;gBAAEM;gBAAQC;YAAO;YAC7CO,cAAcb,gBAAgB;gBAAEK;gBAAQK;YAAiB;YACzDI,cAAcb,gBAAgB;gBAC5BG;gBACAC;gBACAE;gBACAG;gBACAF;YACF;YACAO,eAAeb,WAAW;gBAAEG;gBAAQE;gBAAYG;YAAiB;QACnE;IACF,EAAC"}
@@ -44,4 +44,4 @@ export const getHandler = ({ bucket, collection, getStorageClient })=>{
44
44
  };
45
45
  };
46
46
 
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9zMy9zdGF0aWNIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgQVdTIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zMydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmltcG9ydCB0eXBlIHsgU3RhdGljSGFuZGxlciB9IGZyb20gJy4uLy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBnZXRGaWxlUHJlZml4IH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dldEZpbGVQcmVmaXguanMnXG5cbmludGVyZmFjZSBBcmdzIHtcbiAgYnVja2V0OiBzdHJpbmdcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBnZXRTdG9yYWdlQ2xpZW50OiAoKSA9PiBBV1MuUzNcbn1cblxuLy8gQ29udmVydCBhIHN0cmVhbSBpbnRvIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBCdWZmZXJcbmNvbnN0IHN0cmVhbVRvQnVmZmVyID0gYXN5bmMgKHJlYWRhYmxlU3RyZWFtKSA9PiB7XG4gIGNvbnN0IGNodW5rcyA9IFtdXG4gIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2YgcmVhZGFibGVTdHJlYW0pIHtcbiAgICBjaHVua3MucHVzaCh0eXBlb2YgY2h1bmsgPT09ICdzdHJpbmcnID8gQnVmZmVyLmZyb20oY2h1bmspIDogY2h1bmspXG4gIH1cbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoY2h1bmtzKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0SGFuZGxlciA9ICh7IGJ1Y2tldCwgY29sbGVjdGlvbiwgZ2V0U3RvcmFnZUNsaWVudCB9OiBBcmdzKTogU3RhdGljSGFuZGxlciA9PiB7XG4gIHJldHVybiBhc3luYyAocmVxLCB7IHBhcmFtcyB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGF3YWl0IGdldEZpbGVQcmVmaXgoeyBjb2xsZWN0aW9uLCByZXEgfSlcblxuICAgICAgY29uc3Qgb2JqZWN0ID0gYXdhaXQgZ2V0U3RvcmFnZUNsaWVudCgpLmdldE9iamVjdCh7XG4gICAgICAgIEJ1Y2tldDogYnVja2V0LFxuICAgICAgICBLZXk6IHBhdGgucG9zaXguam9pbihwcmVmaXgsIHBhcmFtcy5maWxlbmFtZSksXG4gICAgICB9KVxuXG4gICAgICBpZiAoIW9iamVjdC5Cb2R5KSB7XG4gICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UobnVsbCwgeyBzdGF0dXM6IDQwNCwgc3RhdHVzVGV4dDogJ05vdCBGb3VuZCcgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgYm9keUJ1ZmZlciA9IGF3YWl0IHN0cmVhbVRvQnVmZmVyKG9iamVjdC5Cb2R5KVxuXG4gICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKGJvZHlCdWZmZXIsIHtcbiAgICAgICAgaGVhZGVyczogbmV3IEhlYWRlcnMoe1xuICAgICAgICAgICdBY2NlcHQtUmFuZ2VzJzogb2JqZWN0LkFjY2VwdFJhbmdlcyxcbiAgICAgICAgICAnQ29udGVudC1MZW5ndGgnOiBTdHJpbmcob2JqZWN0LkNvbnRlbnRMZW5ndGgpLFxuICAgICAgICAgICdDb250ZW50LVR5cGUnOiBvYmplY3QuQ29udGVudFR5cGUsXG4gICAgICAgICAgRVRhZzogb2JqZWN0LkVUYWcsXG4gICAgICAgIH0pLFxuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXEucGF5bG9hZC5sb2dnZXIuZXJyb3IoZXJyKVxuICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSgnSW50ZXJuYWwgU2VydmVyIEVycm9yJywgeyBzdGF0dXM6IDUwMCB9KVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJnZXRGaWxlUHJlZml4Iiwic3RyZWFtVG9CdWZmZXIiLCJyZWFkYWJsZVN0cmVhbSIsImNodW5rcyIsImNodW5rIiwicHVzaCIsIkJ1ZmZlciIsImZyb20iLCJjb25jYXQiLCJnZXRIYW5kbGVyIiwiYnVja2V0IiwiY29sbGVjdGlvbiIsImdldFN0b3JhZ2VDbGllbnQiLCJyZXEiLCJwYXJhbXMiLCJwcmVmaXgiLCJvYmplY3QiLCJnZXRPYmplY3QiLCJCdWNrZXQiLCJLZXkiLCJwb3NpeCIsImpvaW4iLCJmaWxlbmFtZSIsIkJvZHkiLCJSZXNwb25zZSIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJib2R5QnVmZmVyIiwiaGVhZGVycyIsIkhlYWRlcnMiLCJBY2NlcHRSYW5nZXMiLCJTdHJpbmciLCJDb250ZW50TGVuZ3RoIiwiQ29udGVudFR5cGUiLCJFVGFnIiwiZXJyIiwicGF5bG9hZCIsImxvZ2dlciIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPQSxVQUFVLE9BQU07QUFJdkIsU0FBU0MsYUFBYSxRQUFRLG1DQUFrQztBQVFoRSw4REFBOEQ7QUFDOUQsTUFBTUMsaUJBQWlCLE9BQU9DO0lBQzVCLE1BQU1DLFNBQVMsRUFBRTtJQUNqQixXQUFXLE1BQU1DLFNBQVNGLGVBQWdCO1FBQ3hDQyxPQUFPRSxJQUFJLENBQUMsT0FBT0QsVUFBVSxXQUFXRSxPQUFPQyxJQUFJLENBQUNILFNBQVNBO0lBQy9EO0lBQ0EsT0FBT0UsT0FBT0UsTUFBTSxDQUFDTDtBQUN2QjtBQUVBLE9BQU8sTUFBTU0sYUFBYSxDQUFDLEVBQUVDLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxnQkFBZ0IsRUFBUTtJQUN2RSxPQUFPLE9BQU9DLEtBQUssRUFBRUMsTUFBTSxFQUFFO1FBQzNCLElBQUk7WUFDRixNQUFNQyxTQUFTLE1BQU1mLGNBQWM7Z0JBQUVXO2dCQUFZRTtZQUFJO1lBRXJELE1BQU1HLFNBQVMsTUFBTUosbUJBQW1CSyxTQUFTLENBQUM7Z0JBQ2hEQyxRQUFRUjtnQkFDUlMsS0FBS3BCLEtBQUtxQixLQUFLLENBQUNDLElBQUksQ0FBQ04sUUFBUUQsT0FBT1EsUUFBUTtZQUM5QztZQUVBLElBQUksQ0FBQ04sT0FBT08sSUFBSSxFQUFFO2dCQUNoQixPQUFPLElBQUlDLFNBQVMsTUFBTTtvQkFBRUMsUUFBUTtvQkFBS0MsWUFBWTtnQkFBWTtZQUNuRTtZQUVBLE1BQU1DLGFBQWEsTUFBTTFCLGVBQWVlLE9BQU9PLElBQUk7WUFFbkQsT0FBTyxJQUFJQyxTQUFTRyxZQUFZO2dCQUM5QkMsU0FBUyxJQUFJQyxRQUFRO29CQUNuQixpQkFBaUJiLE9BQU9jLFlBQVk7b0JBQ3BDLGtCQUFrQkMsT0FBT2YsT0FBT2dCLGFBQWE7b0JBQzdDLGdCQUFnQmhCLE9BQU9pQixXQUFXO29CQUNsQ0MsTUFBTWxCLE9BQU9rQixJQUFJO2dCQUNuQjtnQkFDQVQsUUFBUTtZQUNWO1FBQ0YsRUFBRSxPQUFPVSxLQUFLO1lBQ1p0QixJQUFJdUIsT0FBTyxDQUFDQyxNQUFNLENBQUNDLEtBQUssQ0FBQ0g7WUFDekIsT0FBTyxJQUFJWCxTQUFTLHlCQUF5QjtnQkFBRUMsUUFBUTtZQUFJO1FBQzdEO0lBQ0Y7QUFDRixFQUFDIn0=
47
+ //# sourceMappingURL=staticHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/s3/staticHandler.ts"],"sourcesContent":["import type * as AWS from '@aws-sdk/client-s3'\nimport type { CollectionConfig } from 'payload/types'\n\nimport path from 'path'\n\nimport type { StaticHandler } from '../../types.js'\n\nimport { getFilePrefix } from '../../utilities/getFilePrefix.js'\n\ninterface Args {\n bucket: string\n collection: CollectionConfig\n getStorageClient: () => AWS.S3\n}\n\n// Convert a stream into a promise that resolves with a Buffer\nconst streamToBuffer = async (readableStream) => {\n const chunks = []\n for await (const chunk of readableStream) {\n chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk)\n }\n return Buffer.concat(chunks)\n}\n\nexport const getHandler = ({ bucket, collection, getStorageClient }: Args): StaticHandler => {\n return async (req, { params }) => {\n try {\n const prefix = await getFilePrefix({ collection, req })\n\n const object = await getStorageClient().getObject({\n Bucket: bucket,\n Key: path.posix.join(prefix, params.filename),\n })\n\n if (!object.Body) {\n return new Response(null, { status: 404, statusText: 'Not Found' })\n }\n\n const bodyBuffer = await streamToBuffer(object.Body)\n\n return new Response(bodyBuffer, {\n headers: new Headers({\n 'Accept-Ranges': object.AcceptRanges,\n 'Content-Length': String(object.ContentLength),\n 'Content-Type': object.ContentType,\n ETag: object.ETag,\n }),\n status: 200,\n })\n } catch (err) {\n req.payload.logger.error(err)\n return new Response('Internal Server Error', { status: 500 })\n }\n }\n}\n"],"names":["path","getFilePrefix","streamToBuffer","readableStream","chunks","chunk","push","Buffer","from","concat","getHandler","bucket","collection","getStorageClient","req","params","prefix","object","getObject","Bucket","Key","posix","join","filename","Body","Response","status","statusText","bodyBuffer","headers","Headers","AcceptRanges","String","ContentLength","ContentType","ETag","err","payload","logger","error"],"mappings":"AAGA,OAAOA,UAAU,OAAM;AAIvB,SAASC,aAAa,QAAQ,mCAAkC;AAQhE,8DAA8D;AAC9D,MAAMC,iBAAiB,OAAOC;IAC5B,MAAMC,SAAS,EAAE;IACjB,WAAW,MAAMC,SAASF,eAAgB;QACxCC,OAAOE,IAAI,CAAC,OAAOD,UAAU,WAAWE,OAAOC,IAAI,CAACH,SAASA;IAC/D;IACA,OAAOE,OAAOE,MAAM,CAACL;AACvB;AAEA,OAAO,MAAMM,aAAa,CAAC,EAAEC,MAAM,EAAEC,UAAU,EAAEC,gBAAgB,EAAQ;IACvE,OAAO,OAAOC,KAAK,EAAEC,MAAM,EAAE;QAC3B,IAAI;YACF,MAAMC,SAAS,MAAMf,cAAc;gBAAEW;gBAAYE;YAAI;YAErD,MAAMG,SAAS,MAAMJ,mBAAmBK,SAAS,CAAC;gBAChDC,QAAQR;gBACRS,KAAKpB,KAAKqB,KAAK,CAACC,IAAI,CAACN,QAAQD,OAAOQ,QAAQ;YAC9C;YAEA,IAAI,CAACN,OAAOO,IAAI,EAAE;gBAChB,OAAO,IAAIC,SAAS,MAAM;oBAAEC,QAAQ;oBAAKC,YAAY;gBAAY;YACnE;YAEA,MAAMC,aAAa,MAAM1B,eAAee,OAAOO,IAAI;YAEnD,OAAO,IAAIC,SAASG,YAAY;gBAC9BC,SAAS,IAAIC,QAAQ;oBACnB,iBAAiBb,OAAOc,YAAY;oBACpC,kBAAkBC,OAAOf,OAAOgB,aAAa;oBAC7C,gBAAgBhB,OAAOiB,WAAW;oBAClCC,MAAMlB,OAAOkB,IAAI;gBACnB;gBACAT,QAAQ;YACV;QACF,EAAE,OAAOU,KAAK;YACZtB,IAAIuB,OAAO,CAACC,MAAM,CAACC,KAAK,CAACH;YACzB,OAAO,IAAIX,SAAS,yBAAyB;gBAAEC,QAAQ;YAAI;QAC7D;IACF;AACF,EAAC"}
@@ -95,4 +95,4 @@ export const getFields = ({ collection, prefix })=>{
95
95
  return fields;
96
96
  };
97
97
 
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZG1pbi9maWVsZHMvZ2V0RmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JvdXBGaWVsZCwgVGV4dEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZywgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5pbnRlcmZhY2UgQXJncyB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWdcbiAgcHJlZml4Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBnZXRGaWVsZHMgPSAoeyBjb2xsZWN0aW9uLCBwcmVmaXggfTogQXJncyk6IEZpZWxkW10gPT4ge1xuICBjb25zdCBiYXNlVVJMRmllbGQ6IEZpZWxkID0ge1xuICAgIG5hbWU6ICd1cmwnLFxuICAgIHR5cGU6ICd0ZXh0JyxcbiAgICBhZG1pbjoge1xuICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfSxcbiAgICBsYWJlbDogJ1VSTCcsXG4gIH1cblxuICBjb25zdCBiYXNlUHJlZml4RmllbGQ6IEZpZWxkID0ge1xuICAgIG5hbWU6ICdwcmVmaXgnLFxuICAgIHR5cGU6ICd0ZXh0JyxcbiAgICBhZG1pbjoge1xuICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfSxcbiAgfVxuXG4gIGNvbnN0IGZpZWxkcyA9IFsuLi5jb2xsZWN0aW9uLmZpZWxkc11cblxuICAvLyBJbmplY3QgYSBob29rIGludG8gYWxsIFVSTCBmaWVsZHMgdG8gZ2VuZXJhdGUgVVJMc1xuXG4gIGxldCBleGlzdGluZ1VSTEZpZWxkSW5kZXggPSAtMVxuXG4gIGNvbnN0IGV4aXN0aW5nVVJMRmllbGQgPSBmaWVsZHMuZmluZCgoZXhpc3RpbmdGaWVsZCwgaSkgPT4ge1xuICAgIGlmICgnbmFtZScgaW4gZXhpc3RpbmdGaWVsZCAmJiBleGlzdGluZ0ZpZWxkLm5hbWUgPT09ICd1cmwnKSB7XG4gICAgICBleGlzdGluZ1VSTEZpZWxkSW5kZXggPSBpXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfSkgYXMgVGV4dEZpZWxkXG5cbiAgaWYgKGV4aXN0aW5nVVJMRmllbGRJbmRleCA+IC0xKSB7XG4gICAgZmllbGRzLnNwbGljZShleGlzdGluZ1VSTEZpZWxkSW5kZXgsIDEpXG4gIH1cblxuICBmaWVsZHMucHVzaCh7XG4gICAgLi4uYmFzZVVSTEZpZWxkLFxuICAgIC4uLihleGlzdGluZ1VSTEZpZWxkIHx8IHt9KSxcbiAgfSlcblxuICBpZiAodHlwZW9mIGNvbGxlY3Rpb24udXBsb2FkID09PSAnb2JqZWN0JyAmJiBjb2xsZWN0aW9uLnVwbG9hZC5pbWFnZVNpemVzKSB7XG4gICAgbGV0IGV4aXN0aW5nU2l6ZXNGaWVsZEluZGV4ID0gLTFcblxuICAgIGNvbnN0IGV4aXN0aW5nU2l6ZXNGaWVsZCA9IGZpZWxkcy5maW5kKChleGlzdGluZ0ZpZWxkLCBpKSA9PiB7XG4gICAgICBpZiAoJ25hbWUnIGluIGV4aXN0aW5nRmllbGQgJiYgZXhpc3RpbmdGaWVsZC5uYW1lID09PSAnc2l6ZXMnKSB7XG4gICAgICAgIGV4aXN0aW5nU2l6ZXNGaWVsZEluZGV4ID0gaVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9KSBhcyBHcm91cEZpZWxkXG5cbiAgICBpZiAoZXhpc3RpbmdTaXplc0ZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgZmllbGRzLnNwbGljZShleGlzdGluZ1NpemVzRmllbGRJbmRleCwgMSlcbiAgICB9XG5cbiAgICBjb25zdCBzaXplc0ZpZWxkOiBGaWVsZCA9IHtcbiAgICAgIC4uLihleGlzdGluZ1NpemVzRmllbGQgfHwge30pLFxuICAgICAgbmFtZTogJ3NpemVzJyxcbiAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBoaWRkZW46IHRydWUsXG4gICAgICB9LFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uLnVwbG9hZC5pbWFnZVNpemVzLm1hcCgoc2l6ZSkgPT4ge1xuICAgICAgICBjb25zdCBleGlzdGluZ1NpemVGaWVsZCA9IGV4aXN0aW5nU2l6ZXNGaWVsZD8uZmllbGRzLmZpbmQoXG4gICAgICAgICAgKGV4aXN0aW5nRmllbGQpID0+ICduYW1lJyBpbiBleGlzdGluZ0ZpZWxkICYmIGV4aXN0aW5nRmllbGQubmFtZSA9PT0gc2l6ZS5uYW1lLFxuICAgICAgICApIGFzIEdyb3VwRmllbGRcblxuICAgICAgICBjb25zdCBleGlzdGluZ1NpemVVUkxGaWVsZCA9IGV4aXN0aW5nU2l6ZUZpZWxkPy5maWVsZHMuZmluZChcbiAgICAgICAgICAoZXhpc3RpbmdGaWVsZCkgPT4gJ25hbWUnIGluIGV4aXN0aW5nRmllbGQgJiYgZXhpc3RpbmdGaWVsZC5uYW1lID09PSAndXJsJyxcbiAgICAgICAgKSBhcyBHcm91cEZpZWxkXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5leGlzdGluZ1NpemVGaWVsZCxcbiAgICAgICAgICBuYW1lOiBzaXplLm5hbWUsXG4gICAgICAgICAgdHlwZTogJ2dyb3VwJyxcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLi4uKGV4aXN0aW5nU2l6ZVVSTEZpZWxkIHx8IHt9KSxcbiAgICAgICAgICAgICAgLi4uYmFzZVVSTEZpZWxkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICB9XG5cbiAgICBmaWVsZHMucHVzaChzaXplc0ZpZWxkKVxuICB9XG5cbiAgLy8gSWYgcHJlZml4IGlzIGVuYWJsZWQsIHNhdmUgaXQgdG8gZGJcbiAgaWYgKHR5cGVvZiBwcmVmaXggIT09ICd1bmRlZmluZWQnKSB7XG4gICAgbGV0IGV4aXN0aW5nUHJlZml4RmllbGRJbmRleCA9IC0xXG5cbiAgICBjb25zdCBleGlzdGluZ1ByZWZpeEZpZWxkID0gZmllbGRzLmZpbmQoKGV4aXN0aW5nRmllbGQsIGkpID0+IHtcbiAgICAgIGlmICgnbmFtZScgaW4gZXhpc3RpbmdGaWVsZCAmJiBleGlzdGluZ0ZpZWxkLm5hbWUgPT09ICdwcmVmaXgnKSB7XG4gICAgICAgIGV4aXN0aW5nUHJlZml4RmllbGRJbmRleCA9IGlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pIGFzIFRleHRGaWVsZFxuXG4gICAgaWYgKGV4aXN0aW5nUHJlZml4RmllbGRJbmRleCA+IC0xKSB7XG4gICAgICBmaWVsZHMuc3BsaWNlKGV4aXN0aW5nUHJlZml4RmllbGRJbmRleCwgMSlcbiAgICB9XG5cbiAgICBmaWVsZHMucHVzaCh7XG4gICAgICAuLi5iYXNlUHJlZml4RmllbGQsXG4gICAgICAuLi4oZXhpc3RpbmdQcmVmaXhGaWVsZCB8fCB7fSksXG4gICAgICBkZWZhdWx0VmFsdWU6IHBhdGgucG9zaXguam9pbihwcmVmaXgpLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gZmllbGRzXG59XG4iXSwibmFtZXMiOlsicGF0aCIsImdldEZpZWxkcyIsImNvbGxlY3Rpb24iLCJwcmVmaXgiLCJiYXNlVVJMRmllbGQiLCJuYW1lIiwidHlwZSIsImFkbWluIiwiaGlkZGVuIiwicmVhZE9ubHkiLCJsYWJlbCIsImJhc2VQcmVmaXhGaWVsZCIsImZpZWxkcyIsImV4aXN0aW5nVVJMRmllbGRJbmRleCIsImV4aXN0aW5nVVJMRmllbGQiLCJmaW5kIiwiZXhpc3RpbmdGaWVsZCIsImkiLCJzcGxpY2UiLCJwdXNoIiwidXBsb2FkIiwiaW1hZ2VTaXplcyIsImV4aXN0aW5nU2l6ZXNGaWVsZEluZGV4IiwiZXhpc3RpbmdTaXplc0ZpZWxkIiwic2l6ZXNGaWVsZCIsIm1hcCIsInNpemUiLCJleGlzdGluZ1NpemVGaWVsZCIsImV4aXN0aW5nU2l6ZVVSTEZpZWxkIiwiZXhpc3RpbmdQcmVmaXhGaWVsZEluZGV4IiwiZXhpc3RpbmdQcmVmaXhGaWVsZCIsImRlZmF1bHRWYWx1ZSIsInBvc2l4Iiwiam9pbiJdLCJtYXBwaW5ncyI6IkFBR0EsT0FBT0EsVUFBVSxPQUFNO0FBT3ZCLE9BQU8sTUFBTUMsWUFBWSxDQUFDLEVBQUVDLFVBQVUsRUFBRUMsTUFBTSxFQUFRO0lBQ3BELE1BQU1DLGVBQXNCO1FBQzFCQyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsT0FBTztZQUNMQyxRQUFRO1lBQ1JDLFVBQVU7UUFDWjtRQUNBQyxPQUFPO0lBQ1Q7SUFFQSxNQUFNQyxrQkFBeUI7UUFDN0JOLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xDLFFBQVE7WUFDUkMsVUFBVTtRQUNaO0lBQ0Y7SUFFQSxNQUFNRyxTQUFTO1dBQUlWLFdBQVdVLE1BQU07S0FBQztJQUVyQyxxREFBcUQ7SUFFckQsSUFBSUMsd0JBQXdCLENBQUM7SUFFN0IsTUFBTUMsbUJBQW1CRixPQUFPRyxJQUFJLENBQUMsQ0FBQ0MsZUFBZUM7UUFDbkQsSUFBSSxVQUFVRCxpQkFBaUJBLGNBQWNYLElBQUksS0FBSyxPQUFPO1lBQzNEUSx3QkFBd0JJO1lBQ3hCLE9BQU87UUFDVDtRQUNBLE9BQU87SUFDVDtJQUVBLElBQUlKLHdCQUF3QixDQUFDLEdBQUc7UUFDOUJELE9BQU9NLE1BQU0sQ0FBQ0wsdUJBQXVCO0lBQ3ZDO0lBRUFELE9BQU9PLElBQUksQ0FBQztRQUNWLEdBQUdmLFlBQVk7UUFDZixHQUFJVSxvQkFBb0IsQ0FBQyxDQUFDO0lBQzVCO0lBRUEsSUFBSSxPQUFPWixXQUFXa0IsTUFBTSxLQUFLLFlBQVlsQixXQUFXa0IsTUFBTSxDQUFDQyxVQUFVLEVBQUU7UUFDekUsSUFBSUMsMEJBQTBCLENBQUM7UUFFL0IsTUFBTUMscUJBQXFCWCxPQUFPRyxJQUFJLENBQUMsQ0FBQ0MsZUFBZUM7WUFDckQsSUFBSSxVQUFVRCxpQkFBaUJBLGNBQWNYLElBQUksS0FBSyxTQUFTO2dCQUM3RGlCLDBCQUEwQkw7Z0JBQzFCLE9BQU87WUFDVDtZQUVBLE9BQU87UUFDVDtRQUVBLElBQUlLLDBCQUEwQixDQUFDLEdBQUc7WUFDaENWLE9BQU9NLE1BQU0sQ0FBQ0kseUJBQXlCO1FBQ3pDO1FBRUEsTUFBTUUsYUFBb0I7WUFDeEIsR0FBSUQsc0JBQXNCLENBQUMsQ0FBQztZQUM1QmxCLE1BQU07WUFDTkMsTUFBTTtZQUNOQyxPQUFPO2dCQUNMQyxRQUFRO1lBQ1Y7WUFDQUksUUFBUVYsV0FBV2tCLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDSSxHQUFHLENBQUMsQ0FBQ0M7Z0JBQ3hDLE1BQU1DLG9CQUFvQkosb0JBQW9CWCxPQUFPRyxLQUNuRCxDQUFDQyxnQkFBa0IsVUFBVUEsaUJBQWlCQSxjQUFjWCxJQUFJLEtBQUtxQixLQUFLckIsSUFBSTtnQkFHaEYsTUFBTXVCLHVCQUF1QkQsbUJBQW1CZixPQUFPRyxLQUNyRCxDQUFDQyxnQkFBa0IsVUFBVUEsaUJBQWlCQSxjQUFjWCxJQUFJLEtBQUs7Z0JBR3ZFLE9BQU87b0JBQ0wsR0FBR3NCLGlCQUFpQjtvQkFDcEJ0QixNQUFNcUIsS0FBS3JCLElBQUk7b0JBQ2ZDLE1BQU07b0JBQ05NLFFBQVE7d0JBQ047NEJBQ0UsR0FBSWdCLHdCQUF3QixDQUFDLENBQUM7NEJBQzlCLEdBQUd4QixZQUFZO3dCQUNqQjtxQkFDRDtnQkFDSDtZQUNGO1FBQ0Y7UUFFQVEsT0FBT08sSUFBSSxDQUFDSztJQUNkO0lBRUEsc0NBQXNDO0lBQ3RDLElBQUksT0FBT3JCLFdBQVcsYUFBYTtRQUNqQyxJQUFJMEIsMkJBQTJCLENBQUM7UUFFaEMsTUFBTUMsc0JBQXNCbEIsT0FBT0csSUFBSSxDQUFDLENBQUNDLGVBQWVDO1lBQ3RELElBQUksVUFBVUQsaUJBQWlCQSxjQUFjWCxJQUFJLEtBQUssVUFBVTtnQkFDOUR3QiwyQkFBMkJaO2dCQUMzQixPQUFPO1lBQ1Q7WUFDQSxPQUFPO1FBQ1Q7UUFFQSxJQUFJWSwyQkFBMkIsQ0FBQyxHQUFHO1lBQ2pDakIsT0FBT00sTUFBTSxDQUFDVywwQkFBMEI7UUFDMUM7UUFFQWpCLE9BQU9PLElBQUksQ0FBQztZQUNWLEdBQUdSLGVBQWU7WUFDbEIsR0FBSW1CLHVCQUF1QixDQUFDLENBQUM7WUFDN0JDLGNBQWMvQixLQUFLZ0MsS0FBSyxDQUFDQyxJQUFJLENBQUM5QjtRQUNoQztJQUNGO0lBRUEsT0FBT1M7QUFDVCxFQUFDIn0=
98
+ //# sourceMappingURL=getFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/admin/fields/getFields.ts"],"sourcesContent":["import type { GroupField, TextField } from 'payload/types'\nimport type { CollectionConfig, Field } from 'payload/types'\n\nimport path from 'path'\n\ninterface Args {\n collection: CollectionConfig\n prefix?: string\n}\n\nexport const getFields = ({ collection, prefix }: Args): Field[] => {\n const baseURLField: Field = {\n name: 'url',\n type: 'text',\n admin: {\n hidden: true,\n readOnly: true,\n },\n label: 'URL',\n }\n\n const basePrefixField: Field = {\n name: 'prefix',\n type: 'text',\n admin: {\n hidden: true,\n readOnly: true,\n },\n }\n\n const fields = [...collection.fields]\n\n // Inject a hook into all URL fields to generate URLs\n\n let existingURLFieldIndex = -1\n\n const existingURLField = fields.find((existingField, i) => {\n if ('name' in existingField && existingField.name === 'url') {\n existingURLFieldIndex = i\n return true\n }\n return false\n }) as TextField\n\n if (existingURLFieldIndex > -1) {\n fields.splice(existingURLFieldIndex, 1)\n }\n\n fields.push({\n ...baseURLField,\n ...(existingURLField || {}),\n })\n\n if (typeof collection.upload === 'object' && collection.upload.imageSizes) {\n let existingSizesFieldIndex = -1\n\n const existingSizesField = fields.find((existingField, i) => {\n if ('name' in existingField && existingField.name === 'sizes') {\n existingSizesFieldIndex = i\n return true\n }\n\n return false\n }) as GroupField\n\n if (existingSizesFieldIndex > -1) {\n fields.splice(existingSizesFieldIndex, 1)\n }\n\n const sizesField: Field = {\n ...(existingSizesField || {}),\n name: 'sizes',\n type: 'group',\n admin: {\n hidden: true,\n },\n fields: collection.upload.imageSizes.map((size) => {\n const existingSizeField = existingSizesField?.fields.find(\n (existingField) => 'name' in existingField && existingField.name === size.name,\n ) as GroupField\n\n const existingSizeURLField = existingSizeField?.fields.find(\n (existingField) => 'name' in existingField && existingField.name === 'url',\n ) as GroupField\n\n return {\n ...existingSizeField,\n name: size.name,\n type: 'group',\n fields: [\n {\n ...(existingSizeURLField || {}),\n ...baseURLField,\n },\n ],\n }\n }),\n }\n\n fields.push(sizesField)\n }\n\n // If prefix is enabled, save it to db\n if (typeof prefix !== 'undefined') {\n let existingPrefixFieldIndex = -1\n\n const existingPrefixField = fields.find((existingField, i) => {\n if ('name' in existingField && existingField.name === 'prefix') {\n existingPrefixFieldIndex = i\n return true\n }\n return false\n }) as TextField\n\n if (existingPrefixFieldIndex > -1) {\n fields.splice(existingPrefixFieldIndex, 1)\n }\n\n fields.push({\n ...basePrefixField,\n ...(existingPrefixField || {}),\n defaultValue: path.posix.join(prefix),\n })\n }\n\n return fields\n}\n"],"names":["path","getFields","collection","prefix","baseURLField","name","type","admin","hidden","readOnly","label","basePrefixField","fields","existingURLFieldIndex","existingURLField","find","existingField","i","splice","push","upload","imageSizes","existingSizesFieldIndex","existingSizesField","sizesField","map","size","existingSizeField","existingSizeURLField","existingPrefixFieldIndex","existingPrefixField","defaultValue","posix","join"],"mappings":"AAGA,OAAOA,UAAU,OAAM;AAOvB,OAAO,MAAMC,YAAY,CAAC,EAAEC,UAAU,EAAEC,MAAM,EAAQ;IACpD,MAAMC,eAAsB;QAC1BC,MAAM;QACNC,MAAM;QACNC,OAAO;YACLC,QAAQ;YACRC,UAAU;QACZ;QACAC,OAAO;IACT;IAEA,MAAMC,kBAAyB;QAC7BN,MAAM;QACNC,MAAM;QACNC,OAAO;YACLC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEA,MAAMG,SAAS;WAAIV,WAAWU,MAAM;KAAC;IAErC,qDAAqD;IAErD,IAAIC,wBAAwB,CAAC;IAE7B,MAAMC,mBAAmBF,OAAOG,IAAI,CAAC,CAACC,eAAeC;QACnD,IAAI,UAAUD,iBAAiBA,cAAcX,IAAI,KAAK,OAAO;YAC3DQ,wBAAwBI;YACxB,OAAO;QACT;QACA,OAAO;IACT;IAEA,IAAIJ,wBAAwB,CAAC,GAAG;QAC9BD,OAAOM,MAAM,CAACL,uBAAuB;IACvC;IAEAD,OAAOO,IAAI,CAAC;QACV,GAAGf,YAAY;QACf,GAAIU,oBAAoB,CAAC,CAAC;IAC5B;IAEA,IAAI,OAAOZ,WAAWkB,MAAM,KAAK,YAAYlB,WAAWkB,MAAM,CAACC,UAAU,EAAE;QACzE,IAAIC,0BAA0B,CAAC;QAE/B,MAAMC,qBAAqBX,OAAOG,IAAI,CAAC,CAACC,eAAeC;YACrD,IAAI,UAAUD,iBAAiBA,cAAcX,IAAI,KAAK,SAAS;gBAC7DiB,0BAA0BL;gBAC1B,OAAO;YACT;YAEA,OAAO;QACT;QAEA,IAAIK,0BAA0B,CAAC,GAAG;YAChCV,OAAOM,MAAM,CAACI,yBAAyB;QACzC;QAEA,MAAME,aAAoB;YACxB,GAAID,sBAAsB,CAAC,CAAC;YAC5BlB,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,QAAQ;YACV;YACAI,QAAQV,WAAWkB,MAAM,CAACC,UAAU,CAACI,GAAG,CAAC,CAACC;gBACxC,MAAMC,oBAAoBJ,oBAAoBX,OAAOG,KACnD,CAACC,gBAAkB,UAAUA,iBAAiBA,cAAcX,IAAI,KAAKqB,KAAKrB,IAAI;gBAGhF,MAAMuB,uBAAuBD,mBAAmBf,OAAOG,KACrD,CAACC,gBAAkB,UAAUA,iBAAiBA,cAAcX,IAAI,KAAK;gBAGvE,OAAO;oBACL,GAAGsB,iBAAiB;oBACpBtB,MAAMqB,KAAKrB,IAAI;oBACfC,MAAM;oBACNM,QAAQ;wBACN;4BACE,GAAIgB,wBAAwB,CAAC,CAAC;4BAC9B,GAAGxB,YAAY;wBACjB;qBACD;gBACH;YACF;QACF;QAEAQ,OAAOO,IAAI,CAACK;IACd;IAEA,sCAAsC;IACtC,IAAI,OAAOrB,WAAW,aAAa;QACjC,IAAI0B,2BAA2B,CAAC;QAEhC,MAAMC,sBAAsBlB,OAAOG,IAAI,CAAC,CAACC,eAAeC;YACtD,IAAI,UAAUD,iBAAiBA,cAAcX,IAAI,KAAK,UAAU;gBAC9DwB,2BAA2BZ;gBAC3B,OAAO;YACT;YACA,OAAO;QACT;QAEA,IAAIY,2BAA2B,CAAC,GAAG;YACjCjB,OAAOM,MAAM,CAACW,0BAA0B;QAC1C;QAEAjB,OAAOO,IAAI,CAAC;YACV,GAAGR,eAAe;YAClB,GAAImB,uBAAuB,CAAC,CAAC;YAC7BC,cAAc/B,KAAKgC,KAAK,CAACC,IAAI,CAAC9B;QAChC;IACF;IAEA,OAAOS;AACT,EAAC"}
@@ -29,4 +29,4 @@ export const cloudStorage = (pluginOptions)=>(incomingConfig)=>{
29
29
  };
30
30
  };
31
31
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZG1pbi9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy5qcydcblxuaW1wb3J0IHsgZ2V0RmllbGRzIH0gZnJvbSAnLi9maWVsZHMvZ2V0RmllbGRzLmpzJ1xuXG4vLyBUaGlzIGlzIHRoZSBhZG1pbiBwbHVnaW4gY2xvdWQtc3RvcmFnZSBzdHViZmlsZS5cbi8vIEl0IG9ubHkgZXh0ZW5kcyB0aGUgY29uZmlnIHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHRoZSBhZG1pbiBVSS5cblxuZXhwb3J0IGNvbnN0IGNsb3VkU3RvcmFnZSA9XG4gIChwbHVnaW5PcHRpb25zOiBQbHVnaW5PcHRpb25zKSA9PlxuICAoaW5jb21pbmdDb25maWc6IENvbmZpZyk6IENvbmZpZyA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uczogYWxsQ29sbGVjdGlvbk9wdGlvbnMsIGVuYWJsZWQgfSA9IHBsdWdpbk9wdGlvbnNcbiAgICBjb25zdCBjb25maWcgPSB7IC4uLmluY29taW5nQ29uZmlnIH1cblxuICAgIC8vIFJldHVybiBlYXJseSBpZiBkaXNhYmxlZC4gT25seSB3ZWJwYWNrIGNvbmZpZyBtb2RzIGFyZSBhcHBsaWVkLlxuICAgIGlmIChlbmFibGVkID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBjb2xsZWN0aW9uczogKGNvbmZpZy5jb2xsZWN0aW9ucyB8fCBbXSkubWFwKChleGlzdGluZ0NvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGFsbENvbGxlY3Rpb25PcHRpb25zW2V4aXN0aW5nQ29sbGVjdGlvbi5zbHVnXVxuXG4gICAgICAgIGlmIChvcHRpb25zPy5hZGFwdGVyKSB7XG4gICAgICAgICAgY29uc3QgZmllbGRzID0gZ2V0RmllbGRzKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGV4aXN0aW5nQ29sbGVjdGlvbixcbiAgICAgICAgICAgIHByZWZpeDogb3B0aW9ucy5wcmVmaXgsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5leGlzdGluZ0NvbGxlY3Rpb24sXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nQ29sbGVjdGlvblxuICAgICAgfSksXG4gICAgfVxuICB9XG4iXSwibmFtZXMiOlsiZ2V0RmllbGRzIiwiY2xvdWRTdG9yYWdlIiwicGx1Z2luT3B0aW9ucyIsImluY29taW5nQ29uZmlnIiwiY29sbGVjdGlvbnMiLCJhbGxDb2xsZWN0aW9uT3B0aW9ucyIsImVuYWJsZWQiLCJjb25maWciLCJtYXAiLCJleGlzdGluZ0NvbGxlY3Rpb24iLCJvcHRpb25zIiwic2x1ZyIsImFkYXB0ZXIiLCJmaWVsZHMiLCJjb2xsZWN0aW9uIiwicHJlZml4Il0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxTQUFTLFFBQVEsd0JBQXVCO0FBRWpELG1EQUFtRDtBQUNuRCxnRUFBZ0U7QUFFaEUsT0FBTyxNQUFNQyxlQUNYLENBQUNDLGdCQUNELENBQUNDO1FBQ0MsTUFBTSxFQUFFQyxhQUFhQyxvQkFBb0IsRUFBRUMsT0FBTyxFQUFFLEdBQUdKO1FBQ3ZELE1BQU1LLFNBQVM7WUFBRSxHQUFHSixjQUFjO1FBQUM7UUFFbkMsa0VBQWtFO1FBQ2xFLElBQUlHLFlBQVksT0FBTztZQUNyQixPQUFPQztRQUNUO1FBRUEsT0FBTztZQUNMLEdBQUdBLE1BQU07WUFDVEgsYUFBYSxBQUFDRyxDQUFBQSxPQUFPSCxXQUFXLElBQUksRUFBRSxBQUFELEVBQUdJLEdBQUcsQ0FBQyxDQUFDQztnQkFDM0MsTUFBTUMsVUFBVUwsb0JBQW9CLENBQUNJLG1CQUFtQkUsSUFBSSxDQUFDO2dCQUU3RCxJQUFJRCxTQUFTRSxTQUFTO29CQUNwQixNQUFNQyxTQUFTYixVQUFVO3dCQUN2QmMsWUFBWUw7d0JBQ1pNLFFBQVFMLFFBQVFLLE1BQU07b0JBQ3hCO29CQUVBLE9BQU87d0JBQ0wsR0FBR04sa0JBQWtCO3dCQUNyQkk7b0JBQ0Y7Z0JBQ0Y7Z0JBRUEsT0FBT0o7WUFDVDtRQUNGO0lBQ0YsRUFBQyJ9
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/admin/index.ts"],"sourcesContent":["import type { Config } from 'payload/config'\n\nimport type { PluginOptions } from '../types.js'\n\nimport { getFields } from './fields/getFields.js'\n\n// This is the admin plugin cloud-storage stubfile.\n// It only extends the config that are required by the admin UI.\n\nexport const cloudStorage =\n (pluginOptions: PluginOptions) =>\n (incomingConfig: Config): Config => {\n const { collections: allCollectionOptions, enabled } = pluginOptions\n const config = { ...incomingConfig }\n\n // Return early if disabled. Only webpack config mods are applied.\n if (enabled === false) {\n return config\n }\n\n return {\n ...config,\n collections: (config.collections || []).map((existingCollection) => {\n const options = allCollectionOptions[existingCollection.slug]\n\n if (options?.adapter) {\n const fields = getFields({\n collection: existingCollection,\n prefix: options.prefix,\n })\n\n return {\n ...existingCollection,\n fields,\n }\n }\n\n return existingCollection\n }),\n }\n }\n"],"names":["getFields","cloudStorage","pluginOptions","incomingConfig","collections","allCollectionOptions","enabled","config","map","existingCollection","options","slug","adapter","fields","collection","prefix"],"mappings":"AAIA,SAASA,SAAS,QAAQ,wBAAuB;AAEjD,mDAAmD;AACnD,gEAAgE;AAEhE,OAAO,MAAMC,eACX,CAACC,gBACD,CAACC;QACC,MAAM,EAAEC,aAAaC,oBAAoB,EAAEC,OAAO,EAAE,GAAGJ;QACvD,MAAMK,SAAS;YAAE,GAAGJ,cAAc;QAAC;QAEnC,kEAAkE;QAClE,IAAIG,YAAY,OAAO;YACrB,OAAOC;QACT;QAEA,OAAO;YACL,GAAGA,MAAM;YACTH,aAAa,AAACG,CAAAA,OAAOH,WAAW,IAAI,EAAE,AAAD,EAAGI,GAAG,CAAC,CAACC;gBAC3C,MAAMC,UAAUL,oBAAoB,CAACI,mBAAmBE,IAAI,CAAC;gBAE7D,IAAID,SAASE,SAAS;oBACpB,MAAMC,SAASb,UAAU;wBACvBc,YAAYL;wBACZM,QAAQL,QAAQK,MAAM;oBACxB;oBAEA,OAAO;wBACL,GAAGN,kBAAkB;wBACrBI;oBACF;gBACF;gBAEA,OAAOJ;YACT;QACF;IACF,EAAC"}
@@ -119,4 +119,4 @@ export const getFields = ({ adapter, collection, disablePayloadAccessControl, ge
119
119
  return fields;
120
120
  };
121
121
 
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvZ2V0RmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JvdXBGaWVsZCwgVGV4dEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZywgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlRmlsZVVSTCwgR2VuZXJhdGVkQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBnZXRBZnRlclJlYWRIb29rIH0gZnJvbSAnLi4vaG9va3MvYWZ0ZXJSZWFkLmpzJ1xuXG5pbnRlcmZhY2UgQXJncyB7XG4gIGFkYXB0ZXI6IEdlbmVyYXRlZEFkYXB0ZXJcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBkaXNhYmxlUGF5bG9hZEFjY2Vzc0NvbnRyb2w/OiB0cnVlXG4gIGdlbmVyYXRlRmlsZVVSTD86IEdlbmVyYXRlRmlsZVVSTFxuICBwcmVmaXg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGdldEZpZWxkcyA9ICh7XG4gIGFkYXB0ZXIsXG4gIGNvbGxlY3Rpb24sXG4gIGRpc2FibGVQYXlsb2FkQWNjZXNzQ29udHJvbCxcbiAgZ2VuZXJhdGVGaWxlVVJMLFxuICBwcmVmaXgsXG59OiBBcmdzKTogRmllbGRbXSA9PiB7XG4gIGNvbnN0IGJhc2VVUkxGaWVsZDogRmllbGQgPSB7XG4gICAgbmFtZTogJ3VybCcsXG4gICAgdHlwZTogJ3RleHQnLFxuICAgIGFkbWluOiB7XG4gICAgICBoaWRkZW46IHRydWUsXG4gICAgICByZWFkT25seTogdHJ1ZSxcbiAgICB9LFxuICAgIGxhYmVsOiAnVVJMJyxcbiAgfVxuXG4gIGNvbnN0IGJhc2VQcmVmaXhGaWVsZDogRmllbGQgPSB7XG4gICAgbmFtZTogJ3ByZWZpeCcsXG4gICAgdHlwZTogJ3RleHQnLFxuICAgIGFkbWluOiB7XG4gICAgICBoaWRkZW46IHRydWUsXG4gICAgICByZWFkT25seTogdHJ1ZSxcbiAgICB9LFxuICB9XG5cbiAgY29uc3QgZmllbGRzID0gWy4uLmNvbGxlY3Rpb24uZmllbGRzXVxuXG4gIC8vIEluamVjdCBhIGhvb2sgaW50byBhbGwgVVJMIGZpZWxkcyB0byBnZW5lcmF0ZSBVUkxzXG5cbiAgbGV0IGV4aXN0aW5nVVJMRmllbGRJbmRleCA9IC0xXG5cbiAgY29uc3QgZXhpc3RpbmdVUkxGaWVsZCA9IGZpZWxkcy5maW5kKChleGlzdGluZ0ZpZWxkLCBpKSA9PiB7XG4gICAgaWYgKCduYW1lJyBpbiBleGlzdGluZ0ZpZWxkICYmIGV4aXN0aW5nRmllbGQubmFtZSA9PT0gJ3VybCcpIHtcbiAgICAgIGV4aXN0aW5nVVJMRmllbGRJbmRleCA9IGlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9KSBhcyBUZXh0RmllbGRcblxuICBpZiAoZXhpc3RpbmdVUkxGaWVsZEluZGV4ID4gLTEpIHtcbiAgICBmaWVsZHMuc3BsaWNlKGV4aXN0aW5nVVJMRmllbGRJbmRleCwgMSlcbiAgfVxuXG4gIGZpZWxkcy5wdXNoKHtcbiAgICAuLi5iYXNlVVJMRmllbGQsXG4gICAgLi4uKGV4aXN0aW5nVVJMRmllbGQgfHwge30pLFxuICAgIGhvb2tzOiB7XG4gICAgICBhZnRlclJlYWQ6IFtcbiAgICAgICAgZ2V0QWZ0ZXJSZWFkSG9vayh7IGFkYXB0ZXIsIGNvbGxlY3Rpb24sIGRpc2FibGVQYXlsb2FkQWNjZXNzQ29udHJvbCwgZ2VuZXJhdGVGaWxlVVJMIH0pLFxuICAgICAgICAuLi4oZXhpc3RpbmdVUkxGaWVsZD8uaG9va3M/LmFmdGVyUmVhZCB8fCBbXSksXG4gICAgICBdLFxuICAgIH0sXG4gIH0pXG5cbiAgaWYgKHR5cGVvZiBjb2xsZWN0aW9uLnVwbG9hZCA9PT0gJ29iamVjdCcgJiYgY29sbGVjdGlvbi51cGxvYWQuaW1hZ2VTaXplcykge1xuICAgIGxldCBleGlzdGluZ1NpemVzRmllbGRJbmRleCA9IC0xXG5cbiAgICBjb25zdCBleGlzdGluZ1NpemVzRmllbGQgPSBmaWVsZHMuZmluZCgoZXhpc3RpbmdGaWVsZCwgaSkgPT4ge1xuICAgICAgaWYgKCduYW1lJyBpbiBleGlzdGluZ0ZpZWxkICYmIGV4aXN0aW5nRmllbGQubmFtZSA9PT0gJ3NpemVzJykge1xuICAgICAgICBleGlzdGluZ1NpemVzRmllbGRJbmRleCA9IGlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSkgYXMgR3JvdXBGaWVsZFxuXG4gICAgaWYgKGV4aXN0aW5nU2l6ZXNGaWVsZEluZGV4ID4gLTEpIHtcbiAgICAgIGZpZWxkcy5zcGxpY2UoZXhpc3RpbmdTaXplc0ZpZWxkSW5kZXgsIDEpXG4gICAgfVxuXG4gICAgY29uc3Qgc2l6ZXNGaWVsZDogRmllbGQgPSB7XG4gICAgICAuLi4oZXhpc3RpbmdTaXplc0ZpZWxkIHx8IHt9KSxcbiAgICAgIG5hbWU6ICdzaXplcycsXG4gICAgICB0eXBlOiAnZ3JvdXAnLFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGZpZWxkczogY29sbGVjdGlvbi51cGxvYWQuaW1hZ2VTaXplcy5tYXAoKHNpemUpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdTaXplRmllbGQgPSBleGlzdGluZ1NpemVzRmllbGQ/LmZpZWxkcy5maW5kKFxuICAgICAgICAgIChleGlzdGluZ0ZpZWxkKSA9PiAnbmFtZScgaW4gZXhpc3RpbmdGaWVsZCAmJiBleGlzdGluZ0ZpZWxkLm5hbWUgPT09IHNpemUubmFtZSxcbiAgICAgICAgKSBhcyBHcm91cEZpZWxkXG5cbiAgICAgICAgY29uc3QgZXhpc3RpbmdTaXplVVJMRmllbGQgPSBleGlzdGluZ1NpemVGaWVsZD8uZmllbGRzLmZpbmQoXG4gICAgICAgICAgKGV4aXN0aW5nRmllbGQpID0+ICduYW1lJyBpbiBleGlzdGluZ0ZpZWxkICYmIGV4aXN0aW5nRmllbGQubmFtZSA9PT0gJ3VybCcsXG4gICAgICAgICkgYXMgR3JvdXBGaWVsZFxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZXhpc3RpbmdTaXplRmllbGQsXG4gICAgICAgICAgbmFtZTogc2l6ZS5uYW1lLFxuICAgICAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLihleGlzdGluZ1NpemVVUkxGaWVsZCB8fCB7fSksXG4gICAgICAgICAgICAgIC4uLmJhc2VVUkxGaWVsZCxcbiAgICAgICAgICAgICAgaG9va3M6IHtcbiAgICAgICAgICAgICAgICBhZnRlclJlYWQ6IFtcbiAgICAgICAgICAgICAgICAgIGdldEFmdGVyUmVhZEhvb2soe1xuICAgICAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlUGF5bG9hZEFjY2Vzc0NvbnRyb2wsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRmlsZVVSTCxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgLi4uKGV4aXN0aW5nU2l6ZVVSTEZpZWxkPy5ob29rcz8uYWZ0ZXJSZWFkIHx8IFtdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICB9XG5cbiAgICBmaWVsZHMucHVzaChzaXplc0ZpZWxkKVxuICB9XG5cbiAgLy8gSWYgcHJlZml4IGlzIGVuYWJsZWQsIHNhdmUgaXQgdG8gZGJcbiAgaWYgKHR5cGVvZiBwcmVmaXggIT09ICd1bmRlZmluZWQnKSB7XG4gICAgbGV0IGV4aXN0aW5nUHJlZml4RmllbGRJbmRleCA9IC0xXG5cbiAgICBjb25zdCBleGlzdGluZ1ByZWZpeEZpZWxkID0gZmllbGRzLmZpbmQoKGV4aXN0aW5nRmllbGQsIGkpID0+IHtcbiAgICAgIGlmICgnbmFtZScgaW4gZXhpc3RpbmdGaWVsZCAmJiBleGlzdGluZ0ZpZWxkLm5hbWUgPT09ICdwcmVmaXgnKSB7XG4gICAgICAgIGV4aXN0aW5nUHJlZml4RmllbGRJbmRleCA9IGlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pIGFzIFRleHRGaWVsZFxuXG4gICAgaWYgKGV4aXN0aW5nUHJlZml4RmllbGRJbmRleCA+IC0xKSB7XG4gICAgICBmaWVsZHMuc3BsaWNlKGV4aXN0aW5nUHJlZml4RmllbGRJbmRleCwgMSlcbiAgICB9XG5cbiAgICBmaWVsZHMucHVzaCh7XG4gICAgICAuLi5iYXNlUHJlZml4RmllbGQsXG4gICAgICAuLi4oZXhpc3RpbmdQcmVmaXhGaWVsZCB8fCB7fSksXG4gICAgICBkZWZhdWx0VmFsdWU6IHBhdGgucG9zaXguam9pbihwcmVmaXgpLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gZmllbGRzXG59XG4iXSwibmFtZXMiOlsicGF0aCIsImdldEFmdGVyUmVhZEhvb2siLCJnZXRGaWVsZHMiLCJhZGFwdGVyIiwiY29sbGVjdGlvbiIsImRpc2FibGVQYXlsb2FkQWNjZXNzQ29udHJvbCIsImdlbmVyYXRlRmlsZVVSTCIsInByZWZpeCIsImJhc2VVUkxGaWVsZCIsIm5hbWUiLCJ0eXBlIiwiYWRtaW4iLCJoaWRkZW4iLCJyZWFkT25seSIsImxhYmVsIiwiYmFzZVByZWZpeEZpZWxkIiwiZmllbGRzIiwiZXhpc3RpbmdVUkxGaWVsZEluZGV4IiwiZXhpc3RpbmdVUkxGaWVsZCIsImZpbmQiLCJleGlzdGluZ0ZpZWxkIiwiaSIsInNwbGljZSIsInB1c2giLCJob29rcyIsImFmdGVyUmVhZCIsInVwbG9hZCIsImltYWdlU2l6ZXMiLCJleGlzdGluZ1NpemVzRmllbGRJbmRleCIsImV4aXN0aW5nU2l6ZXNGaWVsZCIsInNpemVzRmllbGQiLCJtYXAiLCJzaXplIiwiZXhpc3RpbmdTaXplRmllbGQiLCJleGlzdGluZ1NpemVVUkxGaWVsZCIsImV4aXN0aW5nUHJlZml4RmllbGRJbmRleCIsImV4aXN0aW5nUHJlZml4RmllbGQiLCJkZWZhdWx0VmFsdWUiLCJwb3NpeCIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUdBLE9BQU9BLFVBQVUsT0FBTTtBQUl2QixTQUFTQyxnQkFBZ0IsUUFBUSx3QkFBdUI7QUFVeEQsT0FBTyxNQUFNQyxZQUFZLENBQUMsRUFDeEJDLE9BQU8sRUFDUEMsVUFBVSxFQUNWQywyQkFBMkIsRUFDM0JDLGVBQWUsRUFDZkMsTUFBTSxFQUNEO0lBQ0wsTUFBTUMsZUFBc0I7UUFDMUJDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xDLFFBQVE7WUFDUkMsVUFBVTtRQUNaO1FBQ0FDLE9BQU87SUFDVDtJQUVBLE1BQU1DLGtCQUF5QjtRQUM3Qk4sTUFBTTtRQUNOQyxNQUFNO1FBQ05DLE9BQU87WUFDTEMsUUFBUTtZQUNSQyxVQUFVO1FBQ1o7SUFDRjtJQUVBLE1BQU1HLFNBQVM7V0FBSVosV0FBV1ksTUFBTTtLQUFDO0lBRXJDLHFEQUFxRDtJQUVyRCxJQUFJQyx3QkFBd0IsQ0FBQztJQUU3QixNQUFNQyxtQkFBbUJGLE9BQU9HLElBQUksQ0FBQyxDQUFDQyxlQUFlQztRQUNuRCxJQUFJLFVBQVVELGlCQUFpQkEsY0FBY1gsSUFBSSxLQUFLLE9BQU87WUFDM0RRLHdCQUF3Qkk7WUFDeEIsT0FBTztRQUNUO1FBQ0EsT0FBTztJQUNUO0lBRUEsSUFBSUosd0JBQXdCLENBQUMsR0FBRztRQUM5QkQsT0FBT00sTUFBTSxDQUFDTCx1QkFBdUI7SUFDdkM7SUFFQUQsT0FBT08sSUFBSSxDQUFDO1FBQ1YsR0FBR2YsWUFBWTtRQUNmLEdBQUlVLG9CQUFvQixDQUFDLENBQUM7UUFDMUJNLE9BQU87WUFDTEMsV0FBVztnQkFDVHhCLGlCQUFpQjtvQkFBRUU7b0JBQVNDO29CQUFZQztvQkFBNkJDO2dCQUFnQjttQkFDakZZLGtCQUFrQk0sT0FBT0MsYUFBYSxFQUFFO2FBQzdDO1FBQ0g7SUFDRjtJQUVBLElBQUksT0FBT3JCLFdBQVdzQixNQUFNLEtBQUssWUFBWXRCLFdBQVdzQixNQUFNLENBQUNDLFVBQVUsRUFBRTtRQUN6RSxJQUFJQywwQkFBMEIsQ0FBQztRQUUvQixNQUFNQyxxQkFBcUJiLE9BQU9HLElBQUksQ0FBQyxDQUFDQyxlQUFlQztZQUNyRCxJQUFJLFVBQVVELGlCQUFpQkEsY0FBY1gsSUFBSSxLQUFLLFNBQVM7Z0JBQzdEbUIsMEJBQTBCUDtnQkFDMUIsT0FBTztZQUNUO1lBRUEsT0FBTztRQUNUO1FBRUEsSUFBSU8sMEJBQTBCLENBQUMsR0FBRztZQUNoQ1osT0FBT00sTUFBTSxDQUFDTSx5QkFBeUI7UUFDekM7UUFFQSxNQUFNRSxhQUFvQjtZQUN4QixHQUFJRCxzQkFBc0IsQ0FBQyxDQUFDO1lBQzVCcEIsTUFBTTtZQUNOQyxNQUFNO1lBQ05DLE9BQU87Z0JBQ0xDLFFBQVE7WUFDVjtZQUNBSSxRQUFRWixXQUFXc0IsTUFBTSxDQUFDQyxVQUFVLENBQUNJLEdBQUcsQ0FBQyxDQUFDQztnQkFDeEMsTUFBTUMsb0JBQW9CSixvQkFBb0JiLE9BQU9HLEtBQ25ELENBQUNDLGdCQUFrQixVQUFVQSxpQkFBaUJBLGNBQWNYLElBQUksS0FBS3VCLEtBQUt2QixJQUFJO2dCQUdoRixNQUFNeUIsdUJBQXVCRCxtQkFBbUJqQixPQUFPRyxLQUNyRCxDQUFDQyxnQkFBa0IsVUFBVUEsaUJBQWlCQSxjQUFjWCxJQUFJLEtBQUs7Z0JBR3ZFLE9BQU87b0JBQ0wsR0FBR3dCLGlCQUFpQjtvQkFDcEJ4QixNQUFNdUIsS0FBS3ZCLElBQUk7b0JBQ2ZDLE1BQU07b0JBQ05NLFFBQVE7d0JBQ047NEJBQ0UsR0FBSWtCLHdCQUF3QixDQUFDLENBQUM7NEJBQzlCLEdBQUcxQixZQUFZOzRCQUNmZ0IsT0FBTztnQ0FDTEMsV0FBVztvQ0FDVHhCLGlCQUFpQjt3Q0FDZkU7d0NBQ0FDO3dDQUNBQzt3Q0FDQUM7d0NBQ0EwQjtvQ0FDRjt1Q0FDSUUsc0JBQXNCVixPQUFPQyxhQUFhLEVBQUU7aUNBQ2pEOzRCQUNIO3dCQUNGO3FCQUNEO2dCQUNIO1lBQ0Y7UUFDRjtRQUVBVCxPQUFPTyxJQUFJLENBQUNPO0lBQ2Q7SUFFQSxzQ0FBc0M7SUFDdEMsSUFBSSxPQUFPdkIsV0FBVyxhQUFhO1FBQ2pDLElBQUk0QiwyQkFBMkIsQ0FBQztRQUVoQyxNQUFNQyxzQkFBc0JwQixPQUFPRyxJQUFJLENBQUMsQ0FBQ0MsZUFBZUM7WUFDdEQsSUFBSSxVQUFVRCxpQkFBaUJBLGNBQWNYLElBQUksS0FBSyxVQUFVO2dCQUM5RDBCLDJCQUEyQmQ7Z0JBQzNCLE9BQU87WUFDVDtZQUNBLE9BQU87UUFDVDtRQUVBLElBQUljLDJCQUEyQixDQUFDLEdBQUc7WUFDakNuQixPQUFPTSxNQUFNLENBQUNhLDBCQUEwQjtRQUMxQztRQUVBbkIsT0FBT08sSUFBSSxDQUFDO1lBQ1YsR0FBR1IsZUFBZTtZQUNsQixHQUFJcUIsdUJBQXVCLENBQUMsQ0FBQztZQUM3QkMsY0FBY3JDLEtBQUtzQyxLQUFLLENBQUNDLElBQUksQ0FBQ2hDO1FBQ2hDO0lBQ0Y7SUFFQSxPQUFPUztBQUNULEVBQUMifQ==
122
+ //# sourceMappingURL=getFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fields/getFields.ts"],"sourcesContent":["import type { GroupField, TextField } from 'payload/types'\nimport type { CollectionConfig, Field } from 'payload/types'\n\nimport path from 'path'\n\nimport type { GenerateFileURL, GeneratedAdapter } from '../types.js'\n\nimport { getAfterReadHook } from '../hooks/afterRead.js'\n\ninterface Args {\n adapter: GeneratedAdapter\n collection: CollectionConfig\n disablePayloadAccessControl?: true\n generateFileURL?: GenerateFileURL\n prefix?: string\n}\n\nexport const getFields = ({\n adapter,\n collection,\n disablePayloadAccessControl,\n generateFileURL,\n prefix,\n}: Args): Field[] => {\n const baseURLField: Field = {\n name: 'url',\n type: 'text',\n admin: {\n hidden: true,\n readOnly: true,\n },\n label: 'URL',\n }\n\n const basePrefixField: Field = {\n name: 'prefix',\n type: 'text',\n admin: {\n hidden: true,\n readOnly: true,\n },\n }\n\n const fields = [...collection.fields]\n\n // Inject a hook into all URL fields to generate URLs\n\n let existingURLFieldIndex = -1\n\n const existingURLField = fields.find((existingField, i) => {\n if ('name' in existingField && existingField.name === 'url') {\n existingURLFieldIndex = i\n return true\n }\n return false\n }) as TextField\n\n if (existingURLFieldIndex > -1) {\n fields.splice(existingURLFieldIndex, 1)\n }\n\n fields.push({\n ...baseURLField,\n ...(existingURLField || {}),\n hooks: {\n afterRead: [\n getAfterReadHook({ adapter, collection, disablePayloadAccessControl, generateFileURL }),\n ...(existingURLField?.hooks?.afterRead || []),\n ],\n },\n })\n\n if (typeof collection.upload === 'object' && collection.upload.imageSizes) {\n let existingSizesFieldIndex = -1\n\n const existingSizesField = fields.find((existingField, i) => {\n if ('name' in existingField && existingField.name === 'sizes') {\n existingSizesFieldIndex = i\n return true\n }\n\n return false\n }) as GroupField\n\n if (existingSizesFieldIndex > -1) {\n fields.splice(existingSizesFieldIndex, 1)\n }\n\n const sizesField: Field = {\n ...(existingSizesField || {}),\n name: 'sizes',\n type: 'group',\n admin: {\n hidden: true,\n },\n fields: collection.upload.imageSizes.map((size) => {\n const existingSizeField = existingSizesField?.fields.find(\n (existingField) => 'name' in existingField && existingField.name === size.name,\n ) as GroupField\n\n const existingSizeURLField = existingSizeField?.fields.find(\n (existingField) => 'name' in existingField && existingField.name === 'url',\n ) as GroupField\n\n return {\n ...existingSizeField,\n name: size.name,\n type: 'group',\n fields: [\n {\n ...(existingSizeURLField || {}),\n ...baseURLField,\n hooks: {\n afterRead: [\n getAfterReadHook({\n adapter,\n collection,\n disablePayloadAccessControl,\n generateFileURL,\n size,\n }),\n ...(existingSizeURLField?.hooks?.afterRead || []),\n ],\n },\n },\n ],\n }\n }),\n }\n\n fields.push(sizesField)\n }\n\n // If prefix is enabled, save it to db\n if (typeof prefix !== 'undefined') {\n let existingPrefixFieldIndex = -1\n\n const existingPrefixField = fields.find((existingField, i) => {\n if ('name' in existingField && existingField.name === 'prefix') {\n existingPrefixFieldIndex = i\n return true\n }\n return false\n }) as TextField\n\n if (existingPrefixFieldIndex > -1) {\n fields.splice(existingPrefixFieldIndex, 1)\n }\n\n fields.push({\n ...basePrefixField,\n ...(existingPrefixField || {}),\n defaultValue: path.posix.join(prefix),\n })\n }\n\n return fields\n}\n"],"names":["path","getAfterReadHook","getFields","adapter","collection","disablePayloadAccessControl","generateFileURL","prefix","baseURLField","name","type","admin","hidden","readOnly","label","basePrefixField","fields","existingURLFieldIndex","existingURLField","find","existingField","i","splice","push","hooks","afterRead","upload","imageSizes","existingSizesFieldIndex","existingSizesField","sizesField","map","size","existingSizeField","existingSizeURLField","existingPrefixFieldIndex","existingPrefixField","defaultValue","posix","join"],"mappings":"AAGA,OAAOA,UAAU,OAAM;AAIvB,SAASC,gBAAgB,QAAQ,wBAAuB;AAUxD,OAAO,MAAMC,YAAY,CAAC,EACxBC,OAAO,EACPC,UAAU,EACVC,2BAA2B,EAC3BC,eAAe,EACfC,MAAM,EACD;IACL,MAAMC,eAAsB;QAC1BC,MAAM;QACNC,MAAM;QACNC,OAAO;YACLC,QAAQ;YACRC,UAAU;QACZ;QACAC,OAAO;IACT;IAEA,MAAMC,kBAAyB;QAC7BN,MAAM;QACNC,MAAM;QACNC,OAAO;YACLC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEA,MAAMG,SAAS;WAAIZ,WAAWY,MAAM;KAAC;IAErC,qDAAqD;IAErD,IAAIC,wBAAwB,CAAC;IAE7B,MAAMC,mBAAmBF,OAAOG,IAAI,CAAC,CAACC,eAAeC;QACnD,IAAI,UAAUD,iBAAiBA,cAAcX,IAAI,KAAK,OAAO;YAC3DQ,wBAAwBI;YACxB,OAAO;QACT;QACA,OAAO;IACT;IAEA,IAAIJ,wBAAwB,CAAC,GAAG;QAC9BD,OAAOM,MAAM,CAACL,uBAAuB;IACvC;IAEAD,OAAOO,IAAI,CAAC;QACV,GAAGf,YAAY;QACf,GAAIU,oBAAoB,CAAC,CAAC;QAC1BM,OAAO;YACLC,WAAW;gBACTxB,iBAAiB;oBAAEE;oBAASC;oBAAYC;oBAA6BC;gBAAgB;mBACjFY,kBAAkBM,OAAOC,aAAa,EAAE;aAC7C;QACH;IACF;IAEA,IAAI,OAAOrB,WAAWsB,MAAM,KAAK,YAAYtB,WAAWsB,MAAM,CAACC,UAAU,EAAE;QACzE,IAAIC,0BAA0B,CAAC;QAE/B,MAAMC,qBAAqBb,OAAOG,IAAI,CAAC,CAACC,eAAeC;YACrD,IAAI,UAAUD,iBAAiBA,cAAcX,IAAI,KAAK,SAAS;gBAC7DmB,0BAA0BP;gBAC1B,OAAO;YACT;YAEA,OAAO;QACT;QAEA,IAAIO,0BAA0B,CAAC,GAAG;YAChCZ,OAAOM,MAAM,CAACM,yBAAyB;QACzC;QAEA,MAAME,aAAoB;YACxB,GAAID,sBAAsB,CAAC,CAAC;YAC5BpB,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,QAAQ;YACV;YACAI,QAAQZ,WAAWsB,MAAM,CAACC,UAAU,CAACI,GAAG,CAAC,CAACC;gBACxC,MAAMC,oBAAoBJ,oBAAoBb,OAAOG,KACnD,CAACC,gBAAkB,UAAUA,iBAAiBA,cAAcX,IAAI,KAAKuB,KAAKvB,IAAI;gBAGhF,MAAMyB,uBAAuBD,mBAAmBjB,OAAOG,KACrD,CAACC,gBAAkB,UAAUA,iBAAiBA,cAAcX,IAAI,KAAK;gBAGvE,OAAO;oBACL,GAAGwB,iBAAiB;oBACpBxB,MAAMuB,KAAKvB,IAAI;oBACfC,MAAM;oBACNM,QAAQ;wBACN;4BACE,GAAIkB,wBAAwB,CAAC,CAAC;4BAC9B,GAAG1B,YAAY;4BACfgB,OAAO;gCACLC,WAAW;oCACTxB,iBAAiB;wCACfE;wCACAC;wCACAC;wCACAC;wCACA0B;oCACF;uCACIE,sBAAsBV,OAAOC,aAAa,EAAE;iCACjD;4BACH;wBACF;qBACD;gBACH;YACF;QACF;QAEAT,OAAOO,IAAI,CAACO;IACd;IAEA,sCAAsC;IACtC,IAAI,OAAOvB,WAAW,aAAa;QACjC,IAAI4B,2BAA2B,CAAC;QAEhC,MAAMC,sBAAsBpB,OAAOG,IAAI,CAAC,CAACC,eAAeC;YACtD,IAAI,UAAUD,iBAAiBA,cAAcX,IAAI,KAAK,UAAU;gBAC9D0B,2BAA2Bd;gBAC3B,OAAO;YACT;YACA,OAAO;QACT;QAEA,IAAIc,2BAA2B,CAAC,GAAG;YACjCnB,OAAOM,MAAM,CAACa,0BAA0B;QAC1C;QAEAnB,OAAOO,IAAI,CAAC;YACV,GAAGR,eAAe;YAClB,GAAIqB,uBAAuB,CAAC,CAAC;YAC7BC,cAAcrC,KAAKsC,KAAK,CAACC,IAAI,CAAChC;QAChC;IACF;IAEA,OAAOS;AACT,EAAC"}
@@ -22,4 +22,4 @@ export const getAfterDeleteHook = ({ adapter, collection })=>{
22
22
  };
23
23
  };
24
24
 
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9hZnRlckRlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbGVEYXRhLCBUeXBlV2l0aElEIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkFmdGVyRGVsZXRlSG9vaywgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVkQWRhcHRlciwgVHlwZVdpdGhQcmVmaXggfSBmcm9tICcuLi90eXBlcy5qcydcblxuaW50ZXJmYWNlIEFyZ3Mge1xuICBhZGFwdGVyOiBHZW5lcmF0ZWRBZGFwdGVyXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWdcbn1cblxuZXhwb3J0IGNvbnN0IGdldEFmdGVyRGVsZXRlSG9vayA9ICh7XG4gIGFkYXB0ZXIsXG4gIGNvbGxlY3Rpb24sXG59OiBBcmdzKTogQ29sbGVjdGlvbkFmdGVyRGVsZXRlSG9vazxGaWxlRGF0YSAmIFR5cGVXaXRoSUQgJiBUeXBlV2l0aFByZWZpeD4gPT4ge1xuICByZXR1cm4gYXN5bmMgKHsgZG9jLCByZXEgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlc1RvRGVsZXRlOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgZG9jLmZpbGVuYW1lLFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGRvYz8uc2l6ZXMgfHwgW10pLm1hcCgocmVzaXplZEZpbGVEYXRhKSA9PiByZXNpemVkRmlsZURhdGE/LmZpbGVuYW1lKSxcbiAgICAgIF1cblxuICAgICAgY29uc3QgcHJvbWlzZXMgPSBmaWxlc1RvRGVsZXRlLm1hcChhc3luYyAoZmlsZW5hbWUpID0+IHtcbiAgICAgICAgaWYgKGZpbGVuYW1lKSBhd2FpdCBhZGFwdGVyLmhhbmRsZURlbGV0ZSh7IGNvbGxlY3Rpb24sIGRvYywgZmlsZW5hbWUsIHJlcSB9KVxuICAgICAgfSlcblxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICByZXEucGF5bG9hZC5sb2dnZXIuZXJyb3IoXG4gICAgICAgIGBUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgZGVsZXRpbmcgZmlsZXMgY29ycmVzcG9uZGluZyB0byB0aGUgJHtjb2xsZWN0aW9uLmxhYmVscz8uc2luZ3VsYXJ9IHdpdGggSUQgJHtkb2MuaWR9OmAsXG4gICAgICApXG4gICAgICByZXEucGF5bG9hZC5sb2dnZXIuZXJyb3IoZXJyKVxuICAgIH1cbiAgICByZXR1cm4gZG9jXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJnZXRBZnRlckRlbGV0ZUhvb2siLCJhZGFwdGVyIiwiY29sbGVjdGlvbiIsImRvYyIsInJlcSIsImZpbGVzVG9EZWxldGUiLCJmaWxlbmFtZSIsIk9iamVjdCIsInZhbHVlcyIsInNpemVzIiwibWFwIiwicmVzaXplZEZpbGVEYXRhIiwicHJvbWlzZXMiLCJoYW5kbGVEZWxldGUiLCJQcm9taXNlIiwiYWxsIiwiZXJyIiwicGF5bG9hZCIsImxvZ2dlciIsImVycm9yIiwibGFiZWxzIiwic2luZ3VsYXIiLCJpZCJdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxNQUFNQSxxQkFBcUIsQ0FBQyxFQUNqQ0MsT0FBTyxFQUNQQyxVQUFVLEVBQ0w7SUFDTCxPQUFPLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxHQUFHLEVBQUU7UUFDeEIsSUFBSTtZQUNGLE1BQU1DLGdCQUEwQjtnQkFDOUJGLElBQUlHLFFBQVE7bUJBQ1RDLE9BQU9DLE1BQU0sQ0FBQ0wsS0FBS00sU0FBUyxFQUFFLEVBQUVDLEdBQUcsQ0FBQyxDQUFDQyxrQkFBb0JBLGlCQUFpQkw7YUFDOUU7WUFFRCxNQUFNTSxXQUFXUCxjQUFjSyxHQUFHLENBQUMsT0FBT0o7Z0JBQ3hDLElBQUlBLFVBQVUsTUFBTUwsUUFBUVksWUFBWSxDQUFDO29CQUFFWDtvQkFBWUM7b0JBQUtHO29CQUFVRjtnQkFBSTtZQUM1RTtZQUVBLE1BQU1VLFFBQVFDLEdBQUcsQ0FBQ0g7UUFDcEIsRUFBRSxPQUFPSSxLQUFjO1lBQ3JCWixJQUFJYSxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsS0FBSyxDQUN0QixDQUFDLDZEQUE2RCxFQUFFakIsV0FBV2tCLE1BQU0sRUFBRUMsU0FBUyxTQUFTLEVBQUVsQixJQUFJbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUVsSGxCLElBQUlhLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLENBQUNIO1FBQzNCO1FBQ0EsT0FBT2I7SUFDVDtBQUNGLEVBQUMifQ==
25
+ //# sourceMappingURL=afterDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/afterDelete.ts"],"sourcesContent":["import type { FileData, TypeWithID } from 'payload/types'\nimport type { CollectionAfterDeleteHook, CollectionConfig } from 'payload/types'\n\nimport type { GeneratedAdapter, TypeWithPrefix } from '../types.js'\n\ninterface Args {\n adapter: GeneratedAdapter\n collection: CollectionConfig\n}\n\nexport const getAfterDeleteHook = ({\n adapter,\n collection,\n}: Args): CollectionAfterDeleteHook<FileData & TypeWithID & TypeWithPrefix> => {\n return async ({ doc, req }) => {\n try {\n const filesToDelete: string[] = [\n doc.filename,\n ...Object.values(doc?.sizes || []).map((resizedFileData) => resizedFileData?.filename),\n ]\n\n const promises = filesToDelete.map(async (filename) => {\n if (filename) await adapter.handleDelete({ collection, doc, filename, req })\n })\n\n await Promise.all(promises)\n } catch (err: unknown) {\n req.payload.logger.error(\n `There was an error while deleting files corresponding to the ${collection.labels?.singular} with ID ${doc.id}:`,\n )\n req.payload.logger.error(err)\n }\n return doc\n }\n}\n"],"names":["getAfterDeleteHook","adapter","collection","doc","req","filesToDelete","filename","Object","values","sizes","map","resizedFileData","promises","handleDelete","Promise","all","err","payload","logger","error","labels","singular","id"],"mappings":"AAUA,OAAO,MAAMA,qBAAqB,CAAC,EACjCC,OAAO,EACPC,UAAU,EACL;IACL,OAAO,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAE;QACxB,IAAI;YACF,MAAMC,gBAA0B;gBAC9BF,IAAIG,QAAQ;mBACTC,OAAOC,MAAM,CAACL,KAAKM,SAAS,EAAE,EAAEC,GAAG,CAAC,CAACC,kBAAoBA,iBAAiBL;aAC9E;YAED,MAAMM,WAAWP,cAAcK,GAAG,CAAC,OAAOJ;gBACxC,IAAIA,UAAU,MAAML,QAAQY,YAAY,CAAC;oBAAEX;oBAAYC;oBAAKG;oBAAUF;gBAAI;YAC5E;YAEA,MAAMU,QAAQC,GAAG,CAACH;QACpB,EAAE,OAAOI,KAAc;YACrBZ,IAAIa,OAAO,CAACC,MAAM,CAACC,KAAK,CACtB,CAAC,6DAA6D,EAAEjB,WAAWkB,MAAM,EAAEC,SAAS,SAAS,EAAElB,IAAImB,EAAE,CAAC,CAAC,CAAC;YAElHlB,IAAIa,OAAO,CAACC,MAAM,CAACC,KAAK,CAACH;QAC3B;QACA,OAAOb;IACT;AACF,EAAC"}
@@ -20,4 +20,4 @@ export const getAfterReadHook = ({ adapter, collection, disablePayloadAccessCont
20
20
  return url;
21
21
  };
22
22
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9hZnRlclJlYWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnLCBGaWVsZEhvb2ssIEltYWdlU2l6ZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVGaWxlVVJMLCBHZW5lcmF0ZWRBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5cbmludGVyZmFjZSBBcmdzIHtcbiAgYWRhcHRlcjogR2VuZXJhdGVkQWRhcHRlclxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnXG4gIGRpc2FibGVQYXlsb2FkQWNjZXNzQ29udHJvbD86IGJvb2xlYW5cbiAgZ2VuZXJhdGVGaWxlVVJMPzogR2VuZXJhdGVGaWxlVVJMXG4gIHNpemU/OiBJbWFnZVNpemVcbn1cblxuZXhwb3J0IGNvbnN0IGdldEFmdGVyUmVhZEhvb2sgPVxuICAoeyBhZGFwdGVyLCBjb2xsZWN0aW9uLCBkaXNhYmxlUGF5bG9hZEFjY2Vzc0NvbnRyb2wsIGdlbmVyYXRlRmlsZVVSTCwgc2l6ZSB9OiBBcmdzKTogRmllbGRIb29rID0+XG4gIGFzeW5jICh7IGRhdGEsIHZhbHVlIH0pID0+IHtcbiAgICBjb25zdCBmaWxlbmFtZSA9IHNpemUgPyBkYXRhPy5zaXplcz8uW3NpemUubmFtZV0/LmZpbGVuYW1lIDogZGF0YT8uZmlsZW5hbWVcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhPy5wcmVmaXhcbiAgICBsZXQgdXJsID0gdmFsdWVcblxuICAgIGlmIChkaXNhYmxlUGF5bG9hZEFjY2Vzc0NvbnRyb2wgJiYgZmlsZW5hbWUpIHtcbiAgICAgIHVybCA9IGF3YWl0IGFkYXB0ZXIuZ2VuZXJhdGVVUkwoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgcHJlZml4LFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoZ2VuZXJhdGVGaWxlVVJMKSB7XG4gICAgICB1cmwgPSBhd2FpdCBnZW5lcmF0ZUZpbGVVUkwoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBzaXplLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsXG4gIH1cbiJdLCJuYW1lcyI6WyJnZXRBZnRlclJlYWRIb29rIiwiYWRhcHRlciIsImNvbGxlY3Rpb24iLCJkaXNhYmxlUGF5bG9hZEFjY2Vzc0NvbnRyb2wiLCJnZW5lcmF0ZUZpbGVVUkwiLCJzaXplIiwiZGF0YSIsInZhbHVlIiwiZmlsZW5hbWUiLCJzaXplcyIsIm5hbWUiLCJwcmVmaXgiLCJ1cmwiLCJnZW5lcmF0ZVVSTCJdLCJtYXBwaW5ncyI6IkFBWUEsT0FBTyxNQUFNQSxtQkFDWCxDQUFDLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQywyQkFBMkIsRUFBRUMsZUFBZSxFQUFFQyxJQUFJLEVBQVEsR0FDbEYsT0FBTyxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRTtRQUNwQixNQUFNQyxXQUFXSCxPQUFPQyxNQUFNRyxPQUFPLENBQUNKLEtBQUtLLElBQUksQ0FBQyxFQUFFRixXQUFXRixNQUFNRTtRQUNuRSxNQUFNRyxTQUFTTCxNQUFNSztRQUNyQixJQUFJQyxNQUFNTDtRQUVWLElBQUlKLCtCQUErQkssVUFBVTtZQUMzQ0ksTUFBTSxNQUFNWCxRQUFRWSxXQUFXLENBQUM7Z0JBQzlCWDtnQkFDQU07Z0JBQ0FHO1lBQ0Y7UUFDRjtRQUVBLElBQUlQLGlCQUFpQjtZQUNuQlEsTUFBTSxNQUFNUixnQkFBZ0I7Z0JBQzFCRjtnQkFDQU07Z0JBQ0FHO2dCQUNBTjtZQUNGO1FBQ0Y7UUFFQSxPQUFPTztJQUNULEVBQUMifQ==
23
+ //# sourceMappingURL=afterRead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/afterRead.ts"],"sourcesContent":["import type { CollectionConfig, FieldHook, ImageSize } from 'payload/types'\n\nimport type { GenerateFileURL, GeneratedAdapter } from '../types.js'\n\ninterface Args {\n adapter: GeneratedAdapter\n collection: CollectionConfig\n disablePayloadAccessControl?: boolean\n generateFileURL?: GenerateFileURL\n size?: ImageSize\n}\n\nexport const getAfterReadHook =\n ({ adapter, collection, disablePayloadAccessControl, generateFileURL, size }: Args): FieldHook =>\n async ({ data, value }) => {\n const filename = size ? data?.sizes?.[size.name]?.filename : data?.filename\n const prefix = data?.prefix\n let url = value\n\n if (disablePayloadAccessControl && filename) {\n url = await adapter.generateURL({\n collection,\n filename,\n prefix,\n })\n }\n\n if (generateFileURL) {\n url = await generateFileURL({\n collection,\n filename,\n prefix,\n size,\n })\n }\n\n return url\n }\n"],"names":["getAfterReadHook","adapter","collection","disablePayloadAccessControl","generateFileURL","size","data","value","filename","sizes","name","prefix","url","generateURL"],"mappings":"AAYA,OAAO,MAAMA,mBACX,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAEC,2BAA2B,EAAEC,eAAe,EAAEC,IAAI,EAAQ,GAClF,OAAO,EAAEC,IAAI,EAAEC,KAAK,EAAE;QACpB,MAAMC,WAAWH,OAAOC,MAAMG,OAAO,CAACJ,KAAKK,IAAI,CAAC,EAAEF,WAAWF,MAAME;QACnE,MAAMG,SAASL,MAAMK;QACrB,IAAIC,MAAML;QAEV,IAAIJ,+BAA+BK,UAAU;YAC3CI,MAAM,MAAMX,QAAQY,WAAW,CAAC;gBAC9BX;gBACAM;gBACAG;YACF;QACF;QAEA,IAAIP,iBAAiB;YACnBQ,MAAM,MAAMR,gBAAgB;gBAC1BF;gBACAM;gBACAG;gBACAN;YACF;QACF;QAEA,OAAOO;IACT,EAAC"}
@@ -46,4 +46,4 @@ export const getBeforeChangeHook = ({ adapter, collection })=>async ({ data, ori
46
46
  return data;
47
47
  };
48
48
 
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9iZWZvcmVDaGFuZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWxlRGF0YSwgVHlwZVdpdGhJRCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25CZWZvcmVDaGFuZ2VIb29rLCBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5cbmltcG9ydCB7IGdldEluY29taW5nRmlsZXMgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SW5jb21pbmdGaWxlcy5qcydcblxuaW50ZXJmYWNlIEFyZ3Mge1xuICBhZGFwdGVyOiBHZW5lcmF0ZWRBZGFwdGVyXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWdcbn1cblxuZXhwb3J0IGNvbnN0IGdldEJlZm9yZUNoYW5nZUhvb2sgPVxuICAoeyBhZGFwdGVyLCBjb2xsZWN0aW9uIH06IEFyZ3MpOiBDb2xsZWN0aW9uQmVmb3JlQ2hhbmdlSG9vazxGaWxlRGF0YSAmIFR5cGVXaXRoSUQ+ID0+XG4gIGFzeW5jICh7IGRhdGEsIG9yaWdpbmFsRG9jLCByZXEgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGdldEluY29taW5nRmlsZXMoeyBkYXRhLCByZXEgfSlcblxuICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYW4gb3JpZ2luYWwgZG9jLFxuICAgICAgICAvLyBBbmQgd2UgaGF2ZSBuZXcgZmlsZXMsXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gZGVsZXRlIHRoZSBvbGQgZmlsZXMgYmVmb3JlIHVwbG9hZGluZyBuZXdcbiAgICAgICAgaWYgKG9yaWdpbmFsRG9jKSB7XG4gICAgICAgICAgbGV0IGZpbGVzVG9EZWxldGU6IHN0cmluZ1tdID0gW11cblxuICAgICAgICAgIGlmICh0eXBlb2Ygb3JpZ2luYWxEb2M/LmZpbGVuYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgZmlsZXNUb0RlbGV0ZS5wdXNoKG9yaWdpbmFsRG9jLmZpbGVuYW1lKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2Ygb3JpZ2luYWxEb2Muc2l6ZXMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBmaWxlc1RvRGVsZXRlID0gZmlsZXNUb0RlbGV0ZS5jb25jYXQoXG4gICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMob3JpZ2luYWxEb2M/LnNpemVzIHx8IFtdKS5tYXAoXG4gICAgICAgICAgICAgICAgKHJlc2l6ZWRGaWxlRGF0YSkgPT4gcmVzaXplZEZpbGVEYXRhPy5maWxlbmFtZSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBkZWxldGlvblByb21pc2VzID0gZmlsZXNUb0RlbGV0ZS5tYXAoYXN5bmMgKGZpbGVuYW1lKSA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsZW5hbWUpIHtcbiAgICAgICAgICAgICAgYXdhaXQgYWRhcHRlci5oYW5kbGVEZWxldGUoeyBjb2xsZWN0aW9uLCBkb2M6IG9yaWdpbmFsRG9jLCBmaWxlbmFtZSwgcmVxIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKGRlbGV0aW9uUHJvbWlzZXMpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9taXNlcyA9IGZpbGVzLm1hcChhc3luYyAoZmlsZSkgPT4ge1xuICAgICAgICAgIGF3YWl0IGFkYXB0ZXIuaGFuZGxlVXBsb2FkKHsgY29sbGVjdGlvbiwgZGF0YSwgZmlsZSwgcmVxIH0pXG4gICAgICAgIH0pXG5cbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICByZXEucGF5bG9hZC5sb2dnZXIuZXJyb3IoXG4gICAgICAgIGBUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgdXBsb2FkaW5nIGZpbGVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNvbGxlY3Rpb24gJHtjb2xsZWN0aW9uLnNsdWd9IHdpdGggZmlsZW5hbWUgJHtkYXRhLmZpbGVuYW1lfTpgLFxuICAgICAgKVxuICAgICAgcmVxLnBheWxvYWQubG9nZ2VyLmVycm9yKGVycilcbiAgICB9XG4gICAgcmV0dXJuIGRhdGFcbiAgfVxuIl0sIm5hbWVzIjpbImdldEluY29taW5nRmlsZXMiLCJnZXRCZWZvcmVDaGFuZ2VIb29rIiwiYWRhcHRlciIsImNvbGxlY3Rpb24iLCJkYXRhIiwib3JpZ2luYWxEb2MiLCJyZXEiLCJmaWxlcyIsImxlbmd0aCIsImZpbGVzVG9EZWxldGUiLCJmaWxlbmFtZSIsInB1c2giLCJzaXplcyIsImNvbmNhdCIsIk9iamVjdCIsInZhbHVlcyIsIm1hcCIsInJlc2l6ZWRGaWxlRGF0YSIsImRlbGV0aW9uUHJvbWlzZXMiLCJoYW5kbGVEZWxldGUiLCJkb2MiLCJQcm9taXNlIiwiYWxsIiwicHJvbWlzZXMiLCJmaWxlIiwiaGFuZGxlVXBsb2FkIiwiZXJyIiwicGF5bG9hZCIsImxvZ2dlciIsImVycm9yIiwic2x1ZyJdLCJtYXBwaW5ncyI6IkFBS0EsU0FBU0EsZ0JBQWdCLFFBQVEsbUNBQWtDO0FBT25FLE9BQU8sTUFBTUMsc0JBQ1gsQ0FBQyxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBUSxHQUM5QixPQUFPLEVBQUVDLElBQUksRUFBRUMsV0FBVyxFQUFFQyxHQUFHLEVBQUU7UUFDL0IsSUFBSTtZQUNGLE1BQU1DLFFBQVFQLGlCQUFpQjtnQkFBRUk7Z0JBQU1FO1lBQUk7WUFFM0MsSUFBSUMsTUFBTUMsTUFBTSxHQUFHLEdBQUc7Z0JBQ3BCLCtCQUErQjtnQkFDL0IseUJBQXlCO2dCQUN6Qix1REFBdUQ7Z0JBQ3ZELElBQUlILGFBQWE7b0JBQ2YsSUFBSUksZ0JBQTBCLEVBQUU7b0JBRWhDLElBQUksT0FBT0osYUFBYUssYUFBYSxVQUFVO3dCQUM3Q0QsY0FBY0UsSUFBSSxDQUFDTixZQUFZSyxRQUFRO29CQUN6QztvQkFFQSxJQUFJLE9BQU9MLFlBQVlPLEtBQUssS0FBSyxVQUFVO3dCQUN6Q0gsZ0JBQWdCQSxjQUFjSSxNQUFNLENBQ2xDQyxPQUFPQyxNQUFNLENBQUNWLGFBQWFPLFNBQVMsRUFBRSxFQUFFSSxHQUFHLENBQ3pDLENBQUNDLGtCQUFvQkEsaUJBQWlCUDtvQkFHNUM7b0JBRUEsTUFBTVEsbUJBQW1CVCxjQUFjTyxHQUFHLENBQUMsT0FBT047d0JBQ2hELElBQUlBLFVBQVU7NEJBQ1osTUFBTVIsUUFBUWlCLFlBQVksQ0FBQztnQ0FBRWhCO2dDQUFZaUIsS0FBS2Y7Z0NBQWFLO2dDQUFVSjs0QkFBSTt3QkFDM0U7b0JBQ0Y7b0JBRUEsTUFBTWUsUUFBUUMsR0FBRyxDQUFDSjtnQkFDcEI7Z0JBRUEsTUFBTUssV0FBV2hCLE1BQU1TLEdBQUcsQ0FBQyxPQUFPUTtvQkFDaEMsTUFBTXRCLFFBQVF1QixZQUFZLENBQUM7d0JBQUV0Qjt3QkFBWUM7d0JBQU1vQjt3QkFBTWxCO29CQUFJO2dCQUMzRDtnQkFFQSxNQUFNZSxRQUFRQyxHQUFHLENBQUNDO1lBQ3BCO1FBQ0YsRUFBRSxPQUFPRyxLQUFjO1lBQ3JCcEIsSUFBSXFCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLENBQ3RCLENBQUMseUVBQXlFLEVBQUUxQixXQUFXMkIsSUFBSSxDQUFDLGVBQWUsRUFBRTFCLEtBQUtNLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFFL0hKLElBQUlxQixPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDSDtRQUMzQjtRQUNBLE9BQU90QjtJQUNULEVBQUMifQ==
49
+ //# sourceMappingURL=beforeChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/beforeChange.ts"],"sourcesContent":["import type { FileData, TypeWithID } from 'payload/types'\nimport type { CollectionBeforeChangeHook, CollectionConfig } from 'payload/types'\n\nimport type { GeneratedAdapter } from '../types.js'\n\nimport { getIncomingFiles } from '../utilities/getIncomingFiles.js'\n\ninterface Args {\n adapter: GeneratedAdapter\n collection: CollectionConfig\n}\n\nexport const getBeforeChangeHook =\n ({ adapter, collection }: Args): CollectionBeforeChangeHook<FileData & TypeWithID> =>\n async ({ data, originalDoc, req }) => {\n try {\n const files = getIncomingFiles({ data, req })\n\n if (files.length > 0) {\n // If there is an original doc,\n // And we have new files,\n // We need to delete the old files before uploading new\n if (originalDoc) {\n let filesToDelete: string[] = []\n\n if (typeof originalDoc?.filename === 'string') {\n filesToDelete.push(originalDoc.filename)\n }\n\n if (typeof originalDoc.sizes === 'object') {\n filesToDelete = filesToDelete.concat(\n Object.values(originalDoc?.sizes || []).map(\n (resizedFileData) => resizedFileData?.filename,\n ),\n )\n }\n\n const deletionPromises = filesToDelete.map(async (filename) => {\n if (filename) {\n await adapter.handleDelete({ collection, doc: originalDoc, filename, req })\n }\n })\n\n await Promise.all(deletionPromises)\n }\n\n const promises = files.map(async (file) => {\n await adapter.handleUpload({ collection, data, file, req })\n })\n\n await Promise.all(promises)\n }\n } catch (err: unknown) {\n req.payload.logger.error(\n `There was an error while uploading files corresponding to the collection ${collection.slug} with filename ${data.filename}:`,\n )\n req.payload.logger.error(err)\n }\n return data\n }\n"],"names":["getIncomingFiles","getBeforeChangeHook","adapter","collection","data","originalDoc","req","files","length","filesToDelete","filename","push","sizes","concat","Object","values","map","resizedFileData","deletionPromises","handleDelete","doc","Promise","all","promises","file","handleUpload","err","payload","logger","error","slug"],"mappings":"AAKA,SAASA,gBAAgB,QAAQ,mCAAkC;AAOnE,OAAO,MAAMC,sBACX,CAAC,EAAEC,OAAO,EAAEC,UAAU,EAAQ,GAC9B,OAAO,EAAEC,IAAI,EAAEC,WAAW,EAAEC,GAAG,EAAE;QAC/B,IAAI;YACF,MAAMC,QAAQP,iBAAiB;gBAAEI;gBAAME;YAAI;YAE3C,IAAIC,MAAMC,MAAM,GAAG,GAAG;gBACpB,+BAA+B;gBAC/B,yBAAyB;gBACzB,uDAAuD;gBACvD,IAAIH,aAAa;oBACf,IAAII,gBAA0B,EAAE;oBAEhC,IAAI,OAAOJ,aAAaK,aAAa,UAAU;wBAC7CD,cAAcE,IAAI,CAACN,YAAYK,QAAQ;oBACzC;oBAEA,IAAI,OAAOL,YAAYO,KAAK,KAAK,UAAU;wBACzCH,gBAAgBA,cAAcI,MAAM,CAClCC,OAAOC,MAAM,CAACV,aAAaO,SAAS,EAAE,EAAEI,GAAG,CACzC,CAACC,kBAAoBA,iBAAiBP;oBAG5C;oBAEA,MAAMQ,mBAAmBT,cAAcO,GAAG,CAAC,OAAON;wBAChD,IAAIA,UAAU;4BACZ,MAAMR,QAAQiB,YAAY,CAAC;gCAAEhB;gCAAYiB,KAAKf;gCAAaK;gCAAUJ;4BAAI;wBAC3E;oBACF;oBAEA,MAAMe,QAAQC,GAAG,CAACJ;gBACpB;gBAEA,MAAMK,WAAWhB,MAAMS,GAAG,CAAC,OAAOQ;oBAChC,MAAMtB,QAAQuB,YAAY,CAAC;wBAAEtB;wBAAYC;wBAAMoB;wBAAMlB;oBAAI;gBAC3D;gBAEA,MAAMe,QAAQC,GAAG,CAACC;YACpB;QACF,EAAE,OAAOG,KAAc;YACrBpB,IAAIqB,OAAO,CAACC,MAAM,CAACC,KAAK,CACtB,CAAC,yEAAyE,EAAE1B,WAAW2B,IAAI,CAAC,eAAe,EAAE1B,KAAKM,QAAQ,CAAC,CAAC,CAAC;YAE/HJ,IAAIqB,OAAO,CAACC,MAAM,CAACC,KAAK,CAACH;QAC3B;QACA,OAAOtB;IACT,EAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { cloudStorage } from './plugin.js';
2
2
 
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBjbG91ZFN0b3JhZ2UgfSBmcm9tICcuL3BsdWdpbi5qcydcbiJdLCJuYW1lcyI6WyJjbG91ZFN0b3JhZ2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFlBQVksUUFBUSxjQUFhIn0=
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { cloudStorage } from './plugin.js'\n"],"names":["cloudStorage"],"mappings":"AAAA,SAASA,YAAY,QAAQ,cAAa"}
package/dist/plugin.js CHANGED
@@ -76,4 +76,4 @@ export const cloudStorage = (pluginOptions)=>(incomingConfig)=>{
76
76
  };
77
77
  };
78
78
 
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi90eXBlcy5qcydcblxuaW1wb3J0IHsgZ2V0RmllbGRzIH0gZnJvbSAnLi9maWVsZHMvZ2V0RmllbGRzLmpzJ1xuaW1wb3J0IHsgZ2V0QWZ0ZXJEZWxldGVIb29rIH0gZnJvbSAnLi9ob29rcy9hZnRlckRlbGV0ZS5qcydcbmltcG9ydCB7IGdldEJlZm9yZUNoYW5nZUhvb2sgfSBmcm9tICcuL2hvb2tzL2JlZm9yZUNoYW5nZS5qcydcblxuLy8gVGhpcyBwbHVnaW4gZXh0ZW5kcyBhbGwgdGFyZ2V0ZWQgY29sbGVjdGlvbnMgYnkgb2ZmbG9hZGluZyB1cGxvYWRlZCBmaWxlc1xuLy8gdG8gY2xvdWQgc3RvcmFnZSBpbnN0ZWFkIG9mIHNvbGVseSBzdG9yaW5nIGZpbGVzIGxvY2FsbHkuXG5cbi8vIEl0IGlzIGJhc2VkIG9uIGFuIGFkYXB0ZXIgYXBwcm9hY2gsIHdoZXJlIGFkYXB0ZXJzIGNhbiBiZSB3cml0dGVuIGZvciBhbnkgY2xvdWQgcHJvdmlkZXIuXG4vLyBBZGFwdGVycyBhcmUgcmVzcG9uc2libGUgZm9yIHByb3ZpZGluZyBmb3VyIGFjdGlvbnMgdGhhdCB0aGlzIHBsdWdpbiB3aWxsIHVzZTpcbi8vIDEuIGhhbmRsZVVwbG9hZCwgMi4gaGFuZGxlRGVsZXRlLCAzLiBnZW5lcmF0ZVVSTCwgNC4gc3RhdGljSGFuZGxlclxuXG4vLyBPcHRpb25hbGx5LCB0aGUgYWRhcHRlciBjYW4gc3BlY2lmeSBhbnkgV2VicGFjayBjb25maWcgb3ZlcnJpZGVzIGlmIHRoZXkgYXJlIG5lY2Vzc2FyeS5cblxuZXhwb3J0IGNvbnN0IGNsb3VkU3RvcmFnZSA9XG4gIChwbHVnaW5PcHRpb25zOiBQbHVnaW5PcHRpb25zKSA9PlxuICAoaW5jb21pbmdDb25maWc6IENvbmZpZyk6IENvbmZpZyA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uczogYWxsQ29sbGVjdGlvbk9wdGlvbnMsIGVuYWJsZWQgfSA9IHBsdWdpbk9wdGlvbnNcbiAgICBjb25zdCBjb25maWcgPSB7IC4uLmluY29taW5nQ29uZmlnIH1cblxuICAgIC8vIFJldHVybiBlYXJseSBpZiBkaXNhYmxlZC4gT25seSB3ZWJwYWNrIGNvbmZpZyBtb2RzIGFyZSBhcHBsaWVkLlxuICAgIGlmIChlbmFibGVkID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH1cblxuICAgIGNvbnN0IGluaXRGdW5jdGlvbnM6IEFycmF5PCgpID0+IHZvaWQ+ID0gW11cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBjb2xsZWN0aW9uczogKGNvbmZpZy5jb2xsZWN0aW9ucyB8fCBbXSkubWFwKChleGlzdGluZ0NvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGFsbENvbGxlY3Rpb25PcHRpb25zW2V4aXN0aW5nQ29sbGVjdGlvbi5zbHVnXVxuXG4gICAgICAgIGlmIChvcHRpb25zPy5hZGFwdGVyKSB7XG4gICAgICAgICAgY29uc3QgYWRhcHRlciA9IG9wdGlvbnMuYWRhcHRlcih7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBleGlzdGluZ0NvbGxlY3Rpb24sXG4gICAgICAgICAgICBwcmVmaXg6IG9wdGlvbnMucHJlZml4LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAoYWRhcHRlci5vbkluaXQpIGluaXRGdW5jdGlvbnMucHVzaChhZGFwdGVyLm9uSW5pdClcblxuICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IGdldEZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgY29sbGVjdGlvbjogZXhpc3RpbmdDb2xsZWN0aW9uLFxuICAgICAgICAgICAgZGlzYWJsZVBheWxvYWRBY2Nlc3NDb250cm9sOiBvcHRpb25zLmRpc2FibGVQYXlsb2FkQWNjZXNzQ29udHJvbCxcbiAgICAgICAgICAgIGdlbmVyYXRlRmlsZVVSTDogb3B0aW9ucy5nZW5lcmF0ZUZpbGVVUkwsXG4gICAgICAgICAgICBwcmVmaXg6IG9wdGlvbnMucHJlZml4LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBjb25zdCBoYW5kbGVycyA9IFtcbiAgICAgICAgICAgIC4uLih0eXBlb2YgZXhpc3RpbmdDb2xsZWN0aW9uLnVwbG9hZCA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZXhpc3RpbmdDb2xsZWN0aW9uLnVwbG9hZC5oYW5kbGVycylcbiAgICAgICAgICAgICAgPyBleGlzdGluZ0NvbGxlY3Rpb24udXBsb2FkLmhhbmRsZXJzXG4gICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIF1cblxuICAgICAgICAgIGlmICghb3B0aW9ucy5kaXNhYmxlUGF5bG9hZEFjY2Vzc0NvbnRyb2wpIHtcbiAgICAgICAgICAgIGhhbmRsZXJzLnB1c2goYWRhcHRlci5zdGF0aWNIYW5kbGVyKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5leGlzdGluZ0NvbGxlY3Rpb24sXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICBob29rczoge1xuICAgICAgICAgICAgICAuLi4oZXhpc3RpbmdDb2xsZWN0aW9uLmhvb2tzIHx8IHt9KSxcbiAgICAgICAgICAgICAgYWZ0ZXJEZWxldGU6IFtcbiAgICAgICAgICAgICAgICAuLi4oZXhpc3RpbmdDb2xsZWN0aW9uLmhvb2tzPy5hZnRlckRlbGV0ZSB8fCBbXSksXG4gICAgICAgICAgICAgICAgZ2V0QWZ0ZXJEZWxldGVIb29rKHsgYWRhcHRlciwgY29sbGVjdGlvbjogZXhpc3RpbmdDb2xsZWN0aW9uIH0pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBiZWZvcmVDaGFuZ2U6IFtcbiAgICAgICAgICAgICAgICAuLi4oZXhpc3RpbmdDb2xsZWN0aW9uLmhvb2tzPy5iZWZvcmVDaGFuZ2UgfHwgW10pLFxuICAgICAgICAgICAgICAgIGdldEJlZm9yZUNoYW5nZUhvb2soeyBhZGFwdGVyLCBjb2xsZWN0aW9uOiBleGlzdGluZ0NvbGxlY3Rpb24gfSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXBsb2FkOiB7XG4gICAgICAgICAgICAgIC4uLih0eXBlb2YgZXhpc3RpbmdDb2xsZWN0aW9uLnVwbG9hZCA9PT0gJ29iamVjdCcgPyBleGlzdGluZ0NvbGxlY3Rpb24udXBsb2FkIDoge30pLFxuICAgICAgICAgICAgICBkaXNhYmxlTG9jYWxTdG9yYWdlOlxuICAgICAgICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmRpc2FibGVMb2NhbFN0b3JhZ2UgPT09ICdib29sZWFuJ1xuICAgICAgICAgICAgICAgICAgPyBvcHRpb25zLmRpc2FibGVMb2NhbFN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgIDogdHJ1ZSxcbiAgICAgICAgICAgICAgaGFuZGxlcnMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBleGlzdGluZ0NvbGxlY3Rpb25cbiAgICAgIH0pLFxuICAgICAgb25Jbml0OiBhc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICBpbml0RnVuY3Rpb25zLmZvckVhY2goKGZuKSA9PiBmbigpKVxuICAgICAgICBpZiAoY29uZmlnLm9uSW5pdCkgYXdhaXQgY29uZmlnLm9uSW5pdChwYXlsb2FkKVxuICAgICAgfSxcbiAgICB9XG4gIH1cbiJdLCJuYW1lcyI6WyJnZXRGaWVsZHMiLCJnZXRBZnRlckRlbGV0ZUhvb2siLCJnZXRCZWZvcmVDaGFuZ2VIb29rIiwiY2xvdWRTdG9yYWdlIiwicGx1Z2luT3B0aW9ucyIsImluY29taW5nQ29uZmlnIiwiY29sbGVjdGlvbnMiLCJhbGxDb2xsZWN0aW9uT3B0aW9ucyIsImVuYWJsZWQiLCJjb25maWciLCJpbml0RnVuY3Rpb25zIiwibWFwIiwiZXhpc3RpbmdDb2xsZWN0aW9uIiwib3B0aW9ucyIsInNsdWciLCJhZGFwdGVyIiwiY29sbGVjdGlvbiIsInByZWZpeCIsIm9uSW5pdCIsInB1c2giLCJmaWVsZHMiLCJkaXNhYmxlUGF5bG9hZEFjY2Vzc0NvbnRyb2wiLCJnZW5lcmF0ZUZpbGVVUkwiLCJoYW5kbGVycyIsInVwbG9hZCIsIkFycmF5IiwiaXNBcnJheSIsInN0YXRpY0hhbmRsZXIiLCJob29rcyIsImFmdGVyRGVsZXRlIiwiYmVmb3JlQ2hhbmdlIiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsInBheWxvYWQiLCJmb3JFYWNoIiwiZm4iXSwibWFwcGluZ3MiOiJBQUlBLFNBQVNBLFNBQVMsUUFBUSx3QkFBdUI7QUFDakQsU0FBU0Msa0JBQWtCLFFBQVEseUJBQXdCO0FBQzNELFNBQVNDLG1CQUFtQixRQUFRLDBCQUF5QjtBQUU3RCw0RUFBNEU7QUFDNUUsNERBQTREO0FBRTVELDRGQUE0RjtBQUM1RixpRkFBaUY7QUFDakYscUVBQXFFO0FBRXJFLDBGQUEwRjtBQUUxRixPQUFPLE1BQU1DLGVBQ1gsQ0FBQ0MsZ0JBQ0QsQ0FBQ0M7UUFDQyxNQUFNLEVBQUVDLGFBQWFDLG9CQUFvQixFQUFFQyxPQUFPLEVBQUUsR0FBR0o7UUFDdkQsTUFBTUssU0FBUztZQUFFLEdBQUdKLGNBQWM7UUFBQztRQUVuQyxrRUFBa0U7UUFDbEUsSUFBSUcsWUFBWSxPQUFPO1lBQ3JCLE9BQU9DO1FBQ1Q7UUFFQSxNQUFNQyxnQkFBbUMsRUFBRTtRQUUzQyxPQUFPO1lBQ0wsR0FBR0QsTUFBTTtZQUNUSCxhQUFhLEFBQUNHLENBQUFBLE9BQU9ILFdBQVcsSUFBSSxFQUFFLEFBQUQsRUFBR0ssR0FBRyxDQUFDLENBQUNDO2dCQUMzQyxNQUFNQyxVQUFVTixvQkFBb0IsQ0FBQ0ssbUJBQW1CRSxJQUFJLENBQUM7Z0JBRTdELElBQUlELFNBQVNFLFNBQVM7b0JBQ3BCLE1BQU1BLFVBQVVGLFFBQVFFLE9BQU8sQ0FBQzt3QkFDOUJDLFlBQVlKO3dCQUNaSyxRQUFRSixRQUFRSSxNQUFNO29CQUN4QjtvQkFFQSxJQUFJRixRQUFRRyxNQUFNLEVBQUVSLGNBQWNTLElBQUksQ0FBQ0osUUFBUUcsTUFBTTtvQkFFckQsTUFBTUUsU0FBU3BCLFVBQVU7d0JBQ3ZCZTt3QkFDQUMsWUFBWUo7d0JBQ1pTLDZCQUE2QlIsUUFBUVEsMkJBQTJCO3dCQUNoRUMsaUJBQWlCVCxRQUFRUyxlQUFlO3dCQUN4Q0wsUUFBUUosUUFBUUksTUFBTTtvQkFDeEI7b0JBRUEsTUFBTU0sV0FBVzsyQkFDWCxPQUFPWCxtQkFBbUJZLE1BQU0sS0FBSyxZQUN6Q0MsTUFBTUMsT0FBTyxDQUFDZCxtQkFBbUJZLE1BQU0sQ0FBQ0QsUUFBUSxJQUM1Q1gsbUJBQW1CWSxNQUFNLENBQUNELFFBQVEsR0FDbEMsRUFBRTtxQkFDUDtvQkFFRCxJQUFJLENBQUNWLFFBQVFRLDJCQUEyQixFQUFFO3dCQUN4Q0UsU0FBU0osSUFBSSxDQUFDSixRQUFRWSxhQUFhO29CQUNyQztvQkFFQSxPQUFPO3dCQUNMLEdBQUdmLGtCQUFrQjt3QkFDckJRO3dCQUNBUSxPQUFPOzRCQUNMLEdBQUloQixtQkFBbUJnQixLQUFLLElBQUksQ0FBQyxDQUFDOzRCQUNsQ0MsYUFBYTttQ0FDUGpCLG1CQUFtQmdCLEtBQUssRUFBRUMsZUFBZSxFQUFFO2dDQUMvQzVCLG1CQUFtQjtvQ0FBRWM7b0NBQVNDLFlBQVlKO2dDQUFtQjs2QkFDOUQ7NEJBQ0RrQixjQUFjO21DQUNSbEIsbUJBQW1CZ0IsS0FBSyxFQUFFRSxnQkFBZ0IsRUFBRTtnQ0FDaEQ1QixvQkFBb0I7b0NBQUVhO29DQUFTQyxZQUFZSjtnQ0FBbUI7NkJBQy9EO3dCQUNIO3dCQUNBWSxRQUFROzRCQUNOLEdBQUksT0FBT1osbUJBQW1CWSxNQUFNLEtBQUssV0FBV1osbUJBQW1CWSxNQUFNLEdBQUcsQ0FBQyxDQUFDOzRCQUNsRk8scUJBQ0UsT0FBT2xCLFFBQVFrQixtQkFBbUIsS0FBSyxZQUNuQ2xCLFFBQVFrQixtQkFBbUIsR0FDM0I7NEJBQ05SO3dCQUNGO29CQUNGO2dCQUNGO2dCQUVBLE9BQU9YO1lBQ1Q7WUFDQU0sUUFBUSxPQUFPYztnQkFDYnRCLGNBQWN1QixPQUFPLENBQUMsQ0FBQ0MsS0FBT0E7Z0JBQzlCLElBQUl6QixPQUFPUyxNQUFNLEVBQUUsTUFBTVQsT0FBT1MsTUFBTSxDQUFDYztZQUN6QztRQUNGO0lBQ0YsRUFBQyJ9
79
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin.ts"],"sourcesContent":["import type { Config } from 'payload/config'\n\nimport type { PluginOptions } from './types.js'\n\nimport { getFields } from './fields/getFields.js'\nimport { getAfterDeleteHook } from './hooks/afterDelete.js'\nimport { getBeforeChangeHook } from './hooks/beforeChange.js'\n\n// This plugin extends all targeted collections by offloading uploaded files\n// to cloud storage instead of solely storing files locally.\n\n// It is based on an adapter approach, where adapters can be written for any cloud provider.\n// Adapters are responsible for providing four actions that this plugin will use:\n// 1. handleUpload, 2. handleDelete, 3. generateURL, 4. staticHandler\n\n// Optionally, the adapter can specify any Webpack config overrides if they are necessary.\n\nexport const cloudStorage =\n (pluginOptions: PluginOptions) =>\n (incomingConfig: Config): Config => {\n const { collections: allCollectionOptions, enabled } = pluginOptions\n const config = { ...incomingConfig }\n\n // Return early if disabled. Only webpack config mods are applied.\n if (enabled === false) {\n return config\n }\n\n const initFunctions: Array<() => void> = []\n\n return {\n ...config,\n collections: (config.collections || []).map((existingCollection) => {\n const options = allCollectionOptions[existingCollection.slug]\n\n if (options?.adapter) {\n const adapter = options.adapter({\n collection: existingCollection,\n prefix: options.prefix,\n })\n\n if (adapter.onInit) initFunctions.push(adapter.onInit)\n\n const fields = getFields({\n adapter,\n collection: existingCollection,\n disablePayloadAccessControl: options.disablePayloadAccessControl,\n generateFileURL: options.generateFileURL,\n prefix: options.prefix,\n })\n\n const handlers = [\n ...(typeof existingCollection.upload === 'object' &&\n Array.isArray(existingCollection.upload.handlers)\n ? existingCollection.upload.handlers\n : []),\n ]\n\n if (!options.disablePayloadAccessControl) {\n handlers.push(adapter.staticHandler)\n }\n\n return {\n ...existingCollection,\n fields,\n hooks: {\n ...(existingCollection.hooks || {}),\n afterDelete: [\n ...(existingCollection.hooks?.afterDelete || []),\n getAfterDeleteHook({ adapter, collection: existingCollection }),\n ],\n beforeChange: [\n ...(existingCollection.hooks?.beforeChange || []),\n getBeforeChangeHook({ adapter, collection: existingCollection }),\n ],\n },\n upload: {\n ...(typeof existingCollection.upload === 'object' ? existingCollection.upload : {}),\n disableLocalStorage:\n typeof options.disableLocalStorage === 'boolean'\n ? options.disableLocalStorage\n : true,\n handlers,\n },\n }\n }\n\n return existingCollection\n }),\n onInit: async (payload) => {\n initFunctions.forEach((fn) => fn())\n if (config.onInit) await config.onInit(payload)\n },\n }\n }\n"],"names":["getFields","getAfterDeleteHook","getBeforeChangeHook","cloudStorage","pluginOptions","incomingConfig","collections","allCollectionOptions","enabled","config","initFunctions","map","existingCollection","options","slug","adapter","collection","prefix","onInit","push","fields","disablePayloadAccessControl","generateFileURL","handlers","upload","Array","isArray","staticHandler","hooks","afterDelete","beforeChange","disableLocalStorage","payload","forEach","fn"],"mappings":"AAIA,SAASA,SAAS,QAAQ,wBAAuB;AACjD,SAASC,kBAAkB,QAAQ,yBAAwB;AAC3D,SAASC,mBAAmB,QAAQ,0BAAyB;AAE7D,4EAA4E;AAC5E,4DAA4D;AAE5D,4FAA4F;AAC5F,iFAAiF;AACjF,qEAAqE;AAErE,0FAA0F;AAE1F,OAAO,MAAMC,eACX,CAACC,gBACD,CAACC;QACC,MAAM,EAAEC,aAAaC,oBAAoB,EAAEC,OAAO,EAAE,GAAGJ;QACvD,MAAMK,SAAS;YAAE,GAAGJ,cAAc;QAAC;QAEnC,kEAAkE;QAClE,IAAIG,YAAY,OAAO;YACrB,OAAOC;QACT;QAEA,MAAMC,gBAAmC,EAAE;QAE3C,OAAO;YACL,GAAGD,MAAM;YACTH,aAAa,AAACG,CAAAA,OAAOH,WAAW,IAAI,EAAE,AAAD,EAAGK,GAAG,CAAC,CAACC;gBAC3C,MAAMC,UAAUN,oBAAoB,CAACK,mBAAmBE,IAAI,CAAC;gBAE7D,IAAID,SAASE,SAAS;oBACpB,MAAMA,UAAUF,QAAQE,OAAO,CAAC;wBAC9BC,YAAYJ;wBACZK,QAAQJ,QAAQI,MAAM;oBACxB;oBAEA,IAAIF,QAAQG,MAAM,EAAER,cAAcS,IAAI,CAACJ,QAAQG,MAAM;oBAErD,MAAME,SAASpB,UAAU;wBACvBe;wBACAC,YAAYJ;wBACZS,6BAA6BR,QAAQQ,2BAA2B;wBAChEC,iBAAiBT,QAAQS,eAAe;wBACxCL,QAAQJ,QAAQI,MAAM;oBACxB;oBAEA,MAAMM,WAAW;2BACX,OAAOX,mBAAmBY,MAAM,KAAK,YACzCC,MAAMC,OAAO,CAACd,mBAAmBY,MAAM,CAACD,QAAQ,IAC5CX,mBAAmBY,MAAM,CAACD,QAAQ,GAClC,EAAE;qBACP;oBAED,IAAI,CAACV,QAAQQ,2BAA2B,EAAE;wBACxCE,SAASJ,IAAI,CAACJ,QAAQY,aAAa;oBACrC;oBAEA,OAAO;wBACL,GAAGf,kBAAkB;wBACrBQ;wBACAQ,OAAO;4BACL,GAAIhB,mBAAmBgB,KAAK,IAAI,CAAC,CAAC;4BAClCC,aAAa;mCACPjB,mBAAmBgB,KAAK,EAAEC,eAAe,EAAE;gCAC/C5B,mBAAmB;oCAAEc;oCAASC,YAAYJ;gCAAmB;6BAC9D;4BACDkB,cAAc;mCACRlB,mBAAmBgB,KAAK,EAAEE,gBAAgB,EAAE;gCAChD5B,oBAAoB;oCAAEa;oCAASC,YAAYJ;gCAAmB;6BAC/D;wBACH;wBACAY,QAAQ;4BACN,GAAI,OAAOZ,mBAAmBY,MAAM,KAAK,WAAWZ,mBAAmBY,MAAM,GAAG,CAAC,CAAC;4BAClFO,qBACE,OAAOlB,QAAQkB,mBAAmB,KAAK,YACnClB,QAAQkB,mBAAmB,GAC3B;4BACNR;wBACF;oBACF;gBACF;gBAEA,OAAOX;YACT;YACAM,QAAQ,OAAOc;gBACbtB,cAAcuB,OAAO,CAAC,CAACC,KAAOA;gBAC9B,IAAIzB,OAAOS,MAAM,EAAE,MAAMT,OAAOS,MAAM,CAACc;YACzC;QACF;IACF,EAAC"}
package/dist/types.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { };
2
2
 
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbGVEYXRhLCBJbWFnZVNpemUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aElEIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZywgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGUge1xuICBidWZmZXI6IEJ1ZmZlclxuICBmaWxlbmFtZTogc3RyaW5nXG4gIGZpbGVzaXplOiBudW1iZXJcbiAgbWltZVR5cGU6IHN0cmluZ1xuICB0ZW1wRmlsZVBhdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSGFuZGxlVXBsb2FkID0gKGFyZ3M6IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBkYXRhOiBhbnlcbiAgZmlsZTogRmlsZVxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59KSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZFxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVXaXRoUHJlZml4IHtcbiAgcHJlZml4Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEhhbmRsZURlbGV0ZSA9IChhcmdzOiB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWdcbiAgZG9jOiBUeXBlV2l0aElEICYgRmlsZURhdGEgJiBUeXBlV2l0aFByZWZpeFxuICBmaWxlbmFtZTogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IFByb21pc2U8dm9pZD4gfCB2b2lkXG5cbmV4cG9ydCB0eXBlIEdlbmVyYXRlVVJMID0gKGFyZ3M6IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBmaWxlbmFtZTogc3RyaW5nXG4gIHByZWZpeD86IHN0cmluZ1xufSkgPT4gUHJvbWlzZTxzdHJpbmc+IHwgc3RyaW5nXG5cbmV4cG9ydCB0eXBlIFN0YXRpY0hhbmRsZXIgPSAoXG4gIHJlcTogUGF5bG9hZFJlcXVlc3QsXG4gIGFyZ3M6IHsgcGFyYW1zOiB7IGNvbGxlY3Rpb246IHN0cmluZzsgZmlsZW5hbWU6IHN0cmluZyB9IH0sXG4pID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2VcblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZWRBZGFwdGVyIHtcbiAgZ2VuZXJhdGVVUkw6IEdlbmVyYXRlVVJMXG4gIGhhbmRsZURlbGV0ZTogSGFuZGxlRGVsZXRlXG4gIGhhbmRsZVVwbG9hZDogSGFuZGxlVXBsb2FkXG4gIG9uSW5pdD86ICgpID0+IHZvaWRcbiAgc3RhdGljSGFuZGxlcjogU3RhdGljSGFuZGxlclxufVxuXG5leHBvcnQgdHlwZSBBZGFwdGVyID0gKGFyZ3M6IHsgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZzsgcHJlZml4Pzogc3RyaW5nIH0pID0+IEdlbmVyYXRlZEFkYXB0ZXJcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVGaWxlVVJMID0gKGFyZ3M6IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBmaWxlbmFtZTogc3RyaW5nXG4gIHByZWZpeD86IHN0cmluZ1xuICBzaXplPzogSW1hZ2VTaXplXG59KSA9PiBQcm9taXNlPHN0cmluZz4gfCBzdHJpbmdcblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uT3B0aW9ucyB7XG4gIGFkYXB0ZXI6IEFkYXB0ZXIgfCBudWxsXG4gIGRpc2FibGVMb2NhbFN0b3JhZ2U/OiBib29sZWFuXG4gIGRpc2FibGVQYXlsb2FkQWNjZXNzQ29udHJvbD86IHRydWVcbiAgZ2VuZXJhdGVGaWxlVVJMPzogR2VuZXJhdGVGaWxlVVJMXG4gIHByZWZpeD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbk9wdGlvbnMge1xuICBjb2xsZWN0aW9uczogUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbk9wdGlvbnM+XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgdGhlIHBsdWdpblxuICAgKlxuICAgKiBEZWZhdWx0OiB0cnVlXG4gICAqL1xuICBlbmFibGVkPzogYm9vbGVhblxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtFQSxXQVFDIn0=
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { FileData, ImageSize } from 'payload/types'\nimport type { TypeWithID } from 'payload/types'\nimport type { CollectionConfig, PayloadRequest } from 'payload/types'\n\nexport interface File {\n buffer: Buffer\n filename: string\n filesize: number\n mimeType: string\n tempFilePath?: string\n}\n\nexport type HandleUpload = (args: {\n collection: CollectionConfig\n data: any\n file: File\n req: PayloadRequest\n}) => Promise<void> | void\n\nexport interface TypeWithPrefix {\n prefix?: string\n}\n\nexport type HandleDelete = (args: {\n collection: CollectionConfig\n doc: TypeWithID & FileData & TypeWithPrefix\n filename: string\n req: PayloadRequest\n}) => Promise<void> | void\n\nexport type GenerateURL = (args: {\n collection: CollectionConfig\n filename: string\n prefix?: string\n}) => Promise<string> | string\n\nexport type StaticHandler = (\n req: PayloadRequest,\n args: { params: { collection: string; filename: string } },\n) => Promise<Response> | Response\n\nexport interface GeneratedAdapter {\n generateURL: GenerateURL\n handleDelete: HandleDelete\n handleUpload: HandleUpload\n onInit?: () => void\n staticHandler: StaticHandler\n}\n\nexport type Adapter = (args: { collection: CollectionConfig; prefix?: string }) => GeneratedAdapter\n\nexport type GenerateFileURL = (args: {\n collection: CollectionConfig\n filename: string\n prefix?: string\n size?: ImageSize\n}) => Promise<string> | string\n\nexport interface CollectionOptions {\n adapter: Adapter | null\n disableLocalStorage?: boolean\n disablePayloadAccessControl?: true\n generateFileURL?: GenerateFileURL\n prefix?: string\n}\n\nexport interface PluginOptions {\n collections: Record<string, CollectionOptions>\n /**\n * Whether or not to enable the plugin\n *\n * Default: true\n */\n enabled?: boolean\n}\n"],"names":[],"mappings":"AAkEA,WAQC"}
@@ -26,4 +26,4 @@ export async function getFilePrefix({ collection, req }) {
26
26
  return prefix ? prefix : '';
27
27
  }
28
28
 
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RmlsZVByZWZpeC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcsIFBheWxvYWRSZXF1ZXN0LCBVcGxvYWRDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmlsZVByZWZpeCh7XG4gIGNvbGxlY3Rpb24sXG4gIHJlcSxcbn06IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgaW1hZ2VTaXplcyA9IChjb2xsZWN0aW9uPy51cGxvYWQgYXMgVXBsb2FkQ29uZmlnKT8uaW1hZ2VTaXplcyB8fCBbXVxuICBjb25zdCB7IHJvdXRlUGFyYW1zIH0gPSByZXFcbiAgY29uc3QgZmlsZW5hbWUgPSByb3V0ZVBhcmFtc1snZmlsZW5hbWUnXVxuXG4gIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVxLnBheWxvYWQuZmluZCh7XG4gICAgY29sbGVjdGlvbjogY29sbGVjdGlvbi5zbHVnLFxuICAgIGRlcHRoOiAwLFxuICAgIGxpbWl0OiAxLFxuICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgIHdoZXJlOiB7XG4gICAgICBvcjogW1xuICAgICAgICB7XG4gICAgICAgICAgZmlsZW5hbWU6IHsgZXF1YWxzOiBmaWxlbmFtZSB9LFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbWFnZVNpemVzLm1hcCgoaW1hZ2VTaXplKSA9PiAoe1xuICAgICAgICAgIFtgc2l6ZXMuJHtpbWFnZVNpemUubmFtZX0uZmlsZW5hbWVgXTogeyBlcXVhbHM6IGZpbGVuYW1lIH0sXG4gICAgICAgIH0pKSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSlcbiAgY29uc3QgcHJlZml4ID0gZmlsZXM/LmRvY3M/LlswXT8ucHJlZml4XG4gIHJldHVybiBwcmVmaXggPyAocHJlZml4IGFzIHN0cmluZykgOiAnJ1xufVxuIl0sIm5hbWVzIjpbImdldEZpbGVQcmVmaXgiLCJjb2xsZWN0aW9uIiwicmVxIiwiaW1hZ2VTaXplcyIsInVwbG9hZCIsInJvdXRlUGFyYW1zIiwiZmlsZW5hbWUiLCJmaWxlcyIsInBheWxvYWQiLCJmaW5kIiwic2x1ZyIsImRlcHRoIiwibGltaXQiLCJwYWdpbmF0aW9uIiwid2hlcmUiLCJvciIsImVxdWFscyIsIm1hcCIsImltYWdlU2l6ZSIsIm5hbWUiLCJwcmVmaXgiLCJkb2NzIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLGVBQWVBLGNBQWMsRUFDbENDLFVBQVUsRUFDVkMsR0FBRyxFQUlKO0lBQ0MsTUFBTUMsYUFBYSxBQUFDRixZQUFZRyxRQUF5QkQsY0FBYyxFQUFFO0lBQ3pFLE1BQU0sRUFBRUUsV0FBVyxFQUFFLEdBQUdIO0lBQ3hCLE1BQU1JLFdBQVdELFdBQVcsQ0FBQyxXQUFXO0lBRXhDLE1BQU1FLFFBQVEsTUFBTUwsSUFBSU0sT0FBTyxDQUFDQyxJQUFJLENBQUM7UUFDbkNSLFlBQVlBLFdBQVdTLElBQUk7UUFDM0JDLE9BQU87UUFDUEMsT0FBTztRQUNQQyxZQUFZO1FBQ1pDLE9BQU87WUFDTEMsSUFBSTtnQkFDRjtvQkFDRVQsVUFBVTt3QkFBRVUsUUFBUVY7b0JBQVM7Z0JBQy9CO21CQUNHSCxXQUFXYyxHQUFHLENBQUMsQ0FBQ0MsWUFBZSxDQUFBO3dCQUNoQyxDQUFDLENBQUMsTUFBTSxFQUFFQSxVQUFVQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRTs0QkFBRUgsUUFBUVY7d0JBQVM7b0JBQzNELENBQUE7YUFDRDtRQUNIO0lBQ0Y7SUFDQSxNQUFNYyxTQUFTYixPQUFPYyxNQUFNLENBQUMsRUFBRSxFQUFFRDtJQUNqQyxPQUFPQSxTQUFVQSxTQUFvQjtBQUN2QyJ9
29
+ //# sourceMappingURL=getFilePrefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/getFilePrefix.ts"],"sourcesContent":["import type { CollectionConfig, PayloadRequest, UploadConfig } from 'payload/types'\n\nexport async function getFilePrefix({\n collection,\n req,\n}: {\n collection: CollectionConfig\n req: PayloadRequest\n}): Promise<string> {\n const imageSizes = (collection?.upload as UploadConfig)?.imageSizes || []\n const { routeParams } = req\n const filename = routeParams['filename']\n\n const files = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n or: [\n {\n filename: { equals: filename },\n },\n ...imageSizes.map((imageSize) => ({\n [`sizes.${imageSize.name}.filename`]: { equals: filename },\n })),\n ],\n },\n })\n const prefix = files?.docs?.[0]?.prefix\n return prefix ? (prefix as string) : ''\n}\n"],"names":["getFilePrefix","collection","req","imageSizes","upload","routeParams","filename","files","payload","find","slug","depth","limit","pagination","where","or","equals","map","imageSize","name","prefix","docs"],"mappings":"AAEA,OAAO,eAAeA,cAAc,EAClCC,UAAU,EACVC,GAAG,EAIJ;IACC,MAAMC,aAAa,AAACF,YAAYG,QAAyBD,cAAc,EAAE;IACzE,MAAM,EAAEE,WAAW,EAAE,GAAGH;IACxB,MAAMI,WAAWD,WAAW,CAAC,WAAW;IAExC,MAAME,QAAQ,MAAML,IAAIM,OAAO,CAACC,IAAI,CAAC;QACnCR,YAAYA,WAAWS,IAAI;QAC3BC,OAAO;QACPC,OAAO;QACPC,YAAY;QACZC,OAAO;YACLC,IAAI;gBACF;oBACET,UAAU;wBAAEU,QAAQV;oBAAS;gBAC/B;mBACGH,WAAWc,GAAG,CAAC,CAACC,YAAe,CAAA;wBAChC,CAAC,CAAC,MAAM,EAAEA,UAAUC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;4BAAEH,QAAQV;wBAAS;oBAC3D,CAAA;aACD;QACH;IACF;IACA,MAAMc,SAASb,OAAOc,MAAM,CAAC,EAAE,EAAED;IACjC,OAAOA,SAAUA,SAAoB;AACvC"}
@@ -30,4 +30,4 @@ export function getIncomingFiles({ data, req }) {
30
30
  return files;
31
31
  }
32
32
 
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0SW5jb21pbmdGaWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbGVEYXRhLCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgRmlsZSB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5jb21pbmdGaWxlcyh7XG4gIGRhdGEsXG4gIHJlcSxcbn06IHtcbiAgZGF0YTogUGFydGlhbDxGaWxlRGF0YT5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufSk6IEZpbGVbXSB7XG4gIGNvbnN0IGZpbGUgPSByZXEuZmlsZVxuXG4gIGxldCBmaWxlczogRmlsZVtdID0gW11cblxuICBpZiAoZmlsZSAmJiBkYXRhLmZpbGVuYW1lICYmIGRhdGEubWltZVR5cGUpIHtcbiAgICBjb25zdCBtYWluRmlsZTogRmlsZSA9IHtcbiAgICAgIGJ1ZmZlcjogZmlsZS5kYXRhLFxuICAgICAgZmlsZW5hbWU6IGRhdGEuZmlsZW5hbWUsXG4gICAgICBmaWxlc2l6ZTogZmlsZS5zaXplLFxuICAgICAgbWltZVR5cGU6IGRhdGEubWltZVR5cGUsXG4gICAgICB0ZW1wRmlsZVBhdGg6IGZpbGUudGVtcEZpbGVQYXRoLFxuICAgIH1cblxuICAgIGZpbGVzID0gW21haW5GaWxlXVxuXG4gICAgaWYgKGRhdGE/LnNpemVzKSB7XG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhLnNpemVzKS5mb3JFYWNoKChba2V5LCByZXNpemVkRmlsZURhdGFdKSA9PiB7XG4gICAgICAgIGlmIChyZXEucGF5bG9hZFVwbG9hZFNpemVzPy5ba2V5XSAmJiBkYXRhLm1pbWVUeXBlKSB7XG4gICAgICAgICAgZmlsZXMgPSBmaWxlcy5jb25jYXQoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBidWZmZXI6IHJlcS5wYXlsb2FkVXBsb2FkU2l6ZXNba2V5XSxcbiAgICAgICAgICAgICAgZmlsZW5hbWU6IGAke3Jlc2l6ZWRGaWxlRGF0YS5maWxlbmFtZX1gLFxuICAgICAgICAgICAgICBmaWxlc2l6ZTogcmVxLnBheWxvYWRVcGxvYWRTaXplc1trZXldLmxlbmd0aCxcbiAgICAgICAgICAgICAgbWltZVR5cGU6IGRhdGEubWltZVR5cGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZpbGVzXG59XG4iXSwibmFtZXMiOlsiZ2V0SW5jb21pbmdGaWxlcyIsImRhdGEiLCJyZXEiLCJmaWxlIiwiZmlsZXMiLCJmaWxlbmFtZSIsIm1pbWVUeXBlIiwibWFpbkZpbGUiLCJidWZmZXIiLCJmaWxlc2l6ZSIsInNpemUiLCJ0ZW1wRmlsZVBhdGgiLCJzaXplcyIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwia2V5IiwicmVzaXplZEZpbGVEYXRhIiwicGF5bG9hZFVwbG9hZFNpemVzIiwiY29uY2F0IiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLGlCQUFpQixFQUMvQkMsSUFBSSxFQUNKQyxHQUFHLEVBSUo7SUFDQyxNQUFNQyxPQUFPRCxJQUFJQyxJQUFJO0lBRXJCLElBQUlDLFFBQWdCLEVBQUU7SUFFdEIsSUFBSUQsUUFBUUYsS0FBS0ksUUFBUSxJQUFJSixLQUFLSyxRQUFRLEVBQUU7UUFDMUMsTUFBTUMsV0FBaUI7WUFDckJDLFFBQVFMLEtBQUtGLElBQUk7WUFDakJJLFVBQVVKLEtBQUtJLFFBQVE7WUFDdkJJLFVBQVVOLEtBQUtPLElBQUk7WUFDbkJKLFVBQVVMLEtBQUtLLFFBQVE7WUFDdkJLLGNBQWNSLEtBQUtRLFlBQVk7UUFDakM7UUFFQVAsUUFBUTtZQUFDRztTQUFTO1FBRWxCLElBQUlOLE1BQU1XLE9BQU87WUFDZkMsT0FBT0MsT0FBTyxDQUFDYixLQUFLVyxLQUFLLEVBQUVHLE9BQU8sQ0FBQyxDQUFDLENBQUNDLEtBQUtDLGdCQUFnQjtnQkFDeEQsSUFBSWYsSUFBSWdCLGtCQUFrQixFQUFFLENBQUNGLElBQUksSUFBSWYsS0FBS0ssUUFBUSxFQUFFO29CQUNsREYsUUFBUUEsTUFBTWUsTUFBTSxDQUFDO3dCQUNuQjs0QkFDRVgsUUFBUU4sSUFBSWdCLGtCQUFrQixDQUFDRixJQUFJOzRCQUNuQ1gsVUFBVSxDQUFDLEVBQUVZLGdCQUFnQlosUUFBUSxDQUFDLENBQUM7NEJBQ3ZDSSxVQUFVUCxJQUFJZ0Isa0JBQWtCLENBQUNGLElBQUksQ0FBQ0ksTUFBTTs0QkFDNUNkLFVBQVVMLEtBQUtLLFFBQVE7d0JBQ3pCO3FCQUNEO2dCQUNIO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT0Y7QUFDVCJ9
33
+ //# sourceMappingURL=getIncomingFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/getIncomingFiles.ts"],"sourcesContent":["import type { FileData, PayloadRequest } from 'payload/types'\n\nimport type { File } from '../types.js'\n\nexport function getIncomingFiles({\n data,\n req,\n}: {\n data: Partial<FileData>\n req: PayloadRequest\n}): File[] {\n const file = req.file\n\n let files: File[] = []\n\n if (file && data.filename && data.mimeType) {\n const mainFile: File = {\n buffer: file.data,\n filename: data.filename,\n filesize: file.size,\n mimeType: data.mimeType,\n tempFilePath: file.tempFilePath,\n }\n\n files = [mainFile]\n\n if (data?.sizes) {\n Object.entries(data.sizes).forEach(([key, resizedFileData]) => {\n if (req.payloadUploadSizes?.[key] && data.mimeType) {\n files = files.concat([\n {\n buffer: req.payloadUploadSizes[key],\n filename: `${resizedFileData.filename}`,\n filesize: req.payloadUploadSizes[key].length,\n mimeType: data.mimeType,\n },\n ])\n }\n })\n }\n }\n\n return files\n}\n"],"names":["getIncomingFiles","data","req","file","files","filename","mimeType","mainFile","buffer","filesize","size","tempFilePath","sizes","Object","entries","forEach","key","resizedFileData","payloadUploadSizes","concat","length"],"mappings":"AAIA,OAAO,SAASA,iBAAiB,EAC/BC,IAAI,EACJC,GAAG,EAIJ;IACC,MAAMC,OAAOD,IAAIC,IAAI;IAErB,IAAIC,QAAgB,EAAE;IAEtB,IAAID,QAAQF,KAAKI,QAAQ,IAAIJ,KAAKK,QAAQ,EAAE;QAC1C,MAAMC,WAAiB;YACrBC,QAAQL,KAAKF,IAAI;YACjBI,UAAUJ,KAAKI,QAAQ;YACvBI,UAAUN,KAAKO,IAAI;YACnBJ,UAAUL,KAAKK,QAAQ;YACvBK,cAAcR,KAAKQ,YAAY;QACjC;QAEAP,QAAQ;YAACG;SAAS;QAElB,IAAIN,MAAMW,OAAO;YACfC,OAAOC,OAAO,CAACb,KAAKW,KAAK,EAAEG,OAAO,CAAC,CAAC,CAACC,KAAKC,gBAAgB;gBACxD,IAAIf,IAAIgB,kBAAkB,EAAE,CAACF,IAAI,IAAIf,KAAKK,QAAQ,EAAE;oBAClDF,QAAQA,MAAMe,MAAM,CAAC;wBACnB;4BACEX,QAAQN,IAAIgB,kBAAkB,CAACF,IAAI;4BACnCX,UAAU,CAAC,EAAEY,gBAAgBZ,QAAQ,CAAC,CAAC;4BACvCI,UAAUP,IAAIgB,kBAAkB,CAACF,IAAI,CAACI,MAAM;4BAC5Cd,UAAUL,KAAKK,QAAQ;wBACzB;qBACD;gBACH;YACF;QACF;IACF;IAEA,OAAOF;AACT"}
@@ -19,4 +19,4 @@ const getRangeFromHeader = async (blockBlobClient, rangeHeader)=>{
19
19
  };
20
20
  export default getRangeFromHeader;
21
21
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0UmFuZ2VGcm9tSGVhZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmxvY2tCbG9iQ2xpZW50IH0gZnJvbSAnQGF6dXJlL3N0b3JhZ2UtYmxvYidcblxuaW1wb3J0IHBhcnNlUmFuZ2UgZnJvbSAncmFuZ2UtcGFyc2VyJ1xuXG5jb25zdCBnZXRSYW5nZUZyb21IZWFkZXIgPSBhc3luYyAoXG4gIGJsb2NrQmxvYkNsaWVudDogQmxvY2tCbG9iQ2xpZW50LFxuICByYW5nZUhlYWRlcj86IHN0cmluZyxcbik6IFByb21pc2U8eyBlbmQ6IG51bWJlciB8IHVuZGVmaW5lZDsgc3RhcnQ6IG51bWJlciB9PiA9PiB7XG4gIGNvbnN0IGZ1bGxSYW5nZSA9IHsgZW5kOiB1bmRlZmluZWQsIHN0YXJ0OiAwIH1cblxuICBpZiAoIXJhbmdlSGVhZGVyKSB7XG4gICAgcmV0dXJuIGZ1bGxSYW5nZVxuICB9XG5cbiAgY29uc3Qgc2l6ZSA9IGF3YWl0IGJsb2NrQmxvYkNsaWVudC5nZXRQcm9wZXJ0aWVzKCkudGhlbigocHJvcHMpID0+IHByb3BzLmNvbnRlbnRMZW5ndGgpXG4gIGlmIChzaXplID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZnVsbFJhbmdlXG4gIH1cblxuICBjb25zdCByYW5nZSA9IHBhcnNlUmFuZ2Uoc2l6ZSwgcmFuZ2VIZWFkZXIpXG4gIGlmIChyYW5nZSA9PT0gLTEgfHwgcmFuZ2UgPT09IC0yIHx8IHJhbmdlLnR5cGUgIT09ICdieXRlcycgfHwgcmFuZ2UubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIGZ1bGxSYW5nZVxuICB9XG5cbiAgcmV0dXJuIHJhbmdlWzBdXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFJhbmdlRnJvbUhlYWRlclxuIl0sIm5hbWVzIjpbInBhcnNlUmFuZ2UiLCJnZXRSYW5nZUZyb21IZWFkZXIiLCJibG9ja0Jsb2JDbGllbnQiLCJyYW5nZUhlYWRlciIsImZ1bGxSYW5nZSIsImVuZCIsInVuZGVmaW5lZCIsInN0YXJ0Iiwic2l6ZSIsImdldFByb3BlcnRpZXMiLCJ0aGVuIiwicHJvcHMiLCJjb250ZW50TGVuZ3RoIiwicmFuZ2UiLCJ0eXBlIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPQSxnQkFBZ0IsZUFBYztBQUVyQyxNQUFNQyxxQkFBcUIsT0FDekJDLGlCQUNBQztJQUVBLE1BQU1DLFlBQVk7UUFBRUMsS0FBS0M7UUFBV0MsT0FBTztJQUFFO0lBRTdDLElBQUksQ0FBQ0osYUFBYTtRQUNoQixPQUFPQztJQUNUO0lBRUEsTUFBTUksT0FBTyxNQUFNTixnQkFBZ0JPLGFBQWEsR0FBR0MsSUFBSSxDQUFDLENBQUNDLFFBQVVBLE1BQU1DLGFBQWE7SUFDdEYsSUFBSUosU0FBU0YsV0FBVztRQUN0QixPQUFPRjtJQUNUO0lBRUEsTUFBTVMsUUFBUWIsV0FBV1EsTUFBTUw7SUFDL0IsSUFBSVUsVUFBVSxDQUFDLEtBQUtBLFVBQVUsQ0FBQyxLQUFLQSxNQUFNQyxJQUFJLEtBQUssV0FBV0QsTUFBTUUsTUFBTSxLQUFLLEdBQUc7UUFDaEYsT0FBT1g7SUFDVDtJQUVBLE9BQU9TLEtBQUssQ0FBQyxFQUFFO0FBQ2pCO0FBRUEsZUFBZVosbUJBQWtCIn0=
22
+ //# sourceMappingURL=getRangeFromHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/getRangeFromHeader.ts"],"sourcesContent":["import type { BlockBlobClient } from '@azure/storage-blob'\n\nimport parseRange from 'range-parser'\n\nconst getRangeFromHeader = async (\n blockBlobClient: BlockBlobClient,\n rangeHeader?: string,\n): Promise<{ end: number | undefined; start: number }> => {\n const fullRange = { end: undefined, start: 0 }\n\n if (!rangeHeader) {\n return fullRange\n }\n\n const size = await blockBlobClient.getProperties().then((props) => props.contentLength)\n if (size === undefined) {\n return fullRange\n }\n\n const range = parseRange(size, rangeHeader)\n if (range === -1 || range === -2 || range.type !== 'bytes' || range.length !== 1) {\n return fullRange\n }\n\n return range[0]\n}\n\nexport default getRangeFromHeader\n"],"names":["parseRange","getRangeFromHeader","blockBlobClient","rangeHeader","fullRange","end","undefined","start","size","getProperties","then","props","contentLength","range","type","length"],"mappings":"AAEA,OAAOA,gBAAgB,eAAc;AAErC,MAAMC,qBAAqB,OACzBC,iBACAC;IAEA,MAAMC,YAAY;QAAEC,KAAKC;QAAWC,OAAO;IAAE;IAE7C,IAAI,CAACJ,aAAa;QAChB,OAAOC;IACT;IAEA,MAAMI,OAAO,MAAMN,gBAAgBO,aAAa,GAAGC,IAAI,CAAC,CAACC,QAAUA,MAAMC,aAAa;IACtF,IAAIJ,SAASF,WAAW;QACtB,OAAOF;IACT;IAEA,MAAMS,QAAQb,WAAWQ,MAAML;IAC/B,IAAIU,UAAU,CAAC,KAAKA,UAAU,CAAC,KAAKA,MAAMC,IAAI,KAAK,WAAWD,MAAME,MAAM,KAAK,GAAG;QAChF,OAAOX;IACT;IAEA,OAAOS,KAAK,CAAC,EAAE;AACjB;AAEA,eAAeZ,mBAAkB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-cloud-storage",
3
3
  "description": "The official cloud storage plugin for Payload CMS",
4
- "version": "3.0.0-alpha.41",
4
+ "version": "3.0.0-alpha.43",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
@@ -12,7 +12,7 @@
12
12
  "@azure/abort-controller": "^1.0.0",
13
13
  "@azure/storage-blob": "^12.11.0",
14
14
  "@google-cloud/storage": "^7.7.0",
15
- "payload": "3.0.0-alpha.41"
15
+ "payload": "3.0.0-alpha.43"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "@aws-sdk/client-s3": {
@@ -42,7 +42,7 @@
42
42
  "@azure/storage-blob": "^12.11.0",
43
43
  "@google-cloud/storage": "^7.7.0",
44
44
  "@types/find-node-modules": "^2.1.2",
45
- "payload": "3.0.0-alpha.41"
45
+ "payload": "3.0.0-alpha.43"
46
46
  },
47
47
  "dependencies": {
48
48
  "find-node-modules": "^2.1.3",