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