@flusys/nestjs-event-manager 7.0.2 → 8.0.0-beta.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 (103) hide show
  1. package/adapters/event-manager.adapter.d.ts +2 -2
  2. package/adapters/index.d.ts +1 -1
  3. package/config/index.d.ts +3 -3
  4. package/controllers/event.controller.d.ts +3 -3
  5. package/controllers/index.d.ts +1 -1
  6. package/docs/event-manager-swagger.config.d.ts +2 -2
  7. package/docs/index.d.ts +1 -1
  8. package/dtos/calendar-query.dto.d.ts +1 -1
  9. package/dtos/event.dto.d.ts +1 -1
  10. package/dtos/index.d.ts +3 -3
  11. package/entities/event-with-company.entity.d.ts +1 -1
  12. package/entities/index.d.ts +8 -8
  13. package/fesm/477.js +1798 -0
  14. package/fesm/833.js +840 -0
  15. package/fesm/adapters/index.js +884 -1
  16. package/fesm/config/index.js +87 -3
  17. package/fesm/controllers/index.js +365 -1
  18. package/fesm/docs/index.js +155 -2
  19. package/fesm/dtos/index.js +720 -3
  20. package/fesm/entities/index.js +350 -11
  21. package/fesm/index.js +121 -9
  22. package/fesm/interfaces/index.js +16 -2
  23. package/fesm/modules/index.js +13 -1
  24. package/fesm/runtime.js +85 -0
  25. package/fesm/services/index.js +272 -4
  26. package/index.d.ts +9 -9
  27. package/interfaces/event-manager-module.interface.d.ts +3 -3
  28. package/interfaces/event.interface.d.ts +1 -1
  29. package/interfaces/index.d.ts +2 -2
  30. package/modules/event-manager.module.d.ts +2 -2
  31. package/modules/index.d.ts +1 -1
  32. package/package.json +29 -39
  33. package/services/event-manager-config.service.d.ts +3 -3
  34. package/services/event-manager-datasource.provider.d.ts +3 -3
  35. package/services/event-manager-helper.service.d.ts +3 -3
  36. package/services/event.service.d.ts +7 -7
  37. package/services/index.d.ts +4 -4
  38. package/cjs/adapters/event-manager.adapter.js +0 -65
  39. package/cjs/adapters/event-manager.adapter.spec.js +0 -104
  40. package/cjs/adapters/index.js +0 -18
  41. package/cjs/config/event-actions.js +0 -31
  42. package/cjs/config/event-manager.constants.js +0 -13
  43. package/cjs/config/index.js +0 -20
  44. package/cjs/config/message-keys.js +0 -27
  45. package/cjs/controllers/event.controller.js +0 -190
  46. package/cjs/controllers/event.controller.spec.js +0 -156
  47. package/cjs/controllers/index.js +0 -18
  48. package/cjs/docs/event-manager-swagger.config.js +0 -125
  49. package/cjs/docs/event-manager-swagger.config.spec.js +0 -65
  50. package/cjs/docs/index.js +0 -21
  51. package/cjs/dtos/calendar-query.dto.js +0 -212
  52. package/cjs/dtos/event-participant.dto.js +0 -181
  53. package/cjs/dtos/event.dto.js +0 -343
  54. package/cjs/dtos/index.js +0 -20
  55. package/cjs/entities/event-participant.entity.js +0 -89
  56. package/cjs/entities/event-with-company.entity.js +0 -56
  57. package/cjs/entities/event.entity.js +0 -156
  58. package/cjs/entities/index.js +0 -55
  59. package/cjs/entities/index.spec.js +0 -18
  60. package/cjs/index.js +0 -27
  61. package/cjs/interfaces/event-manager-module.interface.js +0 -4
  62. package/cjs/interfaces/event.interface.js +0 -4
  63. package/cjs/interfaces/index.js +0 -19
  64. package/cjs/modules/event-manager.module.js +0 -132
  65. package/cjs/modules/event-manager.module.spec.js +0 -146
  66. package/cjs/modules/index.js +0 -18
  67. package/cjs/services/event-manager-config.service.js +0 -76
  68. package/cjs/services/event-manager-config.service.spec.js +0 -111
  69. package/cjs/services/event-manager-datasource.provider.js +0 -84
  70. package/cjs/services/event-manager-datasource.provider.spec.js +0 -198
  71. package/cjs/services/event-manager-helper.service.js +0 -235
  72. package/cjs/services/event-manager-helper.service.spec.js +0 -327
  73. package/cjs/services/event.service.js +0 -481
  74. package/cjs/services/event.service.spec.js +0 -929
  75. package/cjs/services/index.js +0 -21
  76. package/fesm/adapters/event-manager.adapter.js +0 -55
  77. package/fesm/adapters/event-manager.adapter.spec.js +0 -100
  78. package/fesm/config/event-actions.js +0 -10
  79. package/fesm/config/event-manager.constants.js +0 -3
  80. package/fesm/config/message-keys.js +0 -9
  81. package/fesm/controllers/event.controller.js +0 -180
  82. package/fesm/controllers/event.controller.spec.js +0 -152
  83. package/fesm/docs/event-manager-swagger.config.js +0 -118
  84. package/fesm/docs/event-manager-swagger.config.spec.js +0 -61
  85. package/fesm/dtos/calendar-query.dto.js +0 -194
  86. package/fesm/dtos/event-participant.dto.js +0 -157
  87. package/fesm/dtos/event.dto.js +0 -322
  88. package/fesm/entities/event-participant.entity.js +0 -79
  89. package/fesm/entities/event-with-company.entity.js +0 -46
  90. package/fesm/entities/event.entity.js +0 -146
  91. package/fesm/entities/index.spec.js +0 -14
  92. package/fesm/interfaces/event-manager-module.interface.js +0 -3
  93. package/fesm/interfaces/event.interface.js +0 -1
  94. package/fesm/modules/event-manager.module.js +0 -122
  95. package/fesm/modules/event-manager.module.spec.js +0 -142
  96. package/fesm/services/event-manager-config.service.js +0 -66
  97. package/fesm/services/event-manager-config.service.spec.js +0 -107
  98. package/fesm/services/event-manager-datasource.provider.js +0 -74
  99. package/fesm/services/event-manager-datasource.provider.spec.js +0 -194
  100. package/fesm/services/event-manager-helper.service.js +0 -225
  101. package/fesm/services/event-manager-helper.service.spec.js +0 -323
  102. package/fesm/services/event.service.js +0 -471
  103. package/fesm/services/event.service.spec.js +0 -925
@@ -1,55 +0,0 @@
1
- // Entities without company feature
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: Object.getOwnPropertyDescriptor(all, name).get
10
- });
11
- }
12
- _export(exports, {
13
- get EventBase () {
14
- return _evententity.Event;
15
- },
16
- get EventManagerCompanyEntities () {
17
- return EventManagerCompanyEntities;
18
- },
19
- get EventManagerCoreEntities () {
20
- return EventManagerCoreEntities;
21
- },
22
- get EventParticipantBase () {
23
- return _eventparticipantentity.EventParticipant;
24
- },
25
- get getEventManagerEntitiesByConfig () {
26
- return getEventManagerEntitiesByConfig;
27
- }
28
- });
29
- const _evententity = _export_star(require("./event.entity"), exports);
30
- const _eventparticipantentity = _export_star(require("./event-participant.entity"), exports);
31
- const _eventwithcompanyentity = _export_star(require("./event-with-company.entity"), exports);
32
- function _export_star(from, to) {
33
- Object.keys(from).forEach(function(k) {
34
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
35
- Object.defineProperty(to, k, {
36
- enumerable: true,
37
- get: function() {
38
- return from[k];
39
- }
40
- });
41
- }
42
- });
43
- return from;
44
- }
45
- const EventManagerCoreEntities = [
46
- _evententity.Event,
47
- _eventparticipantentity.EventParticipant
48
- ];
49
- const EventManagerCompanyEntities = [
50
- _eventwithcompanyentity.EventWithCompany,
51
- _eventparticipantentity.EventParticipant
52
- ];
53
- function getEventManagerEntitiesByConfig(enableCompanyFeature) {
54
- return enableCompanyFeature ? EventManagerCompanyEntities : EventManagerCoreEntities;
55
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _index = require("./index");
6
- const _eventparticipantentity = require("./event-participant.entity");
7
- describe('getEventManagerEntitiesByConfig', ()=>{
8
- it('returns the core entities when the company feature is disabled', ()=>{
9
- expect((0, _index.getEventManagerEntitiesByConfig)(false)).toBe(_index.EventManagerCoreEntities);
10
- });
11
- it('returns the company-scoped entities when the company feature is enabled', ()=>{
12
- expect((0, _index.getEventManagerEntitiesByConfig)(true)).toBe(_index.EventManagerCompanyEntities);
13
- });
14
- it('EventParticipant is shared between core and company entity sets (event-scoped, not company-scoped)', ()=>{
15
- expect((0, _index.getEventManagerEntitiesByConfig)(false)).toContain(_eventparticipantentity.EventParticipant);
16
- expect((0, _index.getEventManagerEntitiesByConfig)(true)).toContain(_eventparticipantentity.EventParticipant);
17
- });
18
- });
package/cjs/index.js DELETED
@@ -1,27 +0,0 @@
1
- // Export all event manager module components
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- _export_star(require("./adapters"), exports);
7
- _export_star(require("./controllers"), exports);
8
- _export_star(require("./services"), exports);
9
- _export_star(require("./entities"), exports);
10
- _export_star(require("./modules"), exports);
11
- _export_star(require("./config"), exports);
12
- _export_star(require("./docs"), exports);
13
- _export_star(require("./dtos"), exports);
14
- _export_star(require("./interfaces"), exports);
15
- function _export_star(from, to) {
16
- Object.keys(from).forEach(function(k) {
17
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
18
- Object.defineProperty(to, k, {
19
- enumerable: true,
20
- get: function() {
21
- return from[k];
22
- }
23
- });
24
- }
25
- });
26
- return from;
27
- }
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _export_star(require("./event.interface"), exports);
6
- _export_star(require("./event-manager-module.interface"), exports);
7
- function _export_star(from, to) {
8
- Object.keys(from).forEach(function(k) {
9
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
10
- Object.defineProperty(to, k, {
11
- enumerable: true,
12
- get: function() {
13
- return from[k];
14
- }
15
- });
16
- }
17
- });
18
- return from;
19
- }
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "EventManagerModule", {
6
- enumerable: true,
7
- get: function() {
8
- return EventManagerModule;
9
- }
10
- });
11
- const _modules = require("@flusys/nestjs-shared/modules");
12
- const _interfaces = require("@flusys/nestjs-shared/interfaces");
13
- const _common = require("@nestjs/common");
14
- const _eventmanagerconstants = require("../config/event-manager.constants");
15
- const _controllers = require("../controllers");
16
- const _adapters = require("../adapters");
17
- const _services = require("../services");
18
- function _ts_decorate(decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- }
24
- const CONTROLLERS = [
25
- _controllers.EventController
26
- ];
27
- const EXPORTED_SERVICES = [
28
- _services.EventManagerConfigService,
29
- _services.EventManagerDataSourceProvider,
30
- _services.EventManagerHelperService,
31
- _services.EventService
32
- ];
33
- const ADAPTER_PROVIDER = {
34
- provide: _interfaces.EVENT_MANAGER_ADAPTER,
35
- useClass: _adapters.EventManagerAdapter
36
- };
37
- let EventManagerModule = class EventManagerModule {
38
- static forRoot(options) {
39
- return {
40
- module: EventManagerModule,
41
- global: options.global ?? false,
42
- imports: [
43
- _modules.CacheModule,
44
- _modules.UtilsModule
45
- ],
46
- controllers: options.includeController !== false ? CONTROLLERS : [],
47
- providers: [
48
- ...this.buildProviders(options),
49
- _adapters.EventManagerAdapter,
50
- ADAPTER_PROVIDER
51
- ],
52
- exports: [
53
- ...EXPORTED_SERVICES,
54
- _interfaces.EVENT_MANAGER_ADAPTER
55
- ]
56
- };
57
- }
58
- static forRootAsync(options) {
59
- return {
60
- module: EventManagerModule,
61
- global: options.global ?? false,
62
- imports: [
63
- ...options.imports || [],
64
- _modules.CacheModule,
65
- _modules.UtilsModule
66
- ],
67
- controllers: options.includeController !== false ? CONTROLLERS : [],
68
- providers: [
69
- ...this.createAsyncProviders(options),
70
- ...this.buildProviders(),
71
- _adapters.EventManagerAdapter,
72
- ADAPTER_PROVIDER
73
- ],
74
- exports: [
75
- ...EXPORTED_SERVICES,
76
- _interfaces.EVENT_MANAGER_ADAPTER
77
- ]
78
- };
79
- }
80
- // Private Helpers
81
- static buildProviders(options) {
82
- const providers = [
83
- ...EXPORTED_SERVICES
84
- ];
85
- if (options) {
86
- providers.unshift({
87
- provide: _eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS,
88
- useValue: options
89
- });
90
- }
91
- providers.push((0, _modules.createModuleEventsProvider)('event-manager', _eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS));
92
- return providers;
93
- }
94
- static createAsyncProviders(options) {
95
- if (options.useFactory) {
96
- return [
97
- {
98
- provide: _eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS,
99
- useFactory: async (...args)=>({
100
- ...options,
101
- config: await options.useFactory(...args)
102
- }),
103
- inject: options.inject || []
104
- }
105
- ];
106
- }
107
- const factoryClass = options.useClass || options.useExisting;
108
- if (!factoryClass) return [];
109
- const providers = [
110
- {
111
- provide: _eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS,
112
- useFactory: async (factory)=>({
113
- ...options,
114
- config: await factory.createEventManagerOptions()
115
- }),
116
- inject: [
117
- factoryClass
118
- ]
119
- }
120
- ];
121
- if (options.useClass) {
122
- providers.push({
123
- provide: options.useClass,
124
- useClass: options.useClass
125
- });
126
- }
127
- return providers;
128
- }
129
- };
130
- EventManagerModule = _ts_decorate([
131
- (0, _common.Module)({})
132
- ], EventManagerModule);
@@ -1,146 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _interfaces = require("@flusys/nestjs-shared/interfaces");
6
- const _eventmanagermodule = require("./event-manager.module");
7
- const _eventmanagerconstants = require("../config/event-manager.constants");
8
- const _controllers = require("../controllers");
9
- const _adapters = require("../adapters");
10
- function _define_property(obj, key, value) {
11
- if (key in obj) {
12
- Object.defineProperty(obj, key, {
13
- value: value,
14
- enumerable: true,
15
- configurable: true,
16
- writable: true
17
- });
18
- } else {
19
- obj[key] = value;
20
- }
21
- return obj;
22
- }
23
- function providerTokens(providers) {
24
- return providers.map((p)=>typeof p === 'function' ? p : p.provide);
25
- }
26
- describe('EventManagerModule', ()=>{
27
- describe('forRoot', ()=>{
28
- it('should default to a non-global module with the event controller registered', ()=>{
29
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRoot({});
30
- expect(dynamicModule.module).toBe(_eventmanagermodule.EventManagerModule);
31
- expect(dynamicModule.global).toBe(false);
32
- expect(dynamicModule.controllers).toEqual([
33
- _controllers.EventController
34
- ]);
35
- });
36
- it('should respect global: true', ()=>{
37
- expect(_eventmanagermodule.EventManagerModule.forRoot({
38
- global: true
39
- }).global).toBe(true);
40
- });
41
- it('should register no controllers when includeController is false', ()=>{
42
- expect(_eventmanagermodule.EventManagerModule.forRoot({
43
- includeController: false
44
- }).controllers).toEqual([]);
45
- });
46
- it('should register the EVENT_MANAGER_ADAPTER provider backed by EventManagerAdapter', ()=>{
47
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRoot({});
48
- const adapterProvider = dynamicModule.providers.find((p)=>p.provide === _interfaces.EVENT_MANAGER_ADAPTER);
49
- expect(adapterProvider.useClass).toBe(_adapters.EventManagerAdapter);
50
- });
51
- it('should export EVENT_MANAGER_ADAPTER alongside the base services', ()=>{
52
- expect(_eventmanagermodule.EventManagerModule.forRoot({}).exports).toContain(_interfaces.EVENT_MANAGER_ADAPTER);
53
- });
54
- it('should register an EVENT_MANAGER_MODULE_OPTIONS provider carrying the given options', ()=>{
55
- const options = {
56
- bootstrapAppConfig: {
57
- enableCompanyFeature: true
58
- }
59
- };
60
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRoot(options);
61
- const provider = dynamicModule.providers.find((p)=>p.provide === _eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS);
62
- expect(provider.useValue).toBe(options);
63
- });
64
- });
65
- describe('forRootAsync', ()=>{
66
- it('should forward external imports alongside CacheModule/UtilsModule', ()=>{
67
- let FakeImportedModule = class FakeImportedModule {
68
- };
69
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRootAsync({
70
- imports: [
71
- FakeImportedModule
72
- ]
73
- });
74
- expect(dynamicModule.imports).toEqual(expect.arrayContaining([
75
- FakeImportedModule
76
- ]));
77
- });
78
- it('should still wire the adapter provider when using async registration', ()=>{
79
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRootAsync({
80
- useFactory: jest.fn()
81
- });
82
- const adapterProvider = dynamicModule.providers.find((p)=>p.provide === _interfaces.EVENT_MANAGER_ADAPTER);
83
- expect(adapterProvider.useClass).toBe(_adapters.EventManagerAdapter);
84
- });
85
- it('useFactory: builds an EVENT_MANAGER_MODULE_OPTIONS provider merging resolved config', async ()=>{
86
- const useFactory = jest.fn().mockResolvedValue({
87
- foo: 'bar'
88
- });
89
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRootAsync({
90
- useFactory,
91
- inject: [
92
- 'SOME_TOKEN'
93
- ]
94
- });
95
- const provider = dynamicModule.providers.find((p)=>p.provide === _eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS);
96
- expect(provider.inject).toEqual([
97
- 'SOME_TOKEN'
98
- ]);
99
- const resolved = await provider.useFactory('injected');
100
- expect(useFactory).toHaveBeenCalledWith('injected');
101
- expect(resolved.config).toEqual({
102
- foo: 'bar'
103
- });
104
- });
105
- it('useClass: registers both the class provider and an options provider calling createEventManagerOptions()', async ()=>{
106
- let MyOptionsFactory = class MyOptionsFactory {
107
- constructor(){
108
- _define_property(this, "createEventManagerOptions", jest.fn().mockResolvedValue({
109
- foo: 'from-class'
110
- }));
111
- }
112
- };
113
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRootAsync({
114
- useClass: MyOptionsFactory
115
- });
116
- const classProvider = dynamicModule.providers.find((p)=>p.provide === MyOptionsFactory);
117
- expect(classProvider.useClass).toBe(MyOptionsFactory);
118
- const optionsProvider = dynamicModule.providers.find((p)=>p.provide === _eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS);
119
- const instance = new MyOptionsFactory();
120
- const resolved = await optionsProvider.useFactory(instance);
121
- expect(instance.createEventManagerOptions).toHaveBeenCalled();
122
- expect(resolved.config).toEqual({
123
- foo: 'from-class'
124
- });
125
- });
126
- it('useExisting: registers a single options provider without a duplicate class registration', ()=>{
127
- let MyOptionsFactory = class MyOptionsFactory {
128
- constructor(){
129
- _define_property(this, "createEventManagerOptions", jest.fn());
130
- }
131
- };
132
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRootAsync({
133
- useExisting: MyOptionsFactory
134
- });
135
- expect(dynamicModule.providers.filter((p)=>p.provide === MyOptionsFactory)).toHaveLength(0);
136
- const optionsProvider = dynamicModule.providers.find((p)=>p.provide === _eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS);
137
- expect(optionsProvider.inject).toEqual([
138
- MyOptionsFactory
139
- ]);
140
- });
141
- it('should register no EVENT_MANAGER_MODULE_OPTIONS provider when neither useFactory, useClass, nor useExisting is given', ()=>{
142
- const dynamicModule = _eventmanagermodule.EventManagerModule.forRootAsync({});
143
- expect(providerTokens(dynamicModule.providers)).not.toContain(_eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS);
144
- });
145
- });
146
- });
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _export_star(require("./event-manager.module"), exports);
6
- function _export_star(from, to) {
7
- Object.keys(from).forEach(function(k) {
8
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
- Object.defineProperty(to, k, {
10
- enumerable: true,
11
- get: function() {
12
- return from[k];
13
- }
14
- });
15
- }
16
- });
17
- return from;
18
- }
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "EventManagerConfigService", {
6
- enumerable: true,
7
- get: function() {
8
- return EventManagerConfigService;
9
- }
10
- });
11
- const _common = require("@nestjs/common");
12
- const _interfaces = require("../interfaces");
13
- const _eventmanagerconstants = require("../config/event-manager.constants");
14
- function _define_property(obj, key, value) {
15
- if (key in obj) {
16
- Object.defineProperty(obj, key, {
17
- value: value,
18
- enumerable: true,
19
- configurable: true,
20
- writable: true
21
- });
22
- } else {
23
- obj[key] = value;
24
- }
25
- return obj;
26
- }
27
- function _ts_decorate(decorators, target, key, desc) {
28
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
29
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
30
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
31
- return c > 3 && r && Object.defineProperty(target, key, r), r;
32
- }
33
- function _ts_metadata(k, v) {
34
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
35
- }
36
- function _ts_param(paramIndex, decorator) {
37
- return function(target, key) {
38
- decorator(target, key, paramIndex);
39
- };
40
- }
41
- const DEFAULT_COLOR = '#3B82F6';
42
- const DEFAULT_MAX_RECURRENCE_OCCURRENCES = 365;
43
- let EventManagerConfigService = class EventManagerConfigService {
44
- // IModuleConfigService Implementation
45
- isCompanyFeatureEnabled() {
46
- return this.options.bootstrapAppConfig?.enableCompanyFeature ?? false;
47
- }
48
- getDatabaseMode() {
49
- return this.options.bootstrapAppConfig?.databaseMode ?? 'single';
50
- }
51
- isMultiTenant() {
52
- return this.getDatabaseMode() === 'multi-tenant';
53
- }
54
- // Config Getters
55
- getDefaultColor() {
56
- return this.options.config?.defaultColor ?? DEFAULT_COLOR;
57
- }
58
- getMaxRecurrenceOccurrences() {
59
- return this.options.config?.maxRecurrenceOccurrences ?? DEFAULT_MAX_RECURRENCE_OCCURRENCES;
60
- }
61
- getOptions() {
62
- return this.options;
63
- }
64
- constructor(options){
65
- _define_property(this, "options", void 0);
66
- this.options = options;
67
- }
68
- };
69
- EventManagerConfigService = _ts_decorate([
70
- (0, _common.Injectable)(),
71
- _ts_param(0, (0, _common.Inject)(_eventmanagerconstants.EVENT_MANAGER_MODULE_OPTIONS)),
72
- _ts_metadata("design:type", Function),
73
- _ts_metadata("design:paramtypes", [
74
- typeof _interfaces.EventManagerModuleOptions === "undefined" ? Object : _interfaces.EventManagerModuleOptions
75
- ])
76
- ], EventManagerConfigService);
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _eventmanagerconfigservice = require("./event-manager-config.service");
6
- function buildOptions(overrides = {}) {
7
- return {
8
- bootstrapAppConfig: undefined,
9
- config: undefined,
10
- ...overrides
11
- };
12
- }
13
- describe('EventManagerConfigService', ()=>{
14
- describe('isCompanyFeatureEnabled', ()=>{
15
- it('returns true when bootstrap config enables the company feature', ()=>{
16
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions({
17
- bootstrapAppConfig: {
18
- enableCompanyFeature: true
19
- }
20
- }));
21
- expect(service.isCompanyFeatureEnabled()).toBe(true);
22
- });
23
- it('returns false when bootstrap config disables the company feature', ()=>{
24
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions({
25
- bootstrapAppConfig: {
26
- enableCompanyFeature: false
27
- }
28
- }));
29
- expect(service.isCompanyFeatureEnabled()).toBe(false);
30
- });
31
- it('defaults to false when bootstrapAppConfig is missing', ()=>{
32
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions());
33
- expect(service.isCompanyFeatureEnabled()).toBe(false);
34
- });
35
- });
36
- describe('getDatabaseMode', ()=>{
37
- it('returns the configured database mode', ()=>{
38
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions({
39
- bootstrapAppConfig: {
40
- databaseMode: 'multi-tenant'
41
- }
42
- }));
43
- expect(service.getDatabaseMode()).toBe('multi-tenant');
44
- });
45
- it('defaults to "single" when not configured', ()=>{
46
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions());
47
- expect(service.getDatabaseMode()).toBe('single');
48
- });
49
- });
50
- describe('isMultiTenant', ()=>{
51
- it('returns true when database mode is multi-tenant', ()=>{
52
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions({
53
- bootstrapAppConfig: {
54
- databaseMode: 'multi-tenant'
55
- }
56
- }));
57
- expect(service.isMultiTenant()).toBe(true);
58
- });
59
- it('returns false when database mode is single', ()=>{
60
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions({
61
- bootstrapAppConfig: {
62
- databaseMode: 'single'
63
- }
64
- }));
65
- expect(service.isMultiTenant()).toBe(false);
66
- });
67
- it('returns false when database mode is not configured', ()=>{
68
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions());
69
- expect(service.isMultiTenant()).toBe(false);
70
- });
71
- });
72
- describe('getDefaultColor', ()=>{
73
- it('returns the configured default color', ()=>{
74
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions({
75
- config: {
76
- defaultColor: '#FF0000'
77
- }
78
- }));
79
- expect(service.getDefaultColor()).toBe('#FF0000');
80
- });
81
- it('falls back to the built-in default color', ()=>{
82
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions());
83
- expect(service.getDefaultColor()).toBe('#3B82F6');
84
- });
85
- });
86
- describe('getMaxRecurrenceOccurrences', ()=>{
87
- it('returns the configured max occurrences', ()=>{
88
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions({
89
- config: {
90
- maxRecurrenceOccurrences: 50
91
- }
92
- }));
93
- expect(service.getMaxRecurrenceOccurrences()).toBe(50);
94
- });
95
- it('falls back to the built-in default of 365', ()=>{
96
- const service = new _eventmanagerconfigservice.EventManagerConfigService(buildOptions());
97
- expect(service.getMaxRecurrenceOccurrences()).toBe(365);
98
- });
99
- });
100
- describe('getOptions', ()=>{
101
- it('returns the raw options object as-is', ()=>{
102
- const options = buildOptions({
103
- config: {
104
- defaultColor: '#ABCDEF'
105
- }
106
- });
107
- const service = new _eventmanagerconfigservice.EventManagerConfigService(options);
108
- expect(service.getOptions()).toBe(options);
109
- });
110
- });
111
- });