@lilaquadrat/studio 9.15.2 → 9.15.3
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 +905 -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,28 @@
|
|
|
1
|
+
import mongo, { CreateCollectionOptions, CreateIndexesOptions, IndexDescription, MongoClient } from 'mongodb';
|
|
2
|
+
import Models from './models.class';
|
|
3
|
+
import { MongoClass } from './mongo.class';
|
|
4
|
+
export default class TimeseriesModel<T extends mongo.Document> {
|
|
5
|
+
mongo: mongo.Db;
|
|
6
|
+
collection: string;
|
|
7
|
+
indexes: IndexDescription[];
|
|
8
|
+
data: T;
|
|
9
|
+
name: string;
|
|
10
|
+
modelsClass: Models;
|
|
11
|
+
options: CreateCollectionOptions;
|
|
12
|
+
/**
|
|
13
|
+
* is called when the model gets the connected mongodb injected
|
|
14
|
+
*/
|
|
15
|
+
connected?: (...arg0: unknown[]) => void;
|
|
16
|
+
constructor(name: string, collection: string, options: CreateCollectionOptions);
|
|
17
|
+
setModelsClass(modelsClass: Models): void;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param mongoClient
|
|
21
|
+
* @param mongoClass
|
|
22
|
+
* @param noIndexes disables the creation of indexes
|
|
23
|
+
*/
|
|
24
|
+
setMongoConnection(mongoClient: MongoClient, mongoClass?: MongoClass, noIndexes?: boolean): Promise<boolean>;
|
|
25
|
+
addIndex(index: IndexDescription & CreateIndexesOptions, version: number): void;
|
|
26
|
+
handleIndexes(indexes: (IndexDescription & CreateIndexesOptions)[]): Promise<boolean>;
|
|
27
|
+
get db(): mongo.Collection<T>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
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 logger_1 = __importDefault(require("../logger"));
|
|
7
|
+
class TimeseriesModel {
|
|
8
|
+
constructor(name, collection, options) {
|
|
9
|
+
this.indexes = [];
|
|
10
|
+
this.collection = collection;
|
|
11
|
+
this.name = name;
|
|
12
|
+
this.options = options;
|
|
13
|
+
}
|
|
14
|
+
setModelsClass(modelsClass) {
|
|
15
|
+
this.modelsClass = modelsClass;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param mongoClient
|
|
20
|
+
* @param mongoClass
|
|
21
|
+
* @param noIndexes disables the creation of indexes
|
|
22
|
+
*/
|
|
23
|
+
setMongoConnection(mongoClient, mongoClass, noIndexes) {
|
|
24
|
+
this.mongo = mongoClient?.db(mongoClass?.connectionUriObject.database);
|
|
25
|
+
if (typeof this.connected === 'function') {
|
|
26
|
+
this.connected();
|
|
27
|
+
}
|
|
28
|
+
return !noIndexes ? this.handleIndexes(this.indexes) : Promise.resolve(true);
|
|
29
|
+
}
|
|
30
|
+
addIndex(index, version) {
|
|
31
|
+
if (this.indexes.find((single) => single.name === index.name))
|
|
32
|
+
return;
|
|
33
|
+
this.indexes.push({ ...index, name: `${index.name}-v${version}` });
|
|
34
|
+
}
|
|
35
|
+
async handleIndexes(indexes) {
|
|
36
|
+
const collection = await this.mongo.listCollections({ name: this.db.collectionName }).toArray();
|
|
37
|
+
if (!collection.length) {
|
|
38
|
+
try {
|
|
39
|
+
await this.mongo.createCollection(this.db.collectionName, this.options);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(error);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const collectionIndexes = await this.db.listIndexes().toArray();
|
|
46
|
+
// //* * drop all indexed that are not created programatically */
|
|
47
|
+
collectionIndexes.forEach(async (single) => {
|
|
48
|
+
if (single.name === '_id_')
|
|
49
|
+
return;
|
|
50
|
+
if (this.indexes.find((singleIndex) => single.name === singleIndex.name)) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
logger_1.default.info(`timeseries.index.drop.${this.name}`);
|
|
54
|
+
await this.db.dropIndex(single.name);
|
|
55
|
+
});
|
|
56
|
+
const createdIndexes = indexes.filter((single) => {
|
|
57
|
+
if (collectionIndexes.find((singleIndex) => single.name === singleIndex.name))
|
|
58
|
+
return false;
|
|
59
|
+
return true;
|
|
60
|
+
});
|
|
61
|
+
if (createdIndexes.length) {
|
|
62
|
+
logger_1.default.info(`timeseries.index.create.${this.name}`, createdIndexes);
|
|
63
|
+
await this.db.createIndexes(createdIndexes);
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
get db() {
|
|
68
|
+
return this.mongo.collection(this.collection);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.default = TimeseriesModel;
|
|
72
|
+
//# sourceMappingURL=TimeseriesModel.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeseriesModel.class.js","sourceRoot":"","sources":["../../../../src/classes/TimeseriesModel.class.ts"],"names":[],"mappings":";;;;;AAOA,uDAA+B;AAI/B,MAAqB,eAAe;IAqBlC,YAAY,IAAY,EAAE,UAAkB,EAAE,OAAgC;QAf9E,YAAO,GAAuB,EAAE,CAAC;QAiB/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAEzB,CAAC;IAED,cAAc,CAAC,WAAmB;QAEhC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAEjC,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,WAAwB,EAAE,UAAuB,EAAE,SAAmB;QAEvF,IAAI,CAAC,KAAK,GAAG,WAAW,EAAE,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEvE,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEnB,CAAC;QAED,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E,CAAC;IAED,QAAQ,CAAC,KAA8C,EAAE,OAAe;QAEtE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAEtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC;IAErE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAoD;QAEtE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAEhG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAEvB,IAAI,CAAC;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEvB,CAAC;QAEH,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;QAEhE,kEAAkE;QAClE,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO;YAEnC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEzE,OAAO;YAET,CAAC;YAED,gBAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvC,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAE/C,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5F,OAAO,IAAI,CAAC;QAEd,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YAE1B,gBAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAE9C,CAAC;QAED,OAAO,IAAI,CAAC;IAEd,CAAC;IAED,IAAI,EAAE;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAEnD,CAAC;CAEF;AA3HD,kCA2HC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
declare class Cache {
|
|
2
|
+
collection: string;
|
|
3
|
+
model: import("./modelv2.class").default<import("@lilaquadrat/interfaces").Id, string>;
|
|
4
|
+
/**
|
|
5
|
+
* cache the execution of the function
|
|
6
|
+
*
|
|
7
|
+
* the function that should be called needs to be the last argument,
|
|
8
|
+
* the arguments for the passed function coming before
|
|
9
|
+
* ```TS
|
|
10
|
+
* Cache.cache<Location[]>(argument1, argument2, argument3, funtionToCall);
|
|
11
|
+
* ```
|
|
12
|
+
* will result in the function call:
|
|
13
|
+
* ```TS
|
|
14
|
+
* funtionToCall(argument1, argument2, argument3): Location[];
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
cache<T>(...args: any[]): Promise<T>;
|
|
18
|
+
add(key: string, data: unknown): Promise<import("mongodb").InsertOneResult<import("@lilaquadrat/interfaces").Id>>;
|
|
19
|
+
find<T>(key: string): Promise<{
|
|
20
|
+
id: string;
|
|
21
|
+
data: T;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* generates a single string from an arraf of objects, string, numbers and arrays
|
|
25
|
+
*/
|
|
26
|
+
getKey(input: unknown[]): string;
|
|
27
|
+
singleItem(item: any): string;
|
|
28
|
+
clean(str: string): string;
|
|
29
|
+
}
|
|
30
|
+
declare const _default: Cache;
|
|
31
|
+
export default _default;
|
|
@@ -0,0 +1,71 @@
|
|
|
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 cache_model_1 = __importDefault(require("../models/cache.model"));
|
|
7
|
+
class Cache {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.collection = 'cache';
|
|
10
|
+
this.model = cache_model_1.default;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* cache the execution of the function
|
|
14
|
+
*
|
|
15
|
+
* the function that should be called needs to be the last argument,
|
|
16
|
+
* the arguments for the passed function coming before
|
|
17
|
+
* ```TS
|
|
18
|
+
* Cache.cache<Location[]>(argument1, argument2, argument3, funtionToCall);
|
|
19
|
+
* ```
|
|
20
|
+
* will result in the function call:
|
|
21
|
+
* ```TS
|
|
22
|
+
* funtionToCall(argument1, argument2, argument3): Location[];
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
async cache(...args) {
|
|
26
|
+
const argumentsArray = [...arguments];
|
|
27
|
+
const targetFunction = argumentsArray.pop();
|
|
28
|
+
const cacheKey = this.getKey([targetFunction.name, ...argumentsArray]);
|
|
29
|
+
// check if cache is present
|
|
30
|
+
const cacheResponse = await this.find(cacheKey);
|
|
31
|
+
if (cacheResponse)
|
|
32
|
+
return cacheResponse.data;
|
|
33
|
+
const response = await targetFunction(...argumentsArray);
|
|
34
|
+
// add to cache
|
|
35
|
+
this.add(cacheKey, response);
|
|
36
|
+
return response;
|
|
37
|
+
}
|
|
38
|
+
add(key, data) {
|
|
39
|
+
return cache_model_1.default.db.insertOne({ id: key, data });
|
|
40
|
+
}
|
|
41
|
+
find(key) {
|
|
42
|
+
return cache_model_1.default.db.findOne({ id: key });
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* generates a single string from an arraf of objects, string, numbers and arrays
|
|
46
|
+
*/
|
|
47
|
+
getKey(input) {
|
|
48
|
+
return input.map(item => this.singleItem(item)).join('-');
|
|
49
|
+
}
|
|
50
|
+
singleItem(item) {
|
|
51
|
+
// Handle arrays
|
|
52
|
+
if (Array.isArray(item)) {
|
|
53
|
+
return this.getKey(item);
|
|
54
|
+
}
|
|
55
|
+
// Handle objects
|
|
56
|
+
if (typeof item === 'object' && item !== null) {
|
|
57
|
+
const sortedKeys = Object.keys(item).sort();
|
|
58
|
+
return sortedKeys
|
|
59
|
+
.map(key => `${this.clean(key)}-${this.singleItem(item[key])}`)
|
|
60
|
+
.join('-');
|
|
61
|
+
}
|
|
62
|
+
// Handle primitives (string, number, boolean, etc.)
|
|
63
|
+
return this.clean(item.toString());
|
|
64
|
+
}
|
|
65
|
+
clean(str) {
|
|
66
|
+
// This regular expression matches all non-alphanumeric characters and removes them
|
|
67
|
+
return str.replace(/[^a-zA-Z0-9]/g, '');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.default = new Cache();
|
|
71
|
+
//# sourceMappingURL=cache.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.class.js","sourceRoot":"","sources":["../../../../src/classes/cache.class.ts"],"names":[],"mappings":";;;;;AAAA,wEAA+C;AAE/C,MAAM,KAAK;IAAX;QAEE,eAAU,GAAG,OAAO,CAAC;QAErB,UAAK,GAAG,qBAAU,CAAC;IAuFrB,CAAC;IArFC;;;;;;;;;;;;QAYI;IACJ,KAAK,CAAC,KAAK,CAAI,GAAG,IAAW;QAE3B,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;QAEvE,4BAA4B;QAC5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAI,QAAQ,CAAC,CAAC;QAEnD,IAAI,aAAa;YAAE,OAAO,aAAa,CAAC,IAAI,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,cAAc,CAAM,CAAC;QAE9D,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE7B,OAAO,QAAQ,CAAC;IAElB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,IAAa;QAE5B,OAAO,qBAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,CAAC;IAED,IAAI,CAAI,GAAW;QAEjB,OAAO,qBAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAqC,CAAC;IAEhF,CAAC;IAED;;SAEK;IACL,MAAM,CAAC,KAAgB;QAErB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,CAAC;IAED,UAAU,CAAC,IAAS;QAElB,gBAAgB;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAExB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3B,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAE9C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,UAAU;iBACd,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;iBAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,CAAC;QAED,oDAAoD;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAErC,CAAC;IAED,KAAK,CAAC,GAAW;QAEf,mFAAmF;QACnF,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAE1C,CAAC;CAEF;AACD,kBAAe,IAAI,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ErrorObject } from 'ajv/dist/types';
|
|
2
|
+
export default class AgreementsError extends Error {
|
|
3
|
+
errors?: ErrorObject<string, Record<string, any>, unknown>[] | null;
|
|
4
|
+
params?: Record<string, unknown>;
|
|
5
|
+
constructor(message: string, errors?: ErrorObject<string, Record<string, any>, unknown>[] | null, params?: Record<string, unknown>);
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class AgreementsError extends Error {
|
|
4
|
+
constructor(message, errors, params) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'AgreementsError';
|
|
7
|
+
this.errors = errors;
|
|
8
|
+
this.params = params;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.default = AgreementsError;
|
|
12
|
+
//# sourceMappingURL=Agreements.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Agreements.error.js","sourceRoot":"","sources":["../../../../../src/classes/errors/Agreements.error.ts"],"names":[],"mappings":";;AAEA,MAAqB,eAAgB,SAAQ,KAAK;IAMhD,YAAY,OAAe,EAAE,MAAmE,EAAE,MAAgC;QAEhI,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,CAAC;CAEF;AAfD,kCAeC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ErrorObject } from 'ajv/dist/types';
|
|
2
|
+
export default class HistoryError extends Error {
|
|
3
|
+
errors?: ErrorObject<string, Record<string, any>, unknown>[] | null;
|
|
4
|
+
params?: Record<string, string>;
|
|
5
|
+
constructor(message: string, errors?: ErrorObject<string, Record<string, any>, unknown>[] | null, params?: Record<string, string>);
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class HistoryError extends Error {
|
|
4
|
+
constructor(message, errors, params) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'HistoryError';
|
|
7
|
+
this.errors = errors;
|
|
8
|
+
this.params = params;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.default = HistoryError;
|
|
12
|
+
//# sourceMappingURL=History.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"History.error.js","sourceRoot":"","sources":["../../../../../src/classes/errors/History.error.ts"],"names":[],"mappings":";;AAEA,MAAqB,YAAa,SAAQ,KAAK;IAM7C,YAAY,OAAe,EAAE,MAAmE,EAAE,MAA+B;QAE/H,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,CAAC;CAEF;AAfD,+BAeC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ErrorObject } from 'ajv/dist/types';
|
|
2
|
+
export default class ImmutableError extends Error {
|
|
3
|
+
errors?: ErrorObject<string, Record<string, any>, unknown>[] | null;
|
|
4
|
+
params?: Record<string, unknown>;
|
|
5
|
+
constructor(message: string, errors?: ErrorObject<string, Record<string, any>, unknown>[] | null, params?: Record<string, unknown>);
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class ImmutableError extends Error {
|
|
4
|
+
constructor(message, errors, params) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'ImmutableError';
|
|
7
|
+
this.errors = errors;
|
|
8
|
+
this.params = params;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.default = ImmutableError;
|
|
12
|
+
//# sourceMappingURL=Immutable.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Immutable.error.js","sourceRoot":"","sources":["../../../../../src/classes/errors/Immutable.error.ts"],"names":[],"mappings":";;AAEA,MAAqB,cAAe,SAAQ,KAAK;IAM/C,YAAY,OAAe,EAAE,MAAmE,EAAE,MAAgC;QAEhI,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,CAAC;CAEF;AAfD,iCAeC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ErrorObject } from 'ajv/dist/types';
|
|
2
|
+
export default class InvalidIdError extends Error {
|
|
3
|
+
errors?: ErrorObject<string, Record<string, any>, unknown>[] | null;
|
|
4
|
+
params?: Record<string, unknown>;
|
|
5
|
+
constructor(message: string, errors?: ErrorObject<string, Record<string, any>, unknown>[] | null, params?: Record<string, unknown>);
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class InvalidIdError extends Error {
|
|
4
|
+
constructor(message, errors, params) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'InvalidIdError';
|
|
7
|
+
this.errors = errors;
|
|
8
|
+
this.params = params;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.default = InvalidIdError;
|
|
12
|
+
//# sourceMappingURL=InvalidId.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidId.error.js","sourceRoot":"","sources":["../../../../../src/classes/errors/InvalidId.error.ts"],"names":[],"mappings":";;AAEA,MAAqB,cAAe,SAAQ,KAAK;IAM/C,YAAY,OAAe,EAAE,MAAmE,EAAE,MAAgC;QAEhI,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,CAAC;CAEF;AAfD,iCAeC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Ajv from 'ajv';
|
|
2
|
+
import { MongoClient } from 'mongodb';
|
|
3
|
+
import Modelv2 from './modelv2.class';
|
|
4
|
+
import { MongoClass } from './mongo.class';
|
|
5
|
+
import TimeseriesModel from './TimeseriesModel.class';
|
|
6
|
+
export default class Models {
|
|
7
|
+
models: Record<string, Modelv2<any> | TimeseriesModel<any>>;
|
|
8
|
+
ajv: Ajv;
|
|
9
|
+
constructor();
|
|
10
|
+
register(name: string, model: Modelv2<any> | TimeseriesModel<any>): void;
|
|
11
|
+
unregister(name: string): void;
|
|
12
|
+
injectDatabaseConnection(mongo: MongoClient, mongoClass?: MongoClass, noIndexes?: boolean): Promise<boolean>[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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 ajv_1 = __importDefault(require("ajv"));
|
|
7
|
+
const ajv_formats_1 = __importDefault(require("ajv-formats"));
|
|
8
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
9
|
+
class Models {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.models = {};
|
|
12
|
+
// eslint-disable-next-line global-require
|
|
13
|
+
this.ajv = new ajv_1.default({ keywords: require('ajv-keywords/dist/definitions')(), allErrors: true });
|
|
14
|
+
(0, ajv_formats_1.default)(this.ajv);
|
|
15
|
+
this.ajv.addFormat('trim', {
|
|
16
|
+
type: 'string',
|
|
17
|
+
validate: (input) => true,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
register(name, model) {
|
|
21
|
+
logger_1.default.info(`models.register.${name}`);
|
|
22
|
+
if (this.models[name]) {
|
|
23
|
+
throw new Error(`model ${name} already registered`);
|
|
24
|
+
}
|
|
25
|
+
this.models[name] = model;
|
|
26
|
+
if ('setAjv' in model) {
|
|
27
|
+
if (model.setAjv)
|
|
28
|
+
model.setAjv(this.ajv);
|
|
29
|
+
}
|
|
30
|
+
model.setModelsClass(this);
|
|
31
|
+
}
|
|
32
|
+
unregister(name) {
|
|
33
|
+
logger_1.default.info(`models.unregister.${name}`);
|
|
34
|
+
delete this.models[name];
|
|
35
|
+
}
|
|
36
|
+
injectDatabaseConnection(mongo, mongoClass, noIndexes) {
|
|
37
|
+
logger_1.default.info('models.database.connection.inject');
|
|
38
|
+
const injectionArray = Object.keys(this.models).map((key) => {
|
|
39
|
+
logger_1.default.info(`models.database.connection.inject.${key}.with.indexes.${!noIndexes}`);
|
|
40
|
+
return this.models[key].setMongoConnection(mongo, mongoClass, noIndexes);
|
|
41
|
+
});
|
|
42
|
+
return injectionArray;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.default = Models;
|
|
46
|
+
//# sourceMappingURL=models.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.class.js","sourceRoot":"","sources":["../../../../src/classes/models.class.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AAEtB,8DAAqC;AACrC,uDAA+B;AAK/B,MAAqB,MAAM;IAMzB;QAJA,WAAM,GAAwD,EAAE,CAAC;QAM/D,0CAA0C;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,+BAA+B,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,IAAA,qBAAU,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI;SAClC,CAAC,CAAC;IAEL,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAA0C;QAE/D,gBAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAEtB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC;QAEtD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAE1B,IAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;YACrB,IAAG,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAE7B,CAAC;IAED,UAAU,CAAC,IAAY;QAErB,gBAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE3B,CAAC;IAED,wBAAwB,CAAC,KAAkB,EAAE,UAAuB,EAAE,SAAmB;QAEvF,gBAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAE1D,gBAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;YAEnF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE3E,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IAExB,CAAC;CAEF;AA/DD,yBA+DC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import Ajv, { Schema, ValidateFunction } from 'ajv';
|
|
2
|
+
import mongo, { CreateIndexesOptions, IndexDescription, MongoClient } from 'mongodb';
|
|
3
|
+
import Models from './models.class';
|
|
4
|
+
import { MongoClass } from './mongo.class';
|
|
5
|
+
import { BasicData, Model } from '@lilaquadrat/interfaces';
|
|
6
|
+
export default class Modelv2<T extends mongo.Document, A extends string = Model['SchemaType']> {
|
|
7
|
+
ajv: Ajv;
|
|
8
|
+
compiledTypes: Record<A, ValidateFunction<BasicData<T>>>;
|
|
9
|
+
compiledOptions: Record<A, Record<string, unknown>>;
|
|
10
|
+
mongo: mongo.Db;
|
|
11
|
+
collection: string;
|
|
12
|
+
indexes: IndexDescription[];
|
|
13
|
+
schemas: {
|
|
14
|
+
schema: Schema;
|
|
15
|
+
type: A;
|
|
16
|
+
options?: Record<string, unknown>;
|
|
17
|
+
}[];
|
|
18
|
+
data: BasicData<T>;
|
|
19
|
+
actions: A;
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* array of keys that will be used to find before insert if data with the same values was deleted before
|
|
23
|
+
* if true then the immutable_history of the deleted data will be used and immutable_parent will be also reinstated
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
historyMatch: (keyof BasicData<T>)[];
|
|
27
|
+
/** removes theses keys if no data is given */
|
|
28
|
+
removeWhenEmpty: (keyof BasicData<T> | string)[];
|
|
29
|
+
/** these keys will be removed from the update object */
|
|
30
|
+
immutable: (keyof BasicData<T>)[];
|
|
31
|
+
/** these keys will be projected when this model is used in a list */
|
|
32
|
+
projectWhenListed: (keyof BasicData<T>)[];
|
|
33
|
+
/**
|
|
34
|
+
will overwrite on create, after validation, the id field with a unique progressing numeric value based upon company, project, app, model.
|
|
35
|
+
e.g. `1, 2, 3` and so on.
|
|
36
|
+
*/
|
|
37
|
+
uniqueId: boolean;
|
|
38
|
+
uniqueIdApp?: string;
|
|
39
|
+
uniqueIdModel?: string;
|
|
40
|
+
/**
|
|
41
|
+
if the function is given it will be called with the new created id
|
|
42
|
+
*/
|
|
43
|
+
uniqueIdCallback?: (id: number, data: BasicData<T>) => Promise<string | number>;
|
|
44
|
+
/**
|
|
45
|
+
when the model is used in context of copying a project, this is used to map project and company to the correct keys
|
|
46
|
+
e.g. project model uses "id" for project
|
|
47
|
+
*/
|
|
48
|
+
copyMapping: Record<'project' | 'company', string>;
|
|
49
|
+
modelsClass: Models;
|
|
50
|
+
/**
|
|
51
|
+
* is called when the model gets the connected mongodb injected
|
|
52
|
+
*/
|
|
53
|
+
connected?: (...arg0: any[]) => void;
|
|
54
|
+
constructor(name: string, collection: string, modelsInjected?: Models, dynamic?: boolean);
|
|
55
|
+
setAjv(ajv: Ajv): void;
|
|
56
|
+
setModelsClass(modelsClass: Models): void;
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* @param mongoClient
|
|
60
|
+
* @param mongoClass
|
|
61
|
+
* @param noIndexes disables the creation of indexes
|
|
62
|
+
*/
|
|
63
|
+
setMongoConnection(mongoClient: MongoClient, mongoClass?: MongoClass, noIndexes?: boolean): Promise<boolean>;
|
|
64
|
+
setSchema(schema: Schema, type?: A, options?: Record<string, unknown>): void;
|
|
65
|
+
getSchema(type: A): {
|
|
66
|
+
schema: Schema;
|
|
67
|
+
type: A;
|
|
68
|
+
options?: Record<string, unknown>;
|
|
69
|
+
} | undefined;
|
|
70
|
+
compileSchemas(): void;
|
|
71
|
+
compileSchema(schema: Schema, type: A, options?: Record<string, unknown>): void;
|
|
72
|
+
addIndex(index: IndexDescription & CreateIndexesOptions, version: number): void;
|
|
73
|
+
handleIndexes(indexes: (IndexDescription & CreateIndexesOptions)[]): Promise<boolean>;
|
|
74
|
+
validate(data: BasicData<T> | Partial<BasicData<T>>, type: A): data is BasicData<T>;
|
|
75
|
+
/**
|
|
76
|
+
* * validates against json schema
|
|
77
|
+
* * doest **NOT** check the database for uniques etc.
|
|
78
|
+
*/
|
|
79
|
+
pre(data: BasicData<T>, type: A): mongo.Collection<T>;
|
|
80
|
+
getUnsetObject(data: BasicData<T>): Record<string, "">;
|
|
81
|
+
get db(): mongo.Collection<T>;
|
|
82
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
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 object_path_1 = __importDefault(require("object-path"));
|
|
8
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
9
|
+
class Modelv2 {
|
|
10
|
+
constructor(name, collection, modelsInjected, dynamic) {
|
|
11
|
+
this.compiledTypes = {};
|
|
12
|
+
this.compiledOptions = {};
|
|
13
|
+
this.indexes = [];
|
|
14
|
+
this.schemas = [];
|
|
15
|
+
this.collection = collection;
|
|
16
|
+
this.name = name;
|
|
17
|
+
if (!dynamic) {
|
|
18
|
+
if (modelsInjected) {
|
|
19
|
+
modelsInjected.register(name, this);
|
|
20
|
+
}
|
|
21
|
+
else if (this.modelsClass)
|
|
22
|
+
this.modelsClass.register(name, this);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
setAjv(ajv) {
|
|
26
|
+
this.ajv = ajv;
|
|
27
|
+
}
|
|
28
|
+
setModelsClass(modelsClass) {
|
|
29
|
+
this.modelsClass = modelsClass;
|
|
30
|
+
this.compileSchemas();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @param mongoClient
|
|
35
|
+
* @param mongoClass
|
|
36
|
+
* @param noIndexes disables the creation of indexes
|
|
37
|
+
*/
|
|
38
|
+
setMongoConnection(mongoClient, mongoClass, noIndexes) {
|
|
39
|
+
this.mongo = mongoClient?.db(mongoClass?.connectionUriObject.database);
|
|
40
|
+
if (typeof this.connected === 'function') {
|
|
41
|
+
this.connected();
|
|
42
|
+
}
|
|
43
|
+
return !noIndexes ? this.handleIndexes(this.indexes) : Promise.resolve(true);
|
|
44
|
+
}
|
|
45
|
+
setSchema(schema, type, options) {
|
|
46
|
+
if (!type)
|
|
47
|
+
throw new Error('no schema type given');
|
|
48
|
+
this.schemas.push({ schema, type, options });
|
|
49
|
+
if (this.modelsClass) {
|
|
50
|
+
this.compileSchema(schema, type, options);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
getSchema(type) {
|
|
54
|
+
return this.schemas.find((single) => single.type === type);
|
|
55
|
+
}
|
|
56
|
+
compileSchemas() {
|
|
57
|
+
this.schemas.forEach((single) => {
|
|
58
|
+
this.compileSchema(single.schema, single.type, single.options);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
compileSchema(schema, type, options) {
|
|
62
|
+
this.compiledTypes[type] = this.ajv.compile(schema);
|
|
63
|
+
if (options)
|
|
64
|
+
this.compiledOptions[type] = options;
|
|
65
|
+
}
|
|
66
|
+
addIndex(index, version) {
|
|
67
|
+
if (this.indexes.find((single) => single.name === index.name))
|
|
68
|
+
return;
|
|
69
|
+
this.indexes.push({ ...index, name: `${index.name}-v${version}` });
|
|
70
|
+
}
|
|
71
|
+
async handleIndexes(indexes) {
|
|
72
|
+
const collection = await this.mongo.listCollections({ name: this.db.collectionName }).toArray();
|
|
73
|
+
if (!collection.length) {
|
|
74
|
+
try {
|
|
75
|
+
await this.mongo.createCollection(this.db.collectionName);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.error(error);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const collectionIndexes = await this.db.listIndexes().toArray();
|
|
82
|
+
// //* * drop all indexed that are not created programatically */
|
|
83
|
+
collectionIndexes.forEach(async (single) => {
|
|
84
|
+
if (single.name === '_id_')
|
|
85
|
+
return;
|
|
86
|
+
if (this.indexes.find((singleIndex) => single.name === singleIndex.name)) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
logger_1.default.info(`model.index.drop.${this.name}`);
|
|
90
|
+
await this.db.dropIndex(single.name);
|
|
91
|
+
});
|
|
92
|
+
const createdIndexes = indexes.filter((single) => {
|
|
93
|
+
if (collectionIndexes.find((singleIndex) => single.name === singleIndex.name))
|
|
94
|
+
return false;
|
|
95
|
+
return true;
|
|
96
|
+
});
|
|
97
|
+
if (createdIndexes.length) {
|
|
98
|
+
logger_1.default.info(`model.index.create.${this.name}`, createdIndexes);
|
|
99
|
+
await this.db.createIndexes(createdIndexes);
|
|
100
|
+
}
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
validate(data, type) {
|
|
104
|
+
if (typeof this.compiledTypes[type] !== 'function') {
|
|
105
|
+
throw new Error(`ACTION_NOT_FOUND: ${type} on ${this.name}`);
|
|
106
|
+
}
|
|
107
|
+
return this.compiledTypes[type](data);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* * validates against json schema
|
|
111
|
+
* * doest **NOT** check the database for uniques etc.
|
|
112
|
+
*/
|
|
113
|
+
pre(data, type) {
|
|
114
|
+
if (!this.validate(data, type))
|
|
115
|
+
throw new Error('MODEL_VALIDATION_FAILED');
|
|
116
|
+
return this.db;
|
|
117
|
+
}
|
|
118
|
+
getUnsetObject(data) {
|
|
119
|
+
const unsetObject = {};
|
|
120
|
+
this.removeWhenEmpty?.forEach((single) => {
|
|
121
|
+
// get data via string ```string.string``` from an object
|
|
122
|
+
const singleData = object_path_1.default.get(data, single);
|
|
123
|
+
// if empty array
|
|
124
|
+
if (Array.isArray(singleData)) {
|
|
125
|
+
if (!singleData.length) {
|
|
126
|
+
unsetObject[single] = '';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* mongodb ObjectId is symbol inside of a object, so this check fails with a ObjectId
|
|
131
|
+
*/
|
|
132
|
+
if (typeof singleData === 'object' && !mongodb_1.ObjectId.isValid(singleData)) {
|
|
133
|
+
if (!Object.keys(singleData).length) {
|
|
134
|
+
unsetObject[single] = '';
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (!singleData) {
|
|
138
|
+
unsetObject[single] = '';
|
|
139
|
+
}
|
|
140
|
+
// if no data at all
|
|
141
|
+
});
|
|
142
|
+
return unsetObject;
|
|
143
|
+
}
|
|
144
|
+
get db() {
|
|
145
|
+
return this.mongo.collection(this.collection);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.default = Modelv2;
|
|
149
|
+
//# sourceMappingURL=modelv2.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelv2.class.js","sourceRoot":"","sources":["../../../../src/classes/modelv2.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import mongo, { Db } from 'mongodb';
|
|
2
|
+
import { ConnectionInfoObject } from 'mongo-connection-string';
|
|
3
|
+
/**
|
|
4
|
+
* Wrapper for the native MongoDB module
|
|
5
|
+
*/
|
|
6
|
+
export declare class MongoClass {
|
|
7
|
+
client: mongo.MongoClient;
|
|
8
|
+
db: Db;
|
|
9
|
+
connectionUri: string;
|
|
10
|
+
connectionUriObject: ConnectionInfoObject;
|
|
11
|
+
vault: string;
|
|
12
|
+
constructor(connectionUri?: string, vault?: string);
|
|
13
|
+
getConnectionString(): Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Disconnect from MongoDB
|
|
16
|
+
*/
|
|
17
|
+
disconnect(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Connects to MongoDB
|
|
20
|
+
*/
|
|
21
|
+
connect(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
declare const _default: MongoClass;
|
|
24
|
+
export default _default;
|