@webiny/api-headless-cms-import-export 5.41.4 → 5.42.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/crud/index.js.map +1 -1
  2. package/crud/useCases/abortImportFromUrl/AbortImportFromUrlUseCase.js.map +1 -1
  3. package/crud/useCases/exportContentEntries/ExportContentEntriesUseCase.js.map +1 -1
  4. package/crud/useCases/importFromUrl/ImportFromUrlUseCase.js.map +1 -1
  5. package/crud/useCases/validateImportFromUrl/ValidateImportFromUrlUseCase.js.map +1 -1
  6. package/crud/useCases/validateImportFromUrlIntegrity/ValidateImportFromUrlIntegrityUseCase.js.map +1 -1
  7. package/crud/utils/makeSureModelsAreIdentical.js.map +1 -1
  8. package/graphql/resolvers.js.map +1 -1
  9. package/graphql/typeDefs.js +10 -2
  10. package/graphql/typeDefs.js.map +1 -1
  11. package/package.json +23 -28
  12. package/tasks/domain/ExportContentEntriesController.js.map +1 -1
  13. package/tasks/domain/ImportFromUrlController.js.map +1 -1
  14. package/tasks/domain/ImportFromUrlDownload.js.map +1 -1
  15. package/tasks/domain/downloadFileFromUrl/DownloadFileFromUrl.js.map +1 -1
  16. package/tasks/domain/exportContentAssets/ExportContentAssets.js.map +1 -1
  17. package/tasks/domain/exportContentEntries/ExportContentEntries.js.map +1 -1
  18. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep.js.map +1 -1
  19. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep.js.map +1 -1
  20. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep.js.map +1 -1
  21. package/tasks/domain/importFromUrlControllerSteps/getChildTasks.js.map +1 -1
  22. package/tasks/domain/importFromUrlProcessAssets/ImportFromUrlProcessAssets.js.map +1 -1
  23. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntries.js.map +1 -1
  24. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesDecompress.js.map +1 -1
  25. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesInsert.js.map +1 -1
  26. package/tasks/exportContentAssets.js +1 -1
  27. package/tasks/exportContentAssets.js.map +1 -1
  28. package/tasks/exportContentEntries.js +1 -1
  29. package/tasks/exportContentEntries.js.map +1 -1
  30. package/tasks/exportContentEntriesController.js +1 -1
  31. package/tasks/exportContentEntriesController.js.map +1 -1
  32. package/tasks/importFromUrlController.js +2 -2
  33. package/tasks/importFromUrlController.js.map +1 -1
  34. package/tasks/importFromUrlDownload.js +1 -1
  35. package/tasks/importFromUrlDownload.js.map +1 -1
  36. package/tasks/importFromUrlProcessAssets.js +1 -1
  37. package/tasks/importFromUrlProcessAssets.js.map +1 -1
  38. package/tasks/importFromUrlProcessEntries.js +1 -1
  39. package/tasks/importFromUrlProcessEntries.js.map +1 -1
  40. package/tasks/utils/cmsAssetsZipper/PointerStore.js.map +1 -1
  41. package/tasks/utils/cmsEntryZipper/CmsEntryZipper.js.map +1 -1
  42. package/tasks/utils/decompressor/Decompressor.js.map +1 -1
  43. package/tasks/utils/deleteFiles/DeleteFiles.js.map +1 -1
  44. package/tasks/utils/externalFileFetcher/ExternalFileFetcher.js.map +1 -1
  45. package/tasks/utils/fileFetcher/FileFetcher.js.map +1 -1
  46. package/tasks/utils/helpers/exportPath.js.map +1 -1
  47. package/tasks/utils/helpers/getBucket.js.map +1 -1
  48. package/tasks/utils/helpers/importPath.js.map +1 -1
  49. package/tasks/utils/helpers/matchKeyOrAlias.js.map +1 -1
  50. package/tasks/utils/helpers/sizeSegments.js +3 -0
  51. package/tasks/utils/helpers/sizeSegments.js.map +1 -1
  52. package/tasks/utils/upload/MultipartUploadFactory.js.map +1 -1
  53. package/tasks/utils/upload/getContentType.js.map +1 -1
  54. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandler.js +1 -1
  55. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandler.js.map +1 -1
  56. package/tasks/validateImportFromUrl.js +1 -1
  57. package/tasks/validateImportFromUrl.js.map +1 -1
package/crud/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_useCases","require","_handlerGraphql","_exportContentEntries","_urlSigner","_getBucket","_s3Client","_abortImportFromUrl","createHeadlessCmsImportExportCrud","context","urlSigner","UrlSigner","bucket","getBucket","client","createS3Client","getExportContentEntriesUseCase","GetExportContentEntriesUseCase","getTask","tasks","listExportContentEntriesUseCase","ListExportContentEntriesUseCase","listTasks","validateImportFromUrlUseCase","ValidateImportFromUrlUseCase","getModelToAstConverter","cms","getModel","validateImportFromUrlIntegrityUseCase","ValidateImportFromUrlIntegrityUseCase","triggerTask","trigger","getValidateImportFromUrlIntegrityUseCase","GetValidateImportFromUrlUseCase","importFromUrlUseCase","ImportFromUrlUseCase","updateTask","getImportFromUrlUseCase","GetImportFromUrlUseCase","exportContentEntriesUseCase","ExportContentEntriesUseCase","abortExportContentEntriesUseCase","AbortExportContentEntriesUseCase","abortTask","abort","abortImportFromUrlUseCase","AbortImportFromUrlUseCase","getTaskUseCase","getExportContentEntries","params","result","execute","NotFoundError","id","listExportContentEntries","exportContentEntries","abortExportContentEntries","validateImportFromUrl","files","model","data","modelId","getValidateImportFromUrl","importFromUrl","getImportFromUrl","abortImportFromUrl","exports"],"sources":["index.ts"],"sourcesContent":["import type {\n CmsImportExportObject,\n Context,\n ICmsImportExportObjectAbortExportParams,\n ICmsImportExportObjectAbortImportFromUrlParams,\n ICmsImportExportObjectGetExportParams,\n ICmsImportExportObjectGetImportFromUrlParams,\n ICmsImportExportObjectGetValidateImportFromUrlParams,\n ICmsImportExportObjectGetValidateImportFromUrlResult,\n ICmsImportExportObjectImportFromUrlParams,\n ICmsImportExportObjectImportFromUrlResult,\n ICmsImportExportObjectStartExportParams,\n ICmsImportExportObjectValidateImportFromUrlParams,\n ICmsImportExportObjectValidateImportFromUrlResult,\n ICmsImportExportRecord,\n IListExportContentEntriesParams,\n IListExportContentEntriesResult\n} from \"~/types\";\nimport {\n AbortExportContentEntriesUseCase,\n GetExportContentEntriesUseCase,\n GetImportFromUrlUseCase,\n GetValidateImportFromUrlUseCase,\n ImportFromUrlUseCase,\n ListExportContentEntriesUseCase,\n ValidateImportFromUrlIntegrityUseCase,\n ValidateImportFromUrlUseCase\n} from \"./useCases\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ExportContentEntriesUseCase } from \"~/crud/useCases/exportContentEntries\";\nimport { UrlSigner } from \"~/tasks/utils/urlSigner\";\nimport { getBucket } from \"~/tasks/utils/helpers/getBucket\";\nimport { createS3Client } from \"~/tasks/utils/helpers/s3Client\";\nimport { AbortImportFromUrlUseCase } from \"./useCases/abortImportFromUrl\";\n\nexport const createHeadlessCmsImportExportCrud = async (\n context: Context\n): Promise<CmsImportExportObject> => {\n const urlSigner = new UrlSigner({\n bucket: getBucket(),\n client: createS3Client()\n });\n\n const getExportContentEntriesUseCase = new GetExportContentEntriesUseCase({\n getTask: context.tasks.getTask,\n urlSigner\n });\n\n const listExportContentEntriesUseCase = new ListExportContentEntriesUseCase({\n listTasks: context.tasks.listTasks\n });\n\n const validateImportFromUrlUseCase = new ValidateImportFromUrlUseCase({\n getModelToAstConverter: context.cms.getModelToAstConverter,\n getModel: context.cms.getModel\n });\n const validateImportFromUrlIntegrityUseCase = new ValidateImportFromUrlIntegrityUseCase({\n triggerTask: context.tasks.trigger\n });\n const getValidateImportFromUrlIntegrityUseCase = new GetValidateImportFromUrlUseCase({\n getTask: context.tasks.getTask\n });\n\n const importFromUrlUseCase = new ImportFromUrlUseCase({\n updateTask: context.tasks.updateTask,\n getTask: context.tasks.getTask,\n triggerTask: context.tasks.trigger\n });\n\n const getImportFromUrlUseCase = new GetImportFromUrlUseCase({\n getTask: context.tasks.getTask\n });\n\n const exportContentEntriesUseCase = new ExportContentEntriesUseCase({\n triggerTask: context.tasks.trigger\n });\n\n const abortExportContentEntriesUseCase = new AbortExportContentEntriesUseCase({\n abortTask: context.tasks.abort\n });\n\n const abortImportFromUrlUseCase = new AbortImportFromUrlUseCase({\n getTaskUseCase: getImportFromUrlUseCase,\n abortTask: context.tasks.abort\n });\n\n const getExportContentEntries = async (\n params: ICmsImportExportObjectGetExportParams\n ): Promise<ICmsImportExportRecord> => {\n const result = await getExportContentEntriesUseCase.execute(params);\n if (!result) {\n throw new NotFoundError(\n `Export content entries task with id \"${params.id}\" not found.`\n );\n }\n return result;\n };\n\n const listExportContentEntries = async (\n params?: IListExportContentEntriesParams\n ): Promise<IListExportContentEntriesResult> => {\n return listExportContentEntriesUseCase.execute(params);\n };\n\n const exportContentEntries = async (\n params: ICmsImportExportObjectStartExportParams\n ): Promise<ICmsImportExportRecord> => {\n return exportContentEntriesUseCase.execute(params);\n };\n\n const abortExportContentEntries = async (\n params: ICmsImportExportObjectAbortExportParams\n ): Promise<ICmsImportExportRecord> => {\n return abortExportContentEntriesUseCase.execute(params);\n };\n\n const validateImportFromUrl = async (\n params: ICmsImportExportObjectValidateImportFromUrlParams\n ): Promise<ICmsImportExportObjectValidateImportFromUrlResult> => {\n const { files, model } = await validateImportFromUrlUseCase.execute({\n data: params.data\n });\n const result = await validateImportFromUrlIntegrityUseCase.execute({\n model,\n files\n });\n\n return {\n files,\n modelId: model.modelId,\n ...result\n };\n };\n\n const getValidateImportFromUrl = async (\n params: ICmsImportExportObjectGetValidateImportFromUrlParams\n ): Promise<ICmsImportExportObjectGetValidateImportFromUrlResult> => {\n const result = await getValidateImportFromUrlIntegrityUseCase.execute(params);\n if (!result) {\n throw new NotFoundError(\n `Validate import from URL task with id \"${params.id}\" not found.`\n );\n }\n return result;\n };\n\n const importFromUrl = async (\n params: ICmsImportExportObjectImportFromUrlParams\n ): Promise<ICmsImportExportObjectImportFromUrlResult> => {\n const result = await importFromUrlUseCase.execute(params);\n if (!result) {\n throw new NotFoundError(`Import from URL task with id \"${params.id}\" not found.`);\n }\n return result;\n };\n\n const getImportFromUrl = async (\n params: ICmsImportExportObjectGetImportFromUrlParams\n ): Promise<ICmsImportExportObjectImportFromUrlResult> => {\n const result = await getImportFromUrlUseCase.execute(params);\n if (!result) {\n throw new NotFoundError(`Import from URL task with id \"${params.id}\" not found.`);\n }\n return result;\n };\n\n const abortImportFromUrl = async (\n params: ICmsImportExportObjectAbortImportFromUrlParams\n ): Promise<ICmsImportExportObjectImportFromUrlResult> => {\n return await abortImportFromUrlUseCase.execute(params);\n };\n\n return {\n getExportContentEntries,\n listExportContentEntries,\n exportContentEntries,\n abortExportContentEntries,\n validateImportFromUrl,\n getValidateImportFromUrl,\n importFromUrl,\n getImportFromUrl,\n abortImportFromUrl\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_useCases","require","_handlerGraphql","_exportContentEntries","_urlSigner","_getBucket","_s3Client","_abortImportFromUrl","createHeadlessCmsImportExportCrud","context","urlSigner","UrlSigner","bucket","getBucket","client","createS3Client","getExportContentEntriesUseCase","GetExportContentEntriesUseCase","getTask","tasks","listExportContentEntriesUseCase","ListExportContentEntriesUseCase","listTasks","validateImportFromUrlUseCase","ValidateImportFromUrlUseCase","getModelToAstConverter","cms","getModel","validateImportFromUrlIntegrityUseCase","ValidateImportFromUrlIntegrityUseCase","triggerTask","trigger","getValidateImportFromUrlIntegrityUseCase","GetValidateImportFromUrlUseCase","importFromUrlUseCase","ImportFromUrlUseCase","updateTask","getImportFromUrlUseCase","GetImportFromUrlUseCase","exportContentEntriesUseCase","ExportContentEntriesUseCase","abortExportContentEntriesUseCase","AbortExportContentEntriesUseCase","abortTask","abort","abortImportFromUrlUseCase","AbortImportFromUrlUseCase","getTaskUseCase","getExportContentEntries","params","result","execute","NotFoundError","id","listExportContentEntries","exportContentEntries","abortExportContentEntries","validateImportFromUrl","files","model","data","modelId","getValidateImportFromUrl","importFromUrl","getImportFromUrl","abortImportFromUrl","exports"],"sources":["index.ts"],"sourcesContent":["import type {\n CmsImportExportObject,\n Context,\n ICmsImportExportObjectAbortExportParams,\n ICmsImportExportObjectAbortImportFromUrlParams,\n ICmsImportExportObjectGetExportParams,\n ICmsImportExportObjectGetImportFromUrlParams,\n ICmsImportExportObjectGetValidateImportFromUrlParams,\n ICmsImportExportObjectGetValidateImportFromUrlResult,\n ICmsImportExportObjectImportFromUrlParams,\n ICmsImportExportObjectImportFromUrlResult,\n ICmsImportExportObjectStartExportParams,\n ICmsImportExportObjectValidateImportFromUrlParams,\n ICmsImportExportObjectValidateImportFromUrlResult,\n ICmsImportExportRecord,\n IListExportContentEntriesParams,\n IListExportContentEntriesResult\n} from \"~/types\";\nimport {\n AbortExportContentEntriesUseCase,\n GetExportContentEntriesUseCase,\n GetImportFromUrlUseCase,\n GetValidateImportFromUrlUseCase,\n ImportFromUrlUseCase,\n ListExportContentEntriesUseCase,\n ValidateImportFromUrlIntegrityUseCase,\n ValidateImportFromUrlUseCase\n} from \"./useCases\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ExportContentEntriesUseCase } from \"~/crud/useCases/exportContentEntries\";\nimport { UrlSigner } from \"~/tasks/utils/urlSigner\";\nimport { getBucket } from \"~/tasks/utils/helpers/getBucket\";\nimport { createS3Client } from \"~/tasks/utils/helpers/s3Client\";\nimport { AbortImportFromUrlUseCase } from \"./useCases/abortImportFromUrl\";\n\nexport const createHeadlessCmsImportExportCrud = async (\n context: Context\n): Promise<CmsImportExportObject> => {\n const urlSigner = new UrlSigner({\n bucket: getBucket(),\n client: createS3Client()\n });\n\n const getExportContentEntriesUseCase = new GetExportContentEntriesUseCase({\n getTask: context.tasks.getTask,\n urlSigner\n });\n\n const listExportContentEntriesUseCase = new ListExportContentEntriesUseCase({\n listTasks: context.tasks.listTasks\n });\n\n const validateImportFromUrlUseCase = new ValidateImportFromUrlUseCase({\n getModelToAstConverter: context.cms.getModelToAstConverter,\n getModel: context.cms.getModel\n });\n const validateImportFromUrlIntegrityUseCase = new ValidateImportFromUrlIntegrityUseCase({\n triggerTask: context.tasks.trigger\n });\n const getValidateImportFromUrlIntegrityUseCase = new GetValidateImportFromUrlUseCase({\n getTask: context.tasks.getTask\n });\n\n const importFromUrlUseCase = new ImportFromUrlUseCase({\n updateTask: context.tasks.updateTask,\n getTask: context.tasks.getTask,\n triggerTask: context.tasks.trigger\n });\n\n const getImportFromUrlUseCase = new GetImportFromUrlUseCase({\n getTask: context.tasks.getTask\n });\n\n const exportContentEntriesUseCase = new ExportContentEntriesUseCase({\n triggerTask: context.tasks.trigger\n });\n\n const abortExportContentEntriesUseCase = new AbortExportContentEntriesUseCase({\n abortTask: context.tasks.abort\n });\n\n const abortImportFromUrlUseCase = new AbortImportFromUrlUseCase({\n getTaskUseCase: getImportFromUrlUseCase,\n abortTask: context.tasks.abort\n });\n\n const getExportContentEntries = async (\n params: ICmsImportExportObjectGetExportParams\n ): Promise<ICmsImportExportRecord> => {\n const result = await getExportContentEntriesUseCase.execute(params);\n if (!result) {\n throw new NotFoundError(\n `Export content entries task with id \"${params.id}\" not found.`\n );\n }\n return result;\n };\n\n const listExportContentEntries = async (\n params?: IListExportContentEntriesParams\n ): Promise<IListExportContentEntriesResult> => {\n return listExportContentEntriesUseCase.execute(params);\n };\n\n const exportContentEntries = async (\n params: ICmsImportExportObjectStartExportParams\n ): Promise<ICmsImportExportRecord> => {\n return exportContentEntriesUseCase.execute(params);\n };\n\n const abortExportContentEntries = async (\n params: ICmsImportExportObjectAbortExportParams\n ): Promise<ICmsImportExportRecord> => {\n return abortExportContentEntriesUseCase.execute(params);\n };\n\n const validateImportFromUrl = async (\n params: ICmsImportExportObjectValidateImportFromUrlParams\n ): Promise<ICmsImportExportObjectValidateImportFromUrlResult> => {\n const { files, model } = await validateImportFromUrlUseCase.execute({\n data: params.data\n });\n const result = await validateImportFromUrlIntegrityUseCase.execute({\n model,\n files\n });\n\n return {\n files,\n modelId: model.modelId,\n ...result\n };\n };\n\n const getValidateImportFromUrl = async (\n params: ICmsImportExportObjectGetValidateImportFromUrlParams\n ): Promise<ICmsImportExportObjectGetValidateImportFromUrlResult> => {\n const result = await getValidateImportFromUrlIntegrityUseCase.execute(params);\n if (!result) {\n throw new NotFoundError(\n `Validate import from URL task with id \"${params.id}\" not found.`\n );\n }\n return result;\n };\n\n const importFromUrl = async (\n params: ICmsImportExportObjectImportFromUrlParams\n ): Promise<ICmsImportExportObjectImportFromUrlResult> => {\n const result = await importFromUrlUseCase.execute(params);\n if (!result) {\n throw new NotFoundError(`Import from URL task with id \"${params.id}\" not found.`);\n }\n return result;\n };\n\n const getImportFromUrl = async (\n params: ICmsImportExportObjectGetImportFromUrlParams\n ): Promise<ICmsImportExportObjectImportFromUrlResult> => {\n const result = await getImportFromUrlUseCase.execute(params);\n if (!result) {\n throw new NotFoundError(`Import from URL task with id \"${params.id}\" not found.`);\n }\n return result;\n };\n\n const abortImportFromUrl = async (\n params: ICmsImportExportObjectAbortImportFromUrlParams\n ): Promise<ICmsImportExportObjectImportFromUrlResult> => {\n return await abortImportFromUrlUseCase.execute(params);\n };\n\n return {\n getExportContentEntries,\n listExportContentEntries,\n exportContentEntries,\n abortExportContentEntries,\n validateImportFromUrl,\n getValidateImportFromUrl,\n importFromUrl,\n getImportFromUrl,\n abortImportFromUrl\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_handlerGraphql","require","_convertTaskToImportRecord","AbortImportFromUrlUseCase","constructor","params","getTaskUseCase","abortTask","execute","task","NotFoundError","id","result","convertTaskToImportRecord","ex","console","log","error","exports"],"sources":["AbortImportFromUrlUseCase.ts"],"sourcesContent":["import { ITasksContextObject } from \"@webiny/tasks\";\nimport { IImportFromUrlUseCaseExecuteResponse } from \"../importFromUrl\";\nimport {\n IAbortImportFromUrlUseCase,\n IAbortImportFromUrlUseCaseExecuteParams\n} from \"./abstractions/AbortImportFromUrlUseCase\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { convertTaskToImportRecord } from \"~/crud/utils/convertTaskToImportRecord\";\nimport type {\n IImportFromUrlControllerInput,\n IImportFromUrlControllerOutput\n} from \"~/tasks/domain/abstractions/ImportFromUrlController\";\nimport { IGetImportFromUrlUseCase } from \"~/crud/useCases/getImportFromUrl\";\n\nexport interface IAbortImportFromUrlUseCaseParams {\n getTaskUseCase: IGetImportFromUrlUseCase;\n abortTask: ITasksContextObject[\"abort\"];\n}\n\nexport class AbortImportFromUrlUseCase implements IAbortImportFromUrlUseCase {\n private readonly getTaskUseCase: IGetImportFromUrlUseCase;\n private readonly abortTask: ITasksContextObject[\"abort\"];\n\n public constructor(params: IAbortImportFromUrlUseCaseParams) {\n this.getTaskUseCase = params.getTaskUseCase;\n this.abortTask = params.abortTask;\n }\n public async execute(\n params: IAbortImportFromUrlUseCaseExecuteParams\n ): Promise<IImportFromUrlUseCaseExecuteResponse> {\n const task = await this.getTaskUseCase.execute(params);\n if (!task) {\n throw new NotFoundError(`Task with id \"${params.id}\" not found.`);\n }\n\n try {\n const result = await this.abortTask<\n IImportFromUrlControllerInput,\n IImportFromUrlControllerOutput\n >(params);\n return convertTaskToImportRecord(result);\n } catch (ex) {\n console.log(\"Could not abort the task.\");\n console.error(ex);\n throw ex;\n }\n }\n}\n"],"mappings":";;;;;;AAMA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAYO,MAAME,yBAAyB,CAAuC;EAIlEC,WAAWA,CAACC,MAAwC,EAAE;IACzD,IAAI,CAACC,cAAc,GAAGD,MAAM,CAACC,cAAc;IAC3C,IAAI,CAACC,SAAS,GAAGF,MAAM,CAACE,SAAS;EACrC;EACA,MAAaC,OAAOA,CAChBH,MAA+C,EACF;IAC7C,MAAMI,IAAI,GAAG,MAAM,IAAI,CAACH,cAAc,CAACE,OAAO,CAACH,MAAM,CAAC;IACtD,IAAI,CAACI,IAAI,EAAE;MACP,MAAM,IAAIC,6BAAa,CAAE,iBAAgBL,MAAM,CAACM,EAAG,cAAa,CAAC;IACrE;IAEA,IAAI;MACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACL,SAAS,CAGjCF,MAAM,CAAC;MACT,OAAO,IAAAQ,oDAAyB,EAACD,MAAM,CAAC;IAC5C,CAAC,CAAC,OAAOE,EAAE,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;MACxCD,OAAO,CAACE,KAAK,CAACH,EAAE,CAAC;MACjB,MAAMA,EAAE;IACZ;EACJ;AACJ;AAACI,OAAA,CAAAf,yBAAA,GAAAA,yBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_handlerGraphql","require","_convertTaskToImportRecord","AbortImportFromUrlUseCase","constructor","params","getTaskUseCase","abortTask","execute","task","NotFoundError","id","result","convertTaskToImportRecord","ex","console","log","error","exports"],"sources":["AbortImportFromUrlUseCase.ts"],"sourcesContent":["import { ITasksContextObject } from \"@webiny/tasks\";\nimport { IImportFromUrlUseCaseExecuteResponse } from \"../importFromUrl\";\nimport {\n IAbortImportFromUrlUseCase,\n IAbortImportFromUrlUseCaseExecuteParams\n} from \"./abstractions/AbortImportFromUrlUseCase\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { convertTaskToImportRecord } from \"~/crud/utils/convertTaskToImportRecord\";\nimport type {\n IImportFromUrlControllerInput,\n IImportFromUrlControllerOutput\n} from \"~/tasks/domain/abstractions/ImportFromUrlController\";\nimport { IGetImportFromUrlUseCase } from \"~/crud/useCases/getImportFromUrl\";\n\nexport interface IAbortImportFromUrlUseCaseParams {\n getTaskUseCase: IGetImportFromUrlUseCase;\n abortTask: ITasksContextObject[\"abort\"];\n}\n\nexport class AbortImportFromUrlUseCase implements IAbortImportFromUrlUseCase {\n private readonly getTaskUseCase: IGetImportFromUrlUseCase;\n private readonly abortTask: ITasksContextObject[\"abort\"];\n\n public constructor(params: IAbortImportFromUrlUseCaseParams) {\n this.getTaskUseCase = params.getTaskUseCase;\n this.abortTask = params.abortTask;\n }\n public async execute(\n params: IAbortImportFromUrlUseCaseExecuteParams\n ): Promise<IImportFromUrlUseCaseExecuteResponse> {\n const task = await this.getTaskUseCase.execute(params);\n if (!task) {\n throw new NotFoundError(`Task with id \"${params.id}\" not found.`);\n }\n\n try {\n const result = await this.abortTask<\n IImportFromUrlControllerInput,\n IImportFromUrlControllerOutput\n >(params);\n return convertTaskToImportRecord(result);\n } catch (ex) {\n console.log(\"Could not abort the task.\");\n console.error(ex);\n throw ex;\n }\n }\n}\n"],"mappings":";;;;;;AAMA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAYO,MAAME,yBAAyB,CAAuC;EAIlEC,WAAWA,CAACC,MAAwC,EAAE;IACzD,IAAI,CAACC,cAAc,GAAGD,MAAM,CAACC,cAAc;IAC3C,IAAI,CAACC,SAAS,GAAGF,MAAM,CAACE,SAAS;EACrC;EACA,MAAaC,OAAOA,CAChBH,MAA+C,EACF;IAC7C,MAAMI,IAAI,GAAG,MAAM,IAAI,CAACH,cAAc,CAACE,OAAO,CAACH,MAAM,CAAC;IACtD,IAAI,CAACI,IAAI,EAAE;MACP,MAAM,IAAIC,6BAAa,CAAC,iBAAiBL,MAAM,CAACM,EAAE,cAAc,CAAC;IACrE;IAEA,IAAI;MACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACL,SAAS,CAGjCF,MAAM,CAAC;MACT,OAAO,IAAAQ,oDAAyB,EAACD,MAAM,CAAC;IAC5C,CAAC,CAAC,OAAOE,EAAE,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;MACxCD,OAAO,CAACE,KAAK,CAACH,EAAE,CAAC;MACjB,MAAMA,EAAE;IACZ;EACJ;AACJ;AAACI,OAAA,CAAAf,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_convertTaskToExportRecord","ExportContentEntriesUseCase","constructor","params","triggerTask","execute","task","name","modelId","input","exportAssets","limit","where","sort","definition","EXPORT_CONTENT_ENTRIES_CONTROLLER_TASK","convertTaskToCmsExportRecord","exports"],"sources":["ExportContentEntriesUseCase.ts"],"sourcesContent":["import type { ICmsImportExportRecord } from \"~/domain\";\nimport type {\n IExportContentEntriesUseCase,\n IExportContentEntriesUseCaseExecuteParams\n} from \"./abstractions/ExportContentEntriesUseCase\";\nimport type {\n IExportContentEntriesControllerInput,\n IExportContentEntriesControllerOutput\n} from \"~/tasks/domain/abstractions/ExportContentEntriesController\";\nimport { EXPORT_CONTENT_ENTRIES_CONTROLLER_TASK } from \"~/tasks/constants\";\nimport { convertTaskToCmsExportRecord } from \"~/crud/utils/convertTaskToExportRecord\";\nimport type { ITasksContextObject } from \"@webiny/tasks\";\n\nexport interface IExportContentEntriesUseCaseParams {\n triggerTask: ITasksContextObject[\"trigger\"];\n}\n\nexport class ExportContentEntriesUseCase implements IExportContentEntriesUseCase {\n private readonly triggerTask: ITasksContextObject[\"trigger\"];\n\n public constructor(params: IExportContentEntriesUseCaseParams) {\n this.triggerTask = params.triggerTask;\n }\n\n public async execute(\n params: IExportContentEntriesUseCaseExecuteParams\n ): Promise<ICmsImportExportRecord> {\n const task = await this.triggerTask<\n IExportContentEntriesControllerInput,\n IExportContentEntriesControllerOutput\n >({\n name: `Export Content Entries and Assets Controller for \"${params.modelId}\"`,\n input: {\n modelId: params.modelId,\n exportAssets: params.exportAssets,\n limit: params.limit,\n where: params.where,\n sort: params.sort\n },\n definition: EXPORT_CONTENT_ENTRIES_CONTROLLER_TASK\n });\n\n return convertTaskToCmsExportRecord(task);\n }\n}\n"],"mappings":";;;;;;AASA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAOO,MAAME,2BAA2B,CAAyC;EAGtEC,WAAWA,CAACC,MAA0C,EAAE;IAC3D,IAAI,CAACC,WAAW,GAAGD,MAAM,CAACC,WAAW;EACzC;EAEA,MAAaC,OAAOA,CAChBF,MAAiD,EAClB;IAC/B,MAAMG,IAAI,GAAG,MAAM,IAAI,CAACF,WAAW,CAGjC;MACEG,IAAI,EAAG,qDAAoDJ,MAAM,CAACK,OAAQ,GAAE;MAC5EC,KAAK,EAAE;QACHD,OAAO,EAAEL,MAAM,CAACK,OAAO;QACvBE,YAAY,EAAEP,MAAM,CAACO,YAAY;QACjCC,KAAK,EAAER,MAAM,CAACQ,KAAK;QACnBC,KAAK,EAAET,MAAM,CAACS,KAAK;QACnBC,IAAI,EAAEV,MAAM,CAACU;MACjB,CAAC;MACDC,UAAU,EAAEC;IAChB,CAAC,CAAC;IAEF,OAAO,IAAAC,uDAA4B,EAACV,IAAI,CAAC;EAC7C;AACJ;AAACW,OAAA,CAAAhB,2BAAA,GAAAA,2BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_convertTaskToExportRecord","ExportContentEntriesUseCase","constructor","params","triggerTask","execute","task","name","modelId","input","exportAssets","limit","where","sort","definition","EXPORT_CONTENT_ENTRIES_CONTROLLER_TASK","convertTaskToCmsExportRecord","exports"],"sources":["ExportContentEntriesUseCase.ts"],"sourcesContent":["import type { ICmsImportExportRecord } from \"~/domain\";\nimport type {\n IExportContentEntriesUseCase,\n IExportContentEntriesUseCaseExecuteParams\n} from \"./abstractions/ExportContentEntriesUseCase\";\nimport type {\n IExportContentEntriesControllerInput,\n IExportContentEntriesControllerOutput\n} from \"~/tasks/domain/abstractions/ExportContentEntriesController\";\nimport { EXPORT_CONTENT_ENTRIES_CONTROLLER_TASK } from \"~/tasks/constants\";\nimport { convertTaskToCmsExportRecord } from \"~/crud/utils/convertTaskToExportRecord\";\nimport type { ITasksContextObject } from \"@webiny/tasks\";\n\nexport interface IExportContentEntriesUseCaseParams {\n triggerTask: ITasksContextObject[\"trigger\"];\n}\n\nexport class ExportContentEntriesUseCase implements IExportContentEntriesUseCase {\n private readonly triggerTask: ITasksContextObject[\"trigger\"];\n\n public constructor(params: IExportContentEntriesUseCaseParams) {\n this.triggerTask = params.triggerTask;\n }\n\n public async execute(\n params: IExportContentEntriesUseCaseExecuteParams\n ): Promise<ICmsImportExportRecord> {\n const task = await this.triggerTask<\n IExportContentEntriesControllerInput,\n IExportContentEntriesControllerOutput\n >({\n name: `Export Content Entries and Assets Controller for \"${params.modelId}\"`,\n input: {\n modelId: params.modelId,\n exportAssets: params.exportAssets,\n limit: params.limit,\n where: params.where,\n sort: params.sort\n },\n definition: EXPORT_CONTENT_ENTRIES_CONTROLLER_TASK\n });\n\n return convertTaskToCmsExportRecord(task);\n }\n}\n"],"mappings":";;;;;;AASA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAOO,MAAME,2BAA2B,CAAyC;EAGtEC,WAAWA,CAACC,MAA0C,EAAE;IAC3D,IAAI,CAACC,WAAW,GAAGD,MAAM,CAACC,WAAW;EACzC;EAEA,MAAaC,OAAOA,CAChBF,MAAiD,EAClB;IAC/B,MAAMG,IAAI,GAAG,MAAM,IAAI,CAACF,WAAW,CAGjC;MACEG,IAAI,EAAE,qDAAqDJ,MAAM,CAACK,OAAO,GAAG;MAC5EC,KAAK,EAAE;QACHD,OAAO,EAAEL,MAAM,CAACK,OAAO;QACvBE,YAAY,EAAEP,MAAM,CAACO,YAAY;QACjCC,KAAK,EAAER,MAAM,CAACQ,KAAK;QACnBC,KAAK,EAAET,MAAM,CAACS,KAAK;QACnBC,IAAI,EAAEV,MAAM,CAACU;MACjB,CAAC;MACDC,UAAU,EAAEC;IAChB,CAAC,CAAC;IAEF,OAAO,IAAAC,uDAA4B,EAACV,IAAI,CAAC;EAC7C;AACJ;AAACW,OAAA,CAAAhB,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_tasks","require","_constants","_error","_convertTaskToImportRecord","ImportFromUrlUseCase","constructor","params","updateTask","getTask","triggerTask","execute","integrityTask","id","definitionId","VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK","taskStatus","TaskDataStatus","SUCCESS","WebinyError","message","code","data","status","files","output","error","length","importTaskId","errors","filter","file","importTask","name","definition","IMPORT_FROM_URL_CONTROLLER_TASK","input","modelId","maxInsertErrors","steps","parent","convertTaskToImportRecord","exports"],"sources":["ImportFromUrlUseCase.ts"],"sourcesContent":["import type {\n IImportFromUrlUseCase,\n IImportFromUrlUseCaseExecuteParams,\n IImportFromUrlUseCaseExecuteResponse\n} from \"./abstractions/ImportFromUrlUseCase\";\nimport type { ITasksContextObject } from \"@webiny/tasks\";\nimport { TaskDataStatus } from \"@webiny/tasks\";\nimport {\n IMPORT_FROM_URL_CONTROLLER_TASK,\n VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK\n} from \"~/tasks/constants\";\nimport { WebinyError } from \"@webiny/error\";\nimport type {\n IValidateImportFromUrlInput,\n IValidateImportFromUrlOutput\n} from \"~/tasks/domain/abstractions/ValidateImportFromUrl\";\nimport { convertTaskToImportRecord } from \"~/crud/utils/convertTaskToImportRecord\";\nimport type {\n IImportFromUrlControllerInput,\n IImportFromUrlControllerOutput\n} from \"~/tasks/domain/abstractions/ImportFromUrlController\";\nimport type { NonEmptyArray } from \"@webiny/api/types\";\nimport type {\n ICmsImportExportValidatedAssetsFile,\n ICmsImportExportValidatedContentEntriesFile\n} from \"~/types\";\n\nexport interface IImportFromUrlUseCaseParams {\n updateTask: ITasksContextObject[\"updateTask\"];\n getTask: ITasksContextObject[\"getTask\"];\n triggerTask: ITasksContextObject[\"trigger\"];\n}\n\nexport class ImportFromUrlUseCase implements IImportFromUrlUseCase {\n private readonly updateTask: ITasksContextObject[\"updateTask\"];\n private readonly getTask: ITasksContextObject[\"getTask\"];\n private readonly triggerTask: ITasksContextObject[\"trigger\"];\n\n public constructor(params: IImportFromUrlUseCaseParams) {\n this.updateTask = params.updateTask;\n this.getTask = params.getTask;\n this.triggerTask = params.triggerTask;\n }\n\n public async execute(\n params: IImportFromUrlUseCaseExecuteParams\n ): Promise<IImportFromUrlUseCaseExecuteResponse | null> {\n /**\n * First we need to check if the integrity task exists and that it ran successfully.\n */\n const integrityTask = await this.getTask<\n IValidateImportFromUrlInput,\n IValidateImportFromUrlOutput\n >(params.id);\n if (integrityTask?.definitionId !== VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK) {\n return null;\n } else if (integrityTask.taskStatus !== TaskDataStatus.SUCCESS) {\n throw new WebinyError({\n message: \"Integrity check failed.\",\n code: \"INTEGRITY_CHECK_FAILED\",\n data: {\n status: integrityTask.taskStatus,\n files: integrityTask.output?.files,\n error: integrityTask.output?.error\n }\n });\n } else if (!integrityTask.output?.files?.length) {\n throw new WebinyError({\n message: \"No files found in the provided data.\",\n code: \"NO_FILES_FOUND\"\n });\n } else if (integrityTask.output.importTaskId) {\n throw new WebinyError({\n message: \"Import was already started. You cannot start it again.\",\n code: \"IMPORT_TASK_EXISTS\",\n data: {\n id: integrityTask.output.importTaskId\n }\n });\n }\n const errors = integrityTask.output.files.filter(file => !!file.error);\n if (errors.length) {\n throw new WebinyError({\n message: \"Some files failed validation.\",\n code: \"FILES_FAILED_VALIDATION\",\n data: {\n files: errors\n }\n });\n }\n /**\n * Now we need to check if the actual import task already exists.\n * We don't want to run the import task multiple times.\n */\n const importTask = await this.triggerTask<\n IImportFromUrlControllerInput,\n IImportFromUrlControllerOutput\n >({\n name: `Import from URL`,\n definition: IMPORT_FROM_URL_CONTROLLER_TASK,\n input: {\n modelId: integrityTask.output.modelId,\n files: integrityTask.output.files as NonEmptyArray<\n | ICmsImportExportValidatedContentEntriesFile\n | ICmsImportExportValidatedAssetsFile\n >,\n maxInsertErrors: params.maxInsertErrors,\n steps: {}\n },\n parent: integrityTask\n });\n\n await this.updateTask(integrityTask.id, {\n output: {\n ...integrityTask.output,\n importTaskId: importTask.id\n }\n });\n return convertTaskToImportRecord(importTask);\n }\n}\n"],"mappings":";;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,0BAAA,GAAAH,OAAA;AAiBO,MAAMI,oBAAoB,CAAkC;EAKxDC,WAAWA,CAACC,MAAmC,EAAE;IACpD,IAAI,CAACC,UAAU,GAAGD,MAAM,CAACC,UAAU;IACnC,IAAI,CAACC,OAAO,GAAGF,MAAM,CAACE,OAAO;IAC7B,IAAI,CAACC,WAAW,GAAGH,MAAM,CAACG,WAAW;EACzC;EAEA,MAAaC,OAAOA,CAChBJ,MAA0C,EACU;IACpD;AACR;AACA;IACQ,MAAMK,aAAa,GAAG,MAAM,IAAI,CAACH,OAAO,CAGtCF,MAAM,CAACM,EAAE,CAAC;IACZ,IAAID,aAAa,EAAEE,YAAY,KAAKC,kDAAuC,EAAE;MACzE,OAAO,IAAI;IACf,CAAC,MAAM,IAAIH,aAAa,CAACI,UAAU,KAAKC,qBAAc,CAACC,OAAO,EAAE;MAC5D,MAAM,IAAIC,kBAAW,CAAC;QAClBC,OAAO,EAAE,yBAAyB;QAClCC,IAAI,EAAE,wBAAwB;QAC9BC,IAAI,EAAE;UACFC,MAAM,EAAEX,aAAa,CAACI,UAAU;UAChCQ,KAAK,EAAEZ,aAAa,CAACa,MAAM,EAAED,KAAK;UAClCE,KAAK,EAAEd,aAAa,CAACa,MAAM,EAAEC;QACjC;MACJ,CAAC,CAAC;IACN,CAAC,MAAM,IAAI,CAACd,aAAa,CAACa,MAAM,EAAED,KAAK,EAAEG,MAAM,EAAE;MAC7C,MAAM,IAAIR,kBAAW,CAAC;QAClBC,OAAO,EAAE,sCAAsC;QAC/CC,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,MAAM,IAAIT,aAAa,CAACa,MAAM,CAACG,YAAY,EAAE;MAC1C,MAAM,IAAIT,kBAAW,CAAC;QAClBC,OAAO,EAAE,wDAAwD;QACjEC,IAAI,EAAE,oBAAoB;QAC1BC,IAAI,EAAE;UACFT,EAAE,EAAED,aAAa,CAACa,MAAM,CAACG;QAC7B;MACJ,CAAC,CAAC;IACN;IACA,MAAMC,MAAM,GAAGjB,aAAa,CAACa,MAAM,CAACD,KAAK,CAACM,MAAM,CAACC,IAAI,IAAI,CAAC,CAACA,IAAI,CAACL,KAAK,CAAC;IACtE,IAAIG,MAAM,CAACF,MAAM,EAAE;MACf,MAAM,IAAIR,kBAAW,CAAC;QAClBC,OAAO,EAAE,+BAA+B;QACxCC,IAAI,EAAE,yBAAyB;QAC/BC,IAAI,EAAE;UACFE,KAAK,EAAEK;QACX;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;AACA;IACQ,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACtB,WAAW,CAGvC;MACEuB,IAAI,EAAG,iBAAgB;MACvBC,UAAU,EAAEC,0CAA+B;MAC3CC,KAAK,EAAE;QACHC,OAAO,EAAEzB,aAAa,CAACa,MAAM,CAACY,OAAO;QACrCb,KAAK,EAAEZ,aAAa,CAACa,MAAM,CAACD,KAG3B;QACDc,eAAe,EAAE/B,MAAM,CAAC+B,eAAe;QACvCC,KAAK,EAAE,CAAC;MACZ,CAAC;MACDC,MAAM,EAAE5B;IACZ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACJ,UAAU,CAACI,aAAa,CAACC,EAAE,EAAE;MACpCY,MAAM,EAAE;QACJ,GAAGb,aAAa,CAACa,MAAM;QACvBG,YAAY,EAAEI,UAAU,CAACnB;MAC7B;IACJ,CAAC,CAAC;IACF,OAAO,IAAA4B,oDAAyB,EAACT,UAAU,CAAC;EAChD;AACJ;AAACU,OAAA,CAAArC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_tasks","require","_constants","_error","_convertTaskToImportRecord","ImportFromUrlUseCase","constructor","params","updateTask","getTask","triggerTask","execute","integrityTask","id","definitionId","VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK","taskStatus","TaskDataStatus","SUCCESS","WebinyError","message","code","data","status","files","output","error","length","importTaskId","errors","filter","file","importTask","name","definition","IMPORT_FROM_URL_CONTROLLER_TASK","input","modelId","maxInsertErrors","steps","parent","convertTaskToImportRecord","exports"],"sources":["ImportFromUrlUseCase.ts"],"sourcesContent":["import type {\n IImportFromUrlUseCase,\n IImportFromUrlUseCaseExecuteParams,\n IImportFromUrlUseCaseExecuteResponse\n} from \"./abstractions/ImportFromUrlUseCase\";\nimport type { ITasksContextObject } from \"@webiny/tasks\";\nimport { TaskDataStatus } from \"@webiny/tasks\";\nimport {\n IMPORT_FROM_URL_CONTROLLER_TASK,\n VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK\n} from \"~/tasks/constants\";\nimport { WebinyError } from \"@webiny/error\";\nimport type {\n IValidateImportFromUrlInput,\n IValidateImportFromUrlOutput\n} from \"~/tasks/domain/abstractions/ValidateImportFromUrl\";\nimport { convertTaskToImportRecord } from \"~/crud/utils/convertTaskToImportRecord\";\nimport type {\n IImportFromUrlControllerInput,\n IImportFromUrlControllerOutput\n} from \"~/tasks/domain/abstractions/ImportFromUrlController\";\nimport type { NonEmptyArray } from \"@webiny/api/types\";\nimport type {\n ICmsImportExportValidatedAssetsFile,\n ICmsImportExportValidatedContentEntriesFile\n} from \"~/types\";\n\nexport interface IImportFromUrlUseCaseParams {\n updateTask: ITasksContextObject[\"updateTask\"];\n getTask: ITasksContextObject[\"getTask\"];\n triggerTask: ITasksContextObject[\"trigger\"];\n}\n\nexport class ImportFromUrlUseCase implements IImportFromUrlUseCase {\n private readonly updateTask: ITasksContextObject[\"updateTask\"];\n private readonly getTask: ITasksContextObject[\"getTask\"];\n private readonly triggerTask: ITasksContextObject[\"trigger\"];\n\n public constructor(params: IImportFromUrlUseCaseParams) {\n this.updateTask = params.updateTask;\n this.getTask = params.getTask;\n this.triggerTask = params.triggerTask;\n }\n\n public async execute(\n params: IImportFromUrlUseCaseExecuteParams\n ): Promise<IImportFromUrlUseCaseExecuteResponse | null> {\n /**\n * First we need to check if the integrity task exists and that it ran successfully.\n */\n const integrityTask = await this.getTask<\n IValidateImportFromUrlInput,\n IValidateImportFromUrlOutput\n >(params.id);\n if (integrityTask?.definitionId !== VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK) {\n return null;\n } else if (integrityTask.taskStatus !== TaskDataStatus.SUCCESS) {\n throw new WebinyError({\n message: \"Integrity check failed.\",\n code: \"INTEGRITY_CHECK_FAILED\",\n data: {\n status: integrityTask.taskStatus,\n files: integrityTask.output?.files,\n error: integrityTask.output?.error\n }\n });\n } else if (!integrityTask.output?.files?.length) {\n throw new WebinyError({\n message: \"No files found in the provided data.\",\n code: \"NO_FILES_FOUND\"\n });\n } else if (integrityTask.output.importTaskId) {\n throw new WebinyError({\n message: \"Import was already started. You cannot start it again.\",\n code: \"IMPORT_TASK_EXISTS\",\n data: {\n id: integrityTask.output.importTaskId\n }\n });\n }\n const errors = integrityTask.output.files.filter(file => !!file.error);\n if (errors.length) {\n throw new WebinyError({\n message: \"Some files failed validation.\",\n code: \"FILES_FAILED_VALIDATION\",\n data: {\n files: errors\n }\n });\n }\n /**\n * Now we need to check if the actual import task already exists.\n * We don't want to run the import task multiple times.\n */\n const importTask = await this.triggerTask<\n IImportFromUrlControllerInput,\n IImportFromUrlControllerOutput\n >({\n name: `Import from URL`,\n definition: IMPORT_FROM_URL_CONTROLLER_TASK,\n input: {\n modelId: integrityTask.output.modelId,\n files: integrityTask.output.files as NonEmptyArray<\n | ICmsImportExportValidatedContentEntriesFile\n | ICmsImportExportValidatedAssetsFile\n >,\n maxInsertErrors: params.maxInsertErrors,\n steps: {}\n },\n parent: integrityTask\n });\n\n await this.updateTask(integrityTask.id, {\n output: {\n ...integrityTask.output,\n importTaskId: importTask.id\n }\n });\n return convertTaskToImportRecord(importTask);\n }\n}\n"],"mappings":";;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,0BAAA,GAAAH,OAAA;AAiBO,MAAMI,oBAAoB,CAAkC;EAKxDC,WAAWA,CAACC,MAAmC,EAAE;IACpD,IAAI,CAACC,UAAU,GAAGD,MAAM,CAACC,UAAU;IACnC,IAAI,CAACC,OAAO,GAAGF,MAAM,CAACE,OAAO;IAC7B,IAAI,CAACC,WAAW,GAAGH,MAAM,CAACG,WAAW;EACzC;EAEA,MAAaC,OAAOA,CAChBJ,MAA0C,EACU;IACpD;AACR;AACA;IACQ,MAAMK,aAAa,GAAG,MAAM,IAAI,CAACH,OAAO,CAGtCF,MAAM,CAACM,EAAE,CAAC;IACZ,IAAID,aAAa,EAAEE,YAAY,KAAKC,kDAAuC,EAAE;MACzE,OAAO,IAAI;IACf,CAAC,MAAM,IAAIH,aAAa,CAACI,UAAU,KAAKC,qBAAc,CAACC,OAAO,EAAE;MAC5D,MAAM,IAAIC,kBAAW,CAAC;QAClBC,OAAO,EAAE,yBAAyB;QAClCC,IAAI,EAAE,wBAAwB;QAC9BC,IAAI,EAAE;UACFC,MAAM,EAAEX,aAAa,CAACI,UAAU;UAChCQ,KAAK,EAAEZ,aAAa,CAACa,MAAM,EAAED,KAAK;UAClCE,KAAK,EAAEd,aAAa,CAACa,MAAM,EAAEC;QACjC;MACJ,CAAC,CAAC;IACN,CAAC,MAAM,IAAI,CAACd,aAAa,CAACa,MAAM,EAAED,KAAK,EAAEG,MAAM,EAAE;MAC7C,MAAM,IAAIR,kBAAW,CAAC;QAClBC,OAAO,EAAE,sCAAsC;QAC/CC,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,MAAM,IAAIT,aAAa,CAACa,MAAM,CAACG,YAAY,EAAE;MAC1C,MAAM,IAAIT,kBAAW,CAAC;QAClBC,OAAO,EAAE,wDAAwD;QACjEC,IAAI,EAAE,oBAAoB;QAC1BC,IAAI,EAAE;UACFT,EAAE,EAAED,aAAa,CAACa,MAAM,CAACG;QAC7B;MACJ,CAAC,CAAC;IACN;IACA,MAAMC,MAAM,GAAGjB,aAAa,CAACa,MAAM,CAACD,KAAK,CAACM,MAAM,CAACC,IAAI,IAAI,CAAC,CAACA,IAAI,CAACL,KAAK,CAAC;IACtE,IAAIG,MAAM,CAACF,MAAM,EAAE;MACf,MAAM,IAAIR,kBAAW,CAAC;QAClBC,OAAO,EAAE,+BAA+B;QACxCC,IAAI,EAAE,yBAAyB;QAC/BC,IAAI,EAAE;UACFE,KAAK,EAAEK;QACX;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;AACA;IACQ,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACtB,WAAW,CAGvC;MACEuB,IAAI,EAAE,iBAAiB;MACvBC,UAAU,EAAEC,0CAA+B;MAC3CC,KAAK,EAAE;QACHC,OAAO,EAAEzB,aAAa,CAACa,MAAM,CAACY,OAAO;QACrCb,KAAK,EAAEZ,aAAa,CAACa,MAAM,CAACD,KAG3B;QACDc,eAAe,EAAE/B,MAAM,CAAC+B,eAAe;QACvCC,KAAK,EAAE,CAAC;MACZ,CAAC;MACDC,MAAM,EAAE5B;IACZ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACJ,UAAU,CAACI,aAAa,CAACC,EAAE,EAAE;MACpCY,MAAM,EAAE;QACJ,GAAGb,aAAa,CAACa,MAAM;QACvBG,YAAY,EAAEI,UAAU,CAACnB;MAC7B;IACJ,CAAC,CAAC;IACF,OAAO,IAAA4B,oDAAyB,EAACT,UAAU,CAAC;EAChD;AACJ;AAACU,OAAA,CAAArC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_error","_getImportExportFileType","_parseImportUrlData","_makeSureModelsAreIdentical","ValidateImportFromUrlUseCase","constructor","params","getModel","getModelToAstConverter","execute","data","model","validatedModel","files","parseImportUrlData","length","WebinyError","entries","find","file","type","CmsImportExportFileType","ENTRIES","modelId","ex","code","makeSureModelsAreIdentical","target","reduce","collection","result","getImportExportFileType","head","error","message","pathname","push","exports"],"sources":["ValidateImportFromUrlUseCase.ts"],"sourcesContent":["import type {\n IValidateImportFromUrlUseCase,\n IValidateImportFromUrlUseCaseExecuteParams,\n IValidateImportFromUrlUseCaseExecuteResult\n} from \"./abstractions/ValidateImportFromUrlUseCase\";\nimport { CmsImportExportFileType } from \"~/types\";\nimport type { ICmsImportExportFile } from \"~/types\";\nimport type { NonEmptyArray } from \"@webiny/api/types\";\nimport { WebinyError } from \"@webiny/error\";\nimport { getImportExportFileType } from \"~/tasks/utils/helpers/getImportExportFileType\";\nimport { parseImportUrlData } from \"~/crud/utils/parseImportUrlData\";\nimport type { CmsModel, HeadlessCms } from \"@webiny/api-headless-cms/types\";\nimport { makeSureModelsAreIdentical } from \"~/crud/utils/makeSureModelsAreIdentical\";\n\nexport interface IValidateImportFromUrlUseCaseParams {\n getModel: HeadlessCms[\"getModel\"];\n getModelToAstConverter: HeadlessCms[\"getModelToAstConverter\"];\n}\n\nexport class ValidateImportFromUrlUseCase implements IValidateImportFromUrlUseCase {\n private readonly getModel: HeadlessCms[\"getModel\"];\n private readonly getModelToAstConverter: HeadlessCms[\"getModelToAstConverter\"];\n\n public constructor(params: IValidateImportFromUrlUseCaseParams) {\n this.getModel = params.getModel;\n this.getModelToAstConverter = params.getModelToAstConverter;\n }\n\n public async execute(\n params: IValidateImportFromUrlUseCaseExecuteParams\n ): Promise<IValidateImportFromUrlUseCaseExecuteResult> {\n const { data } = params;\n\n const { model: validatedModel, files } = parseImportUrlData(data);\n /**\n * There must be at least one file in the data.\n */\n if (files.length === 0) {\n throw new WebinyError(\"No files found in the provided data.\", \"NO_FILES_FOUND\");\n }\n /**\n * Next step of the validation is to verify that, at least, one entries type file exists in the data.\n */\n const entries = files.find(file => {\n return file.type === CmsImportExportFileType.ENTRIES;\n });\n if (!entries) {\n throw new WebinyError(\"No entries file found in the provided data.\", \"NO_ENTRIES_FILE\");\n }\n\n let model: CmsModel;\n try {\n model = await this.getModel(validatedModel.modelId);\n } catch (ex) {\n if (ex.code !== \"NOT_FOUND\") {\n throw ex;\n }\n throw new WebinyError(\n `Model provided in the JSON data, \"${validatedModel.modelId}\", not found.`,\n \"MODEL_NOT_FOUND\",\n {\n modelId: validatedModel.modelId\n }\n );\n }\n\n makeSureModelsAreIdentical({\n getModelToAstConverter: this.getModelToAstConverter,\n model,\n target: validatedModel\n });\n\n return {\n model,\n files: files.reduce((collection, file) => {\n const result = getImportExportFileType(file.head);\n if (result.error) {\n file.error = {\n message: \"File type not supported.\",\n code: \"FILE_TYPE_NOT_SUPPORTED\",\n data: {\n type: result.type,\n pathname: result.pathname\n }\n };\n collection.push(file);\n return collection;\n }\n\n collection.push(file);\n return collection;\n }, [] as unknown as NonEmptyArray<ICmsImportExportFile>)\n };\n }\n}\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAEA,IAAAI,2BAAA,GAAAJ,OAAA;AAOO,MAAMK,4BAA4B,CAA0C;EAIxEC,WAAWA,CAACC,MAA2C,EAAE;IAC5D,IAAI,CAACC,QAAQ,GAAGD,MAAM,CAACC,QAAQ;IAC/B,IAAI,CAACC,sBAAsB,GAAGF,MAAM,CAACE,sBAAsB;EAC/D;EAEA,MAAaC,OAAOA,CAChBH,MAAkD,EACC;IACnD,MAAM;MAAEI;IAAK,CAAC,GAAGJ,MAAM;IAEvB,MAAM;MAAEK,KAAK,EAAEC,cAAc;MAAEC;IAAM,CAAC,GAAG,IAAAC,sCAAkB,EAACJ,IAAI,CAAC;IACjE;AACR;AACA;IACQ,IAAIG,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE;MACpB,MAAM,IAAIC,kBAAW,CAAC,sCAAsC,EAAE,gBAAgB,CAAC;IACnF;IACA;AACR;AACA;IACQ,MAAMC,OAAO,GAAGJ,KAAK,CAACK,IAAI,CAACC,IAAI,IAAI;MAC/B,OAAOA,IAAI,CAACC,IAAI,KAAKC,8BAAuB,CAACC,OAAO;IACxD,CAAC,CAAC;IACF,IAAI,CAACL,OAAO,EAAE;MACV,MAAM,IAAID,kBAAW,CAAC,6CAA6C,EAAE,iBAAiB,CAAC;IAC3F;IAEA,IAAIL,KAAe;IACnB,IAAI;MACAA,KAAK,GAAG,MAAM,IAAI,CAACJ,QAAQ,CAACK,cAAc,CAACW,OAAO,CAAC;IACvD,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,IAAIA,EAAE,CAACC,IAAI,KAAK,WAAW,EAAE;QACzB,MAAMD,EAAE;MACZ;MACA,MAAM,IAAIR,kBAAW,CAChB,qCAAoCJ,cAAc,CAACW,OAAQ,eAAc,EAC1E,iBAAiB,EACjB;QACIA,OAAO,EAAEX,cAAc,CAACW;MAC5B,CACJ,CAAC;IACL;IAEA,IAAAG,sDAA0B,EAAC;MACvBlB,sBAAsB,EAAE,IAAI,CAACA,sBAAsB;MACnDG,KAAK;MACLgB,MAAM,EAAEf;IACZ,CAAC,CAAC;IAEF,OAAO;MACHD,KAAK;MACLE,KAAK,EAAEA,KAAK,CAACe,MAAM,CAAC,CAACC,UAAU,EAAEV,IAAI,KAAK;QACtC,MAAMW,MAAM,GAAG,IAAAC,gDAAuB,EAACZ,IAAI,CAACa,IAAI,CAAC;QACjD,IAAIF,MAAM,CAACG,KAAK,EAAE;UACdd,IAAI,CAACc,KAAK,GAAG;YACTC,OAAO,EAAE,0BAA0B;YACnCT,IAAI,EAAE,yBAAyB;YAC/Bf,IAAI,EAAE;cACFU,IAAI,EAAEU,MAAM,CAACV,IAAI;cACjBe,QAAQ,EAAEL,MAAM,CAACK;YACrB;UACJ,CAAC;UACDN,UAAU,CAACO,IAAI,CAACjB,IAAI,CAAC;UACrB,OAAOU,UAAU;QACrB;QAEAA,UAAU,CAACO,IAAI,CAACjB,IAAI,CAAC;QACrB,OAAOU,UAAU;MACrB,CAAC,EAAE,EAAoD;IAC3D,CAAC;EACL;AACJ;AAACQ,OAAA,CAAAjC,4BAAA,GAAAA,4BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_error","_getImportExportFileType","_parseImportUrlData","_makeSureModelsAreIdentical","ValidateImportFromUrlUseCase","constructor","params","getModel","getModelToAstConverter","execute","data","model","validatedModel","files","parseImportUrlData","length","WebinyError","entries","find","file","type","CmsImportExportFileType","ENTRIES","modelId","ex","code","makeSureModelsAreIdentical","target","reduce","collection","result","getImportExportFileType","head","error","message","pathname","push","exports"],"sources":["ValidateImportFromUrlUseCase.ts"],"sourcesContent":["import type {\n IValidateImportFromUrlUseCase,\n IValidateImportFromUrlUseCaseExecuteParams,\n IValidateImportFromUrlUseCaseExecuteResult\n} from \"./abstractions/ValidateImportFromUrlUseCase\";\nimport { CmsImportExportFileType } from \"~/types\";\nimport type { ICmsImportExportFile } from \"~/types\";\nimport type { NonEmptyArray } from \"@webiny/api/types\";\nimport { WebinyError } from \"@webiny/error\";\nimport { getImportExportFileType } from \"~/tasks/utils/helpers/getImportExportFileType\";\nimport { parseImportUrlData } from \"~/crud/utils/parseImportUrlData\";\nimport type { CmsModel, HeadlessCms } from \"@webiny/api-headless-cms/types\";\nimport { makeSureModelsAreIdentical } from \"~/crud/utils/makeSureModelsAreIdentical\";\n\nexport interface IValidateImportFromUrlUseCaseParams {\n getModel: HeadlessCms[\"getModel\"];\n getModelToAstConverter: HeadlessCms[\"getModelToAstConverter\"];\n}\n\nexport class ValidateImportFromUrlUseCase implements IValidateImportFromUrlUseCase {\n private readonly getModel: HeadlessCms[\"getModel\"];\n private readonly getModelToAstConverter: HeadlessCms[\"getModelToAstConverter\"];\n\n public constructor(params: IValidateImportFromUrlUseCaseParams) {\n this.getModel = params.getModel;\n this.getModelToAstConverter = params.getModelToAstConverter;\n }\n\n public async execute(\n params: IValidateImportFromUrlUseCaseExecuteParams\n ): Promise<IValidateImportFromUrlUseCaseExecuteResult> {\n const { data } = params;\n\n const { model: validatedModel, files } = parseImportUrlData(data);\n /**\n * There must be at least one file in the data.\n */\n if (files.length === 0) {\n throw new WebinyError(\"No files found in the provided data.\", \"NO_FILES_FOUND\");\n }\n /**\n * Next step of the validation is to verify that, at least, one entries type file exists in the data.\n */\n const entries = files.find(file => {\n return file.type === CmsImportExportFileType.ENTRIES;\n });\n if (!entries) {\n throw new WebinyError(\"No entries file found in the provided data.\", \"NO_ENTRIES_FILE\");\n }\n\n let model: CmsModel;\n try {\n model = await this.getModel(validatedModel.modelId);\n } catch (ex) {\n if (ex.code !== \"NOT_FOUND\") {\n throw ex;\n }\n throw new WebinyError(\n `Model provided in the JSON data, \"${validatedModel.modelId}\", not found.`,\n \"MODEL_NOT_FOUND\",\n {\n modelId: validatedModel.modelId\n }\n );\n }\n\n makeSureModelsAreIdentical({\n getModelToAstConverter: this.getModelToAstConverter,\n model,\n target: validatedModel\n });\n\n return {\n model,\n files: files.reduce((collection, file) => {\n const result = getImportExportFileType(file.head);\n if (result.error) {\n file.error = {\n message: \"File type not supported.\",\n code: \"FILE_TYPE_NOT_SUPPORTED\",\n data: {\n type: result.type,\n pathname: result.pathname\n }\n };\n collection.push(file);\n return collection;\n }\n\n collection.push(file);\n return collection;\n }, [] as unknown as NonEmptyArray<ICmsImportExportFile>)\n };\n }\n}\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAEA,IAAAI,2BAAA,GAAAJ,OAAA;AAOO,MAAMK,4BAA4B,CAA0C;EAIxEC,WAAWA,CAACC,MAA2C,EAAE;IAC5D,IAAI,CAACC,QAAQ,GAAGD,MAAM,CAACC,QAAQ;IAC/B,IAAI,CAACC,sBAAsB,GAAGF,MAAM,CAACE,sBAAsB;EAC/D;EAEA,MAAaC,OAAOA,CAChBH,MAAkD,EACC;IACnD,MAAM;MAAEI;IAAK,CAAC,GAAGJ,MAAM;IAEvB,MAAM;MAAEK,KAAK,EAAEC,cAAc;MAAEC;IAAM,CAAC,GAAG,IAAAC,sCAAkB,EAACJ,IAAI,CAAC;IACjE;AACR;AACA;IACQ,IAAIG,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE;MACpB,MAAM,IAAIC,kBAAW,CAAC,sCAAsC,EAAE,gBAAgB,CAAC;IACnF;IACA;AACR;AACA;IACQ,MAAMC,OAAO,GAAGJ,KAAK,CAACK,IAAI,CAACC,IAAI,IAAI;MAC/B,OAAOA,IAAI,CAACC,IAAI,KAAKC,8BAAuB,CAACC,OAAO;IACxD,CAAC,CAAC;IACF,IAAI,CAACL,OAAO,EAAE;MACV,MAAM,IAAID,kBAAW,CAAC,6CAA6C,EAAE,iBAAiB,CAAC;IAC3F;IAEA,IAAIL,KAAe;IACnB,IAAI;MACAA,KAAK,GAAG,MAAM,IAAI,CAACJ,QAAQ,CAACK,cAAc,CAACW,OAAO,CAAC;IACvD,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,IAAIA,EAAE,CAACC,IAAI,KAAK,WAAW,EAAE;QACzB,MAAMD,EAAE;MACZ;MACA,MAAM,IAAIR,kBAAW,CACjB,qCAAqCJ,cAAc,CAACW,OAAO,eAAe,EAC1E,iBAAiB,EACjB;QACIA,OAAO,EAAEX,cAAc,CAACW;MAC5B,CACJ,CAAC;IACL;IAEA,IAAAG,sDAA0B,EAAC;MACvBlB,sBAAsB,EAAE,IAAI,CAACA,sBAAsB;MACnDG,KAAK;MACLgB,MAAM,EAAEf;IACZ,CAAC,CAAC;IAEF,OAAO;MACHD,KAAK;MACLE,KAAK,EAAEA,KAAK,CAACe,MAAM,CAAC,CAACC,UAAU,EAAEV,IAAI,KAAK;QACtC,MAAMW,MAAM,GAAG,IAAAC,gDAAuB,EAACZ,IAAI,CAACa,IAAI,CAAC;QACjD,IAAIF,MAAM,CAACG,KAAK,EAAE;UACdd,IAAI,CAACc,KAAK,GAAG;YACTC,OAAO,EAAE,0BAA0B;YACnCT,IAAI,EAAE,yBAAyB;YAC/Bf,IAAI,EAAE;cACFU,IAAI,EAAEU,MAAM,CAACV,IAAI;cACjBe,QAAQ,EAAEL,MAAM,CAACK;YACrB;UACJ,CAAC;UACDN,UAAU,CAACO,IAAI,CAACjB,IAAI,CAAC;UACrB,OAAOU,UAAU;QACrB;QAEAA,UAAU,CAACO,IAAI,CAACjB,IAAI,CAAC;QACrB,OAAOU,UAAU;MACrB,CAAC,EAAE,EAAoD;IAC3D,CAAC;EACL;AACJ;AAACQ,OAAA,CAAAjC,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","ValidateImportFromUrlIntegrityUseCase","constructor","params","triggerTask","execute","files","model","task","name","definition","VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK","input","id","status","taskStatus","exports"],"sources":["ValidateImportFromUrlIntegrityUseCase.ts"],"sourcesContent":["import type {\n IValidateImportFromUrlIntegrityUseCase,\n IValidateImportFromUrlIntegrityUseCaseExecuteParams,\n IValidateImportFromUrlIntegrityUseCaseExecuteResult\n} from \"./abstractions/ValidateImportFromUrlIntegrityUseCase\";\nimport type { ITasksContextObject } from \"@webiny/tasks\";\nimport { VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK } from \"~/tasks/constants\";\nimport type { IValidateImportFromUrlInput } from \"~/tasks/domain/abstractions/ValidateImportFromUrl\";\n\nexport interface IValidateImportFromUrlIntegrityUseCaseParams {\n triggerTask: ITasksContextObject[\"trigger\"];\n}\n\nexport class ValidateImportFromUrlIntegrityUseCase\n implements IValidateImportFromUrlIntegrityUseCase\n{\n private readonly triggerTask: ITasksContextObject[\"trigger\"];\n\n public constructor(params: IValidateImportFromUrlIntegrityUseCaseParams) {\n this.triggerTask = params.triggerTask;\n }\n\n public async execute(\n params: IValidateImportFromUrlIntegrityUseCaseExecuteParams\n ): Promise<IValidateImportFromUrlIntegrityUseCaseExecuteResult> {\n const { files, model } = params;\n\n const task = await this.triggerTask<IValidateImportFromUrlInput>({\n name: `Validate Import from URL Integrity`,\n definition: VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK,\n input: {\n model,\n files\n }\n });\n\n return {\n id: task.id,\n status: task.taskStatus\n };\n }\n}\n"],"mappings":";;;;;;AAMA,IAAAA,UAAA,GAAAC,OAAA;AAOO,MAAMC,qCAAqC,CAElD;EAGWC,WAAWA,CAACC,MAAoD,EAAE;IACrE,IAAI,CAACC,WAAW,GAAGD,MAAM,CAACC,WAAW;EACzC;EAEA,MAAaC,OAAOA,CAChBF,MAA2D,EACC;IAC5D,MAAM;MAAEG,KAAK;MAAEC;IAAM,CAAC,GAAGJ,MAAM;IAE/B,MAAMK,IAAI,GAAG,MAAM,IAAI,CAACJ,WAAW,CAA8B;MAC7DK,IAAI,EAAG,oCAAmC;MAC1CC,UAAU,EAAEC,kDAAuC;MACnDC,KAAK,EAAE;QACHL,KAAK;QACLD;MACJ;IACJ,CAAC,CAAC;IAEF,OAAO;MACHO,EAAE,EAAEL,IAAI,CAACK,EAAE;MACXC,MAAM,EAAEN,IAAI,CAACO;IACjB,CAAC;EACL;AACJ;AAACC,OAAA,CAAAf,qCAAA,GAAAA,qCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","ValidateImportFromUrlIntegrityUseCase","constructor","params","triggerTask","execute","files","model","task","name","definition","VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK","input","id","status","taskStatus","exports"],"sources":["ValidateImportFromUrlIntegrityUseCase.ts"],"sourcesContent":["import type {\n IValidateImportFromUrlIntegrityUseCase,\n IValidateImportFromUrlIntegrityUseCaseExecuteParams,\n IValidateImportFromUrlIntegrityUseCaseExecuteResult\n} from \"./abstractions/ValidateImportFromUrlIntegrityUseCase\";\nimport type { ITasksContextObject } from \"@webiny/tasks\";\nimport { VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK } from \"~/tasks/constants\";\nimport type { IValidateImportFromUrlInput } from \"~/tasks/domain/abstractions/ValidateImportFromUrl\";\n\nexport interface IValidateImportFromUrlIntegrityUseCaseParams {\n triggerTask: ITasksContextObject[\"trigger\"];\n}\n\nexport class ValidateImportFromUrlIntegrityUseCase\n implements IValidateImportFromUrlIntegrityUseCase\n{\n private readonly triggerTask: ITasksContextObject[\"trigger\"];\n\n public constructor(params: IValidateImportFromUrlIntegrityUseCaseParams) {\n this.triggerTask = params.triggerTask;\n }\n\n public async execute(\n params: IValidateImportFromUrlIntegrityUseCaseExecuteParams\n ): Promise<IValidateImportFromUrlIntegrityUseCaseExecuteResult> {\n const { files, model } = params;\n\n const task = await this.triggerTask<IValidateImportFromUrlInput>({\n name: `Validate Import from URL Integrity`,\n definition: VALIDATE_IMPORT_FROM_URL_INTEGRITY_TASK,\n input: {\n model,\n files\n }\n });\n\n return {\n id: task.id,\n status: task.taskStatus\n };\n }\n}\n"],"mappings":";;;;;;AAMA,IAAAA,UAAA,GAAAC,OAAA;AAOO,MAAMC,qCAAqC,CAElD;EAGWC,WAAWA,CAACC,MAAoD,EAAE;IACrE,IAAI,CAACC,WAAW,GAAGD,MAAM,CAACC,WAAW;EACzC;EAEA,MAAaC,OAAOA,CAChBF,MAA2D,EACC;IAC5D,MAAM;MAAEG,KAAK;MAAEC;IAAM,CAAC,GAAGJ,MAAM;IAE/B,MAAMK,IAAI,GAAG,MAAM,IAAI,CAACJ,WAAW,CAA8B;MAC7DK,IAAI,EAAE,oCAAoC;MAC1CC,UAAU,EAAEC,kDAAuC;MACnDC,KAAK,EAAE;QACHL,KAAK;QACLD;MACJ;IACJ,CAAC,CAAC;IAEF,OAAO;MACHO,EAAE,EAAEL,IAAI,CAACK,EAAE;MACXC,MAAM,EAAEN,IAAI,CAACO;IACjB,CAAC;EACL;AACJ;AAACC,OAAA,CAAAf,qCAAA,GAAAA,qCAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","_error","getModelValues","ast","traverser","ModelFieldTraverser","results","traverse","field","path","ref","settings","models","map","m","modelId","sort","join","key","type","multipleValues","push","makeSureModelsAreIdentical","params","getModelToAstConverter","model","target","converter","modelAst","toAst","targetAst","modelValues","targetValues","value","some","v","WebinyError","message","fieldId","code","data","exports"],"sources":["makeSureModelsAreIdentical.ts"],"sourcesContent":["import type {\n CmsModel,\n CmsModelAst,\n CmsModelField,\n HeadlessCms\n} from \"@webiny/api-headless-cms/types\";\nimport type { IExportedCmsModel } from \"~/tasks/domain/abstractions/ExportContentEntriesController\";\nimport { ModelFieldTraverser } from \"@webiny/api-headless-cms/utils\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport interface IMakeSureModelsAreIdenticalParams {\n getModelToAstConverter: HeadlessCms[\"getModelToAstConverter\"];\n model: CmsModel;\n target: IExportedCmsModel;\n}\n\ninterface IResult {\n key: string;\n path: string;\n field: CmsModelField;\n}\n\nconst getModelValues = (ast: CmsModelAst): IResult[] => {\n const traverser = new ModelFieldTraverser();\n\n const results: IResult[] = [];\n\n traverser.traverse(ast, ({ field, path }) => {\n const ref = field.settings?.models\n ? `#R#${field.settings.models\n .map(m => m.modelId)\n .sort()\n .join(\",\")}`\n : \"\";\n\n const key = `${field.type}@${path.join(\".\")}#${field.multipleValues ? \"m\" : \"s\"}${ref}`;\n results.push({\n key,\n field,\n path: path.join(\".\")\n });\n });\n\n return results;\n};\n\nexport const makeSureModelsAreIdentical = (params: IMakeSureModelsAreIdenticalParams): void => {\n const { getModelToAstConverter, model, target } = params;\n\n const converter = getModelToAstConverter();\n\n const modelAst = converter.toAst(model);\n const targetAst = converter.toAst(target);\n\n const modelValues = getModelValues(modelAst);\n const targetValues = getModelValues(targetAst);\n /**\n * First we will go through the model from the database.\n * Then we will go through the exported model and check against the model from the database.\n */\n for (const value of modelValues) {\n if (targetValues.some(v => v.key === value.key)) {\n continue;\n }\n throw new WebinyError({\n message: `Field \"${value.field.fieldId}\" not found in the model provided via the JSON data.`,\n code: \"MODEL_FIELD_NOT_FOUND\",\n data: {\n field: value,\n targetValues,\n modelValues\n }\n });\n }\n for (const value of targetValues) {\n if (modelValues.some(v => v.key === value.key)) {\n continue;\n }\n throw new WebinyError({\n message: `Field \"${value.field.fieldId}\" not found in the model from the database.`,\n code: \"MODEL_FIELD_NOT_FOUND\",\n data: {\n ...value\n }\n });\n }\n};\n"],"mappings":";;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAcA,MAAME,cAAc,GAAIC,GAAgB,IAAgB;EACpD,MAAMC,SAAS,GAAG,IAAIC,0BAAmB,CAAC,CAAC;EAE3C,MAAMC,OAAkB,GAAG,EAAE;EAE7BF,SAAS,CAACG,QAAQ,CAACJ,GAAG,EAAE,CAAC;IAAEK,KAAK;IAAEC;EAAK,CAAC,KAAK;IACzC,MAAMC,GAAG,GAAGF,KAAK,CAACG,QAAQ,EAAEC,MAAM,GAC3B,MAAKJ,KAAK,CAACG,QAAQ,CAACC,MAAM,CACtBC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,CAAC,CACnBC,IAAI,CAAC,CAAC,CACNC,IAAI,CAAC,GAAG,CAAE,EAAC,GAChB,EAAE;IAER,MAAMC,GAAG,GAAI,GAAEV,KAAK,CAACW,IAAK,IAAGV,IAAI,CAACQ,IAAI,CAAC,GAAG,CAAE,IAAGT,KAAK,CAACY,cAAc,GAAG,GAAG,GAAG,GAAI,GAAEV,GAAI,EAAC;IACvFJ,OAAO,CAACe,IAAI,CAAC;MACTH,GAAG;MACHV,KAAK;MACLC,IAAI,EAAEA,IAAI,CAACQ,IAAI,CAAC,GAAG;IACvB,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAOX,OAAO;AAClB,CAAC;AAEM,MAAMgB,0BAA0B,GAAIC,MAAyC,IAAW;EAC3F,MAAM;IAAEC,sBAAsB;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAExD,MAAMI,SAAS,GAAGH,sBAAsB,CAAC,CAAC;EAE1C,MAAMI,QAAQ,GAAGD,SAAS,CAACE,KAAK,CAACJ,KAAK,CAAC;EACvC,MAAMK,SAAS,GAAGH,SAAS,CAACE,KAAK,CAACH,MAAM,CAAC;EAEzC,MAAMK,WAAW,GAAG7B,cAAc,CAAC0B,QAAQ,CAAC;EAC5C,MAAMI,YAAY,GAAG9B,cAAc,CAAC4B,SAAS,CAAC;EAC9C;AACJ;AACA;AACA;EACI,KAAK,MAAMG,KAAK,IAAIF,WAAW,EAAE;IAC7B,IAAIC,YAAY,CAACE,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjB,GAAG,KAAKe,KAAK,CAACf,GAAG,CAAC,EAAE;MAC7C;IACJ;IACA,MAAM,IAAIkB,kBAAW,CAAC;MAClBC,OAAO,EAAG,UAASJ,KAAK,CAACzB,KAAK,CAAC8B,OAAQ,sDAAqD;MAC5FC,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE;QACFhC,KAAK,EAAEyB,KAAK;QACZD,YAAY;QACZD;MACJ;IACJ,CAAC,CAAC;EACN;EACA,KAAK,MAAME,KAAK,IAAID,YAAY,EAAE;IAC9B,IAAID,WAAW,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjB,GAAG,KAAKe,KAAK,CAACf,GAAG,CAAC,EAAE;MAC5C;IACJ;IACA,MAAM,IAAIkB,kBAAW,CAAC;MAClBC,OAAO,EAAG,UAASJ,KAAK,CAACzB,KAAK,CAAC8B,OAAQ,6CAA4C;MACnFC,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE;QACF,GAAGP;MACP;IACJ,CAAC,CAAC;EACN;AACJ,CAAC;AAACQ,OAAA,CAAAnB,0BAAA,GAAAA,0BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","_error","getModelValues","ast","traverser","ModelFieldTraverser","results","traverse","field","path","ref","settings","models","map","m","modelId","sort","join","key","type","multipleValues","push","makeSureModelsAreIdentical","params","getModelToAstConverter","model","target","converter","modelAst","toAst","targetAst","modelValues","targetValues","value","some","v","WebinyError","message","fieldId","code","data","exports"],"sources":["makeSureModelsAreIdentical.ts"],"sourcesContent":["import type {\n CmsModel,\n CmsModelAst,\n CmsModelField,\n HeadlessCms\n} from \"@webiny/api-headless-cms/types\";\nimport type { IExportedCmsModel } from \"~/tasks/domain/abstractions/ExportContentEntriesController\";\nimport { ModelFieldTraverser } from \"@webiny/api-headless-cms/utils\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport interface IMakeSureModelsAreIdenticalParams {\n getModelToAstConverter: HeadlessCms[\"getModelToAstConverter\"];\n model: CmsModel;\n target: IExportedCmsModel;\n}\n\ninterface IResult {\n key: string;\n path: string;\n field: CmsModelField;\n}\n\nconst getModelValues = (ast: CmsModelAst): IResult[] => {\n const traverser = new ModelFieldTraverser();\n\n const results: IResult[] = [];\n\n traverser.traverse(ast, ({ field, path }) => {\n const ref = field.settings?.models\n ? `#R#${field.settings.models\n .map(m => m.modelId)\n .sort()\n .join(\",\")}`\n : \"\";\n\n const key = `${field.type}@${path.join(\".\")}#${field.multipleValues ? \"m\" : \"s\"}${ref}`;\n results.push({\n key,\n field,\n path: path.join(\".\")\n });\n });\n\n return results;\n};\n\nexport const makeSureModelsAreIdentical = (params: IMakeSureModelsAreIdenticalParams): void => {\n const { getModelToAstConverter, model, target } = params;\n\n const converter = getModelToAstConverter();\n\n const modelAst = converter.toAst(model);\n const targetAst = converter.toAst(target);\n\n const modelValues = getModelValues(modelAst);\n const targetValues = getModelValues(targetAst);\n /**\n * First we will go through the model from the database.\n * Then we will go through the exported model and check against the model from the database.\n */\n for (const value of modelValues) {\n if (targetValues.some(v => v.key === value.key)) {\n continue;\n }\n throw new WebinyError({\n message: `Field \"${value.field.fieldId}\" not found in the model provided via the JSON data.`,\n code: \"MODEL_FIELD_NOT_FOUND\",\n data: {\n field: value,\n targetValues,\n modelValues\n }\n });\n }\n for (const value of targetValues) {\n if (modelValues.some(v => v.key === value.key)) {\n continue;\n }\n throw new WebinyError({\n message: `Field \"${value.field.fieldId}\" not found in the model from the database.`,\n code: \"MODEL_FIELD_NOT_FOUND\",\n data: {\n ...value\n }\n });\n }\n};\n"],"mappings":";;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAcA,MAAME,cAAc,GAAIC,GAAgB,IAAgB;EACpD,MAAMC,SAAS,GAAG,IAAIC,0BAAmB,CAAC,CAAC;EAE3C,MAAMC,OAAkB,GAAG,EAAE;EAE7BF,SAAS,CAACG,QAAQ,CAACJ,GAAG,EAAE,CAAC;IAAEK,KAAK;IAAEC;EAAK,CAAC,KAAK;IACzC,MAAMC,GAAG,GAAGF,KAAK,CAACG,QAAQ,EAAEC,MAAM,GAC5B,MAAMJ,KAAK,CAACG,QAAQ,CAACC,MAAM,CACtBC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,CAAC,CACnBC,IAAI,CAAC,CAAC,CACNC,IAAI,CAAC,GAAG,CAAC,EAAE,GAChB,EAAE;IAER,MAAMC,GAAG,GAAG,GAAGV,KAAK,CAACW,IAAI,IAAIV,IAAI,CAACQ,IAAI,CAAC,GAAG,CAAC,IAAIT,KAAK,CAACY,cAAc,GAAG,GAAG,GAAG,GAAG,GAAGV,GAAG,EAAE;IACvFJ,OAAO,CAACe,IAAI,CAAC;MACTH,GAAG;MACHV,KAAK;MACLC,IAAI,EAAEA,IAAI,CAACQ,IAAI,CAAC,GAAG;IACvB,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAOX,OAAO;AAClB,CAAC;AAEM,MAAMgB,0BAA0B,GAAIC,MAAyC,IAAW;EAC3F,MAAM;IAAEC,sBAAsB;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAExD,MAAMI,SAAS,GAAGH,sBAAsB,CAAC,CAAC;EAE1C,MAAMI,QAAQ,GAAGD,SAAS,CAACE,KAAK,CAACJ,KAAK,CAAC;EACvC,MAAMK,SAAS,GAAGH,SAAS,CAACE,KAAK,CAACH,MAAM,CAAC;EAEzC,MAAMK,WAAW,GAAG7B,cAAc,CAAC0B,QAAQ,CAAC;EAC5C,MAAMI,YAAY,GAAG9B,cAAc,CAAC4B,SAAS,CAAC;EAC9C;AACJ;AACA;AACA;EACI,KAAK,MAAMG,KAAK,IAAIF,WAAW,EAAE;IAC7B,IAAIC,YAAY,CAACE,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjB,GAAG,KAAKe,KAAK,CAACf,GAAG,CAAC,EAAE;MAC7C;IACJ;IACA,MAAM,IAAIkB,kBAAW,CAAC;MAClBC,OAAO,EAAE,UAAUJ,KAAK,CAACzB,KAAK,CAAC8B,OAAO,sDAAsD;MAC5FC,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE;QACFhC,KAAK,EAAEyB,KAAK;QACZD,YAAY;QACZD;MACJ;IACJ,CAAC,CAAC;EACN;EACA,KAAK,MAAME,KAAK,IAAID,YAAY,EAAE;IAC9B,IAAID,WAAW,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjB,GAAG,KAAKe,KAAK,CAACf,GAAG,CAAC,EAAE;MAC5C;IACJ;IACA,MAAM,IAAIkB,kBAAW,CAAC;MAClBC,OAAO,EAAE,UAAUJ,KAAK,CAACzB,KAAK,CAAC8B,OAAO,6CAA6C;MACnFC,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE;QACF,GAAGP;MACP;IACJ,CAAC,CAAC;EACN;AACJ,CAAC;AAACQ,OAAA,CAAAnB,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","_handlerGraphql","_zod","_interopRequireDefault","_security","validateAbortExportContentEntries","zod","object","id","string","validateGetExportContentEntries","validateListExportContentEntries","limit","number","optional","default","after","validateImportFromUrl","data","or","passthrough","getValidateImportFromUrl","getImportFromUrl","importFromUrlValidation","maxInsertErrors","overwrite","boolean","abortImportFromUrl","validateExportContentEntriesInput","exportAssets","where","sort","array","createExportContentEntries","models","reduce","resolvers","model","pluralApiName","_","input","context","resolve","checkPermissions","result","safeParse","success","createZodError","error","cmsImportExport","exportContentEntries","modelId","undefined","createResolvers","Query","getExportContentEntries","listExportContentEntries","resolveList","Mutation","abortExportContentEntries","importFromUrl","exports"],"sources":["resolvers.ts"],"sourcesContent":["import type { Context } from \"~/types\";\nimport { createZodError } from \"@webiny/utils\";\nimport { resolve, resolveList } from \"@webiny/handler-graphql\";\nimport zod from \"zod\";\nimport type { GenericRecord, NonEmptyArray } from \"@webiny/api/types\";\nimport { CmsEntryListSort, CmsEntryListWhere, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { checkPermissions } from \"./security\";\n\nconst validateAbortExportContentEntries = zod.object({\n id: zod.string()\n});\n\nconst validateGetExportContentEntries = zod.object({\n id: zod.string()\n});\n\nconst validateListExportContentEntries = zod.object({\n limit: zod.number().optional().default(50),\n after: zod.string().optional()\n});\n\nconst validateImportFromUrl = zod.object({\n data: zod.string().or(zod.object({}).passthrough())\n});\n\nconst getValidateImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst getImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst importFromUrlValidation = zod.object({\n id: zod.string(),\n maxInsertErrors: zod.number().optional().default(100),\n overwrite: zod.boolean().optional().default(false)\n});\n\nconst abortImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst validateExportContentEntriesInput = zod.object({\n exportAssets: zod.boolean().optional().default(false),\n limit: zod.number().optional(),\n where: zod.object({}).passthrough().optional().default({}),\n sort: zod.array(zod.string()).optional()\n});\n/**\n * Create export resolver for each of the models given.\n */\nconst createExportContentEntries = (models: NonEmptyArray<CmsModel>) => {\n return models.reduce<GenericRecord<string>>((resolvers, model) => {\n resolvers[`export${model.pluralApiName}ContentEntries`] = async (\n _: unknown,\n input: unknown,\n context: Context\n ) => {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateExportContentEntriesInput.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.exportContentEntries({\n ...result.data,\n modelId: model.modelId,\n sort: result.data.sort ? (result.data.sort as CmsEntryListSort) : undefined,\n where: result.data.where ? (result.data.where as CmsEntryListWhere) : undefined\n });\n });\n };\n return resolvers;\n }, {});\n};\n\nexport const createResolvers = (models: NonEmptyArray<CmsModel>) => {\n return {\n Query: {\n async getExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateGetExportContentEntries.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getExportContentEntries(result.data);\n });\n },\n async listExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolveList(async () => {\n await checkPermissions(context);\n\n const result = validateListExportContentEntries.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n return await context.cmsImportExport.listExportContentEntries(result.data);\n });\n },\n async getValidateImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = getValidateImportFromUrl.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getValidateImportFromUrl(result.data);\n });\n },\n async getImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = getImportFromUrl.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getImportFromUrl(result.data);\n });\n }\n },\n Mutation: {\n ...createExportContentEntries(models),\n async abortExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateAbortExportContentEntries.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.abortExportContentEntries(result.data);\n });\n },\n async validateImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateImportFromUrl.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.validateImportFromUrl(result.data);\n });\n },\n async importFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = importFromUrlValidation.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.importFromUrl(result.data);\n });\n },\n async abortImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = abortImportFromUrl.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.abortImportFromUrl(result.data);\n });\n }\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","_handlerGraphql","_zod","_interopRequireDefault","_security","validateAbortExportContentEntries","zod","object","id","string","validateGetExportContentEntries","validateListExportContentEntries","limit","number","optional","default","after","validateImportFromUrl","data","or","passthrough","getValidateImportFromUrl","getImportFromUrl","importFromUrlValidation","maxInsertErrors","overwrite","boolean","abortImportFromUrl","validateExportContentEntriesInput","exportAssets","where","sort","array","createExportContentEntries","models","reduce","resolvers","model","pluralApiName","_","input","context","resolve","checkPermissions","result","safeParse","success","createZodError","error","cmsImportExport","exportContentEntries","modelId","undefined","createResolvers","Query","getExportContentEntries","listExportContentEntries","resolveList","Mutation","abortExportContentEntries","importFromUrl","exports"],"sources":["resolvers.ts"],"sourcesContent":["import type { Context } from \"~/types\";\nimport { createZodError } from \"@webiny/utils\";\nimport { resolve, resolveList } from \"@webiny/handler-graphql\";\nimport zod from \"zod\";\nimport type { GenericRecord, NonEmptyArray } from \"@webiny/api/types\";\nimport { CmsEntryListSort, CmsEntryListWhere, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { checkPermissions } from \"./security\";\n\nconst validateAbortExportContentEntries = zod.object({\n id: zod.string()\n});\n\nconst validateGetExportContentEntries = zod.object({\n id: zod.string()\n});\n\nconst validateListExportContentEntries = zod.object({\n limit: zod.number().optional().default(50),\n after: zod.string().optional()\n});\n\nconst validateImportFromUrl = zod.object({\n data: zod.string().or(zod.object({}).passthrough())\n});\n\nconst getValidateImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst getImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst importFromUrlValidation = zod.object({\n id: zod.string(),\n maxInsertErrors: zod.number().optional().default(100),\n overwrite: zod.boolean().optional().default(false)\n});\n\nconst abortImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst validateExportContentEntriesInput = zod.object({\n exportAssets: zod.boolean().optional().default(false),\n limit: zod.number().optional(),\n where: zod.object({}).passthrough().optional().default({}),\n sort: zod.array(zod.string()).optional()\n});\n/**\n * Create export resolver for each of the models given.\n */\nconst createExportContentEntries = (models: NonEmptyArray<CmsModel>) => {\n return models.reduce<GenericRecord<string>>((resolvers, model) => {\n resolvers[`export${model.pluralApiName}ContentEntries`] = async (\n _: unknown,\n input: unknown,\n context: Context\n ) => {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateExportContentEntriesInput.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.exportContentEntries({\n ...result.data,\n modelId: model.modelId,\n sort: result.data.sort ? (result.data.sort as CmsEntryListSort) : undefined,\n where: result.data.where ? (result.data.where as CmsEntryListWhere) : undefined\n });\n });\n };\n return resolvers;\n }, {});\n};\n\nexport const createResolvers = (models: NonEmptyArray<CmsModel>) => {\n return {\n Query: {\n async getExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateGetExportContentEntries.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getExportContentEntries(result.data);\n });\n },\n async listExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolveList(async () => {\n await checkPermissions(context);\n\n const result = validateListExportContentEntries.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n return await context.cmsImportExport.listExportContentEntries(result.data);\n });\n },\n async getValidateImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = getValidateImportFromUrl.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getValidateImportFromUrl(result.data);\n });\n },\n async getImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = getImportFromUrl.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getImportFromUrl(result.data);\n });\n }\n },\n Mutation: {\n ...createExportContentEntries(models),\n async abortExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateAbortExportContentEntries.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.abortExportContentEntries(result.data);\n });\n },\n async validateImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateImportFromUrl.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.validateImportFromUrl(result.data);\n });\n },\n async importFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = importFromUrlValidation.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.importFromUrl(result.data);\n });\n },\n async abortImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = abortImportFromUrl.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.abortImportFromUrl(result.data);\n });\n }\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -4,16 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createTypeDefs = void 0;
7
+ var _constants = require("@webiny/api-headless-cms/constants");
7
8
  const createExportContentEntriesByModel = models => {
8
9
  return models.map(model => {
10
+ let whereCondition = "";
11
+ const tags = model.tags || [];
12
+ if (tags.includes(_constants.CMS_MODEL_SINGLETON_TAG) === false) {
13
+ whereCondition = /* GraphQL */`
14
+ # filter the entries by providing a where input
15
+ where: ${model.singularApiName}ListWhereInput
16
+ `;
17
+ }
9
18
  return /* GraphQL */`
10
19
  export${model.pluralApiName}ContentEntries(
11
20
  # limit on how much entries will be fetched in a single batch - mostly used for testing
12
21
  limit: Int
13
22
  # do we export assets as well? default is false
14
23
  exportAssets: Boolean
15
- # filter the entries by providing a where input
16
- where: ${model.singularApiName}ListWhereInput
24
+ ${whereCondition}
17
25
  # if after is provided, export will start after the provided cursor
18
26
  after: String
19
27
  ): ExportContentEntriesResponse!
@@ -1 +1 @@
1
- {"version":3,"names":["createExportContentEntriesByModel","models","map","model","pluralApiName","singularApiName","join","createTypeDefs","exports"],"sources":["typeDefs.ts"],"sourcesContent":["import type { NonEmptyArray } from \"@webiny/api/types\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\n\nconst createExportContentEntriesByModel = (models: NonEmptyArray<CmsModel>): string => {\n return models\n .map(model => {\n return /* GraphQL */ `\n export${model.pluralApiName}ContentEntries(\n # limit on how much entries will be fetched in a single batch - mostly used for testing\n limit: Int\n # do we export assets as well? default is false\n exportAssets: Boolean\n # filter the entries by providing a where input\n where: ${model.singularApiName}ListWhereInput\n # if after is provided, export will start after the provided cursor\n after: String\n ): ExportContentEntriesResponse!\n \n `;\n })\n .join(\"\\n\");\n};\n\nexport const createTypeDefs = (models: NonEmptyArray<CmsModel>): string => {\n return /* GraphQL */ `\n enum ExportContentEntriesExportRecordStatusEnum {\n pending\n running\n failed\n success\n aborted\n }\n \n type ExportContentEntriesExportRecordFile {\n get: String!\n head: String!\n key: String!\n type: String!\n checksum: String!\n }\n \n type ExportContentEntriesExportRecord {\n id: ID!\n createdOn: DateTime!\n createdBy: CmsIdentity!\n finishedOn: DateTime\n modelId: String!\n files: [ExportContentEntriesExportRecordFile!]\n exportAssets: Boolean!\n status: ExportContentEntriesExportRecordStatusEnum!\n }\n \n type ExportContentEntriesResponse {\n data: ExportContentEntriesExportRecord\n error: CmsError\n }\n \n type ListExportContentEntriesExportRecord {\n id: ID!\n createdOn: DateTime!\n createdBy: CmsIdentity!\n finishedOn: DateTime\n modelId: String!\n exportAssets: Boolean!\n status: ExportContentEntriesExportRecordStatusEnum!\n }\n \n type ListExportContentEntriesResponse {\n data: [ListExportContentEntriesExportRecord!]\n meta: CmsListMeta\n error: CmsError\n }\n\n type AbortExportContentEntriesResponse {\n data: ExportContentEntriesExportRecord\n error: CmsError\n }\n \n type ValidateImportFromUrlResponseDataFileError {\n message: String!\n data: JSON\n }\n \n type ValidateImportFromUrlResponseDataFile {\n get: String\n head: String\n type: String\n checksum: String\n key: String\n size: Number\n checked: Boolean\n error: ValidateImportFromUrlResponseDataFileError\n }\n \n type ValidateImportFromUrlResponseData {\n id: ID!\n files: [ValidateImportFromUrlResponseDataFile!]\n status: String!\n error: CmsError\n }\n \n type GetValidateImportFromUrlResponseData {\n id: ID!\n files: [ValidateImportFromUrlResponseDataFile!]\n status: String!\n error: CmsError\n }\n \n type GetValidateImportFromUrlResponse {\n data: GetValidateImportFromUrlResponseData\n error: CmsError\n }\n \n type ValidateImportFromUrlResponse {\n data: ValidateImportFromUrlResponseData\n error: CmsError\n }\n \n type ImportFromUrlResponseDataFileError {\n message: String!\n data: JSON\n }\n \n type ImportFromUrlResponseDataFile {\n get: String!\n head: String!\n type: String!\n checksum: String!\n size: Number!\n error: ImportFromUrlResponseDataFileError\n }\n \n type ImportFromUrlResponseData {\n id: ID!\n files: [ImportFromUrlResponseDataFile!]\n status: String!\n }\n \n type ImportFromUrlResponse {\n data: ImportFromUrlResponseData\n error: CmsError\n }\n \n extend type Query {\n getExportContentEntries(id: ID!): ExportContentEntriesResponse!\n listExportContentEntries(after: String, limit: Int): ListExportContentEntriesResponse!\n getValidateImportFromUrl(id: ID!): GetValidateImportFromUrlResponse!\n getImportFromUrl(id: ID!): ImportFromUrlResponse!\n }\n\n extend type Mutation {\n ${createExportContentEntriesByModel(models)}\n \n abortExportContentEntries(id: ID!): AbortExportContentEntriesResponse!\n validateImportFromUrl(data: JSON!): ValidateImportFromUrlResponse!\n # the id is a task id returned from the validateImportFromUrl mutation\n # it will be used to get the file information and start a new task for the actual import\n importFromUrl(id: ID!): ImportFromUrlResponse!\n abortImportFromUrl(id: ID!): ImportFromUrlResponse!\n }\n `;\n};\n"],"mappings":";;;;;;AAGA,MAAMA,iCAAiC,GAAIC,MAA+B,IAAa;EACnF,OAAOA,MAAM,CACRC,GAAG,CAACC,KAAK,IAAI;IACV,OAAO,aAAe;AAClC,oBAAoBA,KAAK,CAACC,aAAc;AACxC;AACA;AACA;AACA;AACA;AACA,yBAAyBD,KAAK,CAACE,eAAgB;AAC/C;AACA;AACA;AACA;AACA,SAAS;EACD,CAAC,CAAC,CACDC,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,MAAMC,cAAc,GAAIN,MAA+B,IAAa;EACvE,OAAO,aAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcD,iCAAiC,CAACC,MAAM,CAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AAACO,OAAA,CAAAD,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","createExportContentEntriesByModel","models","map","model","whereCondition","tags","includes","CMS_MODEL_SINGLETON_TAG","singularApiName","pluralApiName","join","createTypeDefs","exports"],"sources":["typeDefs.ts"],"sourcesContent":["import type { NonEmptyArray } from \"@webiny/api/types\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/api-headless-cms/constants\";\n\nconst createExportContentEntriesByModel = (models: NonEmptyArray<CmsModel>): string => {\n return models\n .map(model => {\n let whereCondition = \"\";\n const tags = model.tags || [];\n if (tags.includes(CMS_MODEL_SINGLETON_TAG) === false) {\n whereCondition = /* GraphQL */ `\n # filter the entries by providing a where input\n where: ${model.singularApiName}ListWhereInput\n `;\n }\n return /* GraphQL */ `\n export${model.pluralApiName}ContentEntries(\n # limit on how much entries will be fetched in a single batch - mostly used for testing\n limit: Int\n # do we export assets as well? default is false\n exportAssets: Boolean\n ${whereCondition}\n # if after is provided, export will start after the provided cursor\n after: String\n ): ExportContentEntriesResponse!\n \n `;\n })\n .join(\"\\n\");\n};\n\nexport const createTypeDefs = (models: NonEmptyArray<CmsModel>): string => {\n return /* GraphQL */ `\n enum ExportContentEntriesExportRecordStatusEnum {\n pending\n running\n failed\n success\n aborted\n }\n \n type ExportContentEntriesExportRecordFile {\n get: String!\n head: String!\n key: String!\n type: String!\n checksum: String!\n }\n \n type ExportContentEntriesExportRecord {\n id: ID!\n createdOn: DateTime!\n createdBy: CmsIdentity!\n finishedOn: DateTime\n modelId: String!\n files: [ExportContentEntriesExportRecordFile!]\n exportAssets: Boolean!\n status: ExportContentEntriesExportRecordStatusEnum!\n }\n \n type ExportContentEntriesResponse {\n data: ExportContentEntriesExportRecord\n error: CmsError\n }\n \n type ListExportContentEntriesExportRecord {\n id: ID!\n createdOn: DateTime!\n createdBy: CmsIdentity!\n finishedOn: DateTime\n modelId: String!\n exportAssets: Boolean!\n status: ExportContentEntriesExportRecordStatusEnum!\n }\n \n type ListExportContentEntriesResponse {\n data: [ListExportContentEntriesExportRecord!]\n meta: CmsListMeta\n error: CmsError\n }\n\n type AbortExportContentEntriesResponse {\n data: ExportContentEntriesExportRecord\n error: CmsError\n }\n \n type ValidateImportFromUrlResponseDataFileError {\n message: String!\n data: JSON\n }\n \n type ValidateImportFromUrlResponseDataFile {\n get: String\n head: String\n type: String\n checksum: String\n key: String\n size: Number\n checked: Boolean\n error: ValidateImportFromUrlResponseDataFileError\n }\n \n type ValidateImportFromUrlResponseData {\n id: ID!\n files: [ValidateImportFromUrlResponseDataFile!]\n status: String!\n error: CmsError\n }\n \n type GetValidateImportFromUrlResponseData {\n id: ID!\n files: [ValidateImportFromUrlResponseDataFile!]\n status: String!\n error: CmsError\n }\n \n type GetValidateImportFromUrlResponse {\n data: GetValidateImportFromUrlResponseData\n error: CmsError\n }\n \n type ValidateImportFromUrlResponse {\n data: ValidateImportFromUrlResponseData\n error: CmsError\n }\n \n type ImportFromUrlResponseDataFileError {\n message: String!\n data: JSON\n }\n \n type ImportFromUrlResponseDataFile {\n get: String!\n head: String!\n type: String!\n checksum: String!\n size: Number!\n error: ImportFromUrlResponseDataFileError\n }\n \n type ImportFromUrlResponseData {\n id: ID!\n files: [ImportFromUrlResponseDataFile!]\n status: String!\n }\n \n type ImportFromUrlResponse {\n data: ImportFromUrlResponseData\n error: CmsError\n }\n \n extend type Query {\n getExportContentEntries(id: ID!): ExportContentEntriesResponse!\n listExportContentEntries(after: String, limit: Int): ListExportContentEntriesResponse!\n getValidateImportFromUrl(id: ID!): GetValidateImportFromUrlResponse!\n getImportFromUrl(id: ID!): ImportFromUrlResponse!\n }\n\n extend type Mutation {\n ${createExportContentEntriesByModel(models)}\n \n abortExportContentEntries(id: ID!): AbortExportContentEntriesResponse!\n validateImportFromUrl(data: JSON!): ValidateImportFromUrlResponse!\n # the id is a task id returned from the validateImportFromUrl mutation\n # it will be used to get the file information and start a new task for the actual import\n importFromUrl(id: ID!): ImportFromUrlResponse!\n abortImportFromUrl(id: ID!): ImportFromUrlResponse!\n }\n `;\n};\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAEA,MAAMC,iCAAiC,GAAIC,MAA+B,IAAa;EACnF,OAAOA,MAAM,CACRC,GAAG,CAACC,KAAK,IAAI;IACV,IAAIC,cAAc,GAAG,EAAE;IACvB,MAAMC,IAAI,GAAGF,KAAK,CAACE,IAAI,IAAI,EAAE;IAC7B,IAAIA,IAAI,CAACC,QAAQ,CAACC,kCAAuB,CAAC,KAAK,KAAK,EAAE;MAClDH,cAAc,GAAG,aAAc;AAC/C;AACA,6BAA6BD,KAAK,CAACK,eAAe;AAClD,iBAAiB;IACL;IACA,OAAO,aAAc;AACjC,oBAAoBL,KAAK,CAACM,aAAa;AACvC;AACA;AACA;AACA;AACA,kBAAkBL,cAAc;AAChC;AACA;AACA;AACA;AACA,SAAS;EACD,CAAC,CAAC,CACDM,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAEM,MAAMC,cAAc,GAAIV,MAA+B,IAAa;EACvE,OAAO,aAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcD,iCAAiC,CAACC,MAAM,CAAC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AAACW,OAAA,CAAAD,cAAA,GAAAA,cAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-import-export",
3
- "version": "5.41.4",
3
+ "version": "5.42.0-beta.0",
4
4
  "main": "index.js",
5
5
  "description": "Import / Export for Webiny Headless CMS",
6
6
  "keywords": [
@@ -14,14 +14,14 @@
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
16
  "@smithy/node-http-handler": "2.1.6",
17
- "@webiny/api-file-manager": "5.41.4",
18
- "@webiny/api-headless-cms": "5.41.4",
19
- "@webiny/aws-sdk": "5.41.4",
20
- "@webiny/error": "5.41.4",
21
- "@webiny/handler-graphql": "5.41.4",
22
- "@webiny/plugins": "5.41.4",
23
- "@webiny/tasks": "5.41.4",
24
- "@webiny/utils": "5.41.4",
17
+ "@webiny/api-file-manager": "5.42.0-beta.0",
18
+ "@webiny/api-headless-cms": "5.42.0-beta.0",
19
+ "@webiny/aws-sdk": "5.42.0-beta.0",
20
+ "@webiny/error": "5.42.0-beta.0",
21
+ "@webiny/handler-graphql": "5.42.0-beta.0",
22
+ "@webiny/plugins": "5.42.0-beta.0",
23
+ "@webiny/tasks": "5.42.0-beta.0",
24
+ "@webiny/utils": "5.42.0-beta.0",
25
25
  "archiver": "7.0.1",
26
26
  "bytes": "3.1.2",
27
27
  "uniqid": "5.4.0",
@@ -29,28 +29,23 @@
29
29
  "zod": "3.23.8"
30
30
  },
31
31
  "devDependencies": {
32
- "@babel/cli": "7.24.1",
33
- "@babel/core": "7.24.3",
34
- "@babel/preset-env": "7.24.3",
35
- "@babel/preset-typescript": "7.24.1",
36
- "@babel/runtime": "7.24.1",
37
32
  "@types/adm-zip": "0.5.5",
38
33
  "@types/unzipper": "0.10.10",
39
- "@webiny/api": "5.41.4",
40
- "@webiny/api-admin-users": "5.41.4",
41
- "@webiny/api-i18n": "5.41.4",
42
- "@webiny/api-security": "5.41.4",
43
- "@webiny/api-tenancy": "5.41.4",
44
- "@webiny/api-wcp": "5.41.4",
45
- "@webiny/cli": "5.41.4",
46
- "@webiny/handler": "5.41.4",
47
- "@webiny/handler-aws": "5.41.4",
34
+ "@webiny/api": "5.42.0-beta.0",
35
+ "@webiny/api-admin-users": "5.42.0-beta.0",
36
+ "@webiny/api-i18n": "5.42.0-beta.0",
37
+ "@webiny/api-security": "5.42.0-beta.0",
38
+ "@webiny/api-tenancy": "5.42.0-beta.0",
39
+ "@webiny/api-wcp": "5.42.0-beta.0",
40
+ "@webiny/cli": "5.42.0-beta.0",
41
+ "@webiny/handler": "5.42.0-beta.0",
42
+ "@webiny/handler-aws": "5.42.0-beta.0",
48
43
  "@webiny/plugins": "0.0.0",
49
- "@webiny/project-utils": "5.41.4",
50
- "@webiny/wcp": "5.41.4",
44
+ "@webiny/project-utils": "5.42.0-beta.0",
45
+ "@webiny/wcp": "5.42.0-beta.0",
51
46
  "adm-zip": "0.5.16",
52
- "aws-sdk-client-mock": "4.0.2",
53
- "graphql": "15.8.0",
47
+ "aws-sdk-client-mock": "4.1.0",
48
+ "graphql": "15.9.0",
54
49
  "ttypescript": "1.5.15",
55
50
  "typescript": "4.9.5"
56
51
  },
@@ -62,5 +57,5 @@
62
57
  "access": "public",
63
58
  "directory": "dist"
64
59
  },
65
- "gitHead": "94922b33af59db5afe75127bb07443ce7f1448c4"
60
+ "gitHead": "ebf90f62ed3f28114ffdb012b7e5f80988af53d3"
66
61
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_uniqid","_interopRequireDefault","require","_tasks","_types","_ExportContentEntriesController","_constants","_getBackOffSeconds","prepareExportModel","model","modelId","fields","ExportContentEntriesController","run","params","context","response","input","store","trigger","state","cms","getModel","ex","error","message","code","backOffSeconds","getBackOffSeconds","getTask","iterations","taskId","id","entriesTask","prefix","uniqueId","EXPORT_BASE_PATH","task","definition","EXPORT_CONTENT_ENTRIES_TASK","exportAssets","limit","where","sort","name","continue","contentEntriesTaskId","ExportContentEntriesControllerState","entryExport","seconds","getEntriesTask","taskStatus","TaskDataStatus","RUNNING","PENDING","FAILED","ABORTED","output","files","length","file","push","key","checksum","type","CmsImportExportFileType","ENTRIES","done","assetTask","EXPORT_CONTENT_ASSETS_TASK","entryAfter","undefined","fileAfter","contentAssetsTaskId","assetsExport","assetsTask","getAssetsTask","entriesFiles","assetFiles","ASSETS","result","tasks","definitionId","exports"],"sources":["ExportContentEntriesController.ts"],"sourcesContent":["import uniqueId from \"uniqid\";\nimport type { IGetTaskResponse, ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport { TaskDataStatus } from \"@webiny/tasks\";\nimport type { Context } from \"~/types\";\nimport { CmsImportExportFileType } from \"~/types\";\nimport type {\n IExportContentEntriesController,\n IExportContentEntriesControllerInput,\n IExportContentEntriesControllerOutput,\n IExportContentEntriesControllerOutputFile,\n IExportedCmsModel\n} from \"~/tasks/domain/abstractions/ExportContentEntriesController\";\nimport { ExportContentEntriesControllerState } from \"~/tasks/domain/abstractions/ExportContentEntriesController\";\nimport {\n EXPORT_BASE_PATH,\n EXPORT_CONTENT_ASSETS_TASK,\n EXPORT_CONTENT_ENTRIES_TASK\n} from \"~/tasks/constants\";\nimport type {\n IExportContentEntriesInput,\n IExportContentEntriesOutput\n} from \"~/tasks/domain/abstractions/ExportContentEntries\";\nimport type {\n IExportContentAssetsInput,\n IExportContentAssetsOutput\n} from \"~/tasks/domain/abstractions/ExportContentAssets\";\nimport { getBackOffSeconds } from \"~/tasks/utils/helpers/getBackOffSeconds\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\n\nconst prepareExportModel = (model: Pick<CmsModel, \"modelId\" | \"fields\">): IExportedCmsModel => {\n return {\n modelId: model.modelId,\n fields: model.fields\n };\n};\n\nexport class ExportContentEntriesController<\n C extends Context = Context,\n I extends IExportContentEntriesControllerInput = IExportContentEntriesControllerInput,\n O extends IExportContentEntriesControllerOutput = IExportContentEntriesControllerOutput\n> implements IExportContentEntriesController<C, I, O>\n{\n public async run(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>> {\n const { context, response, input, store, trigger } = params;\n const { state, modelId } = input;\n\n let model: CmsModel;\n try {\n model = await context.cms.getModel(modelId);\n } catch (ex) {\n return response.error({\n message: `Model \"${modelId}\" not found.`,\n code: \"MODEL_NOT_FOUND\"\n });\n }\n\n const backOffSeconds = getBackOffSeconds(store.getTask().iterations);\n\n const taskId = store.getTask().id;\n\n let entriesTask: IGetTaskResponse<IExportContentEntriesInput, IExportContentEntriesOutput>;\n\n /**\n * In case of no state yet, we will start the content entries export process.\n */\n const prefix = input.prefix || uniqueId(`${EXPORT_BASE_PATH}/${model.modelId}/${taskId}`);\n if (!state) {\n const task = await trigger<IExportContentEntriesInput>({\n definition: EXPORT_CONTENT_ENTRIES_TASK,\n input: {\n prefix,\n exportAssets: input.exportAssets,\n modelId: model.modelId,\n limit: input.limit,\n where: input.where,\n sort: input.sort\n },\n name: `Export Content Entries ${taskId}`\n });\n\n return response.continue(\n {\n ...input,\n prefix,\n contentEntriesTaskId: task.id,\n state: ExportContentEntriesControllerState.entryExport\n },\n {\n seconds: backOffSeconds\n }\n );\n }\n /**\n * If the state of the task is \"entryExport\", we need to check if there are any child tasks of the \"Export Content Entries\" task.\n * If there are, we need to wait for them to finish before we can proceed.\n * If there are no child tasks, we'll return an error.\n * If there are child tasks, but they are not finished, we'll return a \"continue\" response, which will make the task wait for X seconds before checking again.\n */\n //\n else if (state === ExportContentEntriesControllerState.entryExport) {\n if (!input.contentEntriesTaskId) {\n return response.error({\n message: `Missing \"contentEntriesTaskId\" in the input, but the input notes that the task is in \"entryExport\" state. This should not happen.`,\n code: \"MISSING_CONTENT_ENTRIES_TASK_ID\"\n });\n }\n entriesTask = await this.getEntriesTask(context, input.contentEntriesTaskId);\n if (!entriesTask) {\n return response.error({\n message: `Task \"${input.contentEntriesTaskId}\" not found.`,\n code: \"TASK_NOT_FOUND\"\n });\n }\n if (\n entriesTask.taskStatus == TaskDataStatus.RUNNING ||\n entriesTask.taskStatus === TaskDataStatus.PENDING\n ) {\n return response.continue(input, {\n seconds: backOffSeconds\n });\n } else if (entriesTask.taskStatus === TaskDataStatus.FAILED) {\n return response.error({\n message: `Failed to export content entries. Task \"${entriesTask.id}\" failed.`,\n code: \"EXPORT_ENTRIES_FAILED\"\n });\n } else if (entriesTask.taskStatus === TaskDataStatus.ABORTED) {\n return response.error({\n message: `Export content entries process was aborted. Task \"${entriesTask.id}\" was aborted.`,\n code: \"EXPORT_ENTRIES_ABORTED\"\n });\n } else if (!entriesTask.output) {\n return response.error({\n message: `No output found on task \"${entriesTask.id}\". Stopping export process.`,\n code: \"NO_OUTPUT\"\n });\n }\n /**\n * Possibly the task does not require any assets to be exported.\n */\n if (!input.exportAssets || entriesTask.output.files.length === 0) {\n const files: IExportContentEntriesControllerOutputFile[] = [];\n for (const file of entriesTask.output.files) {\n files.push({\n key: file.key,\n checksum: file.checksum,\n type: CmsImportExportFileType.ENTRIES\n });\n }\n\n const output: IExportContentEntriesControllerOutput = {\n files,\n model: prepareExportModel(model)\n };\n return response.done(\"Export done, without assets.\", output as O);\n }\n\n const assetTask = await trigger<IExportContentAssetsInput>({\n definition: EXPORT_CONTENT_ASSETS_TASK,\n input: {\n prefix,\n modelId: model.modelId,\n limit: input.limit,\n where: input.where,\n sort: input.sort,\n entryAfter: undefined,\n fileAfter: undefined\n },\n name: `Export Content Assets ${taskId}`\n });\n\n return response.continue(\n {\n ...input,\n contentAssetsTaskId: assetTask.id,\n state: ExportContentEntriesControllerState.assetsExport\n },\n {\n seconds: backOffSeconds\n }\n );\n }\n /**\n * If the state is \"assetsExport\", we need to check if there are any child tasks of the \"Export Content Assets\" task.\n * If there are, we need to wait for them to finish before we can proceed.\n * If there are no child tasks, we'll return as done.\n * If there are child tasks, but they are not finished, we'll return a \"continue\" response, which will make the task wait for X seconds before checking again.\n */\n //\n else if (state === ExportContentEntriesControllerState.assetsExport) {\n if (!input.contentEntriesTaskId) {\n return response.error({\n message: `Missing \"contentEntriesTaskId\" in the input, but the input notes that the task is in \"assetsExport\" state. This should not happen.`,\n code: \"MISSING_CONTENT_ENTRIES_TASK_ID\"\n });\n } else if (!input.contentAssetsTaskId) {\n return response.error({\n message: `Missing \"contentAssetsTaskId\" in the input, but the input notes that the task is in \"assetsExport\" state. This should not happen.`,\n code: \"MISSING_CONTENT_ASSETS_TASK_ID\"\n });\n }\n\n const assetsTask = await this.getAssetsTask(context, input.contentAssetsTaskId);\n if (!assetsTask) {\n return response.error({\n message: `Task \"${input.contentAssetsTaskId}\" not found.`,\n code: \"TASK_NOT_FOUND\"\n });\n }\n if (\n assetsTask.taskStatus == TaskDataStatus.RUNNING ||\n assetsTask.taskStatus === TaskDataStatus.PENDING\n ) {\n return response.continue(\n {\n ...input\n },\n {\n seconds: backOffSeconds\n }\n );\n } else if (assetsTask.taskStatus === TaskDataStatus.FAILED) {\n return response.error({\n message: `Failed to export content assets. Task \"${assetsTask.id}\" failed.`,\n code: \"EXPORT_ASSETS_FAILED\"\n });\n } else if (assetsTask.taskStatus === TaskDataStatus.ABORTED) {\n return response.error({\n message: `Export content assets process was aborted. Task \"${assetsTask.id}\" was aborted.`,\n code: \"EXPORT_ASSETS_ABORTED\"\n });\n }\n\n entriesTask = await this.getEntriesTask(context, input.contentEntriesTaskId);\n\n const files: IExportContentEntriesControllerOutputFile[] = [];\n const entriesFiles = entriesTask?.output?.files || [];\n for (const file of entriesFiles) {\n files.push({\n key: file.key,\n checksum: file.checksum,\n type: CmsImportExportFileType.ENTRIES\n });\n }\n const assetFiles = assetsTask.output?.files || [];\n for (const file of assetFiles) {\n files.push({\n key: file.key,\n checksum: file.checksum,\n type: CmsImportExportFileType.ASSETS\n });\n }\n\n const output: IExportContentEntriesControllerOutput = {\n model: prepareExportModel(model),\n files\n };\n\n return response.done(\"Export done, with assets.\", output as O);\n }\n\n return response.error({\n message: `Invalid state \"${state}\".`,\n code: \"INVALID_STATE\"\n });\n }\n\n private async getEntriesTask(context: Context, id: string) {\n try {\n const result = await context.tasks.getTask<\n IExportContentEntriesInput,\n IExportContentEntriesOutput\n >(id);\n if (result?.definitionId === EXPORT_CONTENT_ENTRIES_TASK) {\n return result;\n }\n return null;\n } catch (ex) {\n return null;\n }\n }\n\n private async getAssetsTask(context: Context, id: string) {\n try {\n const result = await context.tasks.getTask<\n IExportContentAssetsInput,\n IExportContentAssetsOutput\n >(id);\n if (result?.definitionId == EXPORT_CONTENT_ASSETS_TASK) {\n return result;\n }\n return null;\n } catch (ex) {\n return null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_uniqid","_interopRequireDefault","require","_tasks","_types","_ExportContentEntriesController","_constants","_getBackOffSeconds","prepareExportModel","model","modelId","fields","ExportContentEntriesController","run","params","context","response","input","store","trigger","state","cms","getModel","ex","error","message","code","backOffSeconds","getBackOffSeconds","getTask","iterations","taskId","id","entriesTask","prefix","uniqueId","EXPORT_BASE_PATH","task","definition","EXPORT_CONTENT_ENTRIES_TASK","exportAssets","limit","where","sort","name","continue","contentEntriesTaskId","ExportContentEntriesControllerState","entryExport","seconds","getEntriesTask","taskStatus","TaskDataStatus","RUNNING","PENDING","FAILED","ABORTED","output","files","length","file","push","key","checksum","type","CmsImportExportFileType","ENTRIES","done","assetTask","EXPORT_CONTENT_ASSETS_TASK","entryAfter","undefined","fileAfter","contentAssetsTaskId","assetsExport","assetsTask","getAssetsTask","entriesFiles","assetFiles","ASSETS","result","tasks","definitionId","exports"],"sources":["ExportContentEntriesController.ts"],"sourcesContent":["import uniqueId from \"uniqid\";\nimport type { IGetTaskResponse, ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport { TaskDataStatus } from \"@webiny/tasks\";\nimport type { Context } from \"~/types\";\nimport { CmsImportExportFileType } from \"~/types\";\nimport type {\n IExportContentEntriesController,\n IExportContentEntriesControllerInput,\n IExportContentEntriesControllerOutput,\n IExportContentEntriesControllerOutputFile,\n IExportedCmsModel\n} from \"~/tasks/domain/abstractions/ExportContentEntriesController\";\nimport { ExportContentEntriesControllerState } from \"~/tasks/domain/abstractions/ExportContentEntriesController\";\nimport {\n EXPORT_BASE_PATH,\n EXPORT_CONTENT_ASSETS_TASK,\n EXPORT_CONTENT_ENTRIES_TASK\n} from \"~/tasks/constants\";\nimport type {\n IExportContentEntriesInput,\n IExportContentEntriesOutput\n} from \"~/tasks/domain/abstractions/ExportContentEntries\";\nimport type {\n IExportContentAssetsInput,\n IExportContentAssetsOutput\n} from \"~/tasks/domain/abstractions/ExportContentAssets\";\nimport { getBackOffSeconds } from \"~/tasks/utils/helpers/getBackOffSeconds\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\n\nconst prepareExportModel = (model: Pick<CmsModel, \"modelId\" | \"fields\">): IExportedCmsModel => {\n return {\n modelId: model.modelId,\n fields: model.fields\n };\n};\n\nexport class ExportContentEntriesController<\n C extends Context = Context,\n I extends IExportContentEntriesControllerInput = IExportContentEntriesControllerInput,\n O extends IExportContentEntriesControllerOutput = IExportContentEntriesControllerOutput\n> implements IExportContentEntriesController<C, I, O>\n{\n public async run(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>> {\n const { context, response, input, store, trigger } = params;\n const { state, modelId } = input;\n\n let model: CmsModel;\n try {\n model = await context.cms.getModel(modelId);\n } catch (ex) {\n return response.error({\n message: `Model \"${modelId}\" not found.`,\n code: \"MODEL_NOT_FOUND\"\n });\n }\n\n const backOffSeconds = getBackOffSeconds(store.getTask().iterations);\n\n const taskId = store.getTask().id;\n\n let entriesTask: IGetTaskResponse<IExportContentEntriesInput, IExportContentEntriesOutput>;\n\n /**\n * In case of no state yet, we will start the content entries export process.\n */\n const prefix = input.prefix || uniqueId(`${EXPORT_BASE_PATH}/${model.modelId}/${taskId}`);\n if (!state) {\n const task = await trigger<IExportContentEntriesInput>({\n definition: EXPORT_CONTENT_ENTRIES_TASK,\n input: {\n prefix,\n exportAssets: input.exportAssets,\n modelId: model.modelId,\n limit: input.limit,\n where: input.where,\n sort: input.sort\n },\n name: `Export Content Entries ${taskId}`\n });\n\n return response.continue(\n {\n ...input,\n prefix,\n contentEntriesTaskId: task.id,\n state: ExportContentEntriesControllerState.entryExport\n },\n {\n seconds: backOffSeconds\n }\n );\n }\n /**\n * If the state of the task is \"entryExport\", we need to check if there are any child tasks of the \"Export Content Entries\" task.\n * If there are, we need to wait for them to finish before we can proceed.\n * If there are no child tasks, we'll return an error.\n * If there are child tasks, but they are not finished, we'll return a \"continue\" response, which will make the task wait for X seconds before checking again.\n */\n //\n else if (state === ExportContentEntriesControllerState.entryExport) {\n if (!input.contentEntriesTaskId) {\n return response.error({\n message: `Missing \"contentEntriesTaskId\" in the input, but the input notes that the task is in \"entryExport\" state. This should not happen.`,\n code: \"MISSING_CONTENT_ENTRIES_TASK_ID\"\n });\n }\n entriesTask = await this.getEntriesTask(context, input.contentEntriesTaskId);\n if (!entriesTask) {\n return response.error({\n message: `Task \"${input.contentEntriesTaskId}\" not found.`,\n code: \"TASK_NOT_FOUND\"\n });\n }\n if (\n entriesTask.taskStatus == TaskDataStatus.RUNNING ||\n entriesTask.taskStatus === TaskDataStatus.PENDING\n ) {\n return response.continue(input, {\n seconds: backOffSeconds\n });\n } else if (entriesTask.taskStatus === TaskDataStatus.FAILED) {\n return response.error({\n message: `Failed to export content entries. Task \"${entriesTask.id}\" failed.`,\n code: \"EXPORT_ENTRIES_FAILED\"\n });\n } else if (entriesTask.taskStatus === TaskDataStatus.ABORTED) {\n return response.error({\n message: `Export content entries process was aborted. Task \"${entriesTask.id}\" was aborted.`,\n code: \"EXPORT_ENTRIES_ABORTED\"\n });\n } else if (!entriesTask.output) {\n return response.error({\n message: `No output found on task \"${entriesTask.id}\". Stopping export process.`,\n code: \"NO_OUTPUT\"\n });\n }\n /**\n * Possibly the task does not require any assets to be exported.\n */\n if (!input.exportAssets || entriesTask.output.files.length === 0) {\n const files: IExportContentEntriesControllerOutputFile[] = [];\n for (const file of entriesTask.output.files) {\n files.push({\n key: file.key,\n checksum: file.checksum,\n type: CmsImportExportFileType.ENTRIES\n });\n }\n\n const output: IExportContentEntriesControllerOutput = {\n files,\n model: prepareExportModel(model)\n };\n return response.done(\"Export done, without assets.\", output as O);\n }\n\n const assetTask = await trigger<IExportContentAssetsInput>({\n definition: EXPORT_CONTENT_ASSETS_TASK,\n input: {\n prefix,\n modelId: model.modelId,\n limit: input.limit,\n where: input.where,\n sort: input.sort,\n entryAfter: undefined,\n fileAfter: undefined\n },\n name: `Export Content Assets ${taskId}`\n });\n\n return response.continue(\n {\n ...input,\n contentAssetsTaskId: assetTask.id,\n state: ExportContentEntriesControllerState.assetsExport\n },\n {\n seconds: backOffSeconds\n }\n );\n }\n /**\n * If the state is \"assetsExport\", we need to check if there are any child tasks of the \"Export Content Assets\" task.\n * If there are, we need to wait for them to finish before we can proceed.\n * If there are no child tasks, we'll return as done.\n * If there are child tasks, but they are not finished, we'll return a \"continue\" response, which will make the task wait for X seconds before checking again.\n */\n //\n else if (state === ExportContentEntriesControllerState.assetsExport) {\n if (!input.contentEntriesTaskId) {\n return response.error({\n message: `Missing \"contentEntriesTaskId\" in the input, but the input notes that the task is in \"assetsExport\" state. This should not happen.`,\n code: \"MISSING_CONTENT_ENTRIES_TASK_ID\"\n });\n } else if (!input.contentAssetsTaskId) {\n return response.error({\n message: `Missing \"contentAssetsTaskId\" in the input, but the input notes that the task is in \"assetsExport\" state. This should not happen.`,\n code: \"MISSING_CONTENT_ASSETS_TASK_ID\"\n });\n }\n\n const assetsTask = await this.getAssetsTask(context, input.contentAssetsTaskId);\n if (!assetsTask) {\n return response.error({\n message: `Task \"${input.contentAssetsTaskId}\" not found.`,\n code: \"TASK_NOT_FOUND\"\n });\n }\n if (\n assetsTask.taskStatus == TaskDataStatus.RUNNING ||\n assetsTask.taskStatus === TaskDataStatus.PENDING\n ) {\n return response.continue(\n {\n ...input\n },\n {\n seconds: backOffSeconds\n }\n );\n } else if (assetsTask.taskStatus === TaskDataStatus.FAILED) {\n return response.error({\n message: `Failed to export content assets. Task \"${assetsTask.id}\" failed.`,\n code: \"EXPORT_ASSETS_FAILED\"\n });\n } else if (assetsTask.taskStatus === TaskDataStatus.ABORTED) {\n return response.error({\n message: `Export content assets process was aborted. Task \"${assetsTask.id}\" was aborted.`,\n code: \"EXPORT_ASSETS_ABORTED\"\n });\n }\n\n entriesTask = await this.getEntriesTask(context, input.contentEntriesTaskId);\n\n const files: IExportContentEntriesControllerOutputFile[] = [];\n const entriesFiles = entriesTask?.output?.files || [];\n for (const file of entriesFiles) {\n files.push({\n key: file.key,\n checksum: file.checksum,\n type: CmsImportExportFileType.ENTRIES\n });\n }\n const assetFiles = assetsTask.output?.files || [];\n for (const file of assetFiles) {\n files.push({\n key: file.key,\n checksum: file.checksum,\n type: CmsImportExportFileType.ASSETS\n });\n }\n\n const output: IExportContentEntriesControllerOutput = {\n model: prepareExportModel(model),\n files\n };\n\n return response.done(\"Export done, with assets.\", output as O);\n }\n\n return response.error({\n message: `Invalid state \"${state}\".`,\n code: \"INVALID_STATE\"\n });\n }\n\n private async getEntriesTask(context: Context, id: string) {\n try {\n const result = await context.tasks.getTask<\n IExportContentEntriesInput,\n IExportContentEntriesOutput\n >(id);\n if (result?.definitionId === EXPORT_CONTENT_ENTRIES_TASK) {\n return result;\n }\n return null;\n } catch (ex) {\n return null;\n }\n }\n\n private async getAssetsTask(context: Context, id: string) {\n try {\n const result = await context.tasks.getTask<\n IExportContentAssetsInput,\n IExportContentAssetsOutput\n >(id);\n if (result?.definitionId == EXPORT_CONTENT_ASSETS_TASK) {\n return result;\n }\n return null;\n } catch (ex) {\n return null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_ImportFromUrlController","require","_ImportFromUrlControllerDownloadStep","_ImportFromUrlControllerProcessEntriesStep","_ImportFromUrlControllerProcessAssetsStep","getDefaultStepValues","files","triggered","finished","done","failed","invalid","aborted","ImportFromUrlController","run","params","context","response","input","modelId","error","message","code","Array","isArray","length","cms","getModel","ex","steps","downloadStep","IImportFromUrlControllerInputStep","DOWNLOAD","step","ImportFromUrlControllerDownloadStep","execute","data","processEntriesStep","PROCESS_ENTRIES","ImportFromUrlControllerProcessEntriesStep","processAssetsStep","PROCESS_ASSETS","ImportFromUrlControllerProcessAssetsStep","concat","output","exports"],"sources":["ImportFromUrlController.ts"],"sourcesContent":["import type { ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport {\n IImportFromUrlController,\n IImportFromUrlControllerInput,\n IImportFromUrlControllerInputStep,\n IImportFromUrlControllerInputStepsStep,\n IImportFromUrlControllerOutput\n} from \"~/tasks/domain/abstractions/ImportFromUrlController\";\nimport type { Context } from \"~/types\";\nimport { ImportFromUrlControllerDownloadStep } from \"~/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep\";\nimport { ImportFromUrlControllerProcessEntriesStep } from \"./importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep\";\nimport { ImportFromUrlControllerProcessAssetsStep } from \"./importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep\";\n\nconst getDefaultStepValues = (): IImportFromUrlControllerInputStepsStep => {\n return {\n files: [],\n triggered: false,\n finished: false,\n done: [],\n failed: [],\n invalid: [],\n aborted: []\n };\n};\n\nexport class ImportFromUrlController<\n C extends Context = Context,\n I extends IImportFromUrlControllerInput = IImportFromUrlControllerInput,\n O extends IImportFromUrlControllerOutput = IImportFromUrlControllerOutput\n> implements IImportFromUrlController<C, I, O>\n{\n public async run(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>> {\n const { context, response, input } = params;\n\n if (!input.modelId) {\n return response.error({\n message: `Missing \"modelId\" in the input.`,\n code: \"MISSING_MODEL_ID\"\n });\n } else if (Array.isArray(input.files) === false || input.files.length === 0) {\n return response.error({\n message: `No files found in the provided data.`,\n code: \"NO_FILES_FOUND\"\n });\n }\n\n try {\n await context.cms.getModel(input.modelId);\n } catch (ex) {\n return response.error({\n message: `Model \"${input.modelId}\" not found.`,\n code: \"MODEL_NOT_FOUND\"\n });\n }\n\n if (!input.steps) {\n input.steps = {};\n }\n\n const downloadStep =\n input.steps[IImportFromUrlControllerInputStep.DOWNLOAD] || getDefaultStepValues();\n\n if (!downloadStep.finished) {\n const step = new ImportFromUrlControllerDownloadStep<C, I, O>();\n return await step.execute(params);\n } else if (downloadStep.failed.length) {\n return response.error({\n message: `Failed to download files.`,\n code: \"FAILED_DOWNLOADING_FILES\",\n data: input.steps\n });\n }\n\n const processEntriesStep =\n input.steps[IImportFromUrlControllerInputStep.PROCESS_ENTRIES] ||\n getDefaultStepValues();\n if (!processEntriesStep.finished) {\n const step = new ImportFromUrlControllerProcessEntriesStep<C, I, O>();\n return await step.execute(params);\n } else if (processEntriesStep.failed.length) {\n return response.error({\n message: `Failed to process entries.`,\n code: \"FAILED_PROCESSING_ENTRIES\",\n data: input.steps\n });\n }\n\n const processAssetsStep =\n input.steps[IImportFromUrlControllerInputStep.PROCESS_ASSETS] || getDefaultStepValues();\n if (!processAssetsStep.finished) {\n const step = new ImportFromUrlControllerProcessAssetsStep<C, I, O>();\n return await step.execute(params);\n } else if (processAssetsStep.failed.length) {\n return response.error({\n message: `Failed to process assets.`,\n code: \"FAILED_PROCESSING_ASSETS\",\n data: input.steps\n });\n }\n\n const files = downloadStep.files\n .concat(processEntriesStep.files)\n .concat(processAssetsStep.files);\n\n const output: IImportFromUrlControllerOutput = {\n files,\n done: [],\n invalid: [],\n failed: [],\n aborted: []\n };\n\n return response.done(output as O);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_ImportFromUrlController","require","_ImportFromUrlControllerDownloadStep","_ImportFromUrlControllerProcessEntriesStep","_ImportFromUrlControllerProcessAssetsStep","getDefaultStepValues","files","triggered","finished","done","failed","invalid","aborted","ImportFromUrlController","run","params","context","response","input","modelId","error","message","code","Array","isArray","length","cms","getModel","ex","steps","downloadStep","IImportFromUrlControllerInputStep","DOWNLOAD","step","ImportFromUrlControllerDownloadStep","execute","data","processEntriesStep","PROCESS_ENTRIES","ImportFromUrlControllerProcessEntriesStep","processAssetsStep","PROCESS_ASSETS","ImportFromUrlControllerProcessAssetsStep","concat","output","exports"],"sources":["ImportFromUrlController.ts"],"sourcesContent":["import type { ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport {\n IImportFromUrlController,\n IImportFromUrlControllerInput,\n IImportFromUrlControllerInputStep,\n IImportFromUrlControllerInputStepsStep,\n IImportFromUrlControllerOutput\n} from \"~/tasks/domain/abstractions/ImportFromUrlController\";\nimport type { Context } from \"~/types\";\nimport { ImportFromUrlControllerDownloadStep } from \"~/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep\";\nimport { ImportFromUrlControllerProcessEntriesStep } from \"./importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep\";\nimport { ImportFromUrlControllerProcessAssetsStep } from \"./importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep\";\n\nconst getDefaultStepValues = (): IImportFromUrlControllerInputStepsStep => {\n return {\n files: [],\n triggered: false,\n finished: false,\n done: [],\n failed: [],\n invalid: [],\n aborted: []\n };\n};\n\nexport class ImportFromUrlController<\n C extends Context = Context,\n I extends IImportFromUrlControllerInput = IImportFromUrlControllerInput,\n O extends IImportFromUrlControllerOutput = IImportFromUrlControllerOutput\n> implements IImportFromUrlController<C, I, O>\n{\n public async run(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>> {\n const { context, response, input } = params;\n\n if (!input.modelId) {\n return response.error({\n message: `Missing \"modelId\" in the input.`,\n code: \"MISSING_MODEL_ID\"\n });\n } else if (Array.isArray(input.files) === false || input.files.length === 0) {\n return response.error({\n message: `No files found in the provided data.`,\n code: \"NO_FILES_FOUND\"\n });\n }\n\n try {\n await context.cms.getModel(input.modelId);\n } catch (ex) {\n return response.error({\n message: `Model \"${input.modelId}\" not found.`,\n code: \"MODEL_NOT_FOUND\"\n });\n }\n\n if (!input.steps) {\n input.steps = {};\n }\n\n const downloadStep =\n input.steps[IImportFromUrlControllerInputStep.DOWNLOAD] || getDefaultStepValues();\n\n if (!downloadStep.finished) {\n const step = new ImportFromUrlControllerDownloadStep<C, I, O>();\n return await step.execute(params);\n } else if (downloadStep.failed.length) {\n return response.error({\n message: `Failed to download files.`,\n code: \"FAILED_DOWNLOADING_FILES\",\n data: input.steps\n });\n }\n\n const processEntriesStep =\n input.steps[IImportFromUrlControllerInputStep.PROCESS_ENTRIES] ||\n getDefaultStepValues();\n if (!processEntriesStep.finished) {\n const step = new ImportFromUrlControllerProcessEntriesStep<C, I, O>();\n return await step.execute(params);\n } else if (processEntriesStep.failed.length) {\n return response.error({\n message: `Failed to process entries.`,\n code: \"FAILED_PROCESSING_ENTRIES\",\n data: input.steps\n });\n }\n\n const processAssetsStep =\n input.steps[IImportFromUrlControllerInputStep.PROCESS_ASSETS] || getDefaultStepValues();\n if (!processAssetsStep.finished) {\n const step = new ImportFromUrlControllerProcessAssetsStep<C, I, O>();\n return await step.execute(params);\n } else if (processAssetsStep.failed.length) {\n return response.error({\n message: `Failed to process assets.`,\n code: \"FAILED_PROCESSING_ASSETS\",\n data: input.steps\n });\n }\n\n const files = downloadStep.files\n .concat(processEntriesStep.files)\n .concat(processAssetsStep.files);\n\n const output: IImportFromUrlControllerOutput = {\n files,\n done: [],\n invalid: [],\n failed: [],\n aborted: []\n };\n\n return response.done(output as O);\n }\n}\n"],"mappings":"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","ignoreList":[]}