@lilaquadrat/studio 9.6.3 → 9.7.0

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 (50) hide show
  1. package/lib/cjs/models.d.ts +2 -1
  2. package/lib/cjs/models.js +3 -1
  3. package/lib/cjs/models.js.map +1 -1
  4. package/lib/cjs/services.d.ts +2 -1
  5. package/lib/cjs/services.js +3 -1
  6. package/lib/cjs/services.js.map +1 -1
  7. package/lib/cjs/src/Immutable.class.d.ts +5 -3
  8. package/lib/cjs/src/Immutable.class.js +7 -2
  9. package/lib/cjs/src/Immutable.class.js.map +1 -1
  10. package/lib/cjs/src/aggegations/genericData.aggregation.d.ts +25 -10
  11. package/lib/cjs/src/aggegations/genericData.aggregation.js +58 -160
  12. package/lib/cjs/src/aggegations/genericData.aggregation.js.map +1 -1
  13. package/lib/cjs/src/classes/modelv2.class.d.ts +5 -0
  14. package/lib/cjs/src/classes/modelv2.class.js +5 -4
  15. package/lib/cjs/src/classes/modelv2.class.js.map +1 -1
  16. package/lib/cjs/src/helpers/findObjetcsWithKeys.d.ts +13 -0
  17. package/lib/cjs/src/helpers/findObjetcsWithKeys.js +37 -0
  18. package/lib/cjs/src/helpers/findObjetcsWithKeys.js.map +1 -0
  19. package/lib/cjs/src/models/company.model.js +1 -0
  20. package/lib/cjs/src/models/company.model.js.map +1 -1
  21. package/lib/cjs/src/models/customers.model.js +1 -1
  22. package/lib/cjs/src/models/editor.model.js +2 -0
  23. package/lib/cjs/src/models/editor.model.js.map +1 -1
  24. package/lib/cjs/src/models/hosting.model.js.map +1 -1
  25. package/lib/cjs/src/models/permissions.model.js +8 -0
  26. package/lib/cjs/src/models/permissions.model.js.map +1 -1
  27. package/lib/cjs/src/models/structure.model.d.ts +4 -0
  28. package/lib/cjs/src/models/structure.model.js +186 -0
  29. package/lib/cjs/src/models/structure.model.js.map +1 -0
  30. package/lib/cjs/src/services/customers.service.d.ts +12 -4
  31. package/lib/cjs/src/services/customers.service.js +17 -6
  32. package/lib/cjs/src/services/customers.service.js.map +1 -1
  33. package/lib/cjs/src/services/editor.service.d.ts +0 -1
  34. package/lib/cjs/src/services/editor.service.js +2 -22
  35. package/lib/cjs/src/services/editor.service.js.map +1 -1
  36. package/lib/cjs/src/services/listParticipants.service.d.ts +14 -3
  37. package/lib/cjs/src/services/listParticipants.service.js +133 -16
  38. package/lib/cjs/src/services/listParticipants.service.js.map +1 -1
  39. package/lib/cjs/src/services/payments.service.js +0 -1
  40. package/lib/cjs/src/services/payments.service.js.map +1 -1
  41. package/lib/cjs/src/services/structures.service.d.ts +40 -0
  42. package/lib/cjs/src/services/structures.service.js +258 -0
  43. package/lib/cjs/src/services/structures.service.js.map +1 -0
  44. package/lib/esm/frontend.d.ts +2 -1
  45. package/lib/esm/frontend.js +2 -1
  46. package/lib/esm/frontend.js.map +1 -1
  47. package/lib/esm/src/helpers/findObjetcsWithKeys.d.ts +13 -0
  48. package/lib/esm/src/helpers/findObjetcsWithKeys.js +34 -0
  49. package/lib/esm/src/helpers/findObjetcsWithKeys.js.map +1 -0
  50. package/package.json +2 -2
@@ -30,4 +30,5 @@ import paymentModel from './src/models/payment.model';
30
30
  import paymentProviderModel from './src/models/payment-provider.model';
31
31
  import appModel from './src/models/app.model';
32
32
  import importModel from './src/models/import.model';
33
- export { companyModel as CompanyModel, meModel as MeModel, editorModel as EditorModel, editorBaseModel as EditorBaseModel, historyModel as HistoryModel, permissionsModel as PermissionsModel, projectModel as ProjectModel, settingsModel as SettingsModel, mediaModel as MediaModel, idModel as IdModel, publishModel as PublishModel, publishMethodModel as PublishMethodModel, secretsModel as SecretsModel, certificateModel as CertificateModel, certificateActionModel as CertificateActionModel, domainModel as DomainModel, hostingModel as HostingModel, hostingCommandModel as HostingCommandModel, hostingSettingsModel as HostingSettingsModel, trackerModel as TrackerModel, universalModel as UniversalModel, customersModel as CustomersModel, listsModel as ListsModel, listParticipantsModel as ListParticipantsModel, cacheModel as CacheModel, accessModel as AccessModel, mailFromModel as MailFromModel, webhookCallModel as WebhookCallModel, paymentModel as PaymentModel, paymentProviderModel as PaymentProviderModel, appModel as AppModel, importModel as ImportModel };
33
+ import structureModel from './src/models/structure.model';
34
+ export { companyModel as CompanyModel, meModel as MeModel, editorModel as EditorModel, editorBaseModel as EditorBaseModel, historyModel as HistoryModel, permissionsModel as PermissionsModel, projectModel as ProjectModel, settingsModel as SettingsModel, mediaModel as MediaModel, idModel as IdModel, publishModel as PublishModel, publishMethodModel as PublishMethodModel, secretsModel as SecretsModel, certificateModel as CertificateModel, certificateActionModel as CertificateActionModel, domainModel as DomainModel, hostingModel as HostingModel, hostingCommandModel as HostingCommandModel, hostingSettingsModel as HostingSettingsModel, trackerModel as TrackerModel, universalModel as UniversalModel, customersModel as CustomersModel, listsModel as ListsModel, listParticipantsModel as ListParticipantsModel, cacheModel as CacheModel, accessModel as AccessModel, mailFromModel as MailFromModel, webhookCallModel as WebhookCallModel, paymentModel as PaymentModel, paymentProviderModel as PaymentProviderModel, appModel as AppModel, importModel as ImportModel, structureModel as StructureModel };
package/lib/cjs/models.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ImportModel = exports.AppModel = exports.PaymentProviderModel = exports.PaymentModel = exports.WebhookCallModel = exports.MailFromModel = exports.AccessModel = exports.CacheModel = exports.ListParticipantsModel = exports.ListsModel = exports.CustomersModel = exports.UniversalModel = exports.TrackerModel = exports.HostingSettingsModel = exports.HostingCommandModel = exports.HostingModel = exports.DomainModel = exports.CertificateActionModel = exports.CertificateModel = exports.SecretsModel = exports.PublishMethodModel = exports.PublishModel = exports.IdModel = exports.MediaModel = exports.SettingsModel = exports.ProjectModel = exports.PermissionsModel = exports.HistoryModel = exports.EditorBaseModel = exports.EditorModel = exports.MeModel = exports.CompanyModel = void 0;
6
+ exports.StructureModel = exports.ImportModel = exports.AppModel = exports.PaymentProviderModel = exports.PaymentModel = exports.WebhookCallModel = exports.MailFromModel = exports.AccessModel = exports.CacheModel = exports.ListParticipantsModel = exports.ListsModel = exports.CustomersModel = exports.UniversalModel = exports.TrackerModel = exports.HostingSettingsModel = exports.HostingCommandModel = exports.HostingModel = exports.DomainModel = exports.CertificateActionModel = exports.CertificateModel = exports.SecretsModel = exports.PublishMethodModel = exports.PublishModel = exports.IdModel = exports.MediaModel = exports.SettingsModel = exports.ProjectModel = exports.PermissionsModel = exports.HistoryModel = exports.EditorBaseModel = exports.EditorModel = exports.MeModel = exports.CompanyModel = void 0;
7
7
  const company_model_1 = __importDefault(require("./src/models/company.model"));
8
8
  exports.CompanyModel = company_model_1.default;
9
9
  const me_model_1 = __importDefault(require("./src/models/me.model"));
@@ -68,4 +68,6 @@ const app_model_1 = __importDefault(require("./src/models/app.model"));
68
68
  exports.AppModel = app_model_1.default;
69
69
  const import_model_1 = __importDefault(require("./src/models/import.model"));
70
70
  exports.ImportModel = import_model_1.default;
71
+ const structure_model_1 = __importDefault(require("./src/models/structure.model"));
72
+ exports.StructureModel = structure_model_1.default;
71
73
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../models.ts"],"names":[],"mappings":";;;;;;AAAA,+EAAsD;AAkCpC,uBAlCX,uBAAY,CAkCW;AAjC9B,qEAA4C;AAkC/B,kBAlCN,kBAAO,CAkCM;AAjCpB,6EAAoD;AAkCnC,sBAlCV,sBAAW,CAkCU;AAjC5B,qFAA4D;AAkCvC,0BAlCd,0BAAe,CAkCc;AAjCpC,+EAAsD;AAkCpC,uBAlCX,uBAAY,CAkCW;AAjC9B,uFAA8D;AAkCxC,2BAlCf,2BAAgB,CAkCe;AAjCtC,+EAAsD;AAkCpC,uBAlCX,uBAAY,CAkCW;AAjC9B,iFAAwD;AAkCrC,wBAlCZ,wBAAa,CAkCY;AAjChC,2EAAkD;AAkClC,qBAlCT,qBAAU,CAkCS;AAjC1B,qEAA4C;AAkC/B,kBAlCN,kBAAO,CAkCM;AAjCpB,+EAAsD;AAkCpC,uBAlCX,uBAAY,CAkCW;AAjC9B,6FAAmE;AAkC3C,6BAlCjB,8BAAkB,CAkCiB;AAjC1C,+EAAsD;AAkCpC,uBAlCX,uBAAY,CAkCW;AAjC9B,uFAA8D;AAkCxC,2BAlCf,2BAAgB,CAkCe;AAjCtC,qGAA2E;AAkC/C,iCAlCrB,kCAAsB,CAkCqB;AAjClD,6EAAmD;AAkClC,sBAlCV,sBAAW,CAkCU;AAjC5B,+EAAqD;AAkCnC,uBAlCX,uBAAY,CAkCW;AAjC9B,6FAAoE;AAkC3C,8BAlClB,8BAAmB,CAkCkB;AAjC5C,+FAAsE;AAkC5C,+BAlCnB,+BAAoB,CAkCmB;AAjC9C,+EAAsD;AAkCpC,uBAlCX,uBAAY,CAkCW;AAjC9B,mFAA0D;AAkCtC,yBAlCb,yBAAc,CAkCa;AAjClC,mFAA0D;AAkCtC,yBAlCb,yBAAc,CAkCa;AAjClC,2EAAkD;AAkClC,qBAlCT,qBAAU,CAkCS;AAjC1B,mGAAyE;AAkC9C,gCAlCpB,iCAAqB,CAkCoB;AAjChD,2EAAkD;AAkClC,qBAlCT,qBAAU,CAkCS;AAjC1B,6EAAoD;AAkCnC,sBAlCV,sBAAW,CAkCU;AAjC5B,iFAAwD;AAkCrC,wBAlCZ,wBAAa,CAkCY;AAjChC,yFAA+D;AAkCzC,2BAlCf,4BAAgB,CAkCe;AAjCtC,+EAAsD;AAkCpC,uBAlCX,uBAAY,CAkCW;AAjC9B,iGAAuE;AAkC7C,+BAlCnB,gCAAoB,CAkCmB;AAjC9C,uEAA8C;AAkChC,mBAlCP,mBAAQ,CAkCO;AAjCtB,6EAAoD;AAkCnC,sBAlCV,sBAAW,CAkCU"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../models.ts"],"names":[],"mappings":";;;;;;AAAA,+EAAsD;AAmCpC,uBAnCX,uBAAY,CAmCW;AAlC9B,qEAA4C;AAmC/B,kBAnCN,kBAAO,CAmCM;AAlCpB,6EAAoD;AAmCnC,sBAnCV,sBAAW,CAmCU;AAlC5B,qFAA4D;AAmCvC,0BAnCd,0BAAe,CAmCc;AAlCpC,+EAAsD;AAmCpC,uBAnCX,uBAAY,CAmCW;AAlC9B,uFAA8D;AAmCxC,2BAnCf,2BAAgB,CAmCe;AAlCtC,+EAAsD;AAmCpC,uBAnCX,uBAAY,CAmCW;AAlC9B,iFAAwD;AAmCrC,wBAnCZ,wBAAa,CAmCY;AAlChC,2EAAkD;AAmClC,qBAnCT,qBAAU,CAmCS;AAlC1B,qEAA4C;AAmC/B,kBAnCN,kBAAO,CAmCM;AAlCpB,+EAAsD;AAmCpC,uBAnCX,uBAAY,CAmCW;AAlC9B,6FAAmE;AAmC3C,6BAnCjB,8BAAkB,CAmCiB;AAlC1C,+EAAsD;AAmCpC,uBAnCX,uBAAY,CAmCW;AAlC9B,uFAA8D;AAmCxC,2BAnCf,2BAAgB,CAmCe;AAlCtC,qGAA2E;AAmC/C,iCAnCrB,kCAAsB,CAmCqB;AAlClD,6EAAmD;AAmClC,sBAnCV,sBAAW,CAmCU;AAlC5B,+EAAqD;AAmCnC,uBAnCX,uBAAY,CAmCW;AAlC9B,6FAAoE;AAmC3C,8BAnClB,8BAAmB,CAmCkB;AAlC5C,+FAAsE;AAmC5C,+BAnCnB,+BAAoB,CAmCmB;AAlC9C,+EAAsD;AAmCpC,uBAnCX,uBAAY,CAmCW;AAlC9B,mFAA0D;AAmCtC,yBAnCb,yBAAc,CAmCa;AAlClC,mFAA0D;AAmCtC,yBAnCb,yBAAc,CAmCa;AAlClC,2EAAkD;AAmClC,qBAnCT,qBAAU,CAmCS;AAlC1B,mGAAyE;AAmC9C,gCAnCpB,iCAAqB,CAmCoB;AAlChD,2EAAkD;AAmClC,qBAnCT,qBAAU,CAmCS;AAlC1B,6EAAoD;AAmCnC,sBAnCV,sBAAW,CAmCU;AAlC5B,iFAAwD;AAmCrC,wBAnCZ,wBAAa,CAmCY;AAlChC,yFAA+D;AAmCzC,2BAnCf,4BAAgB,CAmCe;AAlCtC,+EAAsD;AAmCpC,uBAnCX,uBAAY,CAmCW;AAlC9B,iGAAuE;AAmC7C,+BAnCnB,gCAAoB,CAmCmB;AAlC9C,uEAA8C;AAmChC,mBAnCP,mBAAQ,CAmCO;AAlCtB,6EAAoD;AAmCnC,sBAnCV,sBAAW,CAmCU;AAlC5B,mFAA0D;AAmCtC,yBAnCb,yBAAc,CAmCa"}
@@ -28,4 +28,5 @@ import paymentProvidersService from './src/services/paymentProviders.service';
28
28
  import permissionsService from './src/services/permissions.service';
29
29
  import meService, { MeService } from './src/services/me.service';
30
30
  import importService from './src/services/import.service';
31
- export { editorService as EditorService, editorBaseService as EditorBaseService, historyService as HistoryService, handleFileService as HandleFileService, idService as IdService, universalService as UniversalService, publishService as PublishService, secretService as SecretService, publishMethodService as PublishMethodService, certificatesService as CertificatesService, certificatesActionService as CertificatesActionService, domainsService as DomainsService, confService as ConfService, hostingCommandsService as HostingCommandsService, hostingService as HostingService, hostingAdminService as HostingAdminService, mediaService as MediaService, customersService as CustomersService, listsService as ListsService, listParticipantsService as ListParticipantsService, spamAnalasysService as SpamAnalasysService, webhooksCallsService as WebhooksCallsService, paymentsService as PaymentsService, paymentProvidersService as PaymentProvidersService, permissionsService as PermissionsService, importService as ImportService, meService, MeService, AccessService, PublishDataService, MailFromService };
31
+ import structuresService from './src/services/structures.service';
32
+ export { editorService as EditorService, editorBaseService as EditorBaseService, historyService as HistoryService, handleFileService as HandleFileService, idService as IdService, universalService as UniversalService, publishService as PublishService, secretService as SecretService, publishMethodService as PublishMethodService, certificatesService as CertificatesService, certificatesActionService as CertificatesActionService, domainsService as DomainsService, confService as ConfService, hostingCommandsService as HostingCommandsService, hostingService as HostingService, hostingAdminService as HostingAdminService, mediaService as MediaService, customersService as CustomersService, listsService as ListsService, listParticipantsService as ListParticipantsService, spamAnalasysService as SpamAnalasysService, webhooksCallsService as WebhooksCallsService, paymentsService as PaymentsService, paymentProvidersService as PaymentProvidersService, permissionsService as PermissionsService, importService as ImportService, structuresService as StructuresService, meService, MeService, AccessService, PublishDataService, MailFromService, };
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.MailFromService = exports.PublishDataService = exports.AccessService = exports.MeService = exports.meService = exports.ImportService = exports.PermissionsService = exports.PaymentProvidersService = exports.PaymentsService = exports.WebhooksCallsService = exports.SpamAnalasysService = exports.ListParticipantsService = exports.ListsService = exports.CustomersService = exports.MediaService = exports.HostingAdminService = exports.HostingService = exports.HostingCommandsService = exports.ConfService = exports.DomainsService = exports.CertificatesActionService = exports.CertificatesService = exports.PublishMethodService = exports.SecretService = exports.PublishService = exports.UniversalService = exports.IdService = exports.HandleFileService = exports.HistoryService = exports.EditorBaseService = exports.EditorService = void 0;
29
+ exports.MailFromService = exports.PublishDataService = exports.AccessService = exports.MeService = exports.meService = exports.StructuresService = exports.ImportService = exports.PermissionsService = exports.PaymentProvidersService = exports.PaymentsService = exports.WebhooksCallsService = exports.SpamAnalasysService = exports.ListParticipantsService = exports.ListsService = exports.CustomersService = exports.MediaService = exports.HostingAdminService = exports.HostingService = exports.HostingCommandsService = exports.ConfService = exports.DomainsService = exports.CertificatesActionService = exports.CertificatesService = exports.PublishMethodService = exports.SecretService = exports.PublishService = exports.UniversalService = exports.IdService = exports.HandleFileService = exports.HistoryService = exports.EditorBaseService = exports.EditorService = void 0;
30
30
  const editor_service_1 = __importDefault(require("./src/services/editor.service"));
31
31
  exports.EditorService = editor_service_1.default;
32
32
  const editorBase_service_1 = __importDefault(require("./src/services/editorBase.service"));
@@ -88,4 +88,6 @@ exports.meService = me_service_1.default;
88
88
  Object.defineProperty(exports, "MeService", { enumerable: true, get: function () { return me_service_1.MeService; } });
89
89
  const import_service_1 = __importDefault(require("./src/services/import.service"));
90
90
  exports.ImportService = import_service_1.default;
91
+ const structures_service_1 = __importDefault(require("./src/services/structures.service"));
92
+ exports.StructuresService = structures_service_1.default;
91
93
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../services.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAA0D;AAgCvC,wBAhCZ,wBAAa,CAgCY;AA/BhC,2FAAkE;AAgC3C,4BAhChB,4BAAiB,CAgCgB;AA/BxC,qFAA4D;AAgCxC,yBAhCb,yBAAc,CAgCa;AA/BlC,2FAAkE;AAgC3C,4BAhChB,4BAAiB,CAgCgB;AA/BxC,2EAAkD;AAgCnC,oBAhCR,oBAAS,CAgCQ;AA/BxB,yFAAgE;AAgC1C,2BAhCf,2BAAgB,CAgCe;AA/BtC,qFAA4D;AAgCxC,yBAhCb,yBAAc,CAgCa;AA/BlC,iGAAwE;AAiC9C,+BAjCnB,+BAAoB,CAiCmB;AAhC9C,mFAA0D;AA+BvC,wBA/BZ,wBAAa,CA+BY;AA9BhC,+FAAsE;AAgC7C,8BAhClB,8BAAmB,CAgCkB;AA/B5C,2GAAkF;AAgCnD,oCAhCxB,oCAAyB,CAgCwB;AA/BxD,qFAA4D;AAgCxC,yBAhCb,yBAAc,CAgCa;AA/BlC,+EAAsD;AAgCrC,sBAhCV,sBAAW,CAgCU;AA/B5B,qGAA4E;AAgChD,iCAhCrB,iCAAsB,CAgCqB;AA/BlD,qFAA4D;AAgCxC,yBAhCb,yBAAc,CAgCa;AA/BlC,+FAAsE;AAgC7C,8BAhClB,8BAAmB,CAgCkB;AA/B5C,iFAAwD;AAgCtC,uBAhCX,uBAAY,CAgCW;AA/B9B,6FAAoE;AA4ClE,6BA5CK,6BAAkB,CA4CL;AA3CpB,yFAAgE;AA+B1C,2BA/Bf,2BAAgB,CA+Be;AA9BtC,iFAAwD;AA+BtC,uBA/BX,uBAAY,CA+BW;AA9B9B,uGAA8E;AA+BjD,kCA/BtB,kCAAuB,CA+BsB;AA9BpD,+FAAsE;AA+B7C,8BA/BlB,8BAAmB,CA+BkB;AA9B5C,mFAA0D;AAsCxD,wBAtCK,wBAAa,CAsCL;AArCf,uFAA8D;AAuC5D,0BAvCK,0BAAe,CAuCL;AAtCjB,mGAAyE;AA6B/C,+BA7BnB,gCAAoB,CA6BmB;AA5B9C,uFAA8D;AA6BzC,0BA7Bd,0BAAe,CA6Bc;AA5BpC,uGAA8E;AA6BjD,kCA7BtB,kCAAuB,CA6BsB;AA5BpD,6FAAoE;AA6B5C,6BA7BjB,6BAAkB,CA6BiB;AA5B1C,wEAA+D;AA8B7D,oBA9BK,oBAAS,CA8BL;AACT,0FA/BiB,sBAAS,OA+BjB;AA9BX,mFAA0D;AA4BvC,wBA5BZ,wBAAa,CA4BY"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../services.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAA0D;AAiCvC,wBAjCZ,wBAAa,CAiCY;AAhChC,2FAAkE;AAiC3C,4BAjChB,4BAAiB,CAiCgB;AAhCxC,qFAA4D;AAiCxC,yBAjCb,yBAAc,CAiCa;AAhClC,2FAAkE;AAiC3C,4BAjChB,4BAAiB,CAiCgB;AAhCxC,2EAAkD;AAiCnC,oBAjCR,oBAAS,CAiCQ;AAhCxB,yFAAgE;AAiC1C,2BAjCf,2BAAgB,CAiCe;AAhCtC,qFAA4D;AAiCxC,yBAjCb,yBAAc,CAiCa;AAhClC,iGAAwE;AAkC9C,+BAlCnB,+BAAoB,CAkCmB;AAjC9C,mFAA0D;AAgCvC,wBAhCZ,wBAAa,CAgCY;AA/BhC,+FAAsE;AAiC7C,8BAjClB,8BAAmB,CAiCkB;AAhC5C,2GAAkF;AAiCnD,oCAjCxB,oCAAyB,CAiCwB;AAhCxD,qFAA4D;AAiCxC,yBAjCb,yBAAc,CAiCa;AAhClC,+EAAsD;AAiCrC,sBAjCV,sBAAW,CAiCU;AAhC5B,qGAA4E;AAiChD,iCAjCrB,iCAAsB,CAiCqB;AAhClD,qFAA4D;AAiCxC,yBAjCb,yBAAc,CAiCa;AAhClC,+FAAsE;AAiC7C,8BAjClB,8BAAmB,CAiCkB;AAhC5C,iFAAwD;AAiCtC,uBAjCX,uBAAY,CAiCW;AAhC9B,6FAAoE;AA8ClE,6BA9CK,6BAAkB,CA8CL;AA7CpB,yFAAgE;AAgC1C,2BAhCf,2BAAgB,CAgCe;AA/BtC,iFAAwD;AAgCtC,uBAhCX,uBAAY,CAgCW;AA/B9B,uGAA8E;AAgCjD,kCAhCtB,kCAAuB,CAgCsB;AA/BpD,+FAAsE;AAgC7C,8BAhClB,8BAAmB,CAgCkB;AA/B5C,mFAA0D;AAwCxD,wBAxCK,wBAAa,CAwCL;AAvCf,uFAA8D;AAyC5D,0BAzCK,0BAAe,CAyCL;AAxCjB,mGAAyE;AA8B/C,+BA9BnB,gCAAoB,CA8BmB;AA7B9C,uFAA8D;AA8BzC,0BA9Bd,0BAAe,CA8Bc;AA7BpC,uGAA8E;AA8BjD,kCA9BtB,kCAAuB,CA8BsB;AA7BpD,6FAAoE;AA8B5C,6BA9BjB,6BAAkB,CA8BiB;AA7B1C,wEAA+D;AAgC7D,oBAhCK,oBAAS,CAgCL;AACT,0FAjCiB,sBAAS,OAiCjB;AAhCX,mFAA0D;AA6BvC,wBA7BZ,wBAAa,CA6BY;AA5BhC,2FAAkE;AA6B3C,4BA7BhB,4BAAiB,CA6BgB"}
@@ -1,8 +1,8 @@
1
1
  import { Filter, ObjectId, OrderedBulkOperation, UnorderedBulkOperation, UpdateResult } from 'mongodb';
2
2
  import Model from './classes/modelv2.class';
3
- import { BasicData, HistoryReason } from '@lilaquadrat/interfaces';
4
- import { CreateResult } from '@lilaquadrat/interfaces';
3
+ import { BasicData, CreateResult, HistoryReason } from '@lilaquadrat/interfaces';
5
4
  import mongo from 'mongodb';
5
+ import { ValidateFunction } from 'ajv';
6
6
  export type ImmutableErrorKeys = 'UPDATE_DOCUMENT_MISSING' | 'PARENT_DOCUMENT_NOT_FOUND' | 'DOCUMENT_ALREADY_EXISTS';
7
7
  export default abstract class Immutable<T extends mongo.Document> {
8
8
  model: Model<BasicData<T>>;
@@ -34,7 +34,9 @@ export default abstract class Immutable<T extends mongo.Document> {
34
34
  /**
35
35
  * create new data
36
36
  */
37
- create(data: BasicData<T> | T, user: string, source: string, additionalHistoryData?: Record<string, string | number>, bulk?: UnorderedBulkOperation | OrderedBulkOperation, partial?: Model<BasicData<T>>['actions']): Promise<CreateResult<BasicData<T>>>;
37
+ create(data: BasicData<T> | T, user: string, source: string, additionalHistoryData?: Record<string, string | number>, bulk?: UnorderedBulkOperation | OrderedBulkOperation, partial?: Model<BasicData<T>>['actions'], options?: {
38
+ validator?: ValidateFunction;
39
+ }): Promise<CreateResult<BasicData<T>>>;
38
40
  /**
39
41
  * create new data
40
42
  */
@@ -108,13 +108,18 @@ class Immutable {
108
108
  /**
109
109
  * create new data
110
110
  */
111
- async create(data, user, source, additionalHistoryData, bulk, partial) {
111
+ async create(data, user, source, additionalHistoryData, bulk, partial, options) {
112
112
  let type = 'create';
113
113
  const validationType = partial || 'create';
114
114
  let inheritedVersion = 0;
115
115
  if (!this.model)
116
116
  throw new Error('model not set in the main class');
117
- if (!this.model.validate(data, validationType)) {
117
+ if (options?.validator) {
118
+ if (!options.validator(data)) {
119
+ throw new Immutable_error_1.default('VALIDATION_FAILED', options.validator.errors);
120
+ }
121
+ }
122
+ else if (!this.model.validate(data, validationType)) {
118
123
  if (process.env.LOG_LEVEL === 'debug') {
119
124
  console.error(this.model.compiledTypes[validationType].errors);
120
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Immutable.class.js","sourceRoot":"","sources":["../../../src/Immutable.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Immutable.class.js","sourceRoot":"","sources":["../../../src/Immutable.class.ts"],"names":[],"mappings":"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"}
@@ -22,40 +22,55 @@ declare const _default: ({
22
22
  company: string;
23
23
  project: string;
24
24
  };
25
- pipeline: {
25
+ pipeline: ({
26
26
  $match: {
27
27
  $and: ({
28
28
  $expr: {
29
29
  $in: string[];
30
30
  $eq?: undefined;
31
+ $cond?: undefined;
31
32
  };
32
33
  } | {
33
34
  $expr: {
34
35
  $eq: string[];
35
36
  $in?: undefined;
37
+ $cond?: undefined;
38
+ };
39
+ } | {
40
+ $expr: {
41
+ $cond: {
42
+ if: {
43
+ $eq: string[];
44
+ };
45
+ then: boolean;
46
+ else: {
47
+ $eq: string[];
48
+ };
49
+ };
50
+ $in?: undefined;
51
+ $eq?: undefined;
36
52
  };
37
53
  })[];
38
54
  };
39
- }[];
55
+ $project?: undefined;
56
+ } | {
57
+ $project: {
58
+ history: number;
59
+ };
60
+ $match?: undefined;
61
+ })[];
40
62
  };
41
- $addFields?: undefined;
42
- $project?: undefined;
43
63
  } | {
44
64
  $addFields: {
45
65
  'genericData.data': {
46
66
  $concatArrays: string[];
47
67
  };
48
68
  };
49
- $lookup?: undefined;
50
69
  $project?: undefined;
51
70
  } | {
52
71
  $project: {
53
- customersData: number;
54
- mediaData: number;
55
- editorData: number;
56
- listsData: number;
72
+ [k: string]: number;
57
73
  };
58
- $lookup?: undefined;
59
74
  $addFields?: undefined;
60
75
  })[];
61
76
  export default _default;
@@ -1,181 +1,79 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = [
4
- {
5
- $lookup: {
6
- from: 'editor',
7
- as: 'editorData',
8
- let: {
9
- pid: {
10
- $cond: {
11
- if: { $ifNull: ['$genericData.editor', false] },
12
- then: {
13
- "$map": {
14
- "input": "$genericData.editor",
15
- "in": { "$toObjectId": "$$this" }
16
- }
3
+ // Helper function to generate lookup stages
4
+ const createLookupStage = (collectionName) => ({
5
+ $lookup: {
6
+ from: collectionName,
7
+ as: `${collectionName}Data`,
8
+ let: {
9
+ pid: {
10
+ $cond: {
11
+ if: { $ifNull: [`$genericData.${collectionName}`, false] },
12
+ then: {
13
+ '$map': {
14
+ 'input': `$genericData.${collectionName}`,
15
+ 'in': { '$toObjectId': '$$this' },
17
16
  },
18
- else: [],
19
17
  },
18
+ else: [],
20
19
  },
21
- company: '$company',
22
- project: '$project',
23
20
  },
24
- pipeline: [
25
- {
26
- $match: {
27
- $and: [
28
- {
29
- $expr: { $in: ['$_id', '$$pid'] },
30
- },
31
- {
32
- $expr: { $eq: ['$project', '$$project'] },
33
- },
34
- {
35
- $expr: { $eq: ['$company', '$$company'] },
36
- },
37
- ],
38
- },
39
- },
40
- ],
21
+ company: '$company',
22
+ project: '$project',
41
23
  },
42
- },
43
- {
44
- $lookup: {
45
- from: 'customers',
46
- as: 'customersData',
47
- let: {
48
- pid: {
49
- $cond: {
50
- if: { $ifNull: ['$genericData.customers', false] },
51
- then: {
52
- "$map": {
53
- "input": "$genericData.customers",
54
- "in": { "$toObjectId": "$$this" }
55
- }
56
- },
57
- else: [],
58
- },
24
+ pipeline: [
25
+ {
26
+ $match: {
27
+ $and: [
28
+ { $expr: { $in: ['$_id', '$$pid'] } },
29
+ { $expr: { $eq: ['$company', '$$company'] } },
30
+ // Special case for structures collection:
31
+ // When a structure has 'model: customers', we don't check the project match
32
+ // This allows customer structures to be used across multiple projects
33
+ // while other structures remain project-specific
34
+ ...(collectionName === 'structures'
35
+ ? [
36
+ {
37
+ $expr: {
38
+ $cond: {
39
+ if: { $eq: ['$model', 'customers'] },
40
+ then: true,
41
+ else: { $eq: ['$project', '$$project'] },
42
+ },
43
+ },
44
+ },
45
+ ]
46
+ : [
47
+ { $expr: { $eq: ['$project', '$$project'] } },
48
+ ]),
49
+ ],
59
50
  },
60
- company: '$company',
61
- project: '$project',
62
51
  },
63
- pipeline: [
64
- {
65
- $match: {
66
- $and: [
67
- {
68
- $expr: { $in: ['$_id', '$$pid'] },
69
- },
70
- {
71
- $expr: { $eq: ['$project', '$$project'] },
72
- },
73
- {
74
- $expr: { $eq: ['$company', '$$company'] },
75
- },
76
- ],
77
- },
78
- },
79
- ],
80
- },
81
- },
82
- {
83
- $lookup: {
84
- from: 'media',
85
- as: 'mediaData',
86
- let: {
87
- pid: {
88
- $cond: {
89
- if: { $ifNull: ['$genericData.media', false] },
90
- then: {
91
- "$map": {
92
- "input": "$genericData.media",
93
- "in": { "$toObjectId": "$$this" }
94
- }
95
- },
96
- else: [],
97
- },
52
+ {
53
+ $project: {
54
+ history: 0,
98
55
  },
99
- company: '$company',
100
- project: '$project',
101
56
  },
102
- pipeline: [
103
- {
104
- $match: {
105
- $and: [
106
- {
107
- $expr: { $in: ['$_id', '$$pid'] },
108
- },
109
- {
110
- $expr: { $eq: ['$project', '$$project'] },
111
- },
112
- {
113
- $expr: { $eq: ['$company', '$$company'] },
114
- },
115
- ],
116
- },
117
- },
118
- ],
119
- },
120
- },
121
- {
122
- $lookup: {
123
- from: 'lists',
124
- as: 'listsData',
125
- let: {
126
- pid: {
127
- $cond: {
128
- if: { $ifNull: ['$genericData.lists', false] },
129
- then: {
130
- "$map": {
131
- "input": "$genericData.lists",
132
- "in": { "$toObjectId": "$$this" }
133
- }
134
- },
135
- else: [],
136
- },
137
- },
138
- company: '$company',
139
- project: '$project',
140
- },
141
- pipeline: [
142
- {
143
- $match: {
144
- $and: [
145
- {
146
- $expr: { $in: ['$_id', '$$pid'] },
147
- },
148
- {
149
- $expr: { $eq: ['$project', '$$project'] },
150
- },
151
- {
152
- $expr: { $eq: ['$company', '$$company'] },
153
- },
154
- ],
155
- },
156
- },
157
- ],
158
- },
57
+ ],
159
58
  },
59
+ });
60
+ // Collections to process
61
+ const collections = ['editor', 'customers', 'media', 'lists', 'structures'];
62
+ // Generate all lookup stages
63
+ const lookupStages = collections.map(createLookupStage);
64
+ // Add the final stages
65
+ const finalStages = [
160
66
  {
161
67
  $addFields: {
162
68
  'genericData.data': {
163
- $concatArrays: [
164
- "$editorData",
165
- "$customersData",
166
- "$mediaData",
167
- "$listsData"
168
- ],
69
+ $concatArrays: collections.map(coll => `$${coll}Data`),
169
70
  },
170
71
  },
171
72
  },
172
73
  {
173
- $project: {
174
- customersData: 0,
175
- mediaData: 0,
176
- editorData: 0,
177
- listsData: 0
178
- }
179
- }
74
+ $project: Object.fromEntries(collections.map(coll => [`${coll}Data`, 0])),
75
+ },
180
76
  ];
77
+ // Export the complete aggregation pipeline
78
+ exports.default = [...lookupStages, ...finalStages];
181
79
  //# sourceMappingURL=genericData.aggregation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"genericData.aggregation.js","sourceRoot":"","sources":["../../../../src/aggegations/genericData.aggregation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"genericData.aggregation.js","sourceRoot":"","sources":["../../../../src/aggegations/genericData.aggregation.ts"],"names":[],"mappings":";;AAAA,4CAA4C;AAC5C,MAAM,iBAAiB,GAAG,CAAC,cAAsB,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE;QACP,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,GAAG,cAAc,MAAM;QAC3B,GAAG,EAAE;YACH,GAAG,EAAE;gBACH,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,gBAAgB,cAAc,EAAE,EAAE,KAAK,CAAC,EAAE;oBAC1D,IAAI,EAAE;wBACJ,MAAM,EAAE;4BACN,OAAO,EAAE,gBAAgB,cAAc,EAAE;4BACzC,IAAI,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE;yBAClC;qBACF;oBACD,IAAI,EAAE,EAAE;iBACT;aACF;YACD,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;SACpB;QACD,QAAQ,EAAE;YACR;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;wBACrC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE;wBAC7C,0CAA0C;wBAC1C,4EAA4E;wBAC5E,sEAAsE;wBACtE,iDAAiD;wBACjD,GAAG,CAAC,cAAc,KAAK,YAAY;4BACjC,CAAC,CAAC;gCACA;oCACE,KAAK,EAAE;wCACL,KAAK,EAAE;4CACL,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;4CACpC,IAAI,EAAE,IAAI;4CACV,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;yCACzC;qCACF;iCACF;6BACF;4BACD,CAAC,CAAC;gCACA,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE;6BAC9C,CAAC;qBACL;iBACF;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,OAAO,EAAE,CAAC;iBACX;aACF;SACF;KACF;CACF,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAE5E,6BAA6B;AAC7B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAExD,uBAAuB;AACvB,MAAM,WAAW,GAAG;IAClB;QACE,UAAU,EAAE;YACV,kBAAkB,EAAE;gBAClB,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC;aACvD;SACF;KACF;IACD;QACE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAC5C;KACF;CACF,CAAC;AAEF,2CAA2C;AAC3C,kBAAe,CAAC,GAAG,YAAY,EAAE,GAAG,WAAW,CAAC,CAAC"}
@@ -61,6 +61,11 @@ export default class Modelv2<T extends mongo.Document, A extends string = Model[
61
61
  */
62
62
  setMongoConnection(mongoClient: MongoClient, mongoClass?: MongoClass, noIndexes?: boolean): Promise<boolean>;
63
63
  setSchema(schema: Schema, type?: A, options?: Record<string, unknown>): void;
64
+ getSchema(type: A): {
65
+ schema: Schema;
66
+ type: A;
67
+ options?: Record<string, unknown> | undefined;
68
+ } | undefined;
64
69
  compileSchemas(): void;
65
70
  compileSchema(schema: Schema, type: A, options?: Record<string, unknown>): void;
66
71
  addIndex(index: IndexDescription & CreateIndexesOptions, version: number): void;
@@ -45,13 +45,14 @@ class Modelv2 {
45
45
  setSchema(schema, type, options) {
46
46
  if (!type)
47
47
  throw new Error('no schema type given');
48
- if (!this.modelsClass) {
49
- this.schemas.push({ schema, type, options });
50
- }
51
- else {
48
+ this.schemas.push({ schema, type, options });
49
+ if (this.modelsClass) {
52
50
  this.compileSchema(schema, type, options);
53
51
  }
54
52
  }
53
+ getSchema(type) {
54
+ return this.schemas.find((single) => single.type === type);
55
+ }
55
56
  compileSchemas() {
56
57
  this.schemas.forEach((single) => {
57
58
  this.compileSchema(single.schema, single.type, single.options);
@@ -1 +1 @@
1
- {"version":3,"file":"modelv2.class.js","sourceRoot":"","sources":["../../../../src/classes/modelv2.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modelv2.class.js","sourceRoot":"","sources":["../../../../src/classes/modelv2.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Recursively searches through an object and finds all objects that contain any of the specified keys.
3
+ *
4
+ * ```typescript
5
+ * const obj = {
6
+ * foo: { bar: 1 },
7
+ * baz: { bar: 2 }
8
+ * };
9
+ * const keys = ['bar'];
10
+ * findObjectsWithKeys(obj, keys); // Returns [{ bar: 1 }, { bar: 2 }]
11
+ * ```
12
+ */
13
+ export default function findObjectsWithKeys(obj: Object, keys: string[]): Object[];
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Recursively searches through an object and finds all objects that contain any of the specified keys.
5
+ *
6
+ * ```typescript
7
+ * const obj = {
8
+ * foo: { bar: 1 },
9
+ * baz: { bar: 2 }
10
+ * };
11
+ * const keys = ['bar'];
12
+ * findObjectsWithKeys(obj, keys); // Returns [{ bar: 1 }, { bar: 2 }]
13
+ * ```
14
+ */
15
+ function findObjectsWithKeys(obj, keys) {
16
+ let found = [];
17
+ // Ensure we only work with objects (and not null or primitives)
18
+ if (obj && typeof obj === 'object') {
19
+ // Check if current object has any of the requested keys
20
+ for (const key of keys) {
21
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
22
+ found.push(obj);
23
+ break; // we can break because we only need to include this object once
24
+ }
25
+ }
26
+ // Recursively traverse nested objects
27
+ for (const prop in obj) {
28
+ const value = obj[prop];
29
+ if (value && typeof value === 'object') {
30
+ found = found.concat(this.findObjectsWithKeys(value, keys));
31
+ }
32
+ }
33
+ }
34
+ return found;
35
+ }
36
+ exports.default = findObjectsWithKeys;
37
+ //# sourceMappingURL=findObjetcsWithKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findObjetcsWithKeys.js","sourceRoot":"","sources":["../../../../src/helpers/findObjetcsWithKeys.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;GAWG;AACH,SAAwB,mBAAmB,CACzC,GAAW,EACX,IAAc;IAGd,IAAI,KAAK,GAAa,EAAE,CAAC;IAEzB,gEAAgE;IAChE,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAEnC,wDAAwD;QACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAEvB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBAEnD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,MAAM,CAAC,gEAAgE;YAEzE,CAAC;QAEH,CAAC;QAED,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YAEvB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAEvC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAE9D,CAAC;QAEH,CAAC;IAEH,CAAC;IAED,OAAO,KAAK,CAAC;AAEf,CAAC;AAtCD,sCAsCC"}
@@ -7,6 +7,7 @@ const modelv2_class_1 = __importDefault(require("../classes/modelv2.class"));
7
7
  const model = new modelv2_class_1.default('company', 'companies');
8
8
  model.immutable = ['id'];
9
9
  model.removeWhenEmpty = ['internet', 'phone', 'legalRepresentative', 'register', 'vat'];
10
+ model.historyMatch = ['id'];
10
11
  model.addIndex({
11
12
  key: {
12
13
  id: 1,