@lilaquadrat/studio 9.15.2 → 9.15.4
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/lib/cjs/errors.d.ts +5 -0
- package/lib/cjs/errors.js +15 -0
- package/lib/cjs/errors.js.map +1 -0
- package/lib/cjs/helpers.d.ts +14 -0
- package/lib/cjs/helpers.js +36 -0
- package/lib/cjs/helpers.js.map +1 -0
- package/lib/cjs/main.d.ts +17 -0
- package/lib/cjs/main.js +73 -0
- package/lib/cjs/main.js.map +1 -0
- package/lib/cjs/models.d.ts +35 -0
- package/lib/cjs/models.js +75 -0
- package/lib/cjs/models.js.map +1 -0
- package/lib/cjs/services.d.ts +33 -0
- package/lib/cjs/services.js +105 -0
- package/lib/cjs/services.js.map +1 -0
- package/lib/cjs/src/AzureBlobStorage.share.d.ts +18 -0
- package/lib/cjs/src/AzureBlobStorage.share.js +157 -0
- package/lib/cjs/src/AzureBlobStorage.share.js.map +1 -0
- package/lib/cjs/src/AzureFileStorage.share.d.ts +21 -0
- package/lib/cjs/src/AzureFileStorage.share.js +144 -0
- package/lib/cjs/src/AzureFileStorage.share.js.map +1 -0
- package/lib/cjs/src/AzureVault.d.ts +14 -0
- package/lib/cjs/src/AzureVault.js +30 -0
- package/lib/cjs/src/AzureVault.js.map +1 -0
- package/lib/cjs/src/Filesystem.share.d.ts +15 -0
- package/lib/cjs/src/Filesystem.share.js +87 -0
- package/lib/cjs/src/Filesystem.share.js.map +1 -0
- package/lib/cjs/src/Immutable.class.d.ts +56 -0
- package/lib/cjs/src/Immutable.class.js +228 -0
- package/lib/cjs/src/Immutable.class.js.map +1 -0
- package/lib/cjs/src/Mock.share.d.ts +14 -0
- package/lib/cjs/src/Mock.share.js +36 -0
- package/lib/cjs/src/Mock.share.js.map +1 -0
- package/lib/cjs/src/ShareClientFactory.class.d.ts +7 -0
- package/lib/cjs/src/ShareClientFactory.class.js +34 -0
- package/lib/cjs/src/ShareClientFactory.class.js.map +1 -0
- package/lib/cjs/src/Timeseries.class.d.ts +11 -0
- package/lib/cjs/src/Timeseries.class.js +16 -0
- package/lib/cjs/src/Timeseries.class.js.map +1 -0
- package/lib/cjs/src/aggegations/childData.aggregation.d.ts +194 -0
- package/lib/cjs/src/aggegations/childData.aggregation.js +102 -0
- package/lib/cjs/src/aggegations/childData.aggregation.js.map +1 -0
- package/lib/cjs/src/aggegations/genericData.aggregation.d.ts +76 -0
- package/lib/cjs/src/aggegations/genericData.aggregation.js +79 -0
- package/lib/cjs/src/aggegations/genericData.aggregation.js.map +1 -0
- package/lib/cjs/src/aggegations/partial.aggregation.d.ts +88 -0
- package/lib/cjs/src/aggegations/partial.aggregation.js +68 -0
- package/lib/cjs/src/aggegations/partial.aggregation.js.map +1 -0
- package/lib/cjs/src/aggegations/publishData.aggregation.d.ts +89 -0
- package/lib/cjs/src/aggegations/publishData.aggregation.js +79 -0
- package/lib/cjs/src/aggegations/publishData.aggregation.js.map +1 -0
- package/lib/cjs/src/aggegations/resultData.aggregation.d.ts +151 -0
- package/lib/cjs/src/aggegations/resultData.aggregation.js +124 -0
- package/lib/cjs/src/aggegations/resultData.aggregation.js.map +1 -0
- package/lib/cjs/src/aggegations/structures.aggregation.d.ts +143 -0
- package/lib/cjs/src/aggegations/structures.aggregation.js +72 -0
- package/lib/cjs/src/aggegations/structures.aggregation.js.map +1 -0
- package/lib/cjs/src/aggegations/user.aggregation.d.ts +2 -0
- package/lib/cjs/src/aggegations/user.aggregation.js +38 -0
- package/lib/cjs/src/aggegations/user.aggregation.js.map +1 -0
- package/lib/cjs/src/classes/ControllerBase.class.d.ts +115 -0
- package/lib/cjs/src/classes/ControllerBase.class.js +274 -0
- package/lib/cjs/src/classes/ControllerBase.class.js.map +1 -0
- package/lib/cjs/src/classes/TimeseriesModel.class.d.ts +28 -0
- package/lib/cjs/src/classes/TimeseriesModel.class.js +72 -0
- package/lib/cjs/src/classes/TimeseriesModel.class.js.map +1 -0
- package/lib/cjs/src/classes/cache.class.d.ts +31 -0
- package/lib/cjs/src/classes/cache.class.js +71 -0
- package/lib/cjs/src/classes/cache.class.js.map +1 -0
- package/lib/cjs/src/classes/errors/Agreements.error.d.ts +6 -0
- package/lib/cjs/src/classes/errors/Agreements.error.js +12 -0
- package/lib/cjs/src/classes/errors/Agreements.error.js.map +1 -0
- package/lib/cjs/src/classes/errors/History.error.d.ts +6 -0
- package/lib/cjs/src/classes/errors/History.error.js +12 -0
- package/lib/cjs/src/classes/errors/History.error.js.map +1 -0
- package/lib/cjs/src/classes/errors/Immutable.error.d.ts +6 -0
- package/lib/cjs/src/classes/errors/Immutable.error.js +12 -0
- package/lib/cjs/src/classes/errors/Immutable.error.js.map +1 -0
- package/lib/cjs/src/classes/errors/InvalidId.error.d.ts +6 -0
- package/lib/cjs/src/classes/errors/InvalidId.error.js +12 -0
- package/lib/cjs/src/classes/errors/InvalidId.error.js.map +1 -0
- package/lib/cjs/src/classes/models.class.d.ts +13 -0
- package/lib/cjs/src/classes/models.class.js +46 -0
- package/lib/cjs/src/classes/models.class.js.map +1 -0
- package/lib/cjs/src/classes/modelv2.class.d.ts +82 -0
- package/lib/cjs/src/classes/modelv2.class.js +149 -0
- package/lib/cjs/src/classes/modelv2.class.js.map +1 -0
- package/lib/cjs/src/classes/mongo.class.d.ts +24 -0
- package/lib/cjs/src/classes/mongo.class.js +100 -0
- package/lib/cjs/src/classes/mongo.class.js.map +1 -0
- package/lib/cjs/src/dns.challenge.class.d.ts +17 -0
- package/lib/cjs/src/dns.challenge.class.js +47 -0
- package/lib/cjs/src/dns.challenge.class.js.map +1 -0
- package/lib/cjs/src/docker-compose.class.d.ts +14 -0
- package/lib/cjs/src/docker-compose.class.js +88 -0
- package/lib/cjs/src/docker-compose.class.js.map +1 -0
- package/lib/cjs/src/filterMergeModules.d.ts +3 -0
- package/lib/cjs/src/filterMergeModules.js +31 -0
- package/lib/cjs/src/filterMergeModules.js.map +1 -0
- package/lib/cjs/src/functions/handleError.d.ts +5 -0
- package/lib/cjs/src/functions/handleError.js +46 -0
- package/lib/cjs/src/functions/handleError.js.map +1 -0
- package/lib/cjs/src/functions/optionsHelper.d.ts +6 -0
- package/lib/cjs/src/functions/optionsHelper.js +16 -0
- package/lib/cjs/src/functions/optionsHelper.js.map +1 -0
- package/lib/cjs/src/functions/respondCode.d.ts +3 -0
- package/lib/cjs/src/functions/respondCode.js +5 -0
- package/lib/cjs/src/functions/respondCode.js.map +1 -0
- package/lib/cjs/src/helpers/HttpStatusCode.enum.d.ts +318 -0
- package/lib/cjs/src/helpers/HttpStatusCode.enum.js +324 -0
- package/lib/cjs/src/helpers/HttpStatusCode.enum.js.map +1 -0
- package/lib/cjs/src/helpers/cleanObject.d.ts +5 -0
- package/lib/cjs/src/helpers/cleanObject.js +9 -0
- package/lib/cjs/src/helpers/cleanObject.js.map +1 -0
- package/lib/cjs/src/helpers/companyRights.d.ts +3 -0
- package/lib/cjs/src/helpers/companyRights.js +18 -0
- package/lib/cjs/src/helpers/companyRights.js.map +1 -0
- package/lib/cjs/src/helpers/convertCountryISO2.d.ts +2 -0
- package/lib/cjs/src/helpers/convertCountryISO2.js +248 -0
- package/lib/cjs/src/helpers/convertCountryISO2.js.map +1 -0
- package/lib/cjs/src/helpers/countries.d.ts +4 -0
- package/lib/cjs/src/helpers/countries.js +14 -0
- package/lib/cjs/src/helpers/countries.js.map +1 -0
- package/lib/cjs/src/helpers/createError.d.ts +7 -0
- package/lib/cjs/src/helpers/createError.js +16 -0
- package/lib/cjs/src/helpers/createError.js.map +1 -0
- package/lib/cjs/src/helpers/createSasToken.d.ts +2 -0
- package/lib/cjs/src/helpers/createSasToken.js +36 -0
- package/lib/cjs/src/helpers/createSasToken.js.map +1 -0
- package/lib/cjs/src/helpers/findObjetcsWithKeys.d.ts +13 -0
- package/lib/cjs/src/helpers/findObjetcsWithKeys.js +34 -0
- package/lib/cjs/src/helpers/findObjetcsWithKeys.js.map +1 -0
- package/lib/cjs/src/helpers/getSecrets.d.ts +4 -0
- package/lib/cjs/src/helpers/getSecrets.js +20 -0
- package/lib/cjs/src/helpers/getSecrets.js.map +1 -0
- package/lib/cjs/src/helpers/hardCopy.d.ts +2 -0
- package/lib/cjs/src/helpers/hardCopy.js +5 -0
- package/lib/cjs/src/helpers/hardCopy.js.map +1 -0
- package/lib/cjs/src/helpers/isDeepEmpty.d.ts +1 -0
- package/lib/cjs/src/helpers/isDeepEmpty.js +23 -0
- package/lib/cjs/src/helpers/isDeepEmpty.js.map +1 -0
- package/lib/cjs/src/helpers/isValidObjectId.d.ts +15 -0
- package/lib/cjs/src/helpers/isValidObjectId.js +22 -0
- package/lib/cjs/src/helpers/isValidObjectId.js.map +1 -0
- package/lib/cjs/src/helpers/matchSortArray.d.ts +2 -0
- package/lib/cjs/src/helpers/matchSortArray.js +20 -0
- package/lib/cjs/src/helpers/matchSortArray.js.map +1 -0
- package/lib/cjs/src/helpers/safeObjectId.d.ts +8 -0
- package/lib/cjs/src/helpers/safeObjectId.js +18 -0
- package/lib/cjs/src/helpers/safeObjectId.js.map +1 -0
- package/lib/cjs/src/helpers/updateMappedId.d.ts +2 -0
- package/lib/cjs/src/helpers/updateMappedId.js +8 -0
- package/lib/cjs/src/helpers/updateMappedId.js.map +1 -0
- package/lib/cjs/src/http.challenge.class.d.ts +33 -0
- package/lib/cjs/src/http.challenge.class.js +64 -0
- package/lib/cjs/src/http.challenge.class.js.map +1 -0
- package/lib/cjs/src/logger.d.ts +2 -0
- package/lib/cjs/src/logger.js +45 -0
- package/lib/cjs/src/logger.js.map +1 -0
- package/lib/cjs/src/models/access.model.d.ts +4 -0
- package/lib/cjs/src/models/access.model.js +16 -0
- package/lib/cjs/src/models/access.model.js.map +1 -0
- package/lib/cjs/src/models/app.model.d.ts +4 -0
- package/lib/cjs/src/models/app.model.js +86 -0
- package/lib/cjs/src/models/app.model.js.map +1 -0
- package/lib/cjs/src/models/cache.model.d.ts +4 -0
- package/lib/cjs/src/models/cache.model.js +15 -0
- package/lib/cjs/src/models/cache.model.js.map +1 -0
- package/lib/cjs/src/models/cart.model.d.ts +4 -0
- package/lib/cjs/src/models/cart.model.js +76 -0
- package/lib/cjs/src/models/cart.model.js.map +1 -0
- package/lib/cjs/src/models/certificate-action.model.d.ts +5 -0
- package/lib/cjs/src/models/certificate-action.model.js +235 -0
- package/lib/cjs/src/models/certificate-action.model.js.map +1 -0
- package/lib/cjs/src/models/certificate.model.d.ts +4 -0
- package/lib/cjs/src/models/certificate.model.js +101 -0
- package/lib/cjs/src/models/certificate.model.js.map +1 -0
- package/lib/cjs/src/models/company.model.d.ts +4 -0
- package/lib/cjs/src/models/company.model.js +84 -0
- package/lib/cjs/src/models/company.model.js.map +1 -0
- package/lib/cjs/src/models/customers.model.d.ts +7 -0
- package/lib/cjs/src/models/customers.model.js +199 -0
- package/lib/cjs/src/models/customers.model.js.map +1 -0
- package/lib/cjs/src/models/domain.model.d.ts +4 -0
- package/lib/cjs/src/models/domain.model.js +90 -0
- package/lib/cjs/src/models/domain.model.js.map +1 -0
- package/lib/cjs/src/models/editor.model.d.ts +4 -0
- package/lib/cjs/src/models/editor.model.js +174 -0
- package/lib/cjs/src/models/editor.model.js.map +1 -0
- package/lib/cjs/src/models/editorBase.model.d.ts +4 -0
- package/lib/cjs/src/models/editorBase.model.js +44 -0
- package/lib/cjs/src/models/editorBase.model.js.map +1 -0
- package/lib/cjs/src/models/history.model.d.ts +4 -0
- package/lib/cjs/src/models/history.model.js +54 -0
- package/lib/cjs/src/models/history.model.js.map +1 -0
- package/lib/cjs/src/models/hosting.model.d.ts +4 -0
- package/lib/cjs/src/models/hosting.model.js +44 -0
- package/lib/cjs/src/models/hosting.model.js.map +1 -0
- package/lib/cjs/src/models/hostingCommand.model.d.ts +4 -0
- package/lib/cjs/src/models/hostingCommand.model.js +30 -0
- package/lib/cjs/src/models/hostingCommand.model.js.map +1 -0
- package/lib/cjs/src/models/hostingSettings.model.d.ts +4 -0
- package/lib/cjs/src/models/hostingSettings.model.js +29 -0
- package/lib/cjs/src/models/hostingSettings.model.js.map +1 -0
- package/lib/cjs/src/models/id.model.d.ts +12 -0
- package/lib/cjs/src/models/id.model.js +28 -0
- package/lib/cjs/src/models/id.model.js.map +1 -0
- package/lib/cjs/src/models/import.model.d.ts +4 -0
- package/lib/cjs/src/models/import.model.js +40 -0
- package/lib/cjs/src/models/import.model.js.map +1 -0
- package/lib/cjs/src/models/lists.model.d.ts +4 -0
- package/lib/cjs/src/models/lists.model.js +183 -0
- package/lib/cjs/src/models/lists.model.js.map +1 -0
- package/lib/cjs/src/models/listsParticipants.model.d.ts +4 -0
- package/lib/cjs/src/models/listsParticipants.model.js +87 -0
- package/lib/cjs/src/models/listsParticipants.model.js.map +1 -0
- package/lib/cjs/src/models/mailFrom.model.d.ts +4 -0
- package/lib/cjs/src/models/mailFrom.model.js +37 -0
- package/lib/cjs/src/models/mailFrom.model.js.map +1 -0
- package/lib/cjs/src/models/me.model.d.ts +4 -0
- package/lib/cjs/src/models/me.model.js +42 -0
- package/lib/cjs/src/models/me.model.js.map +1 -0
- package/lib/cjs/src/models/media.model.d.ts +4 -0
- package/lib/cjs/src/models/media.model.js +139 -0
- package/lib/cjs/src/models/media.model.js.map +1 -0
- package/lib/cjs/src/models/payment-provider.model.d.ts +4 -0
- package/lib/cjs/src/models/payment-provider.model.js +72 -0
- package/lib/cjs/src/models/payment-provider.model.js.map +1 -0
- package/lib/cjs/src/models/payment.model.d.ts +4 -0
- package/lib/cjs/src/models/payment.model.js +66 -0
- package/lib/cjs/src/models/payment.model.js.map +1 -0
- package/lib/cjs/src/models/permissions.model.d.ts +9 -0
- package/lib/cjs/src/models/permissions.model.js +264 -0
- package/lib/cjs/src/models/permissions.model.js.map +1 -0
- package/lib/cjs/src/models/project.model.d.ts +4 -0
- package/lib/cjs/src/models/project.model.js +80 -0
- package/lib/cjs/src/models/project.model.js.map +1 -0
- package/lib/cjs/src/models/publish-method.model.d.ts +4 -0
- package/lib/cjs/src/models/publish-method.model.js +452 -0
- package/lib/cjs/src/models/publish-method.model.js.map +1 -0
- package/lib/cjs/src/models/publish.model.d.ts +4 -0
- package/lib/cjs/src/models/publish.model.js +188 -0
- package/lib/cjs/src/models/publish.model.js.map +1 -0
- package/lib/cjs/src/models/secrets.model.d.ts +4 -0
- package/lib/cjs/src/models/secrets.model.js +42 -0
- package/lib/cjs/src/models/secrets.model.js.map +1 -0
- package/lib/cjs/src/models/settings.model.d.ts +4 -0
- package/lib/cjs/src/models/settings.model.js +21 -0
- package/lib/cjs/src/models/settings.model.js.map +1 -0
- package/lib/cjs/src/models/structure.model.d.ts +4 -0
- package/lib/cjs/src/models/structure.model.js +187 -0
- package/lib/cjs/src/models/structure.model.js.map +1 -0
- package/lib/cjs/src/models/tracker.model.d.ts +4 -0
- package/lib/cjs/src/models/tracker.model.js +59 -0
- package/lib/cjs/src/models/tracker.model.js.map +1 -0
- package/lib/cjs/src/models/universal.model.d.ts +4 -0
- package/lib/cjs/src/models/universal.model.js +9 -0
- package/lib/cjs/src/models/universal.model.js.map +1 -0
- package/lib/cjs/src/models/webhook-call.model.d.ts +4 -0
- package/lib/cjs/src/models/webhook-call.model.js +31 -0
- package/lib/cjs/src/models/webhook-call.model.js.map +1 -0
- package/lib/cjs/src/nginx.class.d.ts +11 -0
- package/lib/cjs/src/nginx.class.js +49 -0
- package/lib/cjs/src/nginx.class.js.map +1 -0
- package/lib/cjs/src/prepareContent.d.ts +7 -0
- package/lib/cjs/src/prepareContent.js +89 -0
- package/lib/cjs/src/prepareContent.js.map +1 -0
- package/lib/cjs/src/services/access.service.d.ts +37 -0
- package/lib/cjs/src/services/access.service.js +115 -0
- package/lib/cjs/src/services/access.service.js.map +1 -0
- package/lib/cjs/src/services/cart.service.d.ts +39 -0
- package/lib/cjs/src/services/cart.service.js +196 -0
- package/lib/cjs/src/services/cart.service.js.map +1 -0
- package/lib/cjs/src/services/certificates.service.d.ts +56 -0
- package/lib/cjs/src/services/certificates.service.js +177 -0
- package/lib/cjs/src/services/certificates.service.js.map +1 -0
- package/lib/cjs/src/services/certificatesAction.service.d.ts +41 -0
- package/lib/cjs/src/services/certificatesAction.service.js +195 -0
- package/lib/cjs/src/services/certificatesAction.service.js.map +1 -0
- package/lib/cjs/src/services/conf.service.d.ts +35 -0
- package/lib/cjs/src/services/conf.service.js +189 -0
- package/lib/cjs/src/services/conf.service.js.map +1 -0
- package/lib/cjs/src/services/customers.service.d.ts +74 -0
- package/lib/cjs/src/services/customers.service.js +397 -0
- package/lib/cjs/src/services/customers.service.js.map +1 -0
- package/lib/cjs/src/services/domains.service.d.ts +115 -0
- package/lib/cjs/src/services/domains.service.js +635 -0
- package/lib/cjs/src/services/domains.service.js.map +1 -0
- package/lib/cjs/src/services/editor.service.d.ts +65 -0
- package/lib/cjs/src/services/editor.service.js +532 -0
- package/lib/cjs/src/services/editor.service.js.map +1 -0
- package/lib/cjs/src/services/editorBase.service.d.ts +46 -0
- package/lib/cjs/src/services/editorBase.service.js +163 -0
- package/lib/cjs/src/services/editorBase.service.js.map +1 -0
- package/lib/cjs/src/services/handleFile.service.d.ts +9 -0
- package/lib/cjs/src/services/handleFile.service.js +52 -0
- package/lib/cjs/src/services/handleFile.service.js.map +1 -0
- package/lib/cjs/src/services/history.service.d.ts +37 -0
- package/lib/cjs/src/services/history.service.js +268 -0
- package/lib/cjs/src/services/history.service.js.map +1 -0
- package/lib/cjs/src/services/hosting.service.d.ts +38 -0
- package/lib/cjs/src/services/hosting.service.js +221 -0
- package/lib/cjs/src/services/hosting.service.js.map +1 -0
- package/lib/cjs/src/services/hostingAdmin.service.d.ts +11 -0
- package/lib/cjs/src/services/hostingAdmin.service.js +21 -0
- package/lib/cjs/src/services/hostingAdmin.service.js.map +1 -0
- package/lib/cjs/src/services/hostingCommands.service.d.ts +17 -0
- package/lib/cjs/src/services/hostingCommands.service.js +80 -0
- package/lib/cjs/src/services/hostingCommands.service.js.map +1 -0
- package/lib/cjs/src/services/id.service.d.ts +4 -0
- package/lib/cjs/src/services/id.service.js +18 -0
- package/lib/cjs/src/services/id.service.js.map +1 -0
- package/lib/cjs/src/services/import.service.d.ts +33 -0
- package/lib/cjs/src/services/import.service.js +99 -0
- package/lib/cjs/src/services/import.service.js.map +1 -0
- package/lib/cjs/src/services/listParticipants.service.d.ts +242 -0
- package/lib/cjs/src/services/listParticipants.service.js +907 -0
- package/lib/cjs/src/services/listParticipants.service.js.map +1 -0
- package/lib/cjs/src/services/lists.service.d.ts +40 -0
- package/lib/cjs/src/services/lists.service.js +626 -0
- package/lib/cjs/src/services/lists.service.js.map +1 -0
- package/lib/cjs/src/services/mailFrom.service.d.ts +10 -0
- package/lib/cjs/src/services/mailFrom.service.js +53 -0
- package/lib/cjs/src/services/mailFrom.service.js.map +1 -0
- package/lib/cjs/src/services/me.service.d.ts +68 -0
- package/lib/cjs/src/services/me.service.js +350 -0
- package/lib/cjs/src/services/me.service.js.map +1 -0
- package/lib/cjs/src/services/media.service.d.ts +34 -0
- package/lib/cjs/src/services/media.service.js +422 -0
- package/lib/cjs/src/services/media.service.js.map +1 -0
- package/lib/cjs/src/services/paymentProviders.service.d.ts +13 -0
- package/lib/cjs/src/services/paymentProviders.service.js +33 -0
- package/lib/cjs/src/services/paymentProviders.service.js.map +1 -0
- package/lib/cjs/src/services/payments.service.d.ts +70 -0
- package/lib/cjs/src/services/payments.service.js +151 -0
- package/lib/cjs/src/services/payments.service.js.map +1 -0
- package/lib/cjs/src/services/permissions.service.d.ts +35 -0
- package/lib/cjs/src/services/permissions.service.js +739 -0
- package/lib/cjs/src/services/permissions.service.js.map +1 -0
- package/lib/cjs/src/services/publish.service.d.ts +40 -0
- package/lib/cjs/src/services/publish.service.js +366 -0
- package/lib/cjs/src/services/publish.service.js.map +1 -0
- package/lib/cjs/src/services/publishData.service.d.ts +18 -0
- package/lib/cjs/src/services/publishData.service.js +120 -0
- package/lib/cjs/src/services/publishData.service.js.map +1 -0
- package/lib/cjs/src/services/publishMethod.service.d.ts +16 -0
- package/lib/cjs/src/services/publishMethod.service.js +64 -0
- package/lib/cjs/src/services/publishMethod.service.js.map +1 -0
- package/lib/cjs/src/services/secret.service.d.ts +17 -0
- package/lib/cjs/src/services/secret.service.js +50 -0
- package/lib/cjs/src/services/secret.service.js.map +1 -0
- package/lib/cjs/src/services/spamAnalasys.service.d.ts +15 -0
- package/lib/cjs/src/services/spamAnalasys.service.js +100 -0
- package/lib/cjs/src/services/spamAnalasys.service.js.map +1 -0
- package/lib/cjs/src/services/structures.service.d.ts +40 -0
- package/lib/cjs/src/services/structures.service.js +267 -0
- package/lib/cjs/src/services/structures.service.js.map +1 -0
- package/lib/cjs/src/services/universal.service.d.ts +17 -0
- package/lib/cjs/src/services/universal.service.js +145 -0
- package/lib/cjs/src/services/universal.service.js.map +1 -0
- package/lib/cjs/src/services/webhooks-calls.service.d.ts +13 -0
- package/lib/cjs/src/services/webhooks-calls.service.js +59 -0
- package/lib/cjs/src/services/webhooks-calls.service.js.map +1 -0
- package/lib/cjs/tests/editorService.spec.d.ts +1 -0
- package/lib/cjs/tests/editorService.spec.js +49 -0
- package/lib/cjs/tests/editorService.spec.js.map +1 -0
- package/lib/cjs/tests/getUnsetObject.spec.d.ts +1 -0
- package/lib/cjs/tests/getUnsetObject.spec.js +68 -0
- package/lib/cjs/tests/getUnsetObject.spec.js.map +1 -0
- package/lib/esm/frontend.d.ts +7 -0
- package/lib/esm/frontend.js +8 -0
- package/lib/esm/frontend.js.map +1 -0
- package/lib/esm/src/filterMergeModules.d.ts +3 -0
- package/lib/esm/src/filterMergeModules.js +29 -0
- package/lib/esm/src/filterMergeModules.js.map +1 -0
- package/lib/esm/src/helpers/convertCountryISO2.d.ts +2 -0
- package/lib/esm/src/helpers/convertCountryISO2.js +246 -0
- package/lib/esm/src/helpers/convertCountryISO2.js.map +1 -0
- package/lib/esm/src/helpers/findObjetcsWithKeys.d.ts +13 -0
- package/lib/esm/src/helpers/findObjetcsWithKeys.js +31 -0
- package/lib/esm/src/helpers/findObjetcsWithKeys.js.map +1 -0
- package/lib/esm/src/helpers/hardCopy.d.ts +2 -0
- package/lib/esm/src/helpers/hardCopy.js +3 -0
- package/lib/esm/src/helpers/hardCopy.js.map +1 -0
- package/lib/esm/src/helpers/isDeepEmpty.d.ts +1 -0
- package/lib/esm/src/helpers/isDeepEmpty.js +20 -0
- package/lib/esm/src/helpers/isDeepEmpty.js.map +1 -0
- package/lib/esm/src/prepareContent.d.ts +7 -0
- package/lib/esm/src/prepareContent.js +83 -0
- package/lib/esm/src/prepareContent.js.map +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ObjectId, UnorderedBulkOperation, WithId } from 'mongodb';
|
|
2
|
+
import Immutable from '../Immutable.class';
|
|
3
|
+
import { BasicData, Content, GenericData, ContentOptions, Options, History, ObjectIdString } from '@lilaquadrat/interfaces';
|
|
4
|
+
declare class EditorService extends Immutable<Content> {
|
|
5
|
+
model: import("../classes/modelv2.class").default<Content, string>;
|
|
6
|
+
put(_id: BasicData<Content>['_id'], data: Content): Promise<WithId<Content> | null>;
|
|
7
|
+
single(_id: string, isHistory?: boolean): Promise<WithId<Content> | null>;
|
|
8
|
+
getById(id: string, options: ContentOptions): Promise<BasicData<Content>>;
|
|
9
|
+
getByInternalId(_id: ObjectId, options: ContentOptions): Promise<BasicData<Content>>;
|
|
10
|
+
private getSingle;
|
|
11
|
+
getMultipleByInternalId(arrayOfInternalIds: (ObjectId | ObjectIdString)[], options: ContentOptions): Promise<BasicData<Content>[]>;
|
|
12
|
+
getByFilename(filename: string, options: ContentOptions): Promise<BasicData<Content>>;
|
|
13
|
+
execSingle(aggregation: Object[], options: {
|
|
14
|
+
partials?: boolean;
|
|
15
|
+
children?: boolean;
|
|
16
|
+
genericData?: boolean;
|
|
17
|
+
}): Promise<BasicData<Content>>;
|
|
18
|
+
execMulti(aggregation: Object[], options: {
|
|
19
|
+
partials?: boolean;
|
|
20
|
+
children?: boolean;
|
|
21
|
+
genericData?: boolean;
|
|
22
|
+
}): Promise<BasicData<Content>[]>;
|
|
23
|
+
getGenericData(data: BasicData<Content>, genericData: GenericData): Promise<{}>;
|
|
24
|
+
latest(company: string, project: string, categories?: string[]): Promise<BasicData<Content> | undefined>;
|
|
25
|
+
existsById(id: string, company: string, project: string): Promise<boolean>;
|
|
26
|
+
getByUrl(url: string, company: string, project: string, state?: Content['state'], partials?: boolean, children?: boolean): Promise<BasicData<Content>>;
|
|
27
|
+
existsByUrl(url: string, company: string, project: string): Promise<boolean>;
|
|
28
|
+
existsByFilename(filename: string, company: string, project: string): Promise<boolean>;
|
|
29
|
+
check(type: string, value: string): Promise<number>;
|
|
30
|
+
get(company: string, site?: number): import("mongodb").FindCursor<WithId<Content>>;
|
|
31
|
+
searchContent(search: string, state: Content['state'] | undefined, skip: number, limit: number, company: string, project: string): Promise<{
|
|
32
|
+
data: WithId<Content>[];
|
|
33
|
+
all: number;
|
|
34
|
+
count: number;
|
|
35
|
+
}>;
|
|
36
|
+
getTags(company: string, project: string, search: string): Promise<string[]>;
|
|
37
|
+
matchSortTags(documents: any[], search: RegExp | string, sort: string): string[];
|
|
38
|
+
export(options: Options): Promise<WithId<Content>[]>;
|
|
39
|
+
updateImportIds(importData: BasicData<Content>[], options: Required<Options>): Record<string, ObjectId>;
|
|
40
|
+
updatePictureVideo(pictureOrVideo: any, idMapping: Record<string, ObjectId>, options: {
|
|
41
|
+
cdn: string;
|
|
42
|
+
company?: string;
|
|
43
|
+
project?: string;
|
|
44
|
+
}): void;
|
|
45
|
+
/**
|
|
46
|
+
* Imports content data and updates related references with new ObjectIds
|
|
47
|
+
*
|
|
48
|
+
* The function:
|
|
49
|
+
* - Creates new ObjectIds for each imported content
|
|
50
|
+
* - Maintains a mapping between original and new IDs
|
|
51
|
+
* - Updates layout references
|
|
52
|
+
* - Updates partial module references
|
|
53
|
+
* - Updates list content and email references
|
|
54
|
+
* - Updates publish method context data references
|
|
55
|
+
*/
|
|
56
|
+
import(importData: BasicData<Content>[], importHistoryData: BasicData<Content & History>[], idMapping: Record<string, ObjectId>, bulkHistory: UnorderedBulkOperation, options: Required<Options & {
|
|
57
|
+
cdn?: string;
|
|
58
|
+
}>): Promise<{
|
|
59
|
+
filteredData: BasicData<Content>[];
|
|
60
|
+
skippedData: BasicData<Content>[];
|
|
61
|
+
bulk: UnorderedBulkOperation;
|
|
62
|
+
}>;
|
|
63
|
+
}
|
|
64
|
+
declare const _default: EditorService;
|
|
65
|
+
export default _default;
|
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const mongodb_1 = require("mongodb");
|
|
7
|
+
const childData_aggregation_1 = __importDefault(require("../aggegations/childData.aggregation"));
|
|
8
|
+
const partial_aggregation_1 = __importDefault(require("../aggegations/partial.aggregation"));
|
|
9
|
+
const Immutable_class_1 = __importDefault(require("../Immutable.class"));
|
|
10
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
11
|
+
const models_1 = require("../../models");
|
|
12
|
+
const genericData_aggregation_1 = __importDefault(require("../aggegations/genericData.aggregation"));
|
|
13
|
+
const updateMappedId_1 = __importDefault(require("../helpers/updateMappedId"));
|
|
14
|
+
const findObjetcsWithKeys_1 = __importDefault(require("../helpers/findObjetcsWithKeys"));
|
|
15
|
+
class EditorService extends Immutable_class_1.default {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.model = models_1.EditorModel;
|
|
19
|
+
}
|
|
20
|
+
put(_id, data) {
|
|
21
|
+
return this.model.db.findOneAndUpdate({ _id }, data);
|
|
22
|
+
}
|
|
23
|
+
single(_id, isHistory) {
|
|
24
|
+
const query = {};
|
|
25
|
+
query._id = isHistory
|
|
26
|
+
? new mongodb_1.ObjectId(_id)
|
|
27
|
+
: _id;
|
|
28
|
+
return this.model.db.findOne(query);
|
|
29
|
+
}
|
|
30
|
+
getById(id, options) {
|
|
31
|
+
return this.getSingle(id, options);
|
|
32
|
+
}
|
|
33
|
+
getByInternalId(_id, options) {
|
|
34
|
+
return this.getSingle(_id, options);
|
|
35
|
+
}
|
|
36
|
+
getSingle(stringOrObjectID, options) {
|
|
37
|
+
const aggregation = [];
|
|
38
|
+
const query = {
|
|
39
|
+
$match: {
|
|
40
|
+
$and: [
|
|
41
|
+
{ $expr: { $eq: ['$company', options.company] } },
|
|
42
|
+
{ $expr: { $eq: ['$project', options.project] } },
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
if (options.affectedStates) {
|
|
47
|
+
query.$match.$and.push({ $expr: { $in: ['$state', Array.isArray(options.affectedStates) ? options.affectedStates : [options.affectedStates]] } });
|
|
48
|
+
}
|
|
49
|
+
if (typeof stringOrObjectID === 'string') {
|
|
50
|
+
query.$match.$and.push({ $expr: { $eq: ['$id', stringOrObjectID] } });
|
|
51
|
+
}
|
|
52
|
+
if (typeof stringOrObjectID === 'object') {
|
|
53
|
+
query.$match.$and.push({ _id: stringOrObjectID });
|
|
54
|
+
}
|
|
55
|
+
if (options.categories) {
|
|
56
|
+
if (options.categories.not) {
|
|
57
|
+
query.$match.$and.push({ tags: { $nin: Array.isArray(options.categories.not) ? options.categories.not : [options.categories.not] } });
|
|
58
|
+
}
|
|
59
|
+
if (options.categories.in) {
|
|
60
|
+
query.$match.$and.push({ tags: { $in: Array.isArray(options.categories.in) ? options.categories.in : [options.categories.in] } });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
aggregation.push(query);
|
|
64
|
+
return this.execSingle(aggregation, { partials: options.partials, children: options.children, genericData: options.genericData });
|
|
65
|
+
}
|
|
66
|
+
getMultipleByInternalId(arrayOfInternalIds, options) {
|
|
67
|
+
const aggregation = [];
|
|
68
|
+
const query = {
|
|
69
|
+
$match: {
|
|
70
|
+
_id: { $in: arrayOfInternalIds.map((single) => new mongodb_1.ObjectId(single)) },
|
|
71
|
+
company: options.company,
|
|
72
|
+
project: options.project,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
if (options.affectedStates) {
|
|
76
|
+
query.$match.state = { $expr: { $in: ['$state', Array.isArray(options.affectedStates) ? options.affectedStates : [options.affectedStates]] } };
|
|
77
|
+
}
|
|
78
|
+
if (options.categories) {
|
|
79
|
+
if (options.categories.not) {
|
|
80
|
+
query.$match.tags = { $nin: Array.isArray(options.categories.not) ? options.categories.not : [options.categories.not] };
|
|
81
|
+
}
|
|
82
|
+
if (options.categories.in) {
|
|
83
|
+
query.$match.tags = { $in: Array.isArray(options.categories.in) ? options.categories.in : [options.categories.in] };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
aggregation.push(query);
|
|
87
|
+
return this.execMulti(aggregation, { partials: options.partials, children: options.children, genericData: options.genericData });
|
|
88
|
+
}
|
|
89
|
+
getByFilename(filename, options) {
|
|
90
|
+
const aggregation = [];
|
|
91
|
+
const query = {
|
|
92
|
+
$match: {
|
|
93
|
+
$and: [
|
|
94
|
+
{ $expr: { $eq: ['$company', options.company] } },
|
|
95
|
+
{ $expr: { $eq: ['$project', options.project] } },
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
query.$match.$and.push({ 'settings.filename': filename });
|
|
100
|
+
if (options.affectedStates) {
|
|
101
|
+
query.$match.$and.push({ $expr: { $in: ['$state', Array.isArray(options.affectedStates) ? options.affectedStates : [options.affectedStates]] } });
|
|
102
|
+
}
|
|
103
|
+
if (options.categories) {
|
|
104
|
+
if (options.categories.not) {
|
|
105
|
+
query.$match.$and.push({ tags: { $nin: Array.isArray(options.categories.not) ? options.categories.not : [options.categories.not] } });
|
|
106
|
+
}
|
|
107
|
+
if (options.categories.in) {
|
|
108
|
+
query.$match.$and.push({ tags: { $in: Array.isArray(options.categories.in) ? options.categories.in : [options.categories.in] } });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
aggregation.push(query);
|
|
112
|
+
return this.execSingle(aggregation, { partials: options.partials, children: options.children, genericData: options.genericData });
|
|
113
|
+
}
|
|
114
|
+
execSingle(aggregation, options) {
|
|
115
|
+
const extendedAggregation = [...aggregation];
|
|
116
|
+
if (options.partials) {
|
|
117
|
+
extendedAggregation.push(...partial_aggregation_1.default);
|
|
118
|
+
}
|
|
119
|
+
if (options.children) {
|
|
120
|
+
extendedAggregation.push(...childData_aggregation_1.default);
|
|
121
|
+
}
|
|
122
|
+
if (options.genericData) {
|
|
123
|
+
extendedAggregation.push(...genericData_aggregation_1.default);
|
|
124
|
+
}
|
|
125
|
+
return this.model.db.aggregate(extendedAggregation).toArray()
|
|
126
|
+
.then(async (data) => data.length > 0 ? data[0] : undefined)
|
|
127
|
+
.catch((e) => {
|
|
128
|
+
logger_1.default.error(e);
|
|
129
|
+
return e;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
execMulti(aggregation, options) {
|
|
133
|
+
const extendedAggregation = [...aggregation];
|
|
134
|
+
if (options.partials) {
|
|
135
|
+
extendedAggregation.push(...partial_aggregation_1.default);
|
|
136
|
+
}
|
|
137
|
+
if (options.children) {
|
|
138
|
+
extendedAggregation.push(...childData_aggregation_1.default);
|
|
139
|
+
}
|
|
140
|
+
if (options.genericData) {
|
|
141
|
+
extendedAggregation.push(...genericData_aggregation_1.default);
|
|
142
|
+
}
|
|
143
|
+
return this.model.db.aggregate(extendedAggregation).toArray()
|
|
144
|
+
.then(async (data) => data.length > 0 ? data : undefined)
|
|
145
|
+
.catch((e) => {
|
|
146
|
+
logger_1.default.error(e);
|
|
147
|
+
return e;
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
async getGenericData(data, genericData) {
|
|
151
|
+
if (!genericData)
|
|
152
|
+
return {};
|
|
153
|
+
const aggregation = [{
|
|
154
|
+
$match: {
|
|
155
|
+
$and: [
|
|
156
|
+
{
|
|
157
|
+
$expr: { $eq: ['$_id', data._id] },
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
$expr: { $eq: ['$project', '$$project'] },
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
$expr: { $eq: ['$company', '$$company'] },
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
}];
|
|
168
|
+
Object.keys(genericData).map((single) => {
|
|
169
|
+
aggregation.push({
|
|
170
|
+
$lookup: {
|
|
171
|
+
from: single,
|
|
172
|
+
as: `${single}Data`,
|
|
173
|
+
let: {
|
|
174
|
+
pid: genericData[single],
|
|
175
|
+
company: data.company,
|
|
176
|
+
project: data.project,
|
|
177
|
+
},
|
|
178
|
+
pipeline: [
|
|
179
|
+
{
|
|
180
|
+
$match: {
|
|
181
|
+
$and: [
|
|
182
|
+
{
|
|
183
|
+
$expr: { $in: ['$_id', '$$pid'] },
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
$expr: { $eq: ['$project', '$$project'] },
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
$expr: { $eq: ['$company', '$$company'] },
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
// ...partialAggregation,
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
aggregation.push({
|
|
200
|
+
$project: {
|
|
201
|
+
mergedData: {
|
|
202
|
+
$concatArrays: [
|
|
203
|
+
'$editorData',
|
|
204
|
+
'$customersData',
|
|
205
|
+
'$mediaData',
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
});
|
|
210
|
+
if (aggregation.length) {
|
|
211
|
+
const aggregrationData = await this.model.db.aggregate(aggregation).toArray();
|
|
212
|
+
return aggregrationData?.[0]?.mergedData || [];
|
|
213
|
+
}
|
|
214
|
+
return aggregation;
|
|
215
|
+
}
|
|
216
|
+
latest(company, project, categories) {
|
|
217
|
+
let aggregation = [];
|
|
218
|
+
const query = {
|
|
219
|
+
$match: {
|
|
220
|
+
$and: [
|
|
221
|
+
{ $expr: { $eq: ['$company', company] } },
|
|
222
|
+
{ $expr: { $eq: ['$project', project] } },
|
|
223
|
+
{ $expr: { $eq: ['$state', 'publish'] } },
|
|
224
|
+
],
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
aggregation.push(query);
|
|
228
|
+
aggregation.push({
|
|
229
|
+
$sort: {
|
|
230
|
+
'history.updated': -1,
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
aggregation.push({
|
|
234
|
+
$limit: 1,
|
|
235
|
+
});
|
|
236
|
+
if (categories) {
|
|
237
|
+
const inArray = Array.isArray(categories) ? categories.map((single) => `category:${single}`) : [`category:${categories}`];
|
|
238
|
+
query.$match.$and.push({
|
|
239
|
+
$expr: {
|
|
240
|
+
$cond: [
|
|
241
|
+
{ $isArray: '$tags' },
|
|
242
|
+
{ $in: [inArray, ['$tags']] },
|
|
243
|
+
{ $eq: [true, false] },
|
|
244
|
+
],
|
|
245
|
+
},
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
aggregation = [...aggregation, ...partial_aggregation_1.default, ...childData_aggregation_1.default];
|
|
249
|
+
return this.model.db.aggregate(aggregation).toArray()
|
|
250
|
+
.then((data) => (data.length > 0 ? data[0] : undefined))
|
|
251
|
+
.catch((e) => {
|
|
252
|
+
logger_1.default.error(e);
|
|
253
|
+
throw e;
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
existsById(id, company, project) {
|
|
257
|
+
return this.model.db.countDocuments({ company, project, id })
|
|
258
|
+
.then((found) => found > 0);
|
|
259
|
+
}
|
|
260
|
+
getByUrl(url, company, project, state, partials, children) {
|
|
261
|
+
const aggregation = [];
|
|
262
|
+
const query = {
|
|
263
|
+
$match: {
|
|
264
|
+
$and: [
|
|
265
|
+
{ $expr: { $eq: ['$company', company] } },
|
|
266
|
+
{ $expr: { $eq: ['$project', project] } },
|
|
267
|
+
{ $expr: { $eq: ['$settings.url', url] } },
|
|
268
|
+
],
|
|
269
|
+
},
|
|
270
|
+
};
|
|
271
|
+
if (state) {
|
|
272
|
+
query.$match.$and.push({ $expr: { $eq: ['$state', state] } });
|
|
273
|
+
}
|
|
274
|
+
aggregation.push(query);
|
|
275
|
+
return this.execSingle(aggregation, { partials, children });
|
|
276
|
+
}
|
|
277
|
+
existsByUrl(url, company, project) {
|
|
278
|
+
return this.model.db.countDocuments({ company, project, 'settings.url': url })
|
|
279
|
+
.then((found) => found > 0);
|
|
280
|
+
}
|
|
281
|
+
existsByFilename(filename, company, project) {
|
|
282
|
+
return this.model.db.countDocuments({ company, project, 'settings.filename': filename })
|
|
283
|
+
.then((found) => found > 0);
|
|
284
|
+
}
|
|
285
|
+
check(type, value) {
|
|
286
|
+
const query = {};
|
|
287
|
+
if (type === '_id') {
|
|
288
|
+
query._id = value;
|
|
289
|
+
}
|
|
290
|
+
if (type === 'id') {
|
|
291
|
+
query.id = value;
|
|
292
|
+
}
|
|
293
|
+
if (type === 'filename') {
|
|
294
|
+
query.filename = { $in: value };
|
|
295
|
+
}
|
|
296
|
+
return this.model.db.countDocuments(query);
|
|
297
|
+
}
|
|
298
|
+
get(company, site) {
|
|
299
|
+
return this.model.db.find({ company, immutable_parent: { $exists: false } });
|
|
300
|
+
// .populate({ path: 'publish.user', select: 'prename lastname' }).lean();
|
|
301
|
+
}
|
|
302
|
+
async searchContent(search, state, skip, limit, company, project) {
|
|
303
|
+
const query = {
|
|
304
|
+
company,
|
|
305
|
+
project,
|
|
306
|
+
$text: { $search: search },
|
|
307
|
+
};
|
|
308
|
+
if (state)
|
|
309
|
+
query.state = state;
|
|
310
|
+
const all = await this.model.db.countDocuments(query);
|
|
311
|
+
return this.model.db.find(query, {
|
|
312
|
+
projection: {
|
|
313
|
+
'settings.title': 1,
|
|
314
|
+
'settings.description': 1,
|
|
315
|
+
'settings.url': 1,
|
|
316
|
+
tags: 1,
|
|
317
|
+
},
|
|
318
|
+
})
|
|
319
|
+
.sort({ score: { $meta: 'textScore' } })
|
|
320
|
+
.skip(skip)
|
|
321
|
+
.limit(limit)
|
|
322
|
+
.toArray()
|
|
323
|
+
.then((data) => ({ data, all, count: data.length }));
|
|
324
|
+
}
|
|
325
|
+
getTags(company, project, search) {
|
|
326
|
+
let cleanSearch = search.toLowerCase().trim();
|
|
327
|
+
let sortString = cleanSearch;
|
|
328
|
+
let splitSearch = [];
|
|
329
|
+
if (cleanSearch.includes(':')) {
|
|
330
|
+
splitSearch = cleanSearch.split(':');
|
|
331
|
+
cleanSearch = new RegExp(`^${splitSearch[0]}:.*?(${splitSearch[1]})`);
|
|
332
|
+
sortString = cleanSearch[1];
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
cleanSearch = new RegExp(`^(?!([a-z]+):).*(${cleanSearch}).*`);
|
|
336
|
+
}
|
|
337
|
+
return this.model.db.find({ company, project, tags: { $regex: cleanSearch, $options: 'i' } }, { projection: { tags: 1 } }).toArray()
|
|
338
|
+
.then((matchedDocuments) => this.matchSortTags(matchedDocuments, cleanSearch, sortString));
|
|
339
|
+
}
|
|
340
|
+
matchSortTags(documents, search, sort) {
|
|
341
|
+
const mergedArray = [];
|
|
342
|
+
const sortArray = [];
|
|
343
|
+
const returnArray = [];
|
|
344
|
+
documents.forEach((document) => {
|
|
345
|
+
document.tags.forEach((tag) => {
|
|
346
|
+
if (mergedArray.find((tagArray) => tagArray.tag === tag))
|
|
347
|
+
return;
|
|
348
|
+
if (!tag.match(search))
|
|
349
|
+
return;
|
|
350
|
+
mergedArray.push({ tag, rating: tag.indexOf(sort) });
|
|
351
|
+
});
|
|
352
|
+
});
|
|
353
|
+
mergedArray.sort((a, b) => (a.rating > b.rating ? 1 : -1));
|
|
354
|
+
mergedArray.forEach((tag) => {
|
|
355
|
+
returnArray.push(tag.tag);
|
|
356
|
+
});
|
|
357
|
+
return returnArray;
|
|
358
|
+
}
|
|
359
|
+
export(options) {
|
|
360
|
+
return this.model.db.find({ company: options.company, project: options.project }).toArray();
|
|
361
|
+
}
|
|
362
|
+
updateImportIds(importData, options) {
|
|
363
|
+
const idMapping = {};
|
|
364
|
+
/**
|
|
365
|
+
* update the unique datasets with new object ids and company and project
|
|
366
|
+
*/
|
|
367
|
+
importData.map((single) => {
|
|
368
|
+
const originalId = single._id?.toString();
|
|
369
|
+
const newId = new mongodb_1.ObjectId();
|
|
370
|
+
single._id = newId;
|
|
371
|
+
single.company = options.company;
|
|
372
|
+
single.project = options.project;
|
|
373
|
+
idMapping[originalId] = newId;
|
|
374
|
+
});
|
|
375
|
+
return idMapping;
|
|
376
|
+
}
|
|
377
|
+
updatePictureVideo(pictureOrVideo, idMapping, options) {
|
|
378
|
+
const updateUrl = (url) => {
|
|
379
|
+
const srcUrl = new URL(url);
|
|
380
|
+
srcUrl.hostname = options.cdn;
|
|
381
|
+
// Update pathname with new company and project
|
|
382
|
+
if (options.company && options.project) {
|
|
383
|
+
const pathParts = srcUrl.pathname.split('/');
|
|
384
|
+
pathParts[1] = options.company;
|
|
385
|
+
pathParts[2] = options.project;
|
|
386
|
+
srcUrl.pathname = pathParts.join('/');
|
|
387
|
+
}
|
|
388
|
+
return srcUrl.toString();
|
|
389
|
+
};
|
|
390
|
+
if (pictureOrVideo.src?.length) {
|
|
391
|
+
pictureOrVideo.src = updateUrl(pictureOrVideo.src);
|
|
392
|
+
}
|
|
393
|
+
if (pictureOrVideo.file?.src?.length) {
|
|
394
|
+
pictureOrVideo.file.src = updateUrl(pictureOrVideo.file.src);
|
|
395
|
+
}
|
|
396
|
+
if (pictureOrVideo.file?.thumb?.length) {
|
|
397
|
+
pictureOrVideo.file.thumb = updateUrl(pictureOrVideo.file.thumb);
|
|
398
|
+
}
|
|
399
|
+
if (pictureOrVideo.file?.id) {
|
|
400
|
+
pictureOrVideo.file.id = idMapping[pictureOrVideo.file.id];
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Imports content data and updates related references with new ObjectIds
|
|
405
|
+
*
|
|
406
|
+
* The function:
|
|
407
|
+
* - Creates new ObjectIds for each imported content
|
|
408
|
+
* - Maintains a mapping between original and new IDs
|
|
409
|
+
* - Updates layout references
|
|
410
|
+
* - Updates partial module references
|
|
411
|
+
* - Updates list content and email references
|
|
412
|
+
* - Updates publish method context data references
|
|
413
|
+
*/
|
|
414
|
+
async import(importData, importHistoryData, idMapping, bulkHistory, options) {
|
|
415
|
+
const queryArray = [];
|
|
416
|
+
/**
|
|
417
|
+
* create a query array for the existing items
|
|
418
|
+
*/
|
|
419
|
+
importData.map((single) => {
|
|
420
|
+
queryArray.push({ company: options.company, project: options.project, id: single.id });
|
|
421
|
+
});
|
|
422
|
+
/**
|
|
423
|
+
* get all existing items
|
|
424
|
+
*/
|
|
425
|
+
const existingItems = await this.model.db.find({ $or: queryArray }).toArray();
|
|
426
|
+
const skippedData = [];
|
|
427
|
+
const filteredData = [];
|
|
428
|
+
/**
|
|
429
|
+
* filter the data to only import new items
|
|
430
|
+
* add removed items to skippedData
|
|
431
|
+
*/
|
|
432
|
+
importData.forEach((importItem) => {
|
|
433
|
+
const documentExists = existingItems.some((existingItem) => existingItem.company === options.company &&
|
|
434
|
+
existingItem.project === options.project &&
|
|
435
|
+
existingItem.id === importItem.id);
|
|
436
|
+
if (documentExists) {
|
|
437
|
+
skippedData.push(importItem);
|
|
438
|
+
}
|
|
439
|
+
else {
|
|
440
|
+
filteredData.push(importItem);
|
|
441
|
+
}
|
|
442
|
+
return importItem;
|
|
443
|
+
});
|
|
444
|
+
/**
|
|
445
|
+
* only keep history data that matches data in the main import data
|
|
446
|
+
*/
|
|
447
|
+
const filteredHistoryData = importHistoryData.filter((single) => {
|
|
448
|
+
const newParentId = idMapping[single.history.parent?.toString()];
|
|
449
|
+
single._id = new mongodb_1.ObjectId();
|
|
450
|
+
/**
|
|
451
|
+
* update the parent id
|
|
452
|
+
*/
|
|
453
|
+
single.history.parent = newParentId;
|
|
454
|
+
/**
|
|
455
|
+
* update the company and project to the new import data
|
|
456
|
+
*/
|
|
457
|
+
single.company = options.company;
|
|
458
|
+
single.project = options.project;
|
|
459
|
+
if (filteredData.find((data) => data._id?.toString() === newParentId?.toString())) {
|
|
460
|
+
return true;
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
return false;
|
|
464
|
+
}
|
|
465
|
+
});
|
|
466
|
+
/**
|
|
467
|
+
* update the mapping for import data and the history for that data
|
|
468
|
+
*/
|
|
469
|
+
[...filteredData, ...filteredHistoryData].forEach((single) => {
|
|
470
|
+
/**
|
|
471
|
+
* update the layouts
|
|
472
|
+
*/
|
|
473
|
+
if (single.settings?.useLayout) {
|
|
474
|
+
(0, updateMappedId_1.default)(single.settings, 'useLayout', idMapping);
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* only update media files if a cdn is given
|
|
478
|
+
*/
|
|
479
|
+
if (options.cdn) {
|
|
480
|
+
const pictureAndVideo = (0, findObjetcsWithKeys_1.default)(single.modules, ['video', 'picture']);
|
|
481
|
+
pictureAndVideo.forEach((singleModule) => {
|
|
482
|
+
if (singleModule.picture) {
|
|
483
|
+
this.updatePictureVideo(singleModule.picture, idMapping, { cdn: options.cdn, company: options.company, project: options.project });
|
|
484
|
+
}
|
|
485
|
+
if (singleModule.video) {
|
|
486
|
+
this.updatePictureVideo(singleModule.video, idMapping, { cdn: options.cdn, company: options.company, project: options.project });
|
|
487
|
+
}
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* update the partials
|
|
492
|
+
*/
|
|
493
|
+
single.modules?.forEach((singleModule) => {
|
|
494
|
+
if ('partialId' in singleModule && singleModule.type === 'partial-module' && singleModule.partialId) {
|
|
495
|
+
singleModule.partialId = idMapping[singleModule.partialId.toString()].toString();
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* update all ids in generic data
|
|
499
|
+
*/
|
|
500
|
+
if ('genericData' in singleModule && singleModule.genericData) {
|
|
501
|
+
const genericData = singleModule.genericData; // Create a local reference that TypeScript knows is non-null
|
|
502
|
+
Object.keys(genericData).forEach((key) => {
|
|
503
|
+
if (!genericData[key])
|
|
504
|
+
return;
|
|
505
|
+
genericData[key].forEach((singleItem, index) => {
|
|
506
|
+
genericData[key][index] = idMapping[singleItem.toString()];
|
|
507
|
+
});
|
|
508
|
+
});
|
|
509
|
+
}
|
|
510
|
+
// /**
|
|
511
|
+
// * update all selected files from media
|
|
512
|
+
// */
|
|
513
|
+
// if (singleModule.type === 'picture-module') {
|
|
514
|
+
// console.log('singleModule.picture', singleModule);
|
|
515
|
+
// if (singleModule.picture) {
|
|
516
|
+
// this.updatePictureVideo(singleModule.picture, { cdn: 'test123' });
|
|
517
|
+
// }
|
|
518
|
+
// }
|
|
519
|
+
});
|
|
520
|
+
});
|
|
521
|
+
const bulk = this.model.db.initializeUnorderedBulkOp();
|
|
522
|
+
filteredData.map((single) => {
|
|
523
|
+
bulk.insert(single);
|
|
524
|
+
});
|
|
525
|
+
filteredHistoryData.map((single) => {
|
|
526
|
+
bulkHistory.insert(single);
|
|
527
|
+
});
|
|
528
|
+
return { filteredData, skippedData, bulk };
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
exports.default = new EditorService();
|
|
532
|
+
//# sourceMappingURL=editor.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor.service.js","sourceRoot":"","sources":["../../../../src/services/editor.service.ts"],"names":[],"mappings":"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"}
|