@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.
Files changed (391) hide show
  1. package/lib/cjs/errors.d.ts +5 -0
  2. package/lib/cjs/errors.js +15 -0
  3. package/lib/cjs/errors.js.map +1 -0
  4. package/lib/cjs/helpers.d.ts +14 -0
  5. package/lib/cjs/helpers.js +36 -0
  6. package/lib/cjs/helpers.js.map +1 -0
  7. package/lib/cjs/main.d.ts +17 -0
  8. package/lib/cjs/main.js +73 -0
  9. package/lib/cjs/main.js.map +1 -0
  10. package/lib/cjs/models.d.ts +35 -0
  11. package/lib/cjs/models.js +75 -0
  12. package/lib/cjs/models.js.map +1 -0
  13. package/lib/cjs/services.d.ts +33 -0
  14. package/lib/cjs/services.js +105 -0
  15. package/lib/cjs/services.js.map +1 -0
  16. package/lib/cjs/src/AzureBlobStorage.share.d.ts +18 -0
  17. package/lib/cjs/src/AzureBlobStorage.share.js +157 -0
  18. package/lib/cjs/src/AzureBlobStorage.share.js.map +1 -0
  19. package/lib/cjs/src/AzureFileStorage.share.d.ts +21 -0
  20. package/lib/cjs/src/AzureFileStorage.share.js +144 -0
  21. package/lib/cjs/src/AzureFileStorage.share.js.map +1 -0
  22. package/lib/cjs/src/AzureVault.d.ts +14 -0
  23. package/lib/cjs/src/AzureVault.js +30 -0
  24. package/lib/cjs/src/AzureVault.js.map +1 -0
  25. package/lib/cjs/src/Filesystem.share.d.ts +15 -0
  26. package/lib/cjs/src/Filesystem.share.js +87 -0
  27. package/lib/cjs/src/Filesystem.share.js.map +1 -0
  28. package/lib/cjs/src/Immutable.class.d.ts +56 -0
  29. package/lib/cjs/src/Immutable.class.js +228 -0
  30. package/lib/cjs/src/Immutable.class.js.map +1 -0
  31. package/lib/cjs/src/Mock.share.d.ts +14 -0
  32. package/lib/cjs/src/Mock.share.js +36 -0
  33. package/lib/cjs/src/Mock.share.js.map +1 -0
  34. package/lib/cjs/src/ShareClientFactory.class.d.ts +7 -0
  35. package/lib/cjs/src/ShareClientFactory.class.js +34 -0
  36. package/lib/cjs/src/ShareClientFactory.class.js.map +1 -0
  37. package/lib/cjs/src/Timeseries.class.d.ts +11 -0
  38. package/lib/cjs/src/Timeseries.class.js +16 -0
  39. package/lib/cjs/src/Timeseries.class.js.map +1 -0
  40. package/lib/cjs/src/aggegations/childData.aggregation.d.ts +194 -0
  41. package/lib/cjs/src/aggegations/childData.aggregation.js +102 -0
  42. package/lib/cjs/src/aggegations/childData.aggregation.js.map +1 -0
  43. package/lib/cjs/src/aggegations/genericData.aggregation.d.ts +76 -0
  44. package/lib/cjs/src/aggegations/genericData.aggregation.js +79 -0
  45. package/lib/cjs/src/aggegations/genericData.aggregation.js.map +1 -0
  46. package/lib/cjs/src/aggegations/partial.aggregation.d.ts +88 -0
  47. package/lib/cjs/src/aggegations/partial.aggregation.js +68 -0
  48. package/lib/cjs/src/aggegations/partial.aggregation.js.map +1 -0
  49. package/lib/cjs/src/aggegations/publishData.aggregation.d.ts +89 -0
  50. package/lib/cjs/src/aggegations/publishData.aggregation.js +79 -0
  51. package/lib/cjs/src/aggegations/publishData.aggregation.js.map +1 -0
  52. package/lib/cjs/src/aggegations/resultData.aggregation.d.ts +151 -0
  53. package/lib/cjs/src/aggegations/resultData.aggregation.js +124 -0
  54. package/lib/cjs/src/aggegations/resultData.aggregation.js.map +1 -0
  55. package/lib/cjs/src/aggegations/structures.aggregation.d.ts +143 -0
  56. package/lib/cjs/src/aggegations/structures.aggregation.js +72 -0
  57. package/lib/cjs/src/aggegations/structures.aggregation.js.map +1 -0
  58. package/lib/cjs/src/aggegations/user.aggregation.d.ts +2 -0
  59. package/lib/cjs/src/aggegations/user.aggregation.js +38 -0
  60. package/lib/cjs/src/aggegations/user.aggregation.js.map +1 -0
  61. package/lib/cjs/src/classes/ControllerBase.class.d.ts +115 -0
  62. package/lib/cjs/src/classes/ControllerBase.class.js +274 -0
  63. package/lib/cjs/src/classes/ControllerBase.class.js.map +1 -0
  64. package/lib/cjs/src/classes/TimeseriesModel.class.d.ts +28 -0
  65. package/lib/cjs/src/classes/TimeseriesModel.class.js +72 -0
  66. package/lib/cjs/src/classes/TimeseriesModel.class.js.map +1 -0
  67. package/lib/cjs/src/classes/cache.class.d.ts +31 -0
  68. package/lib/cjs/src/classes/cache.class.js +71 -0
  69. package/lib/cjs/src/classes/cache.class.js.map +1 -0
  70. package/lib/cjs/src/classes/errors/Agreements.error.d.ts +6 -0
  71. package/lib/cjs/src/classes/errors/Agreements.error.js +12 -0
  72. package/lib/cjs/src/classes/errors/Agreements.error.js.map +1 -0
  73. package/lib/cjs/src/classes/errors/History.error.d.ts +6 -0
  74. package/lib/cjs/src/classes/errors/History.error.js +12 -0
  75. package/lib/cjs/src/classes/errors/History.error.js.map +1 -0
  76. package/lib/cjs/src/classes/errors/Immutable.error.d.ts +6 -0
  77. package/lib/cjs/src/classes/errors/Immutable.error.js +12 -0
  78. package/lib/cjs/src/classes/errors/Immutable.error.js.map +1 -0
  79. package/lib/cjs/src/classes/errors/InvalidId.error.d.ts +6 -0
  80. package/lib/cjs/src/classes/errors/InvalidId.error.js +12 -0
  81. package/lib/cjs/src/classes/errors/InvalidId.error.js.map +1 -0
  82. package/lib/cjs/src/classes/models.class.d.ts +13 -0
  83. package/lib/cjs/src/classes/models.class.js +46 -0
  84. package/lib/cjs/src/classes/models.class.js.map +1 -0
  85. package/lib/cjs/src/classes/modelv2.class.d.ts +82 -0
  86. package/lib/cjs/src/classes/modelv2.class.js +149 -0
  87. package/lib/cjs/src/classes/modelv2.class.js.map +1 -0
  88. package/lib/cjs/src/classes/mongo.class.d.ts +24 -0
  89. package/lib/cjs/src/classes/mongo.class.js +100 -0
  90. package/lib/cjs/src/classes/mongo.class.js.map +1 -0
  91. package/lib/cjs/src/dns.challenge.class.d.ts +17 -0
  92. package/lib/cjs/src/dns.challenge.class.js +47 -0
  93. package/lib/cjs/src/dns.challenge.class.js.map +1 -0
  94. package/lib/cjs/src/docker-compose.class.d.ts +14 -0
  95. package/lib/cjs/src/docker-compose.class.js +88 -0
  96. package/lib/cjs/src/docker-compose.class.js.map +1 -0
  97. package/lib/cjs/src/filterMergeModules.d.ts +3 -0
  98. package/lib/cjs/src/filterMergeModules.js +31 -0
  99. package/lib/cjs/src/filterMergeModules.js.map +1 -0
  100. package/lib/cjs/src/functions/handleError.d.ts +5 -0
  101. package/lib/cjs/src/functions/handleError.js +46 -0
  102. package/lib/cjs/src/functions/handleError.js.map +1 -0
  103. package/lib/cjs/src/functions/optionsHelper.d.ts +6 -0
  104. package/lib/cjs/src/functions/optionsHelper.js +16 -0
  105. package/lib/cjs/src/functions/optionsHelper.js.map +1 -0
  106. package/lib/cjs/src/functions/respondCode.d.ts +3 -0
  107. package/lib/cjs/src/functions/respondCode.js +5 -0
  108. package/lib/cjs/src/functions/respondCode.js.map +1 -0
  109. package/lib/cjs/src/helpers/HttpStatusCode.enum.d.ts +318 -0
  110. package/lib/cjs/src/helpers/HttpStatusCode.enum.js +324 -0
  111. package/lib/cjs/src/helpers/HttpStatusCode.enum.js.map +1 -0
  112. package/lib/cjs/src/helpers/cleanObject.d.ts +5 -0
  113. package/lib/cjs/src/helpers/cleanObject.js +9 -0
  114. package/lib/cjs/src/helpers/cleanObject.js.map +1 -0
  115. package/lib/cjs/src/helpers/companyRights.d.ts +3 -0
  116. package/lib/cjs/src/helpers/companyRights.js +18 -0
  117. package/lib/cjs/src/helpers/companyRights.js.map +1 -0
  118. package/lib/cjs/src/helpers/convertCountryISO2.d.ts +2 -0
  119. package/lib/cjs/src/helpers/convertCountryISO2.js +248 -0
  120. package/lib/cjs/src/helpers/convertCountryISO2.js.map +1 -0
  121. package/lib/cjs/src/helpers/countries.d.ts +4 -0
  122. package/lib/cjs/src/helpers/countries.js +14 -0
  123. package/lib/cjs/src/helpers/countries.js.map +1 -0
  124. package/lib/cjs/src/helpers/createError.d.ts +7 -0
  125. package/lib/cjs/src/helpers/createError.js +16 -0
  126. package/lib/cjs/src/helpers/createError.js.map +1 -0
  127. package/lib/cjs/src/helpers/createSasToken.d.ts +2 -0
  128. package/lib/cjs/src/helpers/createSasToken.js +36 -0
  129. package/lib/cjs/src/helpers/createSasToken.js.map +1 -0
  130. package/lib/cjs/src/helpers/findObjetcsWithKeys.d.ts +13 -0
  131. package/lib/cjs/src/helpers/findObjetcsWithKeys.js +34 -0
  132. package/lib/cjs/src/helpers/findObjetcsWithKeys.js.map +1 -0
  133. package/lib/cjs/src/helpers/getSecrets.d.ts +4 -0
  134. package/lib/cjs/src/helpers/getSecrets.js +20 -0
  135. package/lib/cjs/src/helpers/getSecrets.js.map +1 -0
  136. package/lib/cjs/src/helpers/hardCopy.d.ts +2 -0
  137. package/lib/cjs/src/helpers/hardCopy.js +5 -0
  138. package/lib/cjs/src/helpers/hardCopy.js.map +1 -0
  139. package/lib/cjs/src/helpers/isDeepEmpty.d.ts +1 -0
  140. package/lib/cjs/src/helpers/isDeepEmpty.js +23 -0
  141. package/lib/cjs/src/helpers/isDeepEmpty.js.map +1 -0
  142. package/lib/cjs/src/helpers/isValidObjectId.d.ts +15 -0
  143. package/lib/cjs/src/helpers/isValidObjectId.js +22 -0
  144. package/lib/cjs/src/helpers/isValidObjectId.js.map +1 -0
  145. package/lib/cjs/src/helpers/matchSortArray.d.ts +2 -0
  146. package/lib/cjs/src/helpers/matchSortArray.js +20 -0
  147. package/lib/cjs/src/helpers/matchSortArray.js.map +1 -0
  148. package/lib/cjs/src/helpers/safeObjectId.d.ts +8 -0
  149. package/lib/cjs/src/helpers/safeObjectId.js +18 -0
  150. package/lib/cjs/src/helpers/safeObjectId.js.map +1 -0
  151. package/lib/cjs/src/helpers/updateMappedId.d.ts +2 -0
  152. package/lib/cjs/src/helpers/updateMappedId.js +8 -0
  153. package/lib/cjs/src/helpers/updateMappedId.js.map +1 -0
  154. package/lib/cjs/src/http.challenge.class.d.ts +33 -0
  155. package/lib/cjs/src/http.challenge.class.js +64 -0
  156. package/lib/cjs/src/http.challenge.class.js.map +1 -0
  157. package/lib/cjs/src/logger.d.ts +2 -0
  158. package/lib/cjs/src/logger.js +45 -0
  159. package/lib/cjs/src/logger.js.map +1 -0
  160. package/lib/cjs/src/models/access.model.d.ts +4 -0
  161. package/lib/cjs/src/models/access.model.js +16 -0
  162. package/lib/cjs/src/models/access.model.js.map +1 -0
  163. package/lib/cjs/src/models/app.model.d.ts +4 -0
  164. package/lib/cjs/src/models/app.model.js +86 -0
  165. package/lib/cjs/src/models/app.model.js.map +1 -0
  166. package/lib/cjs/src/models/cache.model.d.ts +4 -0
  167. package/lib/cjs/src/models/cache.model.js +15 -0
  168. package/lib/cjs/src/models/cache.model.js.map +1 -0
  169. package/lib/cjs/src/models/cart.model.d.ts +4 -0
  170. package/lib/cjs/src/models/cart.model.js +76 -0
  171. package/lib/cjs/src/models/cart.model.js.map +1 -0
  172. package/lib/cjs/src/models/certificate-action.model.d.ts +5 -0
  173. package/lib/cjs/src/models/certificate-action.model.js +235 -0
  174. package/lib/cjs/src/models/certificate-action.model.js.map +1 -0
  175. package/lib/cjs/src/models/certificate.model.d.ts +4 -0
  176. package/lib/cjs/src/models/certificate.model.js +101 -0
  177. package/lib/cjs/src/models/certificate.model.js.map +1 -0
  178. package/lib/cjs/src/models/company.model.d.ts +4 -0
  179. package/lib/cjs/src/models/company.model.js +84 -0
  180. package/lib/cjs/src/models/company.model.js.map +1 -0
  181. package/lib/cjs/src/models/customers.model.d.ts +7 -0
  182. package/lib/cjs/src/models/customers.model.js +199 -0
  183. package/lib/cjs/src/models/customers.model.js.map +1 -0
  184. package/lib/cjs/src/models/domain.model.d.ts +4 -0
  185. package/lib/cjs/src/models/domain.model.js +90 -0
  186. package/lib/cjs/src/models/domain.model.js.map +1 -0
  187. package/lib/cjs/src/models/editor.model.d.ts +4 -0
  188. package/lib/cjs/src/models/editor.model.js +174 -0
  189. package/lib/cjs/src/models/editor.model.js.map +1 -0
  190. package/lib/cjs/src/models/editorBase.model.d.ts +4 -0
  191. package/lib/cjs/src/models/editorBase.model.js +44 -0
  192. package/lib/cjs/src/models/editorBase.model.js.map +1 -0
  193. package/lib/cjs/src/models/history.model.d.ts +4 -0
  194. package/lib/cjs/src/models/history.model.js +54 -0
  195. package/lib/cjs/src/models/history.model.js.map +1 -0
  196. package/lib/cjs/src/models/hosting.model.d.ts +4 -0
  197. package/lib/cjs/src/models/hosting.model.js +44 -0
  198. package/lib/cjs/src/models/hosting.model.js.map +1 -0
  199. package/lib/cjs/src/models/hostingCommand.model.d.ts +4 -0
  200. package/lib/cjs/src/models/hostingCommand.model.js +30 -0
  201. package/lib/cjs/src/models/hostingCommand.model.js.map +1 -0
  202. package/lib/cjs/src/models/hostingSettings.model.d.ts +4 -0
  203. package/lib/cjs/src/models/hostingSettings.model.js +29 -0
  204. package/lib/cjs/src/models/hostingSettings.model.js.map +1 -0
  205. package/lib/cjs/src/models/id.model.d.ts +12 -0
  206. package/lib/cjs/src/models/id.model.js +28 -0
  207. package/lib/cjs/src/models/id.model.js.map +1 -0
  208. package/lib/cjs/src/models/import.model.d.ts +4 -0
  209. package/lib/cjs/src/models/import.model.js +40 -0
  210. package/lib/cjs/src/models/import.model.js.map +1 -0
  211. package/lib/cjs/src/models/lists.model.d.ts +4 -0
  212. package/lib/cjs/src/models/lists.model.js +183 -0
  213. package/lib/cjs/src/models/lists.model.js.map +1 -0
  214. package/lib/cjs/src/models/listsParticipants.model.d.ts +4 -0
  215. package/lib/cjs/src/models/listsParticipants.model.js +87 -0
  216. package/lib/cjs/src/models/listsParticipants.model.js.map +1 -0
  217. package/lib/cjs/src/models/mailFrom.model.d.ts +4 -0
  218. package/lib/cjs/src/models/mailFrom.model.js +37 -0
  219. package/lib/cjs/src/models/mailFrom.model.js.map +1 -0
  220. package/lib/cjs/src/models/me.model.d.ts +4 -0
  221. package/lib/cjs/src/models/me.model.js +42 -0
  222. package/lib/cjs/src/models/me.model.js.map +1 -0
  223. package/lib/cjs/src/models/media.model.d.ts +4 -0
  224. package/lib/cjs/src/models/media.model.js +139 -0
  225. package/lib/cjs/src/models/media.model.js.map +1 -0
  226. package/lib/cjs/src/models/payment-provider.model.d.ts +4 -0
  227. package/lib/cjs/src/models/payment-provider.model.js +72 -0
  228. package/lib/cjs/src/models/payment-provider.model.js.map +1 -0
  229. package/lib/cjs/src/models/payment.model.d.ts +4 -0
  230. package/lib/cjs/src/models/payment.model.js +66 -0
  231. package/lib/cjs/src/models/payment.model.js.map +1 -0
  232. package/lib/cjs/src/models/permissions.model.d.ts +9 -0
  233. package/lib/cjs/src/models/permissions.model.js +264 -0
  234. package/lib/cjs/src/models/permissions.model.js.map +1 -0
  235. package/lib/cjs/src/models/project.model.d.ts +4 -0
  236. package/lib/cjs/src/models/project.model.js +80 -0
  237. package/lib/cjs/src/models/project.model.js.map +1 -0
  238. package/lib/cjs/src/models/publish-method.model.d.ts +4 -0
  239. package/lib/cjs/src/models/publish-method.model.js +452 -0
  240. package/lib/cjs/src/models/publish-method.model.js.map +1 -0
  241. package/lib/cjs/src/models/publish.model.d.ts +4 -0
  242. package/lib/cjs/src/models/publish.model.js +188 -0
  243. package/lib/cjs/src/models/publish.model.js.map +1 -0
  244. package/lib/cjs/src/models/secrets.model.d.ts +4 -0
  245. package/lib/cjs/src/models/secrets.model.js +42 -0
  246. package/lib/cjs/src/models/secrets.model.js.map +1 -0
  247. package/lib/cjs/src/models/settings.model.d.ts +4 -0
  248. package/lib/cjs/src/models/settings.model.js +21 -0
  249. package/lib/cjs/src/models/settings.model.js.map +1 -0
  250. package/lib/cjs/src/models/structure.model.d.ts +4 -0
  251. package/lib/cjs/src/models/structure.model.js +187 -0
  252. package/lib/cjs/src/models/structure.model.js.map +1 -0
  253. package/lib/cjs/src/models/tracker.model.d.ts +4 -0
  254. package/lib/cjs/src/models/tracker.model.js +59 -0
  255. package/lib/cjs/src/models/tracker.model.js.map +1 -0
  256. package/lib/cjs/src/models/universal.model.d.ts +4 -0
  257. package/lib/cjs/src/models/universal.model.js +9 -0
  258. package/lib/cjs/src/models/universal.model.js.map +1 -0
  259. package/lib/cjs/src/models/webhook-call.model.d.ts +4 -0
  260. package/lib/cjs/src/models/webhook-call.model.js +31 -0
  261. package/lib/cjs/src/models/webhook-call.model.js.map +1 -0
  262. package/lib/cjs/src/nginx.class.d.ts +11 -0
  263. package/lib/cjs/src/nginx.class.js +49 -0
  264. package/lib/cjs/src/nginx.class.js.map +1 -0
  265. package/lib/cjs/src/prepareContent.d.ts +7 -0
  266. package/lib/cjs/src/prepareContent.js +89 -0
  267. package/lib/cjs/src/prepareContent.js.map +1 -0
  268. package/lib/cjs/src/services/access.service.d.ts +37 -0
  269. package/lib/cjs/src/services/access.service.js +115 -0
  270. package/lib/cjs/src/services/access.service.js.map +1 -0
  271. package/lib/cjs/src/services/cart.service.d.ts +39 -0
  272. package/lib/cjs/src/services/cart.service.js +196 -0
  273. package/lib/cjs/src/services/cart.service.js.map +1 -0
  274. package/lib/cjs/src/services/certificates.service.d.ts +56 -0
  275. package/lib/cjs/src/services/certificates.service.js +177 -0
  276. package/lib/cjs/src/services/certificates.service.js.map +1 -0
  277. package/lib/cjs/src/services/certificatesAction.service.d.ts +41 -0
  278. package/lib/cjs/src/services/certificatesAction.service.js +195 -0
  279. package/lib/cjs/src/services/certificatesAction.service.js.map +1 -0
  280. package/lib/cjs/src/services/conf.service.d.ts +35 -0
  281. package/lib/cjs/src/services/conf.service.js +189 -0
  282. package/lib/cjs/src/services/conf.service.js.map +1 -0
  283. package/lib/cjs/src/services/customers.service.d.ts +74 -0
  284. package/lib/cjs/src/services/customers.service.js +397 -0
  285. package/lib/cjs/src/services/customers.service.js.map +1 -0
  286. package/lib/cjs/src/services/domains.service.d.ts +115 -0
  287. package/lib/cjs/src/services/domains.service.js +635 -0
  288. package/lib/cjs/src/services/domains.service.js.map +1 -0
  289. package/lib/cjs/src/services/editor.service.d.ts +65 -0
  290. package/lib/cjs/src/services/editor.service.js +532 -0
  291. package/lib/cjs/src/services/editor.service.js.map +1 -0
  292. package/lib/cjs/src/services/editorBase.service.d.ts +46 -0
  293. package/lib/cjs/src/services/editorBase.service.js +163 -0
  294. package/lib/cjs/src/services/editorBase.service.js.map +1 -0
  295. package/lib/cjs/src/services/handleFile.service.d.ts +9 -0
  296. package/lib/cjs/src/services/handleFile.service.js +52 -0
  297. package/lib/cjs/src/services/handleFile.service.js.map +1 -0
  298. package/lib/cjs/src/services/history.service.d.ts +37 -0
  299. package/lib/cjs/src/services/history.service.js +268 -0
  300. package/lib/cjs/src/services/history.service.js.map +1 -0
  301. package/lib/cjs/src/services/hosting.service.d.ts +38 -0
  302. package/lib/cjs/src/services/hosting.service.js +221 -0
  303. package/lib/cjs/src/services/hosting.service.js.map +1 -0
  304. package/lib/cjs/src/services/hostingAdmin.service.d.ts +11 -0
  305. package/lib/cjs/src/services/hostingAdmin.service.js +21 -0
  306. package/lib/cjs/src/services/hostingAdmin.service.js.map +1 -0
  307. package/lib/cjs/src/services/hostingCommands.service.d.ts +17 -0
  308. package/lib/cjs/src/services/hostingCommands.service.js +80 -0
  309. package/lib/cjs/src/services/hostingCommands.service.js.map +1 -0
  310. package/lib/cjs/src/services/id.service.d.ts +4 -0
  311. package/lib/cjs/src/services/id.service.js +18 -0
  312. package/lib/cjs/src/services/id.service.js.map +1 -0
  313. package/lib/cjs/src/services/import.service.d.ts +33 -0
  314. package/lib/cjs/src/services/import.service.js +99 -0
  315. package/lib/cjs/src/services/import.service.js.map +1 -0
  316. package/lib/cjs/src/services/listParticipants.service.d.ts +242 -0
  317. package/lib/cjs/src/services/listParticipants.service.js +905 -0
  318. package/lib/cjs/src/services/listParticipants.service.js.map +1 -0
  319. package/lib/cjs/src/services/lists.service.d.ts +40 -0
  320. package/lib/cjs/src/services/lists.service.js +626 -0
  321. package/lib/cjs/src/services/lists.service.js.map +1 -0
  322. package/lib/cjs/src/services/mailFrom.service.d.ts +10 -0
  323. package/lib/cjs/src/services/mailFrom.service.js +53 -0
  324. package/lib/cjs/src/services/mailFrom.service.js.map +1 -0
  325. package/lib/cjs/src/services/me.service.d.ts +68 -0
  326. package/lib/cjs/src/services/me.service.js +350 -0
  327. package/lib/cjs/src/services/me.service.js.map +1 -0
  328. package/lib/cjs/src/services/media.service.d.ts +34 -0
  329. package/lib/cjs/src/services/media.service.js +422 -0
  330. package/lib/cjs/src/services/media.service.js.map +1 -0
  331. package/lib/cjs/src/services/paymentProviders.service.d.ts +13 -0
  332. package/lib/cjs/src/services/paymentProviders.service.js +33 -0
  333. package/lib/cjs/src/services/paymentProviders.service.js.map +1 -0
  334. package/lib/cjs/src/services/payments.service.d.ts +70 -0
  335. package/lib/cjs/src/services/payments.service.js +151 -0
  336. package/lib/cjs/src/services/payments.service.js.map +1 -0
  337. package/lib/cjs/src/services/permissions.service.d.ts +35 -0
  338. package/lib/cjs/src/services/permissions.service.js +739 -0
  339. package/lib/cjs/src/services/permissions.service.js.map +1 -0
  340. package/lib/cjs/src/services/publish.service.d.ts +40 -0
  341. package/lib/cjs/src/services/publish.service.js +366 -0
  342. package/lib/cjs/src/services/publish.service.js.map +1 -0
  343. package/lib/cjs/src/services/publishData.service.d.ts +18 -0
  344. package/lib/cjs/src/services/publishData.service.js +120 -0
  345. package/lib/cjs/src/services/publishData.service.js.map +1 -0
  346. package/lib/cjs/src/services/publishMethod.service.d.ts +16 -0
  347. package/lib/cjs/src/services/publishMethod.service.js +64 -0
  348. package/lib/cjs/src/services/publishMethod.service.js.map +1 -0
  349. package/lib/cjs/src/services/secret.service.d.ts +17 -0
  350. package/lib/cjs/src/services/secret.service.js +50 -0
  351. package/lib/cjs/src/services/secret.service.js.map +1 -0
  352. package/lib/cjs/src/services/spamAnalasys.service.d.ts +15 -0
  353. package/lib/cjs/src/services/spamAnalasys.service.js +100 -0
  354. package/lib/cjs/src/services/spamAnalasys.service.js.map +1 -0
  355. package/lib/cjs/src/services/structures.service.d.ts +40 -0
  356. package/lib/cjs/src/services/structures.service.js +267 -0
  357. package/lib/cjs/src/services/structures.service.js.map +1 -0
  358. package/lib/cjs/src/services/universal.service.d.ts +17 -0
  359. package/lib/cjs/src/services/universal.service.js +145 -0
  360. package/lib/cjs/src/services/universal.service.js.map +1 -0
  361. package/lib/cjs/src/services/webhooks-calls.service.d.ts +13 -0
  362. package/lib/cjs/src/services/webhooks-calls.service.js +59 -0
  363. package/lib/cjs/src/services/webhooks-calls.service.js.map +1 -0
  364. package/lib/cjs/tests/editorService.spec.d.ts +1 -0
  365. package/lib/cjs/tests/editorService.spec.js +49 -0
  366. package/lib/cjs/tests/editorService.spec.js.map +1 -0
  367. package/lib/cjs/tests/getUnsetObject.spec.d.ts +1 -0
  368. package/lib/cjs/tests/getUnsetObject.spec.js +68 -0
  369. package/lib/cjs/tests/getUnsetObject.spec.js.map +1 -0
  370. package/lib/esm/frontend.d.ts +7 -0
  371. package/lib/esm/frontend.js +8 -0
  372. package/lib/esm/frontend.js.map +1 -0
  373. package/lib/esm/src/filterMergeModules.d.ts +3 -0
  374. package/lib/esm/src/filterMergeModules.js +29 -0
  375. package/lib/esm/src/filterMergeModules.js.map +1 -0
  376. package/lib/esm/src/helpers/convertCountryISO2.d.ts +2 -0
  377. package/lib/esm/src/helpers/convertCountryISO2.js +246 -0
  378. package/lib/esm/src/helpers/convertCountryISO2.js.map +1 -0
  379. package/lib/esm/src/helpers/findObjetcsWithKeys.d.ts +13 -0
  380. package/lib/esm/src/helpers/findObjetcsWithKeys.js +31 -0
  381. package/lib/esm/src/helpers/findObjetcsWithKeys.js.map +1 -0
  382. package/lib/esm/src/helpers/hardCopy.d.ts +2 -0
  383. package/lib/esm/src/helpers/hardCopy.js +3 -0
  384. package/lib/esm/src/helpers/hardCopy.js.map +1 -0
  385. package/lib/esm/src/helpers/isDeepEmpty.d.ts +1 -0
  386. package/lib/esm/src/helpers/isDeepEmpty.js +20 -0
  387. package/lib/esm/src/helpers/isDeepEmpty.js.map +1 -0
  388. package/lib/esm/src/prepareContent.d.ts +7 -0
  389. package/lib/esm/src/prepareContent.js +83 -0
  390. package/lib/esm/src/prepareContent.js.map +1 -0
  391. 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;