@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,41 @@
|
|
|
1
|
+
import { QueueClient, QueueServiceClient } from '@azure/storage-queue';
|
|
2
|
+
import { ObjectId } from 'mongodb';
|
|
3
|
+
import Immutable from '../Immutable.class';
|
|
4
|
+
import { CertificateAction, Certificate, BasicData, CertificateActionResult, CreateResult, ListCustomQueries, Options, SkipLimitSort, UserApp, UserAppWithOptions } from '@lilaquadrat/interfaces';
|
|
5
|
+
export declare class CertificatesActionsService extends Immutable<CertificateAction> {
|
|
6
|
+
model: import("../classes/modelv2.class").default<CertificateAction, import("../models/certificate-action.model").CertificateActions>;
|
|
7
|
+
service: QueueServiceClient;
|
|
8
|
+
client: QueueClient;
|
|
9
|
+
constructor(connectionString: string, storageAccount?: string);
|
|
10
|
+
request(domains: CertificateAction['domains'], type: 'domain', contentType: CertificateAction['contentType'], renew: boolean, options: Required<UserApp> & Required<Options> & {
|
|
11
|
+
timeout?: number;
|
|
12
|
+
forceFile?: CertificateAction['forceFile'];
|
|
13
|
+
saveInVault?: CertificateAction['saveInVault'];
|
|
14
|
+
}): Promise<CreateResult<CertificateAction>>;
|
|
15
|
+
request(domains: CertificateAction['domains'], type: 'wildcard', contentType: CertificateAction['contentType'], renew: boolean, options: Required<UserApp> & {
|
|
16
|
+
timeout?: number;
|
|
17
|
+
forceFile?: CertificateAction['forceFile'];
|
|
18
|
+
saveInVault?: CertificateAction['saveInVault'];
|
|
19
|
+
}): Promise<CreateResult<CertificateAction>>;
|
|
20
|
+
planRenew(certificate: Certificate, validPercent: number, options: Required<UserApp> & Options & {
|
|
21
|
+
timeout?: number;
|
|
22
|
+
forceFile?: CertificateAction['forceFile'];
|
|
23
|
+
saveInVault?: CertificateAction['saveInVault'];
|
|
24
|
+
}): Promise<void> | Promise<CreateResult<BasicData<CertificateAction>>>;
|
|
25
|
+
planRetry(certificateAction: BasicData<CertificateAction>, error: CertificateActionResult, retryTimeout: number | undefined, user: string, app: string): Promise<boolean>;
|
|
26
|
+
addToQueue(actionInternalId: ObjectId, visibilityTimeout?: number): Promise<import("@azure/storage-queue").QueueSendMessageResponse>;
|
|
27
|
+
single(actionInternalId: ObjectId): Promise<import("mongodb").WithId<CertificateAction> | null>;
|
|
28
|
+
latest(domain: string, company: string, project: string): Promise<import("mongodb").WithId<CertificateAction>>;
|
|
29
|
+
getPlanned(): Promise<import("mongodb").WithId<CertificateAction>[]>;
|
|
30
|
+
handlePlanned(): Promise<Promise<import("@azure/storage-queue").QueueSendMessageResponse>[]>;
|
|
31
|
+
setState(actionInternalId: ObjectId, state: CertificateAction['state'], user: string, app: string): Promise<import("mongodb").UpdateResult<BasicData<CertificateAction>>>;
|
|
32
|
+
setResult(actionInternalId: ObjectId, result: CertificateActionResult, state: CertificateAction['state'], user: string, app: string): Promise<import("mongodb").UpdateResult<BasicData<CertificateAction>>>;
|
|
33
|
+
getCustomQuery(filter: {
|
|
34
|
+
domain?: string;
|
|
35
|
+
state?: CertificateAction['state'];
|
|
36
|
+
}, options: UserAppWithOptions & SkipLimitSort): ListCustomQueries<CertificateAction>;
|
|
37
|
+
actionExistsForDomain(domain: string): Promise<boolean>;
|
|
38
|
+
cancel(internalId: ObjectId, options: Required<UserApp>): Promise<import("mongodb").UpdateResult<BasicData<CertificateAction>>>;
|
|
39
|
+
}
|
|
40
|
+
declare const _default: CertificatesActionsService;
|
|
41
|
+
export default _default;
|
|
@@ -0,0 +1,195 @@
|
|
|
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
|
+
exports.CertificatesActionsService = void 0;
|
|
7
|
+
const storage_queue_1 = require("@azure/storage-queue");
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
9
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
10
|
+
const Immutable_class_1 = __importDefault(require("../Immutable.class"));
|
|
11
|
+
const certificate_action_model_1 = __importDefault(require("../models/certificate-action.model"));
|
|
12
|
+
const hardCopy_1 = __importDefault(require("../helpers/hardCopy"));
|
|
13
|
+
const identity_1 = require("@azure/identity");
|
|
14
|
+
class CertificatesActionsService extends Immutable_class_1.default {
|
|
15
|
+
constructor(connectionString, storageAccount) {
|
|
16
|
+
super();
|
|
17
|
+
this.model = certificate_action_model_1.default;
|
|
18
|
+
if (storageAccount) {
|
|
19
|
+
logger_1.default.info('certificates-action.use.storage_account');
|
|
20
|
+
const credentials = new identity_1.DefaultAzureCredential();
|
|
21
|
+
this.service = new storage_queue_1.QueueServiceClient(`https://${storageAccount}.queue.core.windows.net`, credentials);
|
|
22
|
+
}
|
|
23
|
+
else if (connectionString) {
|
|
24
|
+
logger_1.default.info('certificates-action.use.connection_string');
|
|
25
|
+
this.service = storage_queue_1.QueueServiceClient.fromConnectionString(connectionString);
|
|
26
|
+
}
|
|
27
|
+
if (this.service) {
|
|
28
|
+
this.client = this.service.getQueueClient('certs');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async request(domains, type, contentType, renew, options) {
|
|
32
|
+
const actionObject = {
|
|
33
|
+
domains,
|
|
34
|
+
type,
|
|
35
|
+
contentType,
|
|
36
|
+
renew,
|
|
37
|
+
state: 'new',
|
|
38
|
+
maxRetries: 5,
|
|
39
|
+
};
|
|
40
|
+
if (options.company)
|
|
41
|
+
actionObject.company = options.company;
|
|
42
|
+
if (options.project)
|
|
43
|
+
actionObject.project = options.project;
|
|
44
|
+
if (options.forceFile)
|
|
45
|
+
actionObject.forceFile = true;
|
|
46
|
+
if (options.saveInVault)
|
|
47
|
+
actionObject.saveInVault = true;
|
|
48
|
+
const action = type === 'wildcard'
|
|
49
|
+
? 'create-wildcard'
|
|
50
|
+
: 'create-domain';
|
|
51
|
+
const newAction = await this.create(actionObject, options.user, options.app, undefined, undefined, action);
|
|
52
|
+
await this.addToQueue(newAction._id, options.timeout);
|
|
53
|
+
return newAction;
|
|
54
|
+
}
|
|
55
|
+
planRenew(certificate, validPercent, options) {
|
|
56
|
+
const validDays = (0, dayjs_1.default)(certificate.valid.to).diff(certificate.valid.from, 'days');
|
|
57
|
+
const renewInDays = Math.floor((validDays * (validPercent / 100)));
|
|
58
|
+
if (renewInDays < 1) {
|
|
59
|
+
logger_1.default.info('cant plan renew of certificate, renew in days is smaller than 1');
|
|
60
|
+
return new Promise((resolve) => resolve());
|
|
61
|
+
}
|
|
62
|
+
const renewObject = {
|
|
63
|
+
planned: (0, dayjs_1.default)(certificate.valid.from).add(renewInDays, 'days').toDate(),
|
|
64
|
+
type: certificate.type,
|
|
65
|
+
contentType: certificate.contentType,
|
|
66
|
+
domains: certificate.domains,
|
|
67
|
+
state: 'new',
|
|
68
|
+
renew: true,
|
|
69
|
+
maxRetries: 5,
|
|
70
|
+
};
|
|
71
|
+
if (certificate.company)
|
|
72
|
+
renewObject.company = certificate.company;
|
|
73
|
+
if (certificate.project)
|
|
74
|
+
renewObject.project = certificate.project;
|
|
75
|
+
if (options.forceFile)
|
|
76
|
+
renewObject.forceFile = true;
|
|
77
|
+
if (options.saveInVault)
|
|
78
|
+
renewObject.saveInVault = true;
|
|
79
|
+
const action = certificate.type === 'wildcard'
|
|
80
|
+
? 'create-wildcard'
|
|
81
|
+
: 'create-domain';
|
|
82
|
+
return this.create(renewObject, options.user, options.app, undefined, undefined, action);
|
|
83
|
+
}
|
|
84
|
+
async planRetry(certificateAction, error, retryTimeout = 86400, user, app) {
|
|
85
|
+
const retry = certificateAction.retryCount !== certificateAction.maxRetries;
|
|
86
|
+
const renewObject = {
|
|
87
|
+
...(0, hardCopy_1.default)(certificateAction),
|
|
88
|
+
state: retry ? 'retry' : 'failed',
|
|
89
|
+
renew: true,
|
|
90
|
+
};
|
|
91
|
+
if (!renewObject.results && error)
|
|
92
|
+
renewObject.results = [];
|
|
93
|
+
renewObject.results?.push(error);
|
|
94
|
+
if (retry) {
|
|
95
|
+
renewObject.retryCount = renewObject.retryCount
|
|
96
|
+
? renewObject.retryCount += 1
|
|
97
|
+
: 1;
|
|
98
|
+
}
|
|
99
|
+
delete renewObject._id;
|
|
100
|
+
delete renewObject.history;
|
|
101
|
+
// hardCopy converts the Date Object to a string, validation expects a object
|
|
102
|
+
if (renewObject.planned)
|
|
103
|
+
renewObject.planned = new Date(renewObject.planned);
|
|
104
|
+
await this.immutable(certificateAction._id, renewObject, user, 'change', app);
|
|
105
|
+
if (retry)
|
|
106
|
+
await this.addToQueue(certificateAction._id, retryTimeout);
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
async addToQueue(actionInternalId, visibilityTimeout = 0) {
|
|
110
|
+
await this.client.createIfNotExists();
|
|
111
|
+
return this.client.sendMessage(Buffer.from(JSON.stringify({ _id: actionInternalId })).toString('base64'), { visibilityTimeout });
|
|
112
|
+
}
|
|
113
|
+
single(actionInternalId) {
|
|
114
|
+
return this.model.db.findOne({ _id: actionInternalId });
|
|
115
|
+
}
|
|
116
|
+
async latest(domain, company, project) {
|
|
117
|
+
const latest = await this.model.db.find({ domains: { $in: [domain] }, company, project }).sort({ _id: -1 }).limit(1).toArray();
|
|
118
|
+
return latest[0];
|
|
119
|
+
}
|
|
120
|
+
getPlanned() {
|
|
121
|
+
const select = {
|
|
122
|
+
state: 'new',
|
|
123
|
+
planned: { $lte: new Date(), $exists: true },
|
|
124
|
+
};
|
|
125
|
+
return certificate_action_model_1.default.db.find(select, { sort: { planned: -1 } })
|
|
126
|
+
.toArray();
|
|
127
|
+
}
|
|
128
|
+
async handlePlanned() {
|
|
129
|
+
const planned = await this.getPlanned();
|
|
130
|
+
const all = planned.map((single) => this.addToQueue(single._id));
|
|
131
|
+
return all;
|
|
132
|
+
}
|
|
133
|
+
setState(actionInternalId, state, user, app) {
|
|
134
|
+
return this.immutable(actionInternalId, { state }, user, 'change', app, undefined, undefined, 'stateChange');
|
|
135
|
+
}
|
|
136
|
+
async setResult(actionInternalId, result, state, user, app) {
|
|
137
|
+
const baseAction = await this.model.db.findOne({ _id: actionInternalId }, { projection: { state: 1, results: 1 } });
|
|
138
|
+
if (!baseAction)
|
|
139
|
+
throw new Error('BASE_ACTION_MISSING');
|
|
140
|
+
delete baseAction._id;
|
|
141
|
+
baseAction.state = state;
|
|
142
|
+
if (!baseAction.results && result)
|
|
143
|
+
baseAction.results = [];
|
|
144
|
+
baseAction.results?.push(result);
|
|
145
|
+
return this.immutable(actionInternalId, baseAction, user, 'change', app, undefined, undefined, 'stateChangeResult');
|
|
146
|
+
}
|
|
147
|
+
getCustomQuery(filter, options) {
|
|
148
|
+
let match = {};
|
|
149
|
+
if (filter?.state) {
|
|
150
|
+
match.state = filter.state;
|
|
151
|
+
}
|
|
152
|
+
// if (filter?.mode) {
|
|
153
|
+
// match.mode = filter.mode;
|
|
154
|
+
// }
|
|
155
|
+
if (filter?.domain) {
|
|
156
|
+
match.domains = { $in: [filter.domain] };
|
|
157
|
+
}
|
|
158
|
+
const aggregation = [
|
|
159
|
+
{
|
|
160
|
+
$match: match,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
$project: {
|
|
164
|
+
type: 1,
|
|
165
|
+
domains: 1,
|
|
166
|
+
renew: 1,
|
|
167
|
+
company: 1,
|
|
168
|
+
project: 1,
|
|
169
|
+
state: 1,
|
|
170
|
+
planned: 1,
|
|
171
|
+
history: 1,
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
];
|
|
175
|
+
aggregation.push({
|
|
176
|
+
$sort: options.sort || { _id: -1 },
|
|
177
|
+
});
|
|
178
|
+
if (options.skip) { }
|
|
179
|
+
aggregation.push({
|
|
180
|
+
$skip: options.skip,
|
|
181
|
+
}, {
|
|
182
|
+
$limit: options.limit,
|
|
183
|
+
});
|
|
184
|
+
return { aggregation, countQuery: match };
|
|
185
|
+
}
|
|
186
|
+
async actionExistsForDomain(domain) {
|
|
187
|
+
return await this.model.db.countDocuments({ domains: { $in: [domain] }, state: { $in: ['new', 'planned', 'retry'] } }) > 0;
|
|
188
|
+
}
|
|
189
|
+
async cancel(internalId, options) {
|
|
190
|
+
return this.immutable({ _id: internalId }, { state: 'canceled' }, options.user, 'change', options.app, undefined, undefined, 'stateChange');
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
exports.CertificatesActionsService = CertificatesActionsService;
|
|
194
|
+
exports.default = new CertificatesActionsService(process.env.PUBLISH_QUEUE_CONNECTION_STRING, process.env.STORAGE_ACCOUNT);
|
|
195
|
+
//# sourceMappingURL=certificatesAction.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certificatesAction.service.js","sourceRoot":"","sources":["../../../../src/services/certificatesAction.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ShareClientInterface, DomainConf, HostingWithSettings } from '@lilaquadrat/interfaces';
|
|
2
|
+
export declare class ConfService {
|
|
3
|
+
shareClient: ShareClientInterface;
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* load the base nginx conf file for further rendering
|
|
7
|
+
*/
|
|
8
|
+
getBase(folder: string, name: string): Promise<Buffer<ArrayBufferLike>>;
|
|
9
|
+
constructor();
|
|
10
|
+
/**
|
|
11
|
+
* generates nginx config
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
render(http: DomainConf | undefined, https: DomainConf[] | undefined, defaultDomain: DomainConf | undefined, redirectDomains: DomainConf[] | undefined, company: string, project: string, baseConf: string, hosting?: HostingWithSettings): string;
|
|
15
|
+
renderStreamConf(domains: DomainConf[], confString: string): string;
|
|
16
|
+
getComposeObject(domains: DomainConf[], baseFolder: string, image?: string): {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
};
|
|
19
|
+
getKey(company: string, project: string): string;
|
|
20
|
+
validateDomains(domains: string[]): string[];
|
|
21
|
+
/**
|
|
22
|
+
* validate domains and remove double entries
|
|
23
|
+
*/
|
|
24
|
+
validateStreamDomains(domains: DomainConf[]): DomainConf[];
|
|
25
|
+
/**
|
|
26
|
+
* docker: docker, stream: nginx main stream conf, proxy: nginx main proxy config, project: project nginx
|
|
27
|
+
*/
|
|
28
|
+
refresh(type: 'project', company: string, project: string): Promise<boolean>;
|
|
29
|
+
refresh(type: 'docker' | 'stream' | 'proxy'): Promise<boolean>;
|
|
30
|
+
refreshDockerCompose(base?: string): Promise<boolean>;
|
|
31
|
+
refreshNginx(type: 'stream' | 'proxy' | 'project', company: string | undefined, project: string | undefined): Promise<boolean>;
|
|
32
|
+
createFolderRecursive(base: string, path: string): Promise<boolean>;
|
|
33
|
+
}
|
|
34
|
+
declare const _default: ConfService;
|
|
35
|
+
export default _default;
|
|
@@ -0,0 +1,189 @@
|
|
|
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
|
+
exports.ConfService = void 0;
|
|
7
|
+
const handlebars_1 = __importDefault(require("handlebars"));
|
|
8
|
+
const ShareClientFactory_class_1 = __importDefault(require("../ShareClientFactory.class"));
|
|
9
|
+
const domains_service_1 = __importDefault(require("./domains.service"));
|
|
10
|
+
const hosting_service_1 = __importDefault(require("./hosting.service"));
|
|
11
|
+
class ConfService {
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* load the base nginx conf file for further rendering
|
|
15
|
+
*/
|
|
16
|
+
getBase(folder, name) {
|
|
17
|
+
return this.shareClient.get(folder, name);
|
|
18
|
+
}
|
|
19
|
+
constructor() {
|
|
20
|
+
this.shareClient = (0, ShareClientFactory_class_1.default)('azureStorage', {
|
|
21
|
+
connectionString: process.env.HOSTING_STORAGE_CONNECTION,
|
|
22
|
+
shareName: 'customer-apps',
|
|
23
|
+
accountName: process.env.STORAGE_ACCOUNT,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* generates nginx config
|
|
28
|
+
*
|
|
29
|
+
*/
|
|
30
|
+
render(http, https, defaultDomain, redirectDomains, company, project, baseConf, hosting) {
|
|
31
|
+
const template = handlebars_1.default.compile(baseConf);
|
|
32
|
+
const conf = template({
|
|
33
|
+
http, https, company, project, defaultDomain, hosting, redirectDomains,
|
|
34
|
+
}).trim();
|
|
35
|
+
if (conf.length === 0) {
|
|
36
|
+
return `#
|
|
37
|
+
#
|
|
38
|
+
# NO CONF CONTENT
|
|
39
|
+
#
|
|
40
|
+
#
|
|
41
|
+
`;
|
|
42
|
+
}
|
|
43
|
+
return conf;
|
|
44
|
+
}
|
|
45
|
+
renderStreamConf(domains, confString) {
|
|
46
|
+
const template = handlebars_1.default.compile(confString);
|
|
47
|
+
const conf = template({
|
|
48
|
+
domains,
|
|
49
|
+
}).trim();
|
|
50
|
+
if (conf.length === 0) {
|
|
51
|
+
return `#
|
|
52
|
+
#
|
|
53
|
+
# NO CONF CONTENT
|
|
54
|
+
#
|
|
55
|
+
#
|
|
56
|
+
`;
|
|
57
|
+
}
|
|
58
|
+
return conf;
|
|
59
|
+
}
|
|
60
|
+
getComposeObject(domains, baseFolder, image = 'nginx:alpine') {
|
|
61
|
+
const composeObject = {
|
|
62
|
+
version: '3',
|
|
63
|
+
services: {},
|
|
64
|
+
};
|
|
65
|
+
domains.map((domain) => {
|
|
66
|
+
const domainObject = {
|
|
67
|
+
image,
|
|
68
|
+
container_name: this.getKey(domain.company, domain.project),
|
|
69
|
+
ports: [
|
|
70
|
+
`${domain.ports?.http}:80`,
|
|
71
|
+
`${domain.ports?.https}:443`,
|
|
72
|
+
],
|
|
73
|
+
volumes: [
|
|
74
|
+
`${baseFolder}/${domain.company}/${domain.project}/hosting:/var/www/hosting:ro`,
|
|
75
|
+
`${baseFolder}/${domain.company}/${domain.project}/conf:/etc/nginx/conf.d/`,
|
|
76
|
+
`${baseFolder}/${domain.company}/${domain.project}/certs:/var/www/certs`,
|
|
77
|
+
'/base/data/certs:/var/www/base/certs',
|
|
78
|
+
],
|
|
79
|
+
};
|
|
80
|
+
composeObject.services[this.getKey(domain.company, domain.project)] = domainObject;
|
|
81
|
+
return domainObject;
|
|
82
|
+
});
|
|
83
|
+
return composeObject;
|
|
84
|
+
}
|
|
85
|
+
getKey(company, project) {
|
|
86
|
+
return `${company}-${project}`;
|
|
87
|
+
}
|
|
88
|
+
validateDomains(domains) {
|
|
89
|
+
const fileredDomains = [...new Set(domains)];
|
|
90
|
+
return fileredDomains.filter((domain) => {
|
|
91
|
+
if (!domain)
|
|
92
|
+
return false;
|
|
93
|
+
if (!domain.length)
|
|
94
|
+
return false;
|
|
95
|
+
return true;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* validate domains and remove double entries
|
|
100
|
+
*/
|
|
101
|
+
validateStreamDomains(domains) {
|
|
102
|
+
const filteredDomains = [];
|
|
103
|
+
domains.map((domain) => {
|
|
104
|
+
/**
|
|
105
|
+
* skip all with missing values
|
|
106
|
+
*/
|
|
107
|
+
if (!domain)
|
|
108
|
+
return false;
|
|
109
|
+
if (!domain?.domains?.length)
|
|
110
|
+
return false;
|
|
111
|
+
if (!domain.company.length)
|
|
112
|
+
return false;
|
|
113
|
+
if (!domain.project.length)
|
|
114
|
+
return false;
|
|
115
|
+
if (!domain.ports?.http)
|
|
116
|
+
return false;
|
|
117
|
+
if (!domain.ports?.https)
|
|
118
|
+
return false;
|
|
119
|
+
/**
|
|
120
|
+
* skip double entries
|
|
121
|
+
*/
|
|
122
|
+
const unique = filteredDomains.filter((searchDomain) => {
|
|
123
|
+
// if (domain.domains.includes(searchDomain.domain)) return true;
|
|
124
|
+
if (searchDomain.company === domain.company && searchDomain.project === domain.project)
|
|
125
|
+
return true;
|
|
126
|
+
if (searchDomain.port === domain.port)
|
|
127
|
+
return true;
|
|
128
|
+
return false;
|
|
129
|
+
});
|
|
130
|
+
if (unique.length)
|
|
131
|
+
return false;
|
|
132
|
+
return filteredDomains.push(domain);
|
|
133
|
+
});
|
|
134
|
+
return filteredDomains;
|
|
135
|
+
}
|
|
136
|
+
refresh(type, company, project) {
|
|
137
|
+
if (type === 'docker') {
|
|
138
|
+
return this.refreshDockerCompose();
|
|
139
|
+
}
|
|
140
|
+
if (['stream', 'proxy', 'project'].includes(type)) {
|
|
141
|
+
return this.refreshNginx(type, company, project);
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
async refreshDockerCompose(base = '/base/data/user') {
|
|
146
|
+
const domains = await hosting_service_1.default.getActive();
|
|
147
|
+
const mappedDomains = domains_service_1.default.mapPortToRealPorts(domains, { http: 8000, https: 9000 });
|
|
148
|
+
return this.shareClient.create('', 'docker-compose.json', JSON.stringify(this.getComposeObject(mappedDomains, base)));
|
|
149
|
+
}
|
|
150
|
+
async refreshNginx(type, company, project) {
|
|
151
|
+
let template = '';
|
|
152
|
+
let targetFile = '';
|
|
153
|
+
let targetFolder = '';
|
|
154
|
+
let renderedConf = '';
|
|
155
|
+
if (type === 'stream') {
|
|
156
|
+
template = 'stream.conf';
|
|
157
|
+
targetFile = 'stream.conf';
|
|
158
|
+
targetFolder = 'conf';
|
|
159
|
+
}
|
|
160
|
+
if (type === 'proxy') {
|
|
161
|
+
template = 'proxy_http.conf';
|
|
162
|
+
targetFile = 'proxy_http.conf';
|
|
163
|
+
targetFolder = 'conf';
|
|
164
|
+
}
|
|
165
|
+
if (type === 'project') {
|
|
166
|
+
template = '.conf';
|
|
167
|
+
targetFile = 'nginx.conf';
|
|
168
|
+
targetFolder = `user/${company}/${project}/conf`;
|
|
169
|
+
}
|
|
170
|
+
const confBase = (await this.getBase('base', template)).toString();
|
|
171
|
+
if (type === 'stream' || type === 'proxy') {
|
|
172
|
+
const domains = await domains_service_1.default.getAllDomainsWithPorts();
|
|
173
|
+
renderedConf = this.renderStreamConf(domains_service_1.default.mapPortToRealPorts(domains, { http: 8000, https: 9000 }), confBase);
|
|
174
|
+
}
|
|
175
|
+
if (type === 'project' && company && project) {
|
|
176
|
+
const hosting = await hosting_service_1.default.single(company, project);
|
|
177
|
+
const domains = await domains_service_1.default.getDomainsWithPorts(company, project);
|
|
178
|
+
const mappedDomains = domains_service_1.default.mapDomainsProject(domains, { http: 8000, https: 9000, redirectToMainDomain: hosting?.redirectToMainDomain });
|
|
179
|
+
renderedConf = this.render(mappedDomains?.http, mappedDomains?.https, mappedDomains?.defaultDomain, mappedDomains?.redirectDomains, company, project, confBase);
|
|
180
|
+
}
|
|
181
|
+
return this.shareClient.create(targetFolder, targetFile, renderedConf);
|
|
182
|
+
}
|
|
183
|
+
createFolderRecursive(base, path) {
|
|
184
|
+
return this.shareClient.createFolder(base, path);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.ConfService = ConfService;
|
|
188
|
+
exports.default = new ConfService();
|
|
189
|
+
//# sourceMappingURL=conf.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conf.service.js","sourceRoot":"","sources":["../../../../src/services/conf.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { ObjectId, UnorderedBulkOperation, UpdateResult, WithId } from 'mongodb';
|
|
2
|
+
import Immutable from '../Immutable.class';
|
|
3
|
+
import { CustomerPerson, CustomerCompany, CustomersModelActions, CustomerPersonWithEmail, CreateResult, UserAppWithOptions, BasicData, Options, Customers, History, CustomerImportResult } from '@lilaquadrat/interfaces';
|
|
4
|
+
import { Location } from '@lilaquadrat/interfaces';
|
|
5
|
+
import { ValidateFunction } from 'ajv';
|
|
6
|
+
export declare class CustomersService extends Immutable<CustomerPerson | CustomerCompany> {
|
|
7
|
+
model: import("../classes/modelv2.class").default<Customers, CustomersModelActions>;
|
|
8
|
+
/**
|
|
9
|
+
* is only used from admins so action will be always minimal e.g. createPersonMinimal
|
|
10
|
+
*/
|
|
11
|
+
createWithTypeMinimal(data: CustomerPerson, options: Required<UserAppWithOptions>): Promise<CreateResult<CustomerPerson | CustomerCompany>>;
|
|
12
|
+
createWithTypeMinimal(data: CustomerCompany, options: Required<UserAppWithOptions>): Promise<CreateResult<CustomerPerson | CustomerCompany>>;
|
|
13
|
+
createPerson(data: CustomerPerson, modelAction: CustomersModelActions, options: Required<UserAppWithOptions> & {
|
|
14
|
+
validator?: ValidateFunction;
|
|
15
|
+
}): Promise<CreateResult<BasicData<CustomerCompany | CustomerPerson>>>;
|
|
16
|
+
updateWithType(internalId: ObjectId, data: CustomerPerson, options: Required<UserAppWithOptions>): Promise<UpdateResult>;
|
|
17
|
+
updateWithType(internalId: ObjectId, data: CustomerCompany, options: Required<UserAppWithOptions>): Promise<UpdateResult>;
|
|
18
|
+
getOrCreateByEmail(data: CustomerPersonWithEmail, modelAction: CustomersModelActions, options: Required<UserAppWithOptions> & {
|
|
19
|
+
validator?: ValidateFunction;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
isNew: boolean;
|
|
22
|
+
customer?: {
|
|
23
|
+
_id: ObjectId;
|
|
24
|
+
id: string;
|
|
25
|
+
};
|
|
26
|
+
}>;
|
|
27
|
+
single(internalId: ObjectId, options: {
|
|
28
|
+
company: string;
|
|
29
|
+
includeEmailConfirmationCode?: boolean;
|
|
30
|
+
}): Promise<BasicData<Customers> | undefined>;
|
|
31
|
+
getByEmail(email: string, options: Required<UserAppWithOptions>): Promise<{
|
|
32
|
+
_id: ObjectId;
|
|
33
|
+
id: string;
|
|
34
|
+
} | null>;
|
|
35
|
+
getTags(company: string, search: string): Promise<string[]>;
|
|
36
|
+
addressValidation(address: string): Promise<Location[]>;
|
|
37
|
+
matchSortTags(documents: any[], search: RegExp | string, sort: string): string[];
|
|
38
|
+
/**
|
|
39
|
+
* get the data for the given and account
|
|
40
|
+
*
|
|
41
|
+
* also sets an email confirmation code if none exists
|
|
42
|
+
*/
|
|
43
|
+
getMe(account: string, company: string, options: Required<UserAppWithOptions>): Promise<BasicData<CustomerPerson>>;
|
|
44
|
+
isConnected(account: string, app: string): Promise<boolean>;
|
|
45
|
+
emailConfirmed(account: string, app: string): Promise<boolean>;
|
|
46
|
+
getCustomerByAccount(account: string, app: string, projection?: Record<string, number>): Promise<WithId<Customers> | null>;
|
|
47
|
+
getCustomerIdByAccount(account: string, app: string): Promise<ObjectId | undefined>;
|
|
48
|
+
customerExists(customerId: ObjectId): Promise<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
* connects a auth0 account with a customer
|
|
51
|
+
*/
|
|
52
|
+
connectToAccount(internalId: ObjectId, account: string, options: Required<UserAppWithOptions>): Promise<UpdateResult<BasicData<CustomerCompany | CustomerPerson>>>;
|
|
53
|
+
/**
|
|
54
|
+
* connects a auth0 account with a customer
|
|
55
|
+
*/
|
|
56
|
+
confirmEmail(account: string, emailConfirmationCode: string, options: Required<UserAppWithOptions>): Promise<UpdateResult<BasicData<CustomerCompany | CustomerPerson>>>;
|
|
57
|
+
disconnectFromAccount(internalId: ObjectId, account: string, options: Required<UserAppWithOptions>): Promise<UpdateResult<BasicData<CustomerCompany | CustomerPerson>>>;
|
|
58
|
+
/**
|
|
59
|
+
* sets a new email confirmation code
|
|
60
|
+
*/
|
|
61
|
+
setEmailConfirmationCode(internalId: ObjectId, options: Required<UserAppWithOptions>): Promise<UpdateResult<BasicData<CustomerCompany | CustomerPerson>>>;
|
|
62
|
+
createEmailConfirmationCode(length: number): string;
|
|
63
|
+
getStructure(type: 'person' | 'company'): string[];
|
|
64
|
+
importManual(importData: BasicData<Customers>[], options: Required<UserAppWithOptions>): Promise<CustomerImportResult>;
|
|
65
|
+
updateImportIds(importData: BasicData<Customers>[], options: Required<Options>): Record<string, ObjectId>;
|
|
66
|
+
export(options: Options): Promise<WithId<Customers>[]>;
|
|
67
|
+
import(importData: BasicData<Customers>[], importHistoryData: BasicData<Customers & History>[], idMapping: Record<string, ObjectId>, bulkHistory: UnorderedBulkOperation, options: Required<Options>): Promise<{
|
|
68
|
+
bulk: UnorderedBulkOperation;
|
|
69
|
+
filteredData: BasicData<Customers>[];
|
|
70
|
+
skippedData: BasicData<Customers>[];
|
|
71
|
+
}>;
|
|
72
|
+
}
|
|
73
|
+
declare const _default: CustomersService;
|
|
74
|
+
export default _default;
|