@lilaquadrat/studio 10.7.0 → 10.9.1

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 (34) hide show
  1. package/lib/models.d.ts +2 -1
  2. package/lib/models.js +2 -1
  3. package/lib/models.js.map +1 -1
  4. package/lib/services.d.ts +2 -1
  5. package/lib/services.js +2 -1
  6. package/lib/services.js.map +1 -1
  7. package/lib/src/models/conversation.model.js +4 -1
  8. package/lib/src/models/conversation.model.js.map +1 -1
  9. package/lib/src/models/permissions.model.js +6 -0
  10. package/lib/src/models/permissions.model.js.map +1 -1
  11. package/lib/src/models/sla.model.d.ts +4 -0
  12. package/lib/src/models/sla.model.js +84 -0
  13. package/lib/src/models/sla.model.js.map +1 -0
  14. package/lib/src/services/customers.service.js +0 -1
  15. package/lib/src/services/customers.service.js.map +1 -1
  16. package/lib/src/services/sla.service.d.ts +18 -0
  17. package/lib/src/services/sla.service.js +106 -0
  18. package/lib/src/services/sla.service.js.map +1 -0
  19. package/lib/src/services/storage.service.d.ts +1 -0
  20. package/lib/src/services/storage.service.js +21 -0
  21. package/lib/src/services/storage.service.js.map +1 -1
  22. package/lib/tests/permissionsModel.spec.d.ts +1 -0
  23. package/lib/tests/permissionsModel.spec.js +8 -0
  24. package/lib/tests/permissionsModel.spec.js.map +1 -0
  25. package/lib/tests/slaModel.spec.d.ts +1 -0
  26. package/lib/tests/slaModel.spec.js +58 -0
  27. package/lib/tests/slaModel.spec.js.map +1 -0
  28. package/lib/tests/slaService.spec.d.ts +1 -0
  29. package/lib/tests/slaService.spec.js +128 -0
  30. package/lib/tests/slaService.spec.js.map +1 -0
  31. package/lib/tests/storageServiceRemoveBlobViaPath.spec.d.ts +1 -0
  32. package/lib/tests/storageServiceRemoveBlobViaPath.spec.js +91 -0
  33. package/lib/tests/storageServiceRemoveBlobViaPath.spec.js.map +1 -0
  34. package/package.json +2 -3
package/lib/models.d.ts CHANGED
@@ -35,4 +35,5 @@ import invoiceModel from './src/models/invoice.model.js';
35
35
  import emailLimitModel from './src/models/emailLimit.model.js';
36
36
  import designModel from './src/models/design.model.js';
37
37
  import conversationModel from './src/models/conversation.model.js';
38
- export { companyModel as CompanyModel, meModel as MeModel, editorModel as EditorModel, 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, 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, cartModel as CartModel, loggingModel as LoggingModel, uploadModel as UploadModel, invoiceModel as InvoiceModel, emailLimitModel as EmailLimitModel, designModel as DesignModel, conversationModel as ConversationModel };
38
+ import slaModel from './src/models/sla.model.js';
39
+ export { companyModel as CompanyModel, meModel as MeModel, editorModel as EditorModel, 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, 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, cartModel as CartModel, loggingModel as LoggingModel, uploadModel as UploadModel, invoiceModel as InvoiceModel, emailLimitModel as EmailLimitModel, designModel as DesignModel, conversationModel as ConversationModel, slaModel as SlaModel, };
package/lib/models.js CHANGED
@@ -35,5 +35,6 @@ import invoiceModel from './src/models/invoice.model.js';
35
35
  import emailLimitModel from './src/models/emailLimit.model.js';
36
36
  import designModel from './src/models/design.model.js';
37
37
  import conversationModel from './src/models/conversation.model.js';
38
- export { companyModel as CompanyModel, meModel as MeModel, editorModel as EditorModel, 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, 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, cartModel as CartModel, loggingModel as LoggingModel, uploadModel as UploadModel, invoiceModel as InvoiceModel, emailLimitModel as EmailLimitModel, designModel as DesignModel, conversationModel as ConversationModel };
38
+ import slaModel from './src/models/sla.model.js';
39
+ export { companyModel as CompanyModel, meModel as MeModel, editorModel as EditorModel, 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, 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, cartModel as CartModel, loggingModel as LoggingModel, uploadModel as UploadModel, invoiceModel as InvoiceModel, emailLimitModel as EmailLimitModel, designModel as DesignModel, conversationModel as ConversationModel, slaModel as SlaModel, };
39
40
  //# sourceMappingURL=models.js.map
package/lib/models.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../models.ts"],"names":[],"mappings":"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"}
package/lib/services.d.ts CHANGED
@@ -34,4 +34,5 @@ import invoicesService from './src/services/invoices.service.js';
34
34
  import emailLimitService from './src/services/emailLimit.service.js';
35
35
  import designsService from './src/services/designs.service.js';
36
36
  import supportService from './src/services/support.service.js';
37
- export { editorService as EditorService, historyService as HistoryService, idService as IdService, publishService as PublishService, secretService as SecretService, publishMethodService as PublishMethodService, domainsService as DomainsService, confService as ConfService, hostingCommandsService as HostingCommandsService, hostingService as HostingService, hostingAdminService as HostingAdminService, 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, CartService, AiService, LoggingService, jetstreamService as JetStreamService, storageService as StorageService, uploadService as UploadService, authService as AuthService, invoicesService as InvoicesService, emailLimitService as EmailLimitService, designsService as DesignsService, supportService as SupportService, };
37
+ import slaService from './src/services/sla.service.js';
38
+ export { editorService as EditorService, historyService as HistoryService, idService as IdService, publishService as PublishService, secretService as SecretService, publishMethodService as PublishMethodService, domainsService as DomainsService, confService as ConfService, hostingCommandsService as HostingCommandsService, hostingService as HostingService, hostingAdminService as HostingAdminService, 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, CartService, AiService, LoggingService, jetstreamService as JetStreamService, storageService as StorageService, uploadService as UploadService, authService as AuthService, invoicesService as InvoicesService, emailLimitService as EmailLimitService, designsService as DesignsService, supportService as SupportService, slaService as SlaService, };
package/lib/services.js CHANGED
@@ -34,5 +34,6 @@ import invoicesService from './src/services/invoices.service.js';
34
34
  import emailLimitService from './src/services/emailLimit.service.js';
35
35
  import designsService from './src/services/designs.service.js';
36
36
  import supportService from './src/services/support.service.js';
37
- export { editorService as EditorService, historyService as HistoryService, idService as IdService, publishService as PublishService, secretService as SecretService, publishMethodService as PublishMethodService, domainsService as DomainsService, confService as ConfService, hostingCommandsService as HostingCommandsService, hostingService as HostingService, hostingAdminService as HostingAdminService, 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, CartService, AiService, LoggingService, jetstreamService as JetStreamService, storageService as StorageService, uploadService as UploadService, authService as AuthService, invoicesService as InvoicesService, emailLimitService as EmailLimitService, designsService as DesignsService, supportService as SupportService, };
37
+ import slaService from './src/services/sla.service.js';
38
+ export { editorService as EditorService, historyService as HistoryService, idService as IdService, publishService as PublishService, secretService as SecretService, publishMethodService as PublishMethodService, domainsService as DomainsService, confService as ConfService, hostingCommandsService as HostingCommandsService, hostingService as HostingService, hostingAdminService as HostingAdminService, 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, CartService, AiService, LoggingService, jetstreamService as JetStreamService, storageService as StorageService, uploadService as UploadService, authService as AuthService, invoicesService as InvoicesService, emailLimitService as EmailLimitService, designsService as DesignsService, supportService as SupportService, slaService as SlaService, };
38
39
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../services.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,oBAAoB,MAAM,yCAAyC,CAAC;AAC3E,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,mBAAmB,MAAM,wCAAwC,CAAC;AACzE,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,uBAAuB,MAAM,4CAA4C,CAAC;AACjF,OAAO,mBAAmB,MAAM,wCAAwC,CAAC;AACzE,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,uBAAuB,MAAM,4CAA4C,CAAC;AACjF,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,SAAS,EAAE,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAE/D,OAAO,EACL,aAAa,IAAI,aAAa,EAC9B,cAAc,IAAI,cAAc,EAChC,SAAS,IAAI,SAAS,EACtB,cAAc,IAAI,cAAc,EAChC,aAAa,IAAI,aAAa,EAC9B,oBAAoB,IAAI,oBAAoB,EAC5C,cAAc,IAAI,cAAc,EAChC,WAAW,IAAI,WAAW,EAC1B,sBAAsB,IAAI,sBAAsB,EAChD,cAAc,IAAI,cAAc,EAChC,mBAAmB,IAAI,mBAAmB,EAC1C,gBAAgB,IAAI,gBAAgB,EACpC,YAAY,IAAI,YAAY,EAC5B,uBAAuB,IAAI,uBAAuB,EAClD,mBAAmB,IAAI,mBAAmB,EAC1C,oBAAoB,IAAI,oBAAoB,EAC5C,eAAe,IAAI,eAAe,EAClC,uBAAuB,IAAI,uBAAuB,EAClD,kBAAkB,IAAI,kBAAkB,EACxC,aAAa,IAAI,aAAa,EAC9B,iBAAiB,IAAI,iBAAiB,EACtC,SAAS,EACT,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,SAAS,EACT,cAAc,EACd,gBAAgB,IAAI,gBAAgB,EACpC,cAAc,IAAI,cAAc,EAChC,aAAa,IAAI,aAAa,EAC9B,WAAW,IAAI,WAAW,EAC1B,eAAe,IAAI,eAAe,EAClC,iBAAiB,IAAI,iBAAiB,EACtC,cAAc,IAAI,cAAc,EAChC,cAAc,IAAI,cAAc,GACjC,CAAC"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../services.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,10 @@ model.setSchema({
11
11
  lastActivity: { type: 'string', format: 'date-time' },
12
12
  messagesCount: { type: 'number', minimum: 0 },
13
13
  messagesCountSystem: { type: 'number', minimum: 0 },
14
- operationMode: { type: 'string', enum: ['default', 'support'] }
14
+ operationMode: { type: 'string', enum: ['default', 'support'] },
15
+ supportStatus: { type: 'string', enum: ['awaiting_agent', 'awaiting_customer', 'resolved'] },
16
+ supportStatusUpdatedAt: { type: 'string', format: 'date-time' },
17
+ supportStatusVersion: { type: 'integer', minimum: 1 }
15
18
  },
16
19
  required: ['participantsHash', 'participants', 'messagesCount'],
17
20
  additionalProperties: false,
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.model.js","sourceRoot":"","sources":["../../../src/models/conversation.model.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,MAAM,KAAK,GAAG,IAAI,OAAO,CAAmD,cAAc,EAAE,eAAe,CAAC,CAAC;AAE7G,KAAK,CAAC,SAAS,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;QACxC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC1D,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACrD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;QAClD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;QACrD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;QAC7C,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;QACnD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;KAChE;IACD,QAAQ,EAAE,CAAC,kBAAkB,EAAE,cAAc,EAAE,eAAe,CAAC;IAC/D,oBAAoB,EAAE,KAAK;CAC5B,EAAE,QAAQ,CAAC,CAAC;AAEb,KAAK,CAAC,SAAS,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KAC3D;IACD,QAAQ,EAAE,CAAC,cAAc,CAAC;IAC1B,oBAAoB,EAAE,KAAK;CAC5B,EAAE,QAAQ,CAAC,CAAC;AAEb,KAAK,CAAC,SAAS,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,0BAA0B;SACpC;QACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACrC;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,oBAAoB,EAAE,KAAK;CAC5B,EAAE,YAAY,CAAC,CAAC;AAEjB,KAAK,CAAC,QAAQ,CACZ;IACE,GAAG,EAAE;QACH,IAAI,EAAE,CAAC;QACP,gBAAgB,EAAE,CAAC;KACpB;IACD,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,IAAI;CACb,EACD,CAAC,CACF,CAAC;AAEF,KAAK,CAAC,QAAQ,CACZ;IACE,GAAG,EAAE;QACH,gBAAgB,EAAE,CAAC;KACpB;IACD,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,2BAA2B;IACjC,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CACxC,EACD,CAAC,CACF,CAAC;AAEF,KAAK,CAAC,QAAQ,CACZ;IACE,GAAG,EAAE;QACH,YAAY,EAAE,CAAC;KAChB;IACD,IAAI,EAAE,cAAc;CACrB,EACD,CAAC,CACF,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"conversation.model.js","sourceRoot":"","sources":["../../../src/models/conversation.model.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,12 @@ const CompanyScope = {
105
105
  'member',
106
106
  'oversee',
107
107
  ],
108
+ sla: [
109
+ 'read',
110
+ 'create',
111
+ 'edit',
112
+ 'remove',
113
+ ],
108
114
  company: [
109
115
  'list',
110
116
  'create',
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.model.js","sourceRoot":"","sources":["../../../src/models/permissions.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.model.js","sourceRoot":"","sources":["../../../src/models/permissions.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Sla } from '@lilaquadrat/interfaces';
2
+ import Modelv2 from '../classes/modelv2.class.js';
3
+ declare const model: Modelv2<Sla, string>;
4
+ export default model;
@@ -0,0 +1,84 @@
1
+ import Modelv2 from '../classes/modelv2.class.js';
2
+ const timePattern = '^(?:[01]\\d|2[0-3]):[0-5]\\d$';
3
+ const supportDaySchema = {
4
+ type: 'object',
5
+ properties: {
6
+ day: {
7
+ type: 'string',
8
+ enum: ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'],
9
+ },
10
+ startTime: { type: 'string', pattern: timePattern },
11
+ endTime: { type: 'string', pattern: timePattern },
12
+ },
13
+ required: ['day', 'startTime', 'endTime'],
14
+ additionalProperties: false,
15
+ };
16
+ const supportDaysSchema = {
17
+ type: 'array',
18
+ items: supportDaySchema,
19
+ maxItems: 7,
20
+ };
21
+ const model = new Modelv2('sla', 'sla');
22
+ model.immutable = ['company'];
23
+ model.addIndex({
24
+ key: {
25
+ company: 1,
26
+ },
27
+ unique: true,
28
+ name: 'company_unique',
29
+ }, 1);
30
+ model.setSchema({
31
+ type: 'object',
32
+ properties: {
33
+ company: { type: 'string', pattern: '^([a-z0-9]{1,15})$' },
34
+ providesSupport: { type: 'boolean' },
35
+ responseTimeHours: { type: 'number', exclusiveMinimum: 0 },
36
+ timeZone: { type: 'string', minLength: 1 },
37
+ supportDays: supportDaysSchema,
38
+ },
39
+ required: ['company', 'providesSupport', 'responseTimeHours', 'timeZone', 'supportDays'],
40
+ allOf: [
41
+ {
42
+ if: {
43
+ properties: {
44
+ providesSupport: { const: true },
45
+ },
46
+ required: ['providesSupport'],
47
+ },
48
+ then: {
49
+ properties: {
50
+ supportDays: { type: 'array', minItems: 1 },
51
+ },
52
+ },
53
+ },
54
+ ],
55
+ additionalProperties: false,
56
+ }, 'create');
57
+ model.setSchema({
58
+ type: 'object',
59
+ properties: {
60
+ providesSupport: { type: 'boolean' },
61
+ responseTimeHours: { type: 'number', exclusiveMinimum: 0 },
62
+ timeZone: { type: 'string', minLength: 1 },
63
+ supportDays: supportDaysSchema,
64
+ },
65
+ required: ['providesSupport', 'responseTimeHours', 'timeZone', 'supportDays'],
66
+ allOf: [
67
+ {
68
+ if: {
69
+ properties: {
70
+ providesSupport: { const: true },
71
+ },
72
+ required: ['providesSupport'],
73
+ },
74
+ then: {
75
+ properties: {
76
+ supportDays: { type: 'array', minItems: 1 },
77
+ },
78
+ },
79
+ },
80
+ ],
81
+ additionalProperties: false,
82
+ }, 'change');
83
+ export default model;
84
+ //# sourceMappingURL=sla.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sla.model.js","sourceRoot":"","sources":["../../../src/models/sla.model.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { ObjectId } from 'mongodb';
2
2
  import Immutable from '../Immutable.class.js';
3
3
  import CustomersModel, { structureCompany, structurePerson } from '../models/customers.model.js';
4
4
  import ImmutableError from '../classes/errors/Immutable.error.js';
5
- import fetch from 'node-fetch';
6
5
  import querystring from 'querystring';
7
6
  import publishService from './publish.service.js';
8
7
  import { companyStructuresAggregation } from '../aggegations/structures.aggregation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"customers.service.js","sourceRoot":"","sources":["../../../src/services/customers.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"customers.service.js","sourceRoot":"","sources":["../../../src/services/customers.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Sla, UserApp } from '@lilaquadrat/interfaces';
2
+ import Immutable from '../Immutable.class.js';
3
+ declare class SlaService extends Immutable<Sla> {
4
+ model: import("../classes/modelv2.class.js").default<Sla, string>;
5
+ single(company: string): Promise<import("mongodb").WithId<Sla> | null>;
6
+ /** Convert business response hours into one absolute UTC deadline. */
7
+ calculateEndAt(startedAt: string, configuration: Sla): string | undefined;
8
+ createConfiguration(company: string, data: Omit<Sla, 'company'>, options: Required<UserApp>): Promise<import("@lilaquadrat/interfaces").CreateResult<import("@lilaquadrat/interfaces").BasicData<Sla>>>;
9
+ upsert(company: string, data: Omit<Sla, 'company'>, options: Required<UserApp>): Promise<import("@lilaquadrat/interfaces").CreateResult<import("@lilaquadrat/interfaces").BasicData<Sla>> | (import("mongodb").UpdateResult<import("bson").Document> & {
10
+ _id: import("bson").ObjectId;
11
+ })>;
12
+ remove(company: string, options: Required<UserApp>): Promise<import("mongodb").DeleteResult | undefined>;
13
+ private validateConfiguration;
14
+ /** Advance by a local calendar day so DST changes do not shift business opening times. */
15
+ private nextLocalDay;
16
+ }
17
+ declare const _default: SlaService;
18
+ export default _default;
@@ -0,0 +1,106 @@
1
+ import dayjs from 'dayjs';
2
+ import utc from 'dayjs/plugin/utc.js';
3
+ import timezone from 'dayjs/plugin/timezone.js';
4
+ import Immutable from '../Immutable.class.js';
5
+ import SlaModel from '../models/sla.model.js';
6
+ dayjs.extend(utc);
7
+ dayjs.extend(timezone);
8
+ const MILLISECONDS_PER_HOUR = 60 * 60 * 1000;
9
+ const DAY_NAMES = [
10
+ 'sunday',
11
+ 'monday',
12
+ 'tuesday',
13
+ 'wednesday',
14
+ 'thursday',
15
+ 'friday',
16
+ 'saturday',
17
+ ];
18
+ class SlaService extends Immutable {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.model = SlaModel;
22
+ }
23
+ single(company) {
24
+ return this.model.db.findOne({ company });
25
+ }
26
+ /** Convert business response hours into one absolute UTC deadline. */
27
+ calculateEndAt(startedAt, configuration) {
28
+ if (!configuration.providesSupport)
29
+ return undefined;
30
+ if (!configuration.supportDays.length)
31
+ throw new Error('SLA_SUPPORT_DAYS_EMPTY');
32
+ if (!Number.isFinite(configuration.responseTimeHours) || configuration.responseTimeHours <= 0) {
33
+ throw new Error('SLA_RESPONSE_TIME_INVALID');
34
+ }
35
+ const start = dayjs(startedAt);
36
+ if (!start.isValid())
37
+ throw new Error('SLA_START_TIME_INVALID');
38
+ let cursor = start.tz(configuration.timeZone);
39
+ let remainingMilliseconds = configuration.responseTimeHours * MILLISECONDS_PER_HOUR;
40
+ while (remainingMilliseconds > 0) {
41
+ const localDate = cursor.format('YYYY-MM-DD');
42
+ const dayName = DAY_NAMES[cursor.day()];
43
+ const supportDay = configuration.supportDays.find((single) => single.day === dayName);
44
+ if (!supportDay) {
45
+ cursor = this.nextLocalDay(localDate, configuration.timeZone);
46
+ continue;
47
+ }
48
+ const opening = dayjs.tz(`${localDate}T${supportDay.startTime}:00`, configuration.timeZone);
49
+ const closing = dayjs.tz(`${localDate}T${supportDay.endTime}:00`, configuration.timeZone);
50
+ if (cursor.valueOf() < opening.valueOf())
51
+ cursor = opening;
52
+ if (cursor.valueOf() >= closing.valueOf()) {
53
+ cursor = this.nextLocalDay(localDate, configuration.timeZone);
54
+ continue;
55
+ }
56
+ const availableMilliseconds = closing.valueOf() - cursor.valueOf();
57
+ if (remainingMilliseconds <= availableMilliseconds) {
58
+ return dayjs(cursor.valueOf() + remainingMilliseconds).toISOString();
59
+ }
60
+ remainingMilliseconds -= availableMilliseconds;
61
+ cursor = this.nextLocalDay(localDate, configuration.timeZone);
62
+ }
63
+ throw new Error('SLA_END_TIME_NOT_CALCULATED');
64
+ }
65
+ createConfiguration(company, data, options) {
66
+ this.validateConfiguration(data);
67
+ return this.create({ ...data, company }, options.user, options.app);
68
+ }
69
+ upsert(company, data, options) {
70
+ this.validateConfiguration(data);
71
+ return this.immutableUpsert({ company }, { ...data, company }, options.user, 'change', options.app);
72
+ }
73
+ async remove(company, options) {
74
+ const sla = await this.model.db.findOne({ company }, { projection: { _id: 1 } });
75
+ if (!sla?._id)
76
+ return;
77
+ return this.delete(sla._id, options.user, options.app);
78
+ }
79
+ validateConfiguration(data) {
80
+ if (typeof data.timeZone === 'string') {
81
+ try {
82
+ new Intl.DateTimeFormat('en', { timeZone: data.timeZone }).format();
83
+ }
84
+ catch {
85
+ throw new Error('SLA_TIME_ZONE_INVALID');
86
+ }
87
+ }
88
+ if (!Array.isArray(data.supportDays))
89
+ return;
90
+ const days = new Set();
91
+ data.supportDays.forEach((supportDay) => {
92
+ if (days.has(supportDay.day))
93
+ throw new Error('SLA_SUPPORT_DAY_DUPLICATE');
94
+ if (supportDay.endTime <= supportDay.startTime)
95
+ throw new Error('SLA_SUPPORT_DAY_INVALID_TIME_RANGE');
96
+ days.add(supportDay.day);
97
+ });
98
+ }
99
+ /** Advance by a local calendar day so DST changes do not shift business opening times. */
100
+ nextLocalDay(localDate, timeZone) {
101
+ const nextDate = dayjs.utc(localDate).add(1, 'day').format('YYYY-MM-DD');
102
+ return dayjs.tz(`${nextDate}T00:00:00`, timeZone);
103
+ }
104
+ }
105
+ export default new SlaService();
106
+ //# sourceMappingURL=sla.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sla.service.js","sourceRoot":"","sources":["../../../src/services/sla.service.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,7 @@ export declare class StorageService extends Immutable<Storage> {
214
214
  getByFilename(filename: string, prefix: string | undefined, app: string, customer: ObjectId | undefined, list: ObjectId | undefined, options: Required<Options>): Promise<BasicData<Storage> | null>;
215
215
  removeBlobMembers(internalId: ObjectId, customer: ObjectId, options: Required<UserAppOptionsRequired>): Promise<void>;
216
216
  removeBlob(internalId: ObjectId, options: Required<UserAppOptionsRequired>): Promise<void>;
217
+ removeBlobViaPath(paths: string[], options: Required<UserAppOptionsRequired>): Promise<void>;
217
218
  removeBlobVersion(parentId: ObjectId, options: Required<UserAppOptionsRequired>): Promise<void>;
218
219
  }
219
220
  declare const _default: StorageService;
@@ -1036,6 +1036,27 @@ export class StorageService extends Immutable {
1036
1036
  await this.delete(internalId, options.user, options.app);
1037
1037
  await jetstreamService.publish(`edge.${storage.app}.removed`, storage);
1038
1038
  }
1039
+ async removeBlobViaPath(paths, options) {
1040
+ if (!paths.length)
1041
+ throw new Error('PATHS_EMPTY');
1042
+ const query = {
1043
+ $or: paths.map((path) => {
1044
+ const filenameObject = filenameHelper(path);
1045
+ return { filename: filenameObject.filename, prefix: filenameObject.directory };
1046
+ }),
1047
+ company: options.company,
1048
+ project: options.project,
1049
+ };
1050
+ const storage = await this.model.db.find(query).toArray();
1051
+ if (!storage.length)
1052
+ throw new Error('BLOB_NOT_FOUND');
1053
+ for (const single of storage) {
1054
+ await fs.promises.unlink(`${this.options.dataFolder}/${single.path}`);
1055
+ await this.removeBlobVersion(single._id, options);
1056
+ await this.delete(single._id, options.user, options.app);
1057
+ await jetstreamService.publish(`edge.${single.app}.removed`, single);
1058
+ }
1059
+ }
1039
1060
  async removeBlobVersion(parentId, options) {
1040
1061
  const versions = await this.model.db.find({ parent: parentId, company: options.company, project: options.project }).toArray();
1041
1062
  if (versions.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/services/storage.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/services/storage.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import { CompanyScope } from '../src/models/permissions.model';
3
+ describe('PermissionsModel', () => {
4
+ it('defines the company SLA permissions', () => {
5
+ expect(CompanyScope.sla).toEqual(['read', 'create', 'edit', 'remove']);
6
+ });
7
+ });
8
+ //# sourceMappingURL=permissionsModel.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionsModel.spec.js","sourceRoot":"","sources":["../../tests/permissionsModel.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAEhC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAE7C,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzE,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import Models from '../src/classes/models.class';
3
+ import SlaModel from '../src/models/sla.model';
4
+ const models = new Models();
5
+ models.register('sla', SlaModel);
6
+ const validSla = {
7
+ company: 'company',
8
+ providesSupport: true,
9
+ responseTimeHours: 8,
10
+ timeZone: 'Europe/Berlin',
11
+ supportDays: [
12
+ {
13
+ day: 'monday',
14
+ startTime: '09:00',
15
+ endTime: '17:00',
16
+ },
17
+ ],
18
+ };
19
+ describe('SlaModel', () => {
20
+ it('accepts a valid SLA configuration', () => {
21
+ expect(SlaModel.validate(validSla, 'create')).toBe(true);
22
+ });
23
+ it('accepts no support days when support is disabled', () => {
24
+ expect(SlaModel.validate({
25
+ ...validSla,
26
+ providesSupport: false,
27
+ supportDays: [],
28
+ }, 'create')).toBe(true);
29
+ });
30
+ it('requires a support day when support is enabled', () => {
31
+ expect(SlaModel.validate({
32
+ ...validSla,
33
+ supportDays: [],
34
+ }, 'create')).toBe(false);
35
+ });
36
+ it('rejects invalid response times and support-day times', () => {
37
+ expect(SlaModel.validate({
38
+ ...validSla,
39
+ responseTimeHours: 0,
40
+ supportDays: [{
41
+ day: 'monday',
42
+ startTime: '9:00',
43
+ endTime: '25:00',
44
+ }],
45
+ }, 'create')).toBe(false);
46
+ });
47
+ it('does not allow the company to be changed', () => {
48
+ expect(SlaModel.validate(validSla, 'change')).toBe(false);
49
+ });
50
+ it('defines one SLA document per company', () => {
51
+ expect(SlaModel.indexes).toContainEqual(expect.objectContaining({
52
+ key: { company: 1 },
53
+ unique: true,
54
+ name: 'company_unique-v1',
55
+ }));
56
+ });
57
+ });
58
+ //# sourceMappingURL=slaModel.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slaModel.spec.js","sourceRoot":"","sources":["../../tests/slaModel.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAEjC,MAAM,QAAQ,GAAQ;IACpB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,eAAe;IACzB,WAAW,EAAE;QACX;YACE,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,OAAO;SACjB;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IAExB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAE3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAE1D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvB,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,EAAE;SAChB,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAExD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvB,GAAG,QAAQ;YACX,WAAW,EAAE,EAAE;SAChB,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAE9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvB,GAAG,QAAQ;YACX,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC;oBACZ,GAAG,EAAE,QAAQ;oBACb,SAAS,EAAE,MAAM;oBACjB,OAAO,EAAE,OAAO;iBACjB,CAAC;SACH,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAElD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAE9C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC9D,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;YACnB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC,CAAC;IAEN,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,128 @@
1
+ import { afterEach, describe, expect, it, jest } from '@jest/globals';
2
+ import { ObjectId } from 'mongodb';
3
+ import SlaModel from '../src/models/sla.model';
4
+ import SlaService from '../src/services/sla.service';
5
+ const options = {
6
+ user: 'user',
7
+ app: 'app',
8
+ };
9
+ const validSla = {
10
+ providesSupport: true,
11
+ responseTimeHours: 8,
12
+ timeZone: 'Europe/Berlin',
13
+ supportDays: [
14
+ {
15
+ day: 'monday',
16
+ startTime: '09:00',
17
+ endTime: '17:00',
18
+ },
19
+ ],
20
+ };
21
+ describe('SlaService', () => {
22
+ afterEach(() => {
23
+ jest.restoreAllMocks();
24
+ });
25
+ it('gets the SLA by company', async () => {
26
+ const findOne = jest.fn().mockResolvedValue(null);
27
+ jest.spyOn(SlaModel, 'db', 'get').mockReturnValue({ findOne });
28
+ await SlaService.single('company');
29
+ expect(findOne).toHaveBeenCalledWith({ company: 'company' });
30
+ });
31
+ it('calculates an SLA deadline across closed days', () => {
32
+ const configuration = {
33
+ ...validSla,
34
+ responseTimeHours: 4,
35
+ supportDays: [
36
+ { day: 'monday', startTime: '09:00', endTime: '17:00' },
37
+ { day: 'friday', startTime: '09:00', endTime: '17:00' },
38
+ ],
39
+ company: 'company',
40
+ };
41
+ expect(SlaService.calculateEndAt('2026-08-21T14:00:00.000Z', configuration))
42
+ .toBe('2026-08-24T10:00:00.000Z');
43
+ });
44
+ it('starts the SLA at the next business opening', () => {
45
+ expect(SlaService.calculateEndAt('2026-08-17T05:00:00.000Z', {
46
+ ...validSla,
47
+ responseTimeHours: 4,
48
+ company: 'company',
49
+ })).toBe('2026-08-17T11:00:00.000Z');
50
+ });
51
+ it('preserves local business hours across daylight-saving changes', () => {
52
+ expect(SlaService.calculateEndAt('2026-03-27T15:00:00.000Z', {
53
+ ...validSla,
54
+ responseTimeHours: 2,
55
+ supportDays: [
56
+ { day: 'monday', startTime: '09:00', endTime: '17:00' },
57
+ { day: 'friday', startTime: '09:00', endTime: '17:00' },
58
+ ],
59
+ company: 'company',
60
+ })).toBe('2026-03-30T08:00:00.000Z');
61
+ });
62
+ it('does not calculate a deadline when support is disabled', () => {
63
+ expect(SlaService.calculateEndAt('2026-08-17T05:00:00.000Z', {
64
+ ...validSla,
65
+ providesSupport: false,
66
+ supportDays: [],
67
+ company: 'company',
68
+ })).toBeUndefined();
69
+ });
70
+ it('upserts a company-scoped SLA', async () => {
71
+ const immutableUpsert = jest.spyOn(SlaService, 'immutableUpsert').mockResolvedValue({
72
+ _id: new ObjectId(),
73
+ acknowledged: true,
74
+ matchedCount: 1,
75
+ modifiedCount: 1,
76
+ upsertedCount: 0,
77
+ upsertedId: null,
78
+ });
79
+ await SlaService.upsert('company', validSla, options);
80
+ expect(immutableUpsert).toHaveBeenCalledWith({ company: 'company' }, { ...validSla, company: 'company' }, 'user', 'change', 'app');
81
+ });
82
+ it('creates a company-scoped SLA', async () => {
83
+ const create = jest.spyOn(SlaService, 'create').mockResolvedValue({
84
+ _id: new ObjectId(),
85
+ });
86
+ await SlaService.createConfiguration('company', validSla, options);
87
+ expect(create).toHaveBeenCalledWith({ ...validSla, company: 'company' }, 'user', 'app');
88
+ });
89
+ it('rejects duplicate support days', () => {
90
+ expect(() => SlaService.upsert('company', {
91
+ ...validSla,
92
+ supportDays: [validSla.supportDays[0], validSla.supportDays[0]],
93
+ }, options)).toThrow('SLA_SUPPORT_DAY_DUPLICATE');
94
+ });
95
+ it('rejects invalid support-day ranges', () => {
96
+ expect(() => SlaService.upsert('company', {
97
+ ...validSla,
98
+ supportDays: [{
99
+ day: 'monday',
100
+ startTime: '17:00',
101
+ endTime: '09:00',
102
+ }],
103
+ }, options)).toThrow('SLA_SUPPORT_DAY_INVALID_TIME_RANGE');
104
+ });
105
+ it('rejects invalid time zones', () => {
106
+ expect(() => SlaService.upsert('company', {
107
+ ...validSla,
108
+ timeZone: 'not-a-time-zone',
109
+ }, options)).toThrow('SLA_TIME_ZONE_INVALID');
110
+ });
111
+ it('removes the company SLA through immutable history', async () => {
112
+ const _id = new ObjectId();
113
+ const findOne = jest.fn().mockResolvedValue({ _id });
114
+ jest.spyOn(SlaModel, 'db', 'get').mockReturnValue({ findOne });
115
+ const remove = jest.spyOn(SlaService, 'delete').mockResolvedValue({ acknowledged: true, deletedCount: 1 });
116
+ await SlaService.remove('company', options);
117
+ expect(findOne).toHaveBeenCalledWith({ company: 'company' }, { projection: { _id: 1 } });
118
+ expect(remove).toHaveBeenCalledWith(_id, 'user', 'app');
119
+ });
120
+ it('treats deleting a missing SLA as successful', async () => {
121
+ const findOne = jest.fn().mockResolvedValue(null);
122
+ jest.spyOn(SlaModel, 'db', 'get').mockReturnValue({ findOne });
123
+ const remove = jest.spyOn(SlaService, 'delete');
124
+ await expect(SlaService.remove('company', options)).resolves.toBeUndefined();
125
+ expect(remove).not.toHaveBeenCalled();
126
+ });
127
+ });
128
+ //# sourceMappingURL=slaService.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slaService.spec.js","sourceRoot":"","sources":["../../tests/slaService.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAErD,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,eAAe;IACzB,WAAW,EAAE;QACX;YACE,GAAG,EAAE,QAAiB;YACtB,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,OAAO;SACjB;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAE1B,SAAS,CAAC,GAAG,EAAE;QAEb,IAAI,CAAC,eAAe,EAAE,CAAC;IAEzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAkD,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,EAAE,OAAO,EAAW,CAAC,CAAC;QAExE,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEnC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAEvD,MAAM,aAAa,GAAG;YACpB,GAAG,QAAQ;YACX,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE;gBACX,EAAE,GAAG,EAAE,QAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;gBAChE,EAAE,GAAG,EAAE,QAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;aACjE;YACD,OAAO,EAAE,SAAS;SACnB,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;aACzE,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAEtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QAErD,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,0BAA0B,EAAE;YAC3D,GAAG,QAAQ;YACX,iBAAiB,EAAE,CAAC;YACpB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAEvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QAEvE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,0BAA0B,EAAE;YAC3D,GAAG,QAAQ;YACX,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE;gBACX,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;gBACvD,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;aACxD;YACD,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAEvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAEhE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,0BAA0B,EAAE;YAC3D,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAEtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAE5C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,iBAAiB,CAAC;YAClF,GAAG,EAAE,IAAI,QAAQ,EAAE;YACnB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,EAAE,OAAO,EAAE,SAAS,EAAE,EACtB,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EACnC,MAAM,EACN,QAAQ,EACR,KAAK,CACN,CAAC;IAEJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC;YAChE,GAAG,EAAE,IAAI,QAAQ,EAAE;SACpB,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnE,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACjC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EACnC,MAAM,EACN,KAAK,CACN,CAAC;IAEJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAExC,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE;YACxC,GAAG,QAAQ;YACX,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAChE,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAEpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAE5C,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE;YACxC,GAAG,QAAQ;YACX,WAAW,EAAE,CAAC;oBACZ,GAAG,EAAE,QAAQ;oBACb,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC;SACH,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAE7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE;YACxC,GAAG,QAAQ;YACX,QAAQ,EAAE,iBAAiB;SAC5B,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEhD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAEjE,MAAM,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAkD,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,EAAE,OAAO,EAAW,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3G,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE5C,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAE1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAE3D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAkD,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,EAAE,OAAO,EAAW,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEhD,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAExC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { afterEach, beforeEach, describe, expect, it, jest } from '@jest/globals';
2
+ import fs from 'fs';
3
+ import { ObjectId } from 'mongodb';
4
+ import StorageModel from '../src/models/storage.model';
5
+ import { JetStreamService } from '../src/services/jetstream.service';
6
+ import { StorageService } from '../src/services/storage.service';
7
+ const service = new StorageService({
8
+ dataFolder: '/tmp/data',
9
+ uploadFolder: '/tmp/upload',
10
+ });
11
+ const OPTIONS = {
12
+ user: 'test-user',
13
+ app: 'media',
14
+ company: 'test-company',
15
+ project: 'test-project',
16
+ };
17
+ const STORAGE_ID = new ObjectId('507f1f77bcf86cd799439011');
18
+ const STORAGE_FILE_PATH = '50/7f/1f77bcf86cd799439011';
19
+ const STORAGE_REQUEST_PATH = 'folder/test.jpg';
20
+ const STORAGE = {
21
+ _id: STORAGE_ID,
22
+ company: OPTIONS.company,
23
+ project: OPTIONS.project,
24
+ filename: 'test.jpg',
25
+ prefix: 'folder',
26
+ path: STORAGE_FILE_PATH,
27
+ app: OPTIONS.app,
28
+ };
29
+ const SECOND_STORAGE_ID = new ObjectId('507f1f77bcf86cd799439022');
30
+ const SECOND_STORAGE_FILE_PATH = '50/7f/1f77bcf86cd799439022';
31
+ const SECOND_STORAGE_REQUEST_PATH = 'other/second.jpg';
32
+ const SECOND_STORAGE = {
33
+ ...STORAGE,
34
+ _id: SECOND_STORAGE_ID,
35
+ filename: 'second.jpg',
36
+ prefix: 'other',
37
+ path: SECOND_STORAGE_FILE_PATH,
38
+ };
39
+ describe('StorageService.removeBlobViaPath', () => {
40
+ let toArray;
41
+ let find;
42
+ let unlinkSpy;
43
+ let removeBlobVersionSpy;
44
+ let deleteSpy;
45
+ let publishSpy;
46
+ beforeEach(() => {
47
+ toArray = jest.fn()
48
+ .mockResolvedValue([STORAGE, SECOND_STORAGE]);
49
+ find = jest.fn()
50
+ .mockReturnValue({ toArray });
51
+ jest.spyOn(StorageModel, 'db', 'get').mockReturnValue({ find });
52
+ unlinkSpy = jest.spyOn(fs.promises, 'unlink').mockResolvedValue(undefined);
53
+ removeBlobVersionSpy = jest.spyOn(service, 'removeBlobVersion').mockResolvedValue(undefined);
54
+ deleteSpy = jest.spyOn(service, 'delete').mockResolvedValue({});
55
+ publishSpy = jest.spyOn(JetStreamService.prototype, 'publish').mockResolvedValue({});
56
+ });
57
+ afterEach(() => {
58
+ jest.restoreAllMocks();
59
+ });
60
+ it('removes the blobs found by their paths', async () => {
61
+ await service.removeBlobViaPath([STORAGE_REQUEST_PATH, SECOND_STORAGE_REQUEST_PATH], OPTIONS);
62
+ expect(find).toHaveBeenCalledWith({
63
+ $or: [
64
+ { filename: STORAGE.filename, prefix: STORAGE.prefix },
65
+ { filename: SECOND_STORAGE.filename, prefix: SECOND_STORAGE.prefix },
66
+ ],
67
+ company: OPTIONS.company,
68
+ project: OPTIONS.project,
69
+ });
70
+ expect(unlinkSpy).toHaveBeenCalledWith(`/tmp/data/${STORAGE_FILE_PATH}`);
71
+ expect(unlinkSpy).toHaveBeenCalledWith(`/tmp/data/${SECOND_STORAGE_FILE_PATH}`);
72
+ expect(removeBlobVersionSpy).toHaveBeenCalledWith(STORAGE_ID, OPTIONS);
73
+ expect(removeBlobVersionSpy).toHaveBeenCalledWith(SECOND_STORAGE_ID, OPTIONS);
74
+ expect(deleteSpy).toHaveBeenCalledWith(STORAGE_ID, OPTIONS.user, OPTIONS.app);
75
+ expect(deleteSpy).toHaveBeenCalledWith(SECOND_STORAGE_ID, OPTIONS.user, OPTIONS.app);
76
+ expect(publishSpy).toHaveBeenCalledWith(`edge.${STORAGE.app}.removed`, STORAGE);
77
+ expect(publishSpy).toHaveBeenCalledWith(`edge.${SECOND_STORAGE.app}.removed`, SECOND_STORAGE);
78
+ });
79
+ it('throws BLOB_NOT_FOUND when the path does not exist', async () => {
80
+ toArray.mockResolvedValue([]);
81
+ await expect(service.removeBlobViaPath([STORAGE_REQUEST_PATH], OPTIONS)).rejects.toThrow('BLOB_NOT_FOUND');
82
+ expect(unlinkSpy).not.toHaveBeenCalled();
83
+ expect(removeBlobVersionSpy).not.toHaveBeenCalled();
84
+ expect(deleteSpy).not.toHaveBeenCalled();
85
+ });
86
+ it('throws BLOB_NOT_FOUND without querying when paths is empty', async () => {
87
+ await expect(service.removeBlobViaPath([], OPTIONS)).rejects.toThrow('PATHS_EMPTY');
88
+ expect(find).not.toHaveBeenCalled();
89
+ });
90
+ });
91
+ //# sourceMappingURL=storageServiceRemoveBlobViaPath.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageServiceRemoveBlobViaPath.spec.js","sourceRoot":"","sources":["../../tests/storageServiceRemoveBlobViaPath.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lilaquadrat/studio",
3
- "version": "10.7.0",
3
+ "version": "10.9.1",
4
4
  "description": "classes and tools for STUDIO",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -123,7 +123,7 @@
123
123
  },
124
124
  "dependencies": {
125
125
  "@google/genai": "^1.42.0",
126
- "@lilaquadrat/interfaces": "^1.46.0",
126
+ "@lilaquadrat/interfaces": "^1.48.0",
127
127
  "@lilaquadrat/storage-sdk": "^0.1.15",
128
128
  "@nats-io/jetstream": "^3.2.0",
129
129
  "@nats-io/transport-node": "^3.2.0",
@@ -139,7 +139,6 @@
139
139
  "mime-types": "^2.1.32",
140
140
  "mongo-connection-string": "^0.1.5",
141
141
  "mongodb": "^7.0.0",
142
- "node-fetch": "^2",
143
142
  "object-path": "^0.11.8",
144
143
  "optional-require": "^1.1.0",
145
144
  "prettyjson": "^1.2.1",