@focus-reactive/payload-plugin-translator 0.1.0 → 0.1.1
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.
- package/README.md +27 -14
- package/package.json +3 -1
- package/dist/client/app/cache/CacheProvider.d.ts.map +0 -1
- package/dist/client/app/cache/CacheProvider.export.d.ts.map +0 -1
- package/dist/client/app/cache/CacheProvider.export.js.map +0 -1
- package/dist/client/app/cache/CacheProvider.js.map +0 -1
- package/dist/client/app/cache/CacheProvider.jsx +0 -11
- package/dist/client/app/config/TranslateKitConfigContext.d.ts.map +0 -1
- package/dist/client/app/config/TranslateKitConfigContext.js.map +0 -1
- package/dist/client/app/config/TranslateKitConfigContext.jsx +0 -13
- package/dist/client/app/config/index.d.ts.map +0 -1
- package/dist/client/app/config/index.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.js.map +0 -1
- package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/api/queries/useDocumentTranslation.d.ts.map +0 -1
- package/dist/client/entities/translation/api/queries/useDocumentTranslation.js.map +0 -1
- package/dist/client/entities/translation/index.d.ts.map +0 -1
- package/dist/client/entities/translation/index.js.map +0 -1
- package/dist/client/entities/translation/model/enums.d.ts.map +0 -1
- package/dist/client/entities/translation/model/enums.js.map +0 -1
- package/dist/client/entities/translation/model/types.d.ts.map +0 -1
- package/dist/client/entities/translation/model/types.js.map +0 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.jsx +0 -25
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.js.map +0 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.jsx +0 -24
- package/dist/client/entities/translation/ui/FailedTranslationStatus/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/index.js.map +0 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.jsx +0 -38
- package/dist/client/entities/translation/ui/PendingTranslationStatus/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/index.js.map +0 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.jsx +0 -32
- package/dist/client/entities/translation/ui/RunningTranslationStatus/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/index.js.map +0 -1
- package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.js.map +0 -1
- package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.jsx +0 -16
- package/dist/client/entities/translation/ui/TranslationDirection/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/TranslationDirection/index.js.map +0 -1
- package/dist/client/features/collection-translation-form/index.client.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/index.client.js.map +0 -1
- package/dist/client/features/collection-translation-form/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/index.js.map +0 -1
- package/dist/client/features/collection-translation-form/model/constants.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/model/constants.js.map +0 -1
- package/dist/client/features/collection-translation-form/model/form-model.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/model/form-model.js.map +0 -1
- package/dist/client/features/collection-translation-form/model/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/model/index.js.map +0 -1
- package/dist/client/features/collection-translation-form/model/schema.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/model/schema.js.map +0 -1
- package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.js.map +0 -1
- package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.jsx +0 -25
- package/dist/client/features/collection-translation-form/ui/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/ui/index.js.map +0 -1
- package/dist/client/features/collection-translation-popup/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-popup/index.js.map +0 -1
- package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.d.ts.map +0 -1
- package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.js.map +0 -1
- package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.jsx +0 -23
- package/dist/client/features/collection-translation-progress/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-progress/index.js.map +0 -1
- package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.d.ts.map +0 -1
- package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.js.map +0 -1
- package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.jsx +0 -47
- package/dist/client/features/document-translation-progress-failed/index.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-failed/index.js.map +0 -1
- package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.js.map +0 -1
- package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.jsx +0 -19
- package/dist/client/features/document-translation-progress-pending/index.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-pending/index.js.map +0 -1
- package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.js.map +0 -1
- package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.jsx +0 -34
- package/dist/client/features/document-translation-progress-running/index.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-running/index.js.map +0 -1
- package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.js.map +0 -1
- package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.jsx +0 -19
- package/dist/client/features/open-document-translation-popup/index.d.ts.map +0 -1
- package/dist/client/features/open-document-translation-popup/index.js.map +0 -1
- package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.d.ts.map +0 -1
- package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.js.map +0 -1
- package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.jsx +0 -15
- package/dist/client/features/translate-document-form/index.client.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/index.client.js.map +0 -1
- package/dist/client/features/translate-document-form/index.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/index.js.map +0 -1
- package/dist/client/features/translate-document-form/model/constants.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/model/constants.js.map +0 -1
- package/dist/client/features/translate-document-form/model/form-model.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/model/form-model.js.map +0 -1
- package/dist/client/features/translate-document-form/model/index.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/model/index.js.map +0 -1
- package/dist/client/features/translate-document-form/model/schema.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/model/schema.js.map +0 -1
- package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.js.map +0 -1
- package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.jsx +0 -24
- package/dist/client/features/translate-document-form/ui/index.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/ui/index.js.map +0 -1
- package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.d.ts.map +0 -1
- package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.js.map +0 -1
- package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.jsx +0 -4
- package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.d.ts.map +0 -1
- package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.js.map +0 -1
- package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.jsx +0 -3
- package/dist/client/shared/lib/assets/icons/ReloadIcon.d.ts.map +0 -1
- package/dist/client/shared/lib/assets/icons/ReloadIcon.js.map +0 -1
- package/dist/client/shared/lib/assets/icons/ReloadIcon.jsx +0 -3
- package/dist/client/shared/lib/errors/handleApiError.d.ts.map +0 -1
- package/dist/client/shared/lib/errors/handleApiError.js.map +0 -1
- package/dist/client/shared/lib/forms/handle-form-error.d.ts.map +0 -1
- package/dist/client/shared/lib/forms/handle-form-error.js.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.d.ts.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.js.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.d.ts.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.js.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useLocaleOptions.d.ts.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useLocaleOptions.js.map +0 -1
- package/dist/client/shared/lib/utils/errors/handleApiError.d.ts.map +0 -1
- package/dist/client/shared/lib/utils/errors/handleApiError.js.map +0 -1
- package/dist/client/shared/lib/utils/react/useToggle.d.ts.map +0 -1
- package/dist/client/shared/lib/utils/react/useToggle.js.map +0 -1
- package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.d.ts.map +0 -1
- package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.js.map +0 -1
- package/dist/client/shared/providers/CacheClientProvider/index.d.ts.map +0 -1
- package/dist/client/shared/providers/CacheClientProvider/index.js.map +0 -1
- package/dist/client/shared/types/AccessGuard.d.ts.map +0 -1
- package/dist/client/shared/types/AccessGuard.js.map +0 -1
- package/dist/client/shared/types/PayloadComponentExport.d.ts.map +0 -1
- package/dist/client/shared/types/PayloadComponentExport.js.map +0 -1
- package/dist/client/shared/ui/Alert/Alert.d.ts.map +0 -1
- package/dist/client/shared/ui/Alert/Alert.js.map +0 -1
- package/dist/client/shared/ui/Alert/Alert.jsx +0 -33
- package/dist/client/shared/ui/Alert/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Alert/index.js.map +0 -1
- package/dist/client/shared/ui/Button/Button.d.ts.map +0 -1
- package/dist/client/shared/ui/Button/Button.js.map +0 -1
- package/dist/client/shared/ui/Button/Button.jsx +0 -35
- package/dist/client/shared/ui/Button/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Button/index.js.map +0 -1
- package/dist/client/shared/ui/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/client/shared/ui/Checkbox/Checkbox.js.map +0 -1
- package/dist/client/shared/ui/Checkbox/Checkbox.jsx +0 -6
- package/dist/client/shared/ui/Checkbox/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Checkbox/index.js.map +0 -1
- package/dist/client/shared/ui/ColorIndicator/ColorIndicator.d.ts.map +0 -1
- package/dist/client/shared/ui/ColorIndicator/ColorIndicator.js.map +0 -1
- package/dist/client/shared/ui/ColorIndicator/ColorIndicator.jsx +0 -7
- package/dist/client/shared/ui/ColorIndicator/index.d.ts.map +0 -1
- package/dist/client/shared/ui/ColorIndicator/index.js.map +0 -1
- package/dist/client/shared/ui/Description/Description.d.ts.map +0 -1
- package/dist/client/shared/ui/Description/Description.js.map +0 -1
- package/dist/client/shared/ui/Description/Description.jsx +0 -7
- package/dist/client/shared/ui/Description/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Description/index.js.map +0 -1
- package/dist/client/shared/ui/Divider/Divider.d.ts.map +0 -1
- package/dist/client/shared/ui/Divider/Divider.js.map +0 -1
- package/dist/client/shared/ui/Divider/Divider.jsx +0 -7
- package/dist/client/shared/ui/Divider/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Divider/index.js.map +0 -1
- package/dist/client/shared/ui/Label/Label.d.ts.map +0 -1
- package/dist/client/shared/ui/Label/Label.js.map +0 -1
- package/dist/client/shared/ui/Label/Label.jsx +0 -9
- package/dist/client/shared/ui/Label/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Label/index.js.map +0 -1
- package/dist/client/shared/ui/Loading/Loading.d.ts.map +0 -1
- package/dist/client/shared/ui/Loading/Loading.js.map +0 -1
- package/dist/client/shared/ui/Loading/Loading.jsx +0 -11
- package/dist/client/shared/ui/Loading/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Loading/index.js.map +0 -1
- package/dist/client/shared/ui/Popup/Popup.d.ts.map +0 -1
- package/dist/client/shared/ui/Popup/Popup.js.map +0 -1
- package/dist/client/shared/ui/Popup/Popup.jsx +0 -13
- package/dist/client/shared/ui/Popup/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Popup/index.js.map +0 -1
- package/dist/client/shared/ui/ProgressBar/ProgressBar.d.ts.map +0 -1
- package/dist/client/shared/ui/ProgressBar/ProgressBar.js.map +0 -1
- package/dist/client/shared/ui/ProgressBar/ProgressBar.jsx +0 -11
- package/dist/client/shared/ui/ProgressBar/index.d.ts.map +0 -1
- package/dist/client/shared/ui/ProgressBar/index.js.map +0 -1
- package/dist/client/shared/ui/Select/Select.d.ts.map +0 -1
- package/dist/client/shared/ui/Select/Select.js.map +0 -1
- package/dist/client/shared/ui/Select/Select.jsx +0 -41
- package/dist/client/shared/ui/Select/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Select/index.js.map +0 -1
- package/dist/client/shared/ui/StatusCounter/StatusCounter.d.ts.map +0 -1
- package/dist/client/shared/ui/StatusCounter/StatusCounter.js.map +0 -1
- package/dist/client/shared/ui/StatusCounter/StatusCounter.jsx +0 -26
- package/dist/client/shared/ui/StatusCounter/index.d.ts.map +0 -1
- package/dist/client/shared/ui/StatusCounter/index.js.map +0 -1
- package/dist/client/shared/ui/StatusIndicator/StatusIndicator.d.ts.map +0 -1
- package/dist/client/shared/ui/StatusIndicator/StatusIndicator.js.map +0 -1
- package/dist/client/shared/ui/StatusIndicator/StatusIndicator.jsx +0 -10
- package/dist/client/shared/ui/StatusIndicator/index.d.ts.map +0 -1
- package/dist/client/shared/ui/StatusIndicator/index.js.map +0 -1
- package/dist/client/shared/ui/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/client/shared/ui/Tooltip/Tooltip.js.map +0 -1
- package/dist/client/shared/ui/Tooltip/Tooltip.jsx +0 -16
- package/dist/client/shared/ui/Tooltip/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Tooltip/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.js.map +0 -1
- package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.jsx +0 -24
- package/dist/client/shared/ui/form/FormCheckbox/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormCheckbox/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.js.map +0 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.jsx +0 -21
- package/dist/client/shared/ui/form/FormCheckboxPublish/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelect/FormSelect.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelect/FormSelect.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelect/FormSelect.jsx +0 -44
- package/dist/client/shared/ui/form/FormSelect/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelect/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.jsx +0 -6
- package/dist/client/shared/ui/form/FormSelectLocale/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelectLocale/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.jsx +0 -25
- package/dist/client/shared/ui/form/FormSelectStrategy/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/index.js.map +0 -1
- package/dist/client/shared/utils/componentPath.d.ts.map +0 -1
- package/dist/client/shared/utils/componentPath.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/index.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/index.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.jsx +0 -11
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.jsx +0 -55
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.jsx +0 -17
- package/dist/client/widgets/bulk-translation-dashboard/ui/index.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/index.js.map +0 -1
- package/dist/client/widgets/translate-document/index.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/index.js.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.export.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.export.js.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.js.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.jsx +0 -55
- package/dist/client/widgets/translate-document/ui/TranslateDocument.server.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.server.js.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.server.jsx +0 -16
- package/dist/client/widgets/translate-document/ui/index.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/ui/index.js.map +0 -1
- package/dist/field-config.d.ts.map +0 -1
- package/dist/field-config.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/plugin.d.ts.map +0 -1
- package/dist/plugin.js.map +0 -1
- package/dist/server/features/_lib/collection-utils.d.ts.map +0 -1
- package/dist/server/features/_lib/collection-utils.js.map +0 -1
- package/dist/server/features/_lib/index.d.ts.map +0 -1
- package/dist/server/features/_lib/index.js.map +0 -1
- package/dist/server/features/cancel/handler.d.ts.map +0 -1
- package/dist/server/features/cancel/handler.js.map +0 -1
- package/dist/server/features/cancel/handler.test.d.ts +0 -2
- package/dist/server/features/cancel/handler.test.d.ts.map +0 -1
- package/dist/server/features/cancel/handler.test.js +0 -63
- package/dist/server/features/cancel/index.d.ts.map +0 -1
- package/dist/server/features/cancel/index.js.map +0 -1
- package/dist/server/features/cancel/model.d.ts.map +0 -1
- package/dist/server/features/cancel/model.js.map +0 -1
- package/dist/server/features/cancel/route.d.ts.map +0 -1
- package/dist/server/features/cancel/route.js.map +0 -1
- package/dist/server/features/cancel-by-collection/handler.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/handler.js.map +0 -1
- package/dist/server/features/cancel-by-collection/handler.test.d.ts +0 -2
- package/dist/server/features/cancel-by-collection/handler.test.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/handler.test.js +0 -126
- package/dist/server/features/cancel-by-collection/index.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/index.js.map +0 -1
- package/dist/server/features/cancel-by-collection/model.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/model.js.map +0 -1
- package/dist/server/features/cancel-by-collection/route.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/route.js.map +0 -1
- package/dist/server/features/enqueue-translation/handler.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/handler.js.map +0 -1
- package/dist/server/features/enqueue-translation/handler.test.d.ts +0 -2
- package/dist/server/features/enqueue-translation/handler.test.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/handler.test.js +0 -115
- package/dist/server/features/enqueue-translation/index.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/index.js.map +0 -1
- package/dist/server/features/enqueue-translation/model.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/model.js.map +0 -1
- package/dist/server/features/enqueue-translation/route.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/route.js.map +0 -1
- package/dist/server/features/get-collection-status/handler.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/handler.js.map +0 -1
- package/dist/server/features/get-collection-status/handler.test.d.ts +0 -2
- package/dist/server/features/get-collection-status/handler.test.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/handler.test.js +0 -108
- package/dist/server/features/get-collection-status/index.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/index.js.map +0 -1
- package/dist/server/features/get-collection-status/model.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/model.js.map +0 -1
- package/dist/server/features/get-collection-status/route.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/route.js.map +0 -1
- package/dist/server/features/get-document-status/handler.d.ts.map +0 -1
- package/dist/server/features/get-document-status/handler.js.map +0 -1
- package/dist/server/features/get-document-status/handler.test.d.ts +0 -2
- package/dist/server/features/get-document-status/handler.test.d.ts.map +0 -1
- package/dist/server/features/get-document-status/handler.test.js +0 -138
- package/dist/server/features/get-document-status/index.d.ts.map +0 -1
- package/dist/server/features/get-document-status/index.js.map +0 -1
- package/dist/server/features/get-document-status/model.d.ts.map +0 -1
- package/dist/server/features/get-document-status/model.js.map +0 -1
- package/dist/server/features/get-document-status/route.d.ts.map +0 -1
- package/dist/server/features/get-document-status/route.js.map +0 -1
- package/dist/server/features/index.d.ts.map +0 -1
- package/dist/server/features/index.js.map +0 -1
- package/dist/server/features/run-translation/handler.d.ts.map +0 -1
- package/dist/server/features/run-translation/handler.js.map +0 -1
- package/dist/server/features/run-translation/handler.test.d.ts +0 -2
- package/dist/server/features/run-translation/handler.test.d.ts.map +0 -1
- package/dist/server/features/run-translation/handler.test.js +0 -98
- package/dist/server/features/run-translation/index.d.ts.map +0 -1
- package/dist/server/features/run-translation/index.js.map +0 -1
- package/dist/server/features/run-translation/model.d.ts.map +0 -1
- package/dist/server/features/run-translation/model.js.map +0 -1
- package/dist/server/features/run-translation/route.d.ts.map +0 -1
- package/dist/server/features/run-translation/route.js.map +0 -1
- package/dist/server/features/translate-document/handler.d.ts.map +0 -1
- package/dist/server/features/translate-document/handler.js.map +0 -1
- package/dist/server/features/translate-document/handler.test.d.ts +0 -2
- package/dist/server/features/translate-document/handler.test.d.ts.map +0 -1
- package/dist/server/features/translate-document/handler.test.js +0 -171
- package/dist/server/features/translate-document/index.d.ts.map +0 -1
- package/dist/server/features/translate-document/index.js.map +0 -1
- package/dist/server/features/translate-document/model.d.ts.map +0 -1
- package/dist/server/features/translate-document/model.js.map +0 -1
- package/dist/server/features/translate-document/task.d.ts.map +0 -1
- package/dist/server/features/translate-document/task.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/modules/index.d.ts.map +0 -1
- package/dist/server/modules/index.js.map +0 -1
- package/dist/server/modules/task-runner/TaskRunner.interface.d.ts.map +0 -1
- package/dist/server/modules/task-runner/TaskRunner.interface.js.map +0 -1
- package/dist/server/modules/task-runner/TaskRunnerProvider.interface.d.ts.map +0 -1
- package/dist/server/modules/task-runner/TaskRunnerProvider.interface.js.map +0 -1
- package/dist/server/modules/task-runner/index.d.ts.map +0 -1
- package/dist/server/modules/task-runner/index.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts +0 -2
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.js +0 -188
- package/dist/server/modules/task-runner/payload-jobs-runner/index.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/index.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.d.ts +0 -2
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.js +0 -169
- package/dist/server/modules/task-runner/payload-jobs-runner/types.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/types.js.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.js.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.js.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.d.ts +0 -2
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.js +0 -148
- package/dist/server/modules/task-runner/sync-runner/index.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/index.js.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/types.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/types.js.map +0 -1
- package/dist/server/modules/task-runner/types.d.ts.map +0 -1
- package/dist/server/modules/task-runner/types.js.map +0 -1
- package/dist/server/modules/translation-pipeline/TranslationPipeline.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/TranslationPipeline.js.map +0 -1
- package/dist/server/modules/translation-pipeline/TranslationPipeline.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/TranslationPipeline.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/TranslationPipeline.test.js +0 -552
- package/dist/server/modules/translation-pipeline/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.js +0 -294
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.js +0 -737
- package/dist/server/modules/translation-pipeline/stages/field-collector/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.js +0 -396
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.js +0 -110
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.js.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.js +0 -36
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.js.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.js +0 -77
- package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.js.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/FieldChunk.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/FieldChunk.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/Pipeline.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/Pipeline.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/PipelineContext.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/PipelineContext.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/TextChunk.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/TextChunk.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/index.js.map +0 -1
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.d.ts.map +0 -1
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.js.map +0 -1
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.d.ts +0 -2
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.d.ts.map +0 -1
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.js +0 -214
- package/dist/server/modules/translation-providers/TranslationProvider.interface.d.ts.map +0 -1
- package/dist/server/modules/translation-providers/TranslationProvider.interface.js.map +0 -1
- package/dist/server/modules/translation-providers/index.d.ts.map +0 -1
- package/dist/server/modules/translation-providers/index.js.map +0 -1
- package/dist/server/shared/access/AnyAccessGuard.d.ts.map +0 -1
- package/dist/server/shared/access/AnyAccessGuard.js.map +0 -1
- package/dist/server/shared/access/handler.d.ts.map +0 -1
- package/dist/server/shared/access/handler.js.map +0 -1
- package/dist/server/shared/access/index.d.ts.map +0 -1
- package/dist/server/shared/access/index.js.map +0 -1
- package/dist/server/shared/access/types.d.ts.map +0 -1
- package/dist/server/shared/access/types.js.map +0 -1
- package/dist/server/shared/field-config/getFieldConfig.d.ts.map +0 -1
- package/dist/server/shared/field-config/getFieldConfig.js.map +0 -1
- package/dist/server/shared/field-config/getFieldConfig.test.d.ts +0 -2
- package/dist/server/shared/field-config/getFieldConfig.test.d.ts.map +0 -1
- package/dist/server/shared/field-config/getFieldConfig.test.js +0 -74
- package/dist/server/shared/field-config/index.d.ts.map +0 -1
- package/dist/server/shared/field-config/index.js.map +0 -1
- package/dist/server/shared/field-config/types.d.ts.map +0 -1
- package/dist/server/shared/field-config/types.js.map +0 -1
- package/dist/server/shared/guards/collection-guards.d.ts.map +0 -1
- package/dist/server/shared/guards/collection-guards.js.map +0 -1
- package/dist/server/shared/guards/field-guards.d.ts.map +0 -1
- package/dist/server/shared/guards/field-guards.js.map +0 -1
- package/dist/server/shared/guards/field-guards.test.d.ts +0 -2
- package/dist/server/shared/guards/field-guards.test.d.ts.map +0 -1
- package/dist/server/shared/guards/field-guards.test.js +0 -166
- package/dist/server/shared/guards/index.d.ts.map +0 -1
- package/dist/server/shared/guards/index.js.map +0 -1
- package/dist/server/shared/http/ServerResponse.d.ts.map +0 -1
- package/dist/server/shared/http/ServerResponse.js.map +0 -1
- package/dist/server/shared/http/ServerResponse.test.d.ts +0 -2
- package/dist/server/shared/http/ServerResponse.test.d.ts.map +0 -1
- package/dist/server/shared/http/ServerResponse.test.js +0 -161
- package/dist/server/shared/http/index.d.ts.map +0 -1
- package/dist/server/shared/http/index.js.map +0 -1
- package/dist/server/shared/http/withAccessCheck.d.ts.map +0 -1
- package/dist/server/shared/http/withAccessCheck.js.map +0 -1
- package/dist/server/shared/http/withAccessCheck.test.d.ts +0 -2
- package/dist/server/shared/http/withAccessCheck.test.d.ts.map +0 -1
- package/dist/server/shared/http/withAccessCheck.test.js +0 -46
- package/dist/server/shared/http/withErrorHandler.d.ts.map +0 -1
- package/dist/server/shared/http/withErrorHandler.js.map +0 -1
- package/dist/server/shared/http/withErrorHandler.test.d.ts +0 -2
- package/dist/server/shared/http/withErrorHandler.test.d.ts.map +0 -1
- package/dist/server/shared/http/withErrorHandler.test.js +0 -69
- package/dist/server/shared/index.d.ts.map +0 -1
- package/dist/server/shared/index.js.map +0 -1
- package/dist/server/shared/lexical/collectTextNodes.d.ts.map +0 -1
- package/dist/server/shared/lexical/collectTextNodes.js.map +0 -1
- package/dist/server/shared/lexical/collectTextNodes.test.d.ts +0 -2
- package/dist/server/shared/lexical/collectTextNodes.test.d.ts.map +0 -1
- package/dist/server/shared/lexical/collectTextNodes.test.js +0 -120
- package/dist/server/shared/lexical/guards.d.ts.map +0 -1
- package/dist/server/shared/lexical/guards.js.map +0 -1
- package/dist/server/shared/lexical/guards.test.d.ts +0 -2
- package/dist/server/shared/lexical/guards.test.d.ts.map +0 -1
- package/dist/server/shared/lexical/guards.test.js +0 -160
- package/dist/server/shared/lexical/index.d.ts.map +0 -1
- package/dist/server/shared/lexical/index.js.map +0 -1
- package/dist/server/shared/lexical/isEmptyRichText.d.ts.map +0 -1
- package/dist/server/shared/lexical/isEmptyRichText.js.map +0 -1
- package/dist/server/shared/lexical/isEmptyRichText.test.d.ts +0 -2
- package/dist/server/shared/lexical/isEmptyRichText.test.d.ts.map +0 -1
- package/dist/server/shared/lexical/isEmptyRichText.test.js +0 -251
- package/dist/server/shared/lexical/traverseLexicalTree.d.ts.map +0 -1
- package/dist/server/shared/lexical/traverseLexicalTree.js.map +0 -1
- package/dist/server/shared/lexical/traverseLexicalTree.test.d.ts +0 -2
- package/dist/server/shared/lexical/traverseLexicalTree.test.d.ts.map +0 -1
- package/dist/server/shared/lexical/traverseLexicalTree.test.js +0 -112
- package/dist/server/shared/lexical/types.d.ts.map +0 -1
- package/dist/server/shared/lexical/types.js.map +0 -1
- package/dist/server/shared/utils/LazyMap.d.ts.map +0 -1
- package/dist/server/shared/utils/LazyMap.js.map +0 -1
- package/dist/server/shared/utils/LazyMap.test.d.ts +0 -2
- package/dist/server/shared/utils/LazyMap.test.d.ts.map +0 -1
- package/dist/server/shared/utils/LazyMap.test.js +0 -262
- package/dist/server/shared/utils/filterLocalizedFields.d.ts.map +0 -1
- package/dist/server/shared/utils/filterLocalizedFields.js.map +0 -1
- package/dist/server/shared/utils/filterLocalizedFields.test.d.ts +0 -2
- package/dist/server/shared/utils/filterLocalizedFields.test.d.ts.map +0 -1
- package/dist/server/shared/utils/filterLocalizedFields.test.js +0 -338
- package/dist/server/shared/utils/getByPath.d.ts.map +0 -1
- package/dist/server/shared/utils/getByPath.js.map +0 -1
- package/dist/server/shared/utils/getByPath.test.d.ts +0 -2
- package/dist/server/shared/utils/getByPath.test.d.ts.map +0 -1
- package/dist/server/shared/utils/getByPath.test.js +0 -33
- package/dist/server/shared/utils/index.d.ts.map +0 -1
- package/dist/server/shared/utils/index.js.map +0 -1
- package/dist/server/shared/utils/isEmpty.d.ts.map +0 -1
- package/dist/server/shared/utils/isEmpty.js.map +0 -1
- package/dist/server/shared/utils/isEmpty.test.d.ts +0 -2
- package/dist/server/shared/utils/isEmpty.test.d.ts.map +0 -1
- package/dist/server/shared/utils/isEmpty.test.js +0 -60
- package/dist/server/shared/utils/isObject.d.ts.map +0 -1
- package/dist/server/shared/utils/isObject.js.map +0 -1
- package/dist/server/shared/utils/isObject.test.d.ts +0 -2
- package/dist/server/shared/utils/isObject.test.d.ts.map +0 -1
- package/dist/server/shared/utils/isObject.test.js +0 -57
- package/dist/server/shared/utils/normalizePath.d.ts.map +0 -1
- package/dist/server/shared/utils/normalizePath.js.map +0 -1
- package/dist/server/shared/utils/normalizePath.test.d.ts +0 -2
- package/dist/server/shared/utils/normalizePath.test.d.ts.map +0 -1
- package/dist/server/shared/utils/normalizePath.test.js +0 -33
- package/dist/server/shared/utils/pipe.d.ts.map +0 -1
- package/dist/server/shared/utils/pipe.js.map +0 -1
- package/dist/server/shared/utils/pipe.test.d.ts +0 -2
- package/dist/server/shared/utils/pipe.test.d.ts.map +0 -1
- package/dist/server/shared/utils/pipe.test.js +0 -55
- package/dist/server/shared/utils/setByPath.d.ts.map +0 -1
- package/dist/server/shared/utils/setByPath.js.map +0 -1
- package/dist/server/shared/utils/setByPath.test.d.ts +0 -2
- package/dist/server/shared/utils/setByPath.test.d.ts.map +0 -1
- package/dist/server/shared/utils/setByPath.test.js +0 -46
- package/dist/types/AccessGuard.d.ts.map +0 -1
- package/dist/types/AccessGuard.js.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/vitest-env.d.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/server/features/enqueue-translation/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,SAAe,GACtB,QAAQ,CAQV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/enqueue-translation/route.ts"],"sourcesContent":["import type { Endpoint } from 'payload'\n\nimport { withErrorHandler, withAccessCheck } from '../../shared'\nimport type { AccessGuard } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport type { EnqueueConfig } from './model'\nimport { EnqueueTranslationHandler } from './handler'\n\n/**\n * Creates the enqueue translation endpoint\n */\nexport function createEnqueueRoute(\n taskRunnerFactory: TaskRunnerProvider,\n config: EnqueueConfig,\n access?: AccessGuard,\n basePath = '/translate',\n): Endpoint {\n const handler = new EnqueueTranslationHandler(config, taskRunnerFactory)\n\n return {\n path: `${basePath}/enqueue`,\n method: 'post',\n handler: withAccessCheck(withErrorHandler(handler.handle.bind(handler)), access),\n }\n}\n"],"names":["withErrorHandler","withAccessCheck","EnqueueTranslationHandler","createEnqueueRoute","taskRunnerFactory","config","access","basePath","handler","path","method","handle","bind"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,eAAe,QAAQ,eAAc;AAKhE,SAASC,yBAAyB,QAAQ,YAAW;AAErD;;CAEC,GACD,OAAO,SAASC,mBACdC,iBAAqC,EACrCC,MAAqB,EACrBC,MAAoB,EACpBC,WAAW,YAAY;IAEvB,MAAMC,UAAU,IAAIN,0BAA0BG,QAAQD;IAEtD,OAAO;QACLK,MAAM,GAAGF,SAAS,QAAQ,CAAC;QAC3BG,QAAQ;QACRF,SAASP,gBAAgBD,iBAAiBQ,QAAQG,MAAM,CAACC,IAAI,CAACJ,WAAWF;IAC3E;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-collection-status/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,OAAO,EAAkC,KAAK,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExF;;GAEG;AACH,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,MAAM,EAAE,yBAAyB,EACjC,iBAAiB,EAAE,kBAAkB;IAGlD,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAoBrD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/get-collection-status/handler.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { ServerResponse } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\nimport { isCollectionAvailable } from '../_lib/collection-utils'\n\nimport { GetCollectionStatusInputSchema, type GetCollectionStatusConfig } from './model'\n\n/**\n * Gets translation status for all documents in a collection\n */\nexport class GetCollectionStatusHandler {\n constructor(\n private readonly config: GetCollectionStatusConfig,\n private readonly taskRunnerFactory: TaskRunnerProvider,\n ) {}\n\n async handle(req: PayloadRequest): Promise<Response> {\n const validationResult = GetCollectionStatusInputSchema.safeParse(req.routeParams)\n if (validationResult.error) return ServerResponse.validationError(validationResult.error.errors)\n\n const collectionSlug = isCollectionAvailable(\n validationResult.data.collection_slug,\n this.config.availableCollections,\n )\n if (!collectionSlug) return ServerResponse.badRequest('Collection not available for translation')\n\n const runner = this.taskRunnerFactory.create(req.payload)\n const tasks = await runner.findByCollection(collectionSlug)\n\n return ServerResponse.success({\n docs: tasks.map((task) => ({\n id: task.id,\n status: task.status,\n })),\n })\n }\n}\n"],"names":["ServerResponse","isCollectionAvailable","GetCollectionStatusInputSchema","GetCollectionStatusHandler","config","taskRunnerFactory","handle","req","validationResult","safeParse","routeParams","error","validationError","errors","collectionSlug","data","collection_slug","availableCollections","badRequest","runner","create","payload","tasks","findByCollection","success","docs","map","task","id","status"],"mappings":"AAEA,SAASA,cAAc,QAAQ,eAAc;AAE7C,SAASC,qBAAqB,QAAQ,2BAA0B;AAEhE,SAASC,8BAA8B,QAAwC,UAAS;AAExF;;CAEC,GACD,OAAO,MAAMC;;;IACX,YACE,AAAiBC,MAAiC,EAClD,AAAiBC,iBAAqC,CACtD;aAFiBD,SAAAA;aACAC,oBAAAA;IAChB;IAEH,MAAMC,OAAOC,GAAmB,EAAqB;QACnD,MAAMC,mBAAmBN,+BAA+BO,SAAS,CAACF,IAAIG,WAAW;QACjF,IAAIF,iBAAiBG,KAAK,EAAE,OAAOX,eAAeY,eAAe,CAACJ,iBAAiBG,KAAK,CAACE,MAAM;QAE/F,MAAMC,iBAAiBb,sBACrBO,iBAAiBO,IAAI,CAACC,eAAe,EACrC,IAAI,CAACZ,MAAM,CAACa,oBAAoB;QAElC,IAAI,CAACH,gBAAgB,OAAOd,eAAekB,UAAU,CAAC;QAEtD,MAAMC,SAAS,IAAI,CAACd,iBAAiB,CAACe,MAAM,CAACb,IAAIc,OAAO;QACxD,MAAMC,QAAQ,MAAMH,OAAOI,gBAAgB,CAACT;QAE5C,OAAOd,eAAewB,OAAO,CAAC;YAC5BC,MAAMH,MAAMI,GAAG,CAAC,CAACC,OAAU,CAAA;oBACzBC,IAAID,KAAKC,EAAE;oBACXC,QAAQF,KAAKE,MAAM;gBACrB,CAAA;QACF;IACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-collection-status/handler.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { GetCollectionStatusHandler } from './handler';
|
|
3
|
-
describe('GetCollectionStatusHandler', () => {
|
|
4
|
-
let handler;
|
|
5
|
-
let mockTaskRunner;
|
|
6
|
-
let mockTaskRunnerFactory;
|
|
7
|
-
let config;
|
|
8
|
-
const createMockTask = (overrides = {}) => ({
|
|
9
|
-
id: 'task-123',
|
|
10
|
-
status: 'completed',
|
|
11
|
-
input: {
|
|
12
|
-
collectionSlug: 'posts',
|
|
13
|
-
collectionId: 'doc-123',
|
|
14
|
-
sourceLng: 'en',
|
|
15
|
-
targetLng: 'de',
|
|
16
|
-
strategy: 'overwrite',
|
|
17
|
-
publishOnTranslation: false,
|
|
18
|
-
},
|
|
19
|
-
createdAt: '2024-01-01T00:00:00Z',
|
|
20
|
-
updatedAt: '2024-01-01T01:00:00Z',
|
|
21
|
-
completedAt: '2024-01-01T01:00:00Z',
|
|
22
|
-
cancelled: false,
|
|
23
|
-
...overrides,
|
|
24
|
-
});
|
|
25
|
-
const createMockRequest = (params = {}) => ({
|
|
26
|
-
payload: {},
|
|
27
|
-
routeParams: params,
|
|
28
|
-
});
|
|
29
|
-
beforeEach(() => {
|
|
30
|
-
mockTaskRunner = {
|
|
31
|
-
enqueue: vi.fn(),
|
|
32
|
-
cancel: vi.fn(),
|
|
33
|
-
run: vi.fn(),
|
|
34
|
-
findByCollection: vi.fn().mockResolvedValue([]),
|
|
35
|
-
};
|
|
36
|
-
mockTaskRunnerFactory = {
|
|
37
|
-
create: vi.fn().mockReturnValue(mockTaskRunner),
|
|
38
|
-
configure: vi.fn(),
|
|
39
|
-
};
|
|
40
|
-
config = {
|
|
41
|
-
availableCollections: new Set(['posts', 'pages']),
|
|
42
|
-
};
|
|
43
|
-
handler = new GetCollectionStatusHandler(config, mockTaskRunnerFactory);
|
|
44
|
-
});
|
|
45
|
-
describe('validation', () => {
|
|
46
|
-
it('returns validation error for missing collection_slug', async () => {
|
|
47
|
-
const req = createMockRequest({});
|
|
48
|
-
const response = await handler.handle(req);
|
|
49
|
-
expect(response.status).toBe(400);
|
|
50
|
-
const body = await response.json();
|
|
51
|
-
expect(body.message).toBe('Validation error');
|
|
52
|
-
});
|
|
53
|
-
it('returns validation error for empty collection_slug', async () => {
|
|
54
|
-
const req = createMockRequest({ collection_slug: '' });
|
|
55
|
-
const response = await handler.handle(req);
|
|
56
|
-
expect(response.status).toBe(400);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('collection availability', () => {
|
|
60
|
-
it('returns bad request for unavailable collection', async () => {
|
|
61
|
-
const req = createMockRequest({ collection_slug: 'users' });
|
|
62
|
-
const response = await handler.handle(req);
|
|
63
|
-
expect(response.status).toBe(400);
|
|
64
|
-
const body = await response.json();
|
|
65
|
-
expect(body.message).toBe('Collection not available for translation');
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
describe('success responses', () => {
|
|
69
|
-
it('returns empty docs array when no tasks exist', async () => {
|
|
70
|
-
;
|
|
71
|
-
mockTaskRunner.findByCollection.mockResolvedValue([]);
|
|
72
|
-
const req = createMockRequest({ collection_slug: 'posts' });
|
|
73
|
-
const response = await handler.handle(req);
|
|
74
|
-
expect(response.status).toBe(200);
|
|
75
|
-
const body = await response.json();
|
|
76
|
-
expect(body.data).toEqual({ docs: [] });
|
|
77
|
-
});
|
|
78
|
-
it('returns task statuses for all documents in collection', async () => {
|
|
79
|
-
const tasks = [
|
|
80
|
-
createMockTask({ id: 'task-1', status: 'completed' }),
|
|
81
|
-
createMockTask({ id: 'task-2', status: 'pending' }),
|
|
82
|
-
createMockTask({ id: 'task-3', status: 'running' }),
|
|
83
|
-
];
|
|
84
|
-
mockTaskRunner.findByCollection.mockResolvedValue(tasks);
|
|
85
|
-
const req = createMockRequest({ collection_slug: 'posts' });
|
|
86
|
-
const response = await handler.handle(req);
|
|
87
|
-
expect(response.status).toBe(200);
|
|
88
|
-
const body = await response.json();
|
|
89
|
-
expect(body.data.docs).toEqual([
|
|
90
|
-
{ id: 'task-1', status: 'completed' },
|
|
91
|
-
{ id: 'task-2', status: 'pending' },
|
|
92
|
-
{ id: 'task-3', status: 'running' },
|
|
93
|
-
]);
|
|
94
|
-
});
|
|
95
|
-
it('calls findByCollection with correct collection slug', async () => {
|
|
96
|
-
const req = createMockRequest({ collection_slug: 'pages' });
|
|
97
|
-
await handler.handle(req);
|
|
98
|
-
expect(mockTaskRunner.findByCollection).toHaveBeenCalledWith('pages');
|
|
99
|
-
});
|
|
100
|
-
it('creates task runner with request payload', async () => {
|
|
101
|
-
const mockPayload = { collections: {} };
|
|
102
|
-
const req = createMockRequest({ collection_slug: 'posts' });
|
|
103
|
-
req.payload = mockPayload;
|
|
104
|
-
await handler.handle(req);
|
|
105
|
-
expect(mockTaskRunnerFactory.create).toHaveBeenCalledWith(mockPayload);
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-collection-status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/get-collection-status/index.ts"],"sourcesContent":["export { createGetCollectionStatusRoute } from './route'\n"],"names":["createGetCollectionStatusRoute"],"mappings":"AAAA,SAASA,8BAA8B,QAAQ,UAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-collection-status/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE3D;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;EAEzC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAErF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,oBAAoB,EAAE,CAAA;CAC7B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,oBAAoB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1C,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/get-collection-status/model.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { CollectionSlug } from 'payload'\n\nimport type { TaskStatus } from '../../modules/task-runner'\n\n/**\n * Input validation schema\n */\nexport const GetCollectionStatusInputSchema = z.object({\n collection_slug: z.string().nonempty(),\n})\n\nexport type GetCollectionStatusInput = z.infer<typeof GetCollectionStatusInputSchema>\n\n/**\n * Summary item for a single document\n */\nexport type CollectionStatusItem = {\n id: string\n status: TaskStatus\n}\n\n/**\n * Handler output\n */\nexport type GetCollectionStatusOutput = {\n docs: CollectionStatusItem[]\n}\n\n/**\n * Handler configuration\n */\nexport type GetCollectionStatusConfig = {\n availableCollections: Set<CollectionSlug>\n}\n"],"names":["z","GetCollectionStatusInputSchema","object","collection_slug","string","nonempty"],"mappings":"AAAA,SAASA,CAAC,QAAQ,MAAK;AAKvB;;CAEC,GACD,OAAO,MAAMC,iCAAiCD,EAAEE,MAAM,CAAC;IACrDC,iBAAiBH,EAAEI,MAAM,GAAGC,QAAQ;AACtC,GAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-collection-status/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,yBAAyB,EACjC,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,SAAe,GACtB,QAAQ,CAQV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/get-collection-status/route.ts"],"sourcesContent":["import type { Endpoint } from 'payload'\n\nimport { withErrorHandler, withAccessCheck } from '../../shared'\nimport type { AccessGuard } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport type { GetCollectionStatusConfig } from './model'\nimport { GetCollectionStatusHandler } from './handler'\n\n/**\n * Creates the get collection status endpoint\n */\nexport function createGetCollectionStatusRoute(\n config: GetCollectionStatusConfig,\n taskRunnerFactory: TaskRunnerProvider,\n access?: AccessGuard,\n basePath = '/translate',\n): Endpoint {\n const handler = new GetCollectionStatusHandler(config, taskRunnerFactory)\n\n return {\n path: `${basePath}/collection/:collection_slug`,\n method: 'get',\n handler: withAccessCheck(withErrorHandler(handler.handle.bind(handler)), access),\n }\n}\n"],"names":["withErrorHandler","withAccessCheck","GetCollectionStatusHandler","createGetCollectionStatusRoute","config","taskRunnerFactory","access","basePath","handler","path","method","handle","bind"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,eAAe,QAAQ,eAAc;AAKhE,SAASC,0BAA0B,QAAQ,YAAW;AAEtD;;CAEC,GACD,OAAO,SAASC,+BACdC,MAAiC,EACjCC,iBAAqC,EACrCC,MAAoB,EACpBC,WAAW,YAAY;IAEvB,MAAMC,UAAU,IAAIN,2BAA2BE,QAAQC;IAEvD,OAAO;QACLI,MAAM,GAAGF,SAAS,4BAA4B,CAAC;QAC/CG,QAAQ;QACRF,SAASP,gBAAgBD,iBAAiBQ,QAAQG,MAAM,CAACC,IAAI,CAACJ,WAAWF;IAC3E;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-document-status/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,OAAO,EAAgC,KAAK,uBAAuB,EAAyB,MAAM,SAAS,CAAA;AAE3G;;GAEG;AACH,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,MAAM,EAAE,uBAAuB,EAC/B,iBAAiB,EAAE,kBAAkB;IAGlD,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAcrD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/get-document-status/handler.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { ServerResponse } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\nimport { isCollectionAvailable } from '../_lib/collection-utils'\n\nimport { GetDocumentStatusInputSchema, type GetDocumentStatusConfig, taskToJobStatusOutput } from './model'\n\n/**\n * Gets the translation status for a specific document\n */\nexport class GetDocumentStatusHandler {\n constructor(\n private readonly config: GetDocumentStatusConfig,\n private readonly taskRunnerFactory: TaskRunnerProvider,\n ) {}\n\n async handle(req: PayloadRequest): Promise<Response> {\n const validationResult = GetDocumentStatusInputSchema.safeParse(req.routeParams)\n if (validationResult.error) return ServerResponse.validationError(validationResult.error.errors)\n\n const { collection_slug, collection_id } = validationResult.data\n\n const collectionSlug = isCollectionAvailable(collection_slug, this.config.availableCollections)\n if (!collectionSlug) return ServerResponse.badRequest('Collection not available for translation')\n\n const runner = this.taskRunnerFactory.create(req.payload)\n const tasks = await runner.findByCollection(collectionSlug, [collection_id])\n\n return ServerResponse.success(tasks[0] ? taskToJobStatusOutput(tasks[0]) : null)\n }\n}\n"],"names":["ServerResponse","isCollectionAvailable","GetDocumentStatusInputSchema","taskToJobStatusOutput","GetDocumentStatusHandler","config","taskRunnerFactory","handle","req","validationResult","safeParse","routeParams","error","validationError","errors","collection_slug","collection_id","data","collectionSlug","availableCollections","badRequest","runner","create","payload","tasks","findByCollection","success"],"mappings":"AAEA,SAASA,cAAc,QAAQ,eAAc;AAE7C,SAASC,qBAAqB,QAAQ,2BAA0B;AAEhE,SAASC,4BAA4B,EAAgCC,qBAAqB,QAAQ,UAAS;AAE3G;;CAEC,GACD,OAAO,MAAMC;;;IACX,YACE,AAAiBC,MAA+B,EAChD,AAAiBC,iBAAqC,CACtD;aAFiBD,SAAAA;aACAC,oBAAAA;IAChB;IAEH,MAAMC,OAAOC,GAAmB,EAAqB;QACnD,MAAMC,mBAAmBP,6BAA6BQ,SAAS,CAACF,IAAIG,WAAW;QAC/E,IAAIF,iBAAiBG,KAAK,EAAE,OAAOZ,eAAea,eAAe,CAACJ,iBAAiBG,KAAK,CAACE,MAAM;QAE/F,MAAM,EAAEC,eAAe,EAAEC,aAAa,EAAE,GAAGP,iBAAiBQ,IAAI;QAEhE,MAAMC,iBAAiBjB,sBAAsBc,iBAAiB,IAAI,CAACV,MAAM,CAACc,oBAAoB;QAC9F,IAAI,CAACD,gBAAgB,OAAOlB,eAAeoB,UAAU,CAAC;QAEtD,MAAMC,SAAS,IAAI,CAACf,iBAAiB,CAACgB,MAAM,CAACd,IAAIe,OAAO;QACxD,MAAMC,QAAQ,MAAMH,OAAOI,gBAAgB,CAACP,gBAAgB;YAACF;SAAc;QAE3E,OAAOhB,eAAe0B,OAAO,CAACF,KAAK,CAAC,EAAE,GAAGrB,sBAAsBqB,KAAK,CAAC,EAAE,IAAI;IAC7E;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-document-status/handler.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { GetDocumentStatusHandler } from './handler';
|
|
3
|
-
describe('GetDocumentStatusHandler', () => {
|
|
4
|
-
let handler;
|
|
5
|
-
let mockTaskRunner;
|
|
6
|
-
let mockTaskRunnerFactory;
|
|
7
|
-
let config;
|
|
8
|
-
const createMockTask = (overrides = {}) => ({
|
|
9
|
-
id: 'task-123',
|
|
10
|
-
status: 'completed',
|
|
11
|
-
input: {
|
|
12
|
-
collectionSlug: 'posts',
|
|
13
|
-
collectionId: 'doc-123',
|
|
14
|
-
sourceLng: 'en',
|
|
15
|
-
targetLng: 'de',
|
|
16
|
-
strategy: 'overwrite',
|
|
17
|
-
publishOnTranslation: false,
|
|
18
|
-
},
|
|
19
|
-
createdAt: '2024-01-01T00:00:00Z',
|
|
20
|
-
updatedAt: '2024-01-01T01:00:00Z',
|
|
21
|
-
completedAt: '2024-01-01T01:00:00Z',
|
|
22
|
-
cancelled: false,
|
|
23
|
-
...overrides,
|
|
24
|
-
});
|
|
25
|
-
const createMockRequest = (params = {}) => ({
|
|
26
|
-
payload: {},
|
|
27
|
-
routeParams: params,
|
|
28
|
-
});
|
|
29
|
-
beforeEach(() => {
|
|
30
|
-
mockTaskRunner = {
|
|
31
|
-
enqueue: vi.fn(),
|
|
32
|
-
cancel: vi.fn(),
|
|
33
|
-
run: vi.fn(),
|
|
34
|
-
findByCollection: vi.fn().mockResolvedValue([]),
|
|
35
|
-
};
|
|
36
|
-
mockTaskRunnerFactory = {
|
|
37
|
-
create: vi.fn().mockReturnValue(mockTaskRunner),
|
|
38
|
-
configure: vi.fn(),
|
|
39
|
-
};
|
|
40
|
-
config = {
|
|
41
|
-
availableCollections: new Set(['posts', 'pages']),
|
|
42
|
-
};
|
|
43
|
-
handler = new GetDocumentStatusHandler(config, mockTaskRunnerFactory);
|
|
44
|
-
});
|
|
45
|
-
describe('validation', () => {
|
|
46
|
-
it('returns validation error for missing collection_slug', async () => {
|
|
47
|
-
const req = createMockRequest({ collection_id: 'doc-123' });
|
|
48
|
-
const response = await handler.handle(req);
|
|
49
|
-
expect(response.status).toBe(400);
|
|
50
|
-
const body = await response.json();
|
|
51
|
-
expect(body.message).toBe('Validation error');
|
|
52
|
-
});
|
|
53
|
-
it('returns validation error for missing collection_id', async () => {
|
|
54
|
-
const req = createMockRequest({ collection_slug: 'posts' });
|
|
55
|
-
const response = await handler.handle(req);
|
|
56
|
-
expect(response.status).toBe(400);
|
|
57
|
-
});
|
|
58
|
-
it('returns validation error for empty collection_slug', async () => {
|
|
59
|
-
const req = createMockRequest({ collection_slug: '', collection_id: 'doc-123' });
|
|
60
|
-
const response = await handler.handle(req);
|
|
61
|
-
expect(response.status).toBe(400);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
describe('collection availability', () => {
|
|
65
|
-
it('returns bad request for unavailable collection', async () => {
|
|
66
|
-
const req = createMockRequest({ collection_slug: 'users', collection_id: 'doc-123' });
|
|
67
|
-
const response = await handler.handle(req);
|
|
68
|
-
expect(response.status).toBe(400);
|
|
69
|
-
const body = await response.json();
|
|
70
|
-
expect(body.message).toBe('Collection not available for translation');
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
describe('success responses', () => {
|
|
74
|
-
it('returns task status when task exists', async () => {
|
|
75
|
-
const task = createMockTask();
|
|
76
|
-
mockTaskRunner.findByCollection.mockResolvedValue([task]);
|
|
77
|
-
const req = createMockRequest({ collection_slug: 'posts', collection_id: 'doc-123' });
|
|
78
|
-
const response = await handler.handle(req);
|
|
79
|
-
expect(response.status).toBe(200);
|
|
80
|
-
const body = await response.json();
|
|
81
|
-
expect(body.data).toMatchObject({
|
|
82
|
-
id: 'task-123',
|
|
83
|
-
status: 'completed',
|
|
84
|
-
input: {
|
|
85
|
-
collection: {
|
|
86
|
-
relationTo: 'posts',
|
|
87
|
-
value: 'doc-123',
|
|
88
|
-
},
|
|
89
|
-
source_lng: 'en',
|
|
90
|
-
target_lng: 'de',
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
it('returns null when no task exists', async () => {
|
|
95
|
-
;
|
|
96
|
-
mockTaskRunner.findByCollection.mockResolvedValue([]);
|
|
97
|
-
const req = createMockRequest({ collection_slug: 'posts', collection_id: 'doc-123' });
|
|
98
|
-
const response = await handler.handle(req);
|
|
99
|
-
expect(response.status).toBe(200);
|
|
100
|
-
const body = await response.json();
|
|
101
|
-
expect(body.data).toBeNull();
|
|
102
|
-
});
|
|
103
|
-
it('calls findByCollection with correct parameters', async () => {
|
|
104
|
-
const req = createMockRequest({ collection_slug: 'posts', collection_id: 'doc-456' });
|
|
105
|
-
await handler.handle(req);
|
|
106
|
-
expect(mockTaskRunner.findByCollection).toHaveBeenCalledWith('posts', ['doc-456']);
|
|
107
|
-
});
|
|
108
|
-
it('creates task runner with request payload', async () => {
|
|
109
|
-
const mockPayload = { collections: {} };
|
|
110
|
-
const req = createMockRequest({ collection_slug: 'posts', collection_id: 'doc-123' });
|
|
111
|
-
req.payload = mockPayload;
|
|
112
|
-
await handler.handle(req);
|
|
113
|
-
expect(mockTaskRunnerFactory.create).toHaveBeenCalledWith(mockPayload);
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
describe('task status transformation', () => {
|
|
117
|
-
it('includes error information when present', async () => {
|
|
118
|
-
const task = createMockTask({
|
|
119
|
-
status: 'failed',
|
|
120
|
-
error: { message: 'Translation failed' },
|
|
121
|
-
});
|
|
122
|
-
mockTaskRunner.findByCollection.mockResolvedValue([task]);
|
|
123
|
-
const req = createMockRequest({ collection_slug: 'posts', collection_id: 'doc-123' });
|
|
124
|
-
const response = await handler.handle(req);
|
|
125
|
-
const body = await response.json();
|
|
126
|
-
expect(body.data.status).toBe('failed');
|
|
127
|
-
expect(body.data.error).toEqual({ message: 'Translation failed' });
|
|
128
|
-
});
|
|
129
|
-
it('includes cancelled flag', async () => {
|
|
130
|
-
const task = createMockTask({ cancelled: true });
|
|
131
|
-
mockTaskRunner.findByCollection.mockResolvedValue([task]);
|
|
132
|
-
const req = createMockRequest({ collection_slug: 'posts', collection_id: 'doc-123' });
|
|
133
|
-
const response = await handler.handle(req);
|
|
134
|
-
const body = await response.json();
|
|
135
|
-
expect(body.data.cancelled).toBe(true);
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-document-status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/get-document-status/index.ts"],"sourcesContent":["export { createGetDocumentStatusRoute } from './route'\nexport { taskToJobStatusOutput } from './model'\n"],"names":["createGetDocumentStatusRoute","taskToJobStatusOutput"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,UAAS;AACtD,SAASC,qBAAqB,QAAQ,UAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-document-status/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEjE;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;EAKvC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAA;AAE9C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE;QACV,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,cAAc,CAAA;IACrB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,oBAAoB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1C,CAAA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAmBjE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/get-document-status/model.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { CollectionSlug } from 'payload'\n\nimport type { Task, TaskStatus } from '../../modules/task-runner'\n\n/**\n * Input validation schema\n */\nexport const GetDocumentStatusInputSchema = z.object({\n collection_id: z.coerce\n .string()\n .refine((val: string) => val.length > 0 && val !== 'undefined', { message: 'Required' }),\n collection_slug: z.string().nonempty(),\n})\n\nexport type GetDocumentStatusInput = z.infer<typeof GetDocumentStatusInputSchema>\n\n/**\n * Translation task status (re-export for backwards compatibility)\n */\nexport type TranslationTaskStatus = TaskStatus\n\n/**\n * Input format for API response (backwards compatible with Payload Jobs format)\n */\nexport type JobInputOutput = {\n collection: {\n relationTo: CollectionSlug\n value: string | number\n }\n source_lng: string\n target_lng: string\n strategy?: string\n}\n\n/**\n * Normalized job output (snake_case for client compatibility)\n */\nexport type JobStatusOutput = {\n id: string\n status: TaskStatus\n created_at: string\n updated_at: string\n completed_at?: string\n input: JobInputOutput\n error?: { message: string }\n cancelled: boolean\n}\n\n/**\n * Handler configuration\n */\nexport type GetDocumentStatusConfig = {\n availableCollections: Set<CollectionSlug>\n}\n\n/**\n * Transforms a Task to API output format (snake_case for client compatibility)\n */\nexport function taskToJobStatusOutput(task: Task): JobStatusOutput {\n return {\n id: task.id,\n status: task.status,\n created_at: task.createdAt,\n updated_at: task.updatedAt,\n completed_at: task.completedAt,\n input: {\n collection: {\n relationTo: task.input.collectionSlug,\n value: task.input.collectionId,\n },\n source_lng: task.input.sourceLng,\n target_lng: task.input.targetLng,\n strategy: task.input.strategy,\n },\n error: task.error,\n cancelled: task.cancelled,\n }\n}\n"],"names":["z","GetDocumentStatusInputSchema","object","collection_id","coerce","string","refine","val","length","message","collection_slug","nonempty","taskToJobStatusOutput","task","id","status","created_at","createdAt","updated_at","updatedAt","completed_at","completedAt","input","collection","relationTo","collectionSlug","value","collectionId","source_lng","sourceLng","target_lng","targetLng","strategy","error","cancelled"],"mappings":"AAAA,SAASA,CAAC,QAAQ,MAAK;AAKvB;;CAEC,GACD,OAAO,MAAMC,+BAA+BD,EAAEE,MAAM,CAAC;IACnDC,eAAeH,EAAEI,MAAM,CACpBC,MAAM,GACNC,MAAM,CAAC,CAACC,MAAgBA,IAAIC,MAAM,GAAG,KAAKD,QAAQ,aAAa;QAAEE,SAAS;IAAW;IACxFC,iBAAiBV,EAAEK,MAAM,GAAGM,QAAQ;AACtC,GAAE;AA2CF;;CAEC,GACD,OAAO,SAASC,sBAAsBC,IAAU;IAC9C,OAAO;QACLC,IAAID,KAAKC,EAAE;QACXC,QAAQF,KAAKE,MAAM;QACnBC,YAAYH,KAAKI,SAAS;QAC1BC,YAAYL,KAAKM,SAAS;QAC1BC,cAAcP,KAAKQ,WAAW;QAC9BC,OAAO;YACLC,YAAY;gBACVC,YAAYX,KAAKS,KAAK,CAACG,cAAc;gBACrCC,OAAOb,KAAKS,KAAK,CAACK,YAAY;YAChC;YACAC,YAAYf,KAAKS,KAAK,CAACO,SAAS;YAChCC,YAAYjB,KAAKS,KAAK,CAACS,SAAS;YAChCC,UAAUnB,KAAKS,KAAK,CAACU,QAAQ;QAC/B;QACAC,OAAOpB,KAAKoB,KAAK;QACjBC,WAAWrB,KAAKqB,SAAS;IAC3B;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-document-status/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAGtD;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,EAC/B,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,SAAe,GACtB,QAAQ,CAQV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/get-document-status/route.ts"],"sourcesContent":["import type { Endpoint } from 'payload'\n\nimport { withErrorHandler, withAccessCheck } from '../../shared'\nimport type { AccessGuard } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport type { GetDocumentStatusConfig } from './model'\nimport { GetDocumentStatusHandler } from './handler'\n\n/**\n * Creates the get document status endpoint\n */\nexport function createGetDocumentStatusRoute(\n config: GetDocumentStatusConfig,\n taskRunnerFactory: TaskRunnerProvider,\n access?: AccessGuard,\n basePath = '/translate',\n): Endpoint {\n const handler = new GetDocumentStatusHandler(config, taskRunnerFactory)\n\n return {\n path: `${basePath}/document/:collection_slug/:collection_id`,\n method: 'get',\n handler: withAccessCheck(withErrorHandler(handler.handle.bind(handler)), access),\n }\n}\n"],"names":["withErrorHandler","withAccessCheck","GetDocumentStatusHandler","createGetDocumentStatusRoute","config","taskRunnerFactory","access","basePath","handler","path","method","handle","bind"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,eAAe,QAAQ,eAAc;AAKhE,SAASC,wBAAwB,QAAQ,YAAW;AAEpD;;CAEC,GACD,OAAO,SAASC,6BACdC,MAA+B,EAC/BC,iBAAqC,EACrCC,MAAoB,EACpBC,WAAW,YAAY;IAEvB,MAAMC,UAAU,IAAIN,yBAAyBE,QAAQC;IAErD,OAAO;QACLI,MAAM,GAAGF,SAAS,yCAAyC,CAAC;QAC5DG,QAAQ;QACRF,SAASP,gBAAgBD,iBAAiBQ,QAAQG,MAAM,CAACC,IAAI,CAACJ,WAAWF;IAC3E;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/features/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/features/index.ts"],"sourcesContent":["export * from './translate-document'\nexport * from './enqueue-translation'\nexport * from './run-translation'\nexport * from './cancel'\nexport * from './get-document-status'\nexport * from './get-collection-status'\n"],"names":[],"mappings":"AAAA,cAAc,uBAAsB;AACpC,cAAc,wBAAuB;AACrC,cAAc,oBAAmB;AACjC,cAAc,WAAU;AACxB,cAAc,wBAAuB;AACrC,cAAc,0BAAyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAInE;;GAEG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,kBAAkB;IAE5D,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAmBrD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/run-translation/handler.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { ServerResponse } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport { RunInputSchema } from './model'\n\n/**\n * Runs a translation task by ID\n */\nexport class RunTranslationHandler {\n constructor(private readonly taskRunnerFactory: TaskRunnerProvider) {}\n\n async handle(req: PayloadRequest): Promise<Response> {\n const validationResult = RunInputSchema.safeParse(req.routeParams)\n if (validationResult.error) return ServerResponse.validationError(validationResult.error.errors)\n\n const { id } = validationResult.data\n const runner = this.taskRunnerFactory.create(req.payload)\n const result = await runner.run(id)\n\n if (!result.success) {\n if (result.error === 'not_found' || result.error === 'already_completed') {\n return ServerResponse.notFound('Queued task not found')\n }\n if (result.error === 'already_running') {\n return ServerResponse.tooManyRequests('Translation task is already in progress')\n }\n }\n\n return ServerResponse.noContent()\n }\n}\n"],"names":["ServerResponse","RunInputSchema","RunTranslationHandler","taskRunnerFactory","handle","req","validationResult","safeParse","routeParams","error","validationError","errors","id","data","runner","create","payload","result","run","success","notFound","tooManyRequests","noContent"],"mappings":"AAEA,SAASA,cAAc,QAAQ,eAAc;AAG7C,SAASC,cAAc,QAAQ,UAAS;AAExC;;CAEC,GACD,OAAO,MAAMC;;IACX,YAAY,AAAiBC,iBAAqC,CAAE;aAAvCA,oBAAAA;IAAwC;IAErE,MAAMC,OAAOC,GAAmB,EAAqB;QACnD,MAAMC,mBAAmBL,eAAeM,SAAS,CAACF,IAAIG,WAAW;QACjE,IAAIF,iBAAiBG,KAAK,EAAE,OAAOT,eAAeU,eAAe,CAACJ,iBAAiBG,KAAK,CAACE,MAAM;QAE/F,MAAM,EAAEC,EAAE,EAAE,GAAGN,iBAAiBO,IAAI;QACpC,MAAMC,SAAS,IAAI,CAACX,iBAAiB,CAACY,MAAM,CAACV,IAAIW,OAAO;QACxD,MAAMC,SAAS,MAAMH,OAAOI,GAAG,CAACN;QAEhC,IAAI,CAACK,OAAOE,OAAO,EAAE;YACnB,IAAIF,OAAOR,KAAK,KAAK,eAAeQ,OAAOR,KAAK,KAAK,qBAAqB;gBACxE,OAAOT,eAAeoB,QAAQ,CAAC;YACjC;YACA,IAAIH,OAAOR,KAAK,KAAK,mBAAmB;gBACtC,OAAOT,eAAeqB,eAAe,CAAC;YACxC;QACF;QAEA,OAAOrB,eAAesB,SAAS;IACjC;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/handler.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { RunTranslationHandler } from './handler';
|
|
3
|
-
describe('RunTranslationHandler', () => {
|
|
4
|
-
let handler;
|
|
5
|
-
let mockTaskRunner;
|
|
6
|
-
let mockTaskRunnerFactory;
|
|
7
|
-
const createMockRequest = (params = {}) => ({
|
|
8
|
-
payload: {},
|
|
9
|
-
routeParams: params,
|
|
10
|
-
});
|
|
11
|
-
beforeEach(() => {
|
|
12
|
-
mockTaskRunner = {
|
|
13
|
-
enqueue: vi.fn(),
|
|
14
|
-
cancel: vi.fn(),
|
|
15
|
-
run: vi.fn().mockResolvedValue({ success: true }),
|
|
16
|
-
findByCollection: vi.fn(),
|
|
17
|
-
};
|
|
18
|
-
mockTaskRunnerFactory = {
|
|
19
|
-
create: vi.fn().mockReturnValue(mockTaskRunner),
|
|
20
|
-
configure: vi.fn(),
|
|
21
|
-
};
|
|
22
|
-
handler = new RunTranslationHandler(mockTaskRunnerFactory);
|
|
23
|
-
});
|
|
24
|
-
describe('validation', () => {
|
|
25
|
-
it('returns validation error for missing id', async () => {
|
|
26
|
-
const req = createMockRequest({});
|
|
27
|
-
const response = await handler.handle(req);
|
|
28
|
-
expect(response.status).toBe(400);
|
|
29
|
-
const body = await response.json();
|
|
30
|
-
expect(body.message).toBe('Validation error');
|
|
31
|
-
});
|
|
32
|
-
it('returns validation error for empty id', async () => {
|
|
33
|
-
const req = createMockRequest({ id: '' });
|
|
34
|
-
const response = await handler.handle(req);
|
|
35
|
-
expect(response.status).toBe(400);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
describe('success responses', () => {
|
|
39
|
-
it('returns 204 on successful run', async () => {
|
|
40
|
-
;
|
|
41
|
-
mockTaskRunner.run.mockResolvedValue({ success: true });
|
|
42
|
-
const req = createMockRequest({ id: 'task-123' });
|
|
43
|
-
const response = await handler.handle(req);
|
|
44
|
-
expect(response.status).toBe(204);
|
|
45
|
-
expect(response.body).toBeNull();
|
|
46
|
-
});
|
|
47
|
-
it('calls runner.run with correct task id', async () => {
|
|
48
|
-
const req = createMockRequest({ id: 'task-456' });
|
|
49
|
-
await handler.handle(req);
|
|
50
|
-
expect(mockTaskRunner.run).toHaveBeenCalledWith('task-456');
|
|
51
|
-
});
|
|
52
|
-
it('creates task runner with request payload', async () => {
|
|
53
|
-
const mockPayload = { collections: {} };
|
|
54
|
-
const req = createMockRequest({ id: 'task-123' });
|
|
55
|
-
req.payload = mockPayload;
|
|
56
|
-
await handler.handle(req);
|
|
57
|
-
expect(mockTaskRunnerFactory.create).toHaveBeenCalledWith(mockPayload);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
describe('error responses', () => {
|
|
61
|
-
it('returns 404 when task not found', async () => {
|
|
62
|
-
;
|
|
63
|
-
mockTaskRunner.run.mockResolvedValue({
|
|
64
|
-
success: false,
|
|
65
|
-
error: 'not_found',
|
|
66
|
-
});
|
|
67
|
-
const req = createMockRequest({ id: 'non-existent' });
|
|
68
|
-
const response = await handler.handle(req);
|
|
69
|
-
expect(response.status).toBe(404);
|
|
70
|
-
const body = await response.json();
|
|
71
|
-
expect(body.message).toBe('Queued task not found');
|
|
72
|
-
});
|
|
73
|
-
it('returns 404 when task already completed', async () => {
|
|
74
|
-
;
|
|
75
|
-
mockTaskRunner.run.mockResolvedValue({
|
|
76
|
-
success: false,
|
|
77
|
-
error: 'already_completed',
|
|
78
|
-
});
|
|
79
|
-
const req = createMockRequest({ id: 'completed-task' });
|
|
80
|
-
const response = await handler.handle(req);
|
|
81
|
-
expect(response.status).toBe(404);
|
|
82
|
-
const body = await response.json();
|
|
83
|
-
expect(body.message).toBe('Queued task not found');
|
|
84
|
-
});
|
|
85
|
-
it('returns 429 when task is already running', async () => {
|
|
86
|
-
;
|
|
87
|
-
mockTaskRunner.run.mockResolvedValue({
|
|
88
|
-
success: false,
|
|
89
|
-
error: 'already_running',
|
|
90
|
-
});
|
|
91
|
-
const req = createMockRequest({ id: 'running-task' });
|
|
92
|
-
const response = await handler.handle(req);
|
|
93
|
-
expect(response.status).toBe(429);
|
|
94
|
-
const body = await response.json();
|
|
95
|
-
expect(body.message).toBe('Translation task is already in progress');
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/run-translation/index.ts"],"sourcesContent":["export { createRunRoute } from './route'\n"],"names":["createRunRoute"],"mappings":"AAAA,SAASA,cAAc,QAAQ,UAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/run-translation/model.ts"],"sourcesContent":["import { z } from 'zod'\n\n/**\n * Input validation schema\n */\nexport const RunInputSchema = z.object({\n id: z.string().nonempty(),\n})\n"],"names":["z","RunInputSchema","object","id","string","nonempty"],"mappings":"AAAA,SAASA,CAAC,QAAQ,MAAK;AAEvB;;CAEC,GACD,OAAO,MAAMC,iBAAiBD,EAAEE,MAAM,CAAC;IACrCC,IAAIH,EAAEI,MAAM,GAAGC,QAAQ;AACzB,GAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAInE;;GAEG;AACH,wBAAgB,cAAc,CAC5B,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,SAAe,GACtB,QAAQ,CAQV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/run-translation/route.ts"],"sourcesContent":["import type { Endpoint } from 'payload'\n\nimport { withErrorHandler, withAccessCheck } from '../../shared'\nimport type { AccessGuard } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport { RunTranslationHandler } from './handler'\n\n/**\n * Creates the run translation endpoint\n */\nexport function createRunRoute(\n taskRunnerFactory: TaskRunnerProvider,\n access?: AccessGuard,\n basePath = '/translate',\n): Endpoint {\n const handler = new RunTranslationHandler(taskRunnerFactory)\n\n return {\n path: `${basePath}/run/:id`,\n method: 'post',\n handler: withAccessCheck(withErrorHandler(handler.handle.bind(handler)), access),\n }\n}\n"],"names":["withErrorHandler","withAccessCheck","RunTranslationHandler","createRunRoute","taskRunnerFactory","access","basePath","handler","path","method","handle","bind"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,eAAe,QAAQ,eAAc;AAIhE,SAASC,qBAAqB,QAAQ,YAAW;AAEjD;;CAEC,GACD,OAAO,SAASC,eACdC,iBAAqC,EACrCC,MAAoB,EACpBC,WAAW,YAAY;IAEvB,MAAMC,UAAU,IAAIL,sBAAsBE;IAE1C,OAAO;QACLI,MAAM,GAAGF,SAAS,QAAQ,CAAC;QAC3BG,QAAQ;QACRF,SAASN,gBAAgBD,iBAAiBO,QAAQG,MAAM,CAACC,IAAI,CAACJ,WAAWF;IAC3E;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/features/translate-document/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA6B,MAAM,SAAS,CAAA;AAGjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAI9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEnG,MAAM,MAAM,6BAA6B,GAAG;IAC1C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,SAAS,EAAE,mBAAmB,CAAA;CAC/B,CAAA;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,OAAO,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IAErG,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,mBAAmB;IAG3C,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;YAuCjF,sBAAsB;CA6BrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/translate-document/handler.ts"],"sourcesContent":["import type { Payload, SanitizedCollectionConfig } from 'payload'\nimport { APIError } from 'payload'\n\nimport type { Handler } from '../../shared'\nimport type { TranslationProvider } from '../../modules/translation-providers'\nimport { TranslationPipeline } from '../../modules/translation-pipeline'\nimport { createTranslationStrategy } from '../../modules/translation-pipeline/strategies'\n\nimport type { CollectionSchemaMap, TranslateDocumentInput, TranslateDocumentOutput } from './model'\n\nexport type TranslateDocumentDependencies = {\n translationProvider: TranslationProvider\n schemaMap: CollectionSchemaMap\n}\n\n/**\n * Translates a single document from source language to target language\n */\nexport class TranslateDocumentHandler implements Handler<TranslateDocumentInput, TranslateDocumentOutput> {\n constructor(\n private readonly translationProvider: TranslationProvider,\n private readonly schemaMap: CollectionSchemaMap,\n ) {}\n\n async handle(payload: Payload, input: TranslateDocumentInput): Promise<TranslateDocumentOutput> {\n const { collection, collectionId, sourceLng, targetLng, strategy, publishOnTranslation } = input\n\n // Get original schema (preserves localized: true on nested fields)\n const schema = this.schemaMap.get(collection)\n if (!schema) throw new APIError(`Collection \"${collection}\" not found in schemaMap`, 400)\n\n const sourceData = await payload.findByID({ collection, id: collectionId, locale: sourceLng })\n const targetData = await payload.findByID({\n collection,\n id: collectionId,\n locale: targetLng,\n fallbackLocale: false,\n })\n\n const translationStrategy = createTranslationStrategy(strategy)\n const pipeline = new TranslationPipeline({\n translationProvider: this.translationProvider,\n translationStrategy,\n })\n\n const result = await pipeline.execute({ schema, sourceData, targetData, sourceLng, targetLng })\n if (!result) return { success: true }\n\n const collectionConfig = payload.collections[collection].config\n await this.saveTranslatedDocument(\n payload,\n collection,\n collectionId,\n result.translatedData,\n targetLng,\n sourceLng,\n collectionConfig,\n publishOnTranslation,\n )\n\n return { success: true }\n }\n\n private async saveTranslatedDocument(\n payload: Payload,\n collection: string,\n collectionId: string | number,\n translatedData: Record<string, unknown>,\n targetLng: string,\n sourceLng: string,\n collectionConfig: SanitizedCollectionConfig,\n publishOnTranslation: boolean,\n ): Promise<void> {\n let isAutosaveEnabled = false\n const versions = collectionConfig.versions\n\n if (versions && versions.drafts) {\n translatedData['_status'] = publishOnTranslation ? 'published' : 'draft'\n\n const drafts = versions.drafts\n if (!publishOnTranslation && drafts.autosave) isAutosaveEnabled = true\n }\n\n await payload.update({\n collection: collection,\n id: collectionId,\n data: translatedData,\n autosave: isAutosaveEnabled,\n locale: targetLng,\n fallbackLocale: sourceLng,\n })\n }\n}\n"],"names":["APIError","TranslationPipeline","createTranslationStrategy","TranslateDocumentHandler","translationProvider","schemaMap","handle","payload","input","collection","collectionId","sourceLng","targetLng","strategy","publishOnTranslation","schema","get","sourceData","findByID","id","locale","targetData","fallbackLocale","translationStrategy","pipeline","result","execute","success","collectionConfig","collections","config","saveTranslatedDocument","translatedData","isAutosaveEnabled","versions","drafts","autosave","update","data"],"mappings":"AACA,SAASA,QAAQ,QAAQ,UAAS;AAIlC,SAASC,mBAAmB,QAAQ,qCAAoC;AACxE,SAASC,yBAAyB,QAAQ,gDAA+C;AASzF;;CAEC,GACD,OAAO,MAAMC;;;IACX,YACE,AAAiBC,mBAAwC,EACzD,AAAiBC,SAA8B,CAC/C;aAFiBD,sBAAAA;aACAC,YAAAA;IAChB;IAEH,MAAMC,OAAOC,OAAgB,EAAEC,KAA6B,EAAoC;QAC9F,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,oBAAoB,EAAE,GAAGN;QAE3F,mEAAmE;QACnE,MAAMO,SAAS,IAAI,CAACV,SAAS,CAACW,GAAG,CAACP;QAClC,IAAI,CAACM,QAAQ,MAAM,IAAIf,SAAS,CAAC,YAAY,EAAES,WAAW,wBAAwB,CAAC,EAAE;QAErF,MAAMQ,aAAa,MAAMV,QAAQW,QAAQ,CAAC;YAAET;YAAYU,IAAIT;YAAcU,QAAQT;QAAU;QAC5F,MAAMU,aAAa,MAAMd,QAAQW,QAAQ,CAAC;YACxCT;YACAU,IAAIT;YACJU,QAAQR;YACRU,gBAAgB;QAClB;QAEA,MAAMC,sBAAsBrB,0BAA0BW;QACtD,MAAMW,WAAW,IAAIvB,oBAAoB;YACvCG,qBAAqB,IAAI,CAACA,mBAAmB;YAC7CmB;QACF;QAEA,MAAME,SAAS,MAAMD,SAASE,OAAO,CAAC;YAAEX;YAAQE;YAAYI;YAAYV;YAAWC;QAAU;QAC7F,IAAI,CAACa,QAAQ,OAAO;YAAEE,SAAS;QAAK;QAEpC,MAAMC,mBAAmBrB,QAAQsB,WAAW,CAACpB,WAAW,CAACqB,MAAM;QAC/D,MAAM,IAAI,CAACC,sBAAsB,CAC/BxB,SACAE,YACAC,cACAe,OAAOO,cAAc,EACrBpB,WACAD,WACAiB,kBACAd;QAGF,OAAO;YAAEa,SAAS;QAAK;IACzB;IAEA,MAAcI,uBACZxB,OAAgB,EAChBE,UAAkB,EAClBC,YAA6B,EAC7BsB,cAAuC,EACvCpB,SAAiB,EACjBD,SAAiB,EACjBiB,gBAA2C,EAC3Cd,oBAA6B,EACd;QACf,IAAImB,oBAAoB;QACxB,MAAMC,WAAWN,iBAAiBM,QAAQ;QAE1C,IAAIA,YAAYA,SAASC,MAAM,EAAE;YAC/BH,cAAc,CAAC,UAAU,GAAGlB,uBAAuB,cAAc;YAEjE,MAAMqB,SAASD,SAASC,MAAM;YAC9B,IAAI,CAACrB,wBAAwBqB,OAAOC,QAAQ,EAAEH,oBAAoB;QACpE;QAEA,MAAM1B,QAAQ8B,MAAM,CAAC;YACnB5B,YAAYA;YACZU,IAAIT;YACJ4B,MAAMN;YACNI,UAAUH;YACVb,QAAQR;YACRU,gBAAgBX;QAClB;IACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../src/server/features/translate-document/handler.test.ts"],"names":[],"mappings":""}
|