@lilaquadrat/studio 10.7.0 → 10.8.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.
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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"}
@@ -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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"}
@@ -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":"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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.8.0",
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",