@flusys/nestjs-task-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 (163) hide show
  1. package/config/index.d.ts +3 -3
  2. package/controllers/index.d.ts +5 -5
  3. package/controllers/task-board.controller.d.ts +3 -3
  4. package/controllers/task-comment.controller.d.ts +2 -2
  5. package/controllers/task-label.controller.d.ts +2 -2
  6. package/controllers/task-list.controller.d.ts +3 -3
  7. package/controllers/task.controller.d.ts +4 -4
  8. package/docs/index.d.ts +1 -1
  9. package/docs/task-manager-swagger.config.d.ts +1 -1
  10. package/dtos/index.d.ts +5 -5
  11. package/dtos/task-board.dto.d.ts +1 -1
  12. package/dtos/task.dto.d.ts +2 -2
  13. package/entities/index.d.ts +19 -19
  14. package/entities/task-board-with-company.entity.d.ts +1 -1
  15. package/fesm/234.js +1393 -0
  16. package/fesm/431.js +981 -0
  17. package/fesm/827.js +1054 -0
  18. package/fesm/988.js +881 -0
  19. package/fesm/config/index.js +156 -3
  20. package/fesm/controllers/index.js +21 -5
  21. package/fesm/docs/index.js +58 -1
  22. package/fesm/dtos/index.js +280 -5
  23. package/fesm/entities/index.js +26 -46
  24. package/fesm/gateways/index.js +288 -1
  25. package/fesm/index.js +440 -9
  26. package/fesm/interfaces/index.js +16 -2
  27. package/fesm/modules/index.js +210 -1
  28. package/fesm/runtime.js +85 -0
  29. package/fesm/services/index.js +53 -8
  30. package/gateways/index.d.ts +1 -1
  31. package/gateways/task-board.gateway.d.ts +3 -3
  32. package/index.d.ts +9 -9
  33. package/interfaces/index.d.ts +2 -2
  34. package/interfaces/task-manager-module.interface.d.ts +3 -3
  35. package/interfaces/task.interface.d.ts +2 -2
  36. package/modules/index.d.ts +1 -1
  37. package/modules/task-manager.module.d.ts +2 -2
  38. package/package.json +26 -36
  39. package/services/index.d.ts +8 -8
  40. package/services/task-activity.service.d.ts +1 -1
  41. package/services/task-board.service.d.ts +5 -5
  42. package/services/task-comment.service.d.ts +4 -4
  43. package/services/task-label.service.d.ts +4 -4
  44. package/services/task-list.service.d.ts +4 -4
  45. package/services/task-manager-config.service.d.ts +3 -3
  46. package/services/task-manager-datasource.provider.d.ts +3 -3
  47. package/services/task.service.d.ts +7 -7
  48. package/cjs/config/event-actions.js +0 -37
  49. package/cjs/config/index.js +0 -20
  50. package/cjs/config/message-keys.js +0 -92
  51. package/cjs/config/task-manager.constants.js +0 -11
  52. package/cjs/controllers/index.js +0 -22
  53. package/cjs/controllers/task-board.controller.js +0 -219
  54. package/cjs/controllers/task-board.controller.spec.js +0 -132
  55. package/cjs/controllers/task-comment.controller.js +0 -103
  56. package/cjs/controllers/task-comment.controller.spec.js +0 -86
  57. package/cjs/controllers/task-label.controller.js +0 -112
  58. package/cjs/controllers/task-label.controller.spec.js +0 -88
  59. package/cjs/controllers/task-list.controller.js +0 -158
  60. package/cjs/controllers/task-list.controller.spec.js +0 -112
  61. package/cjs/controllers/task.controller.js +0 -199
  62. package/cjs/controllers/task.controller.spec.js +0 -131
  63. package/cjs/docs/index.js +0 -18
  64. package/cjs/docs/task-manager-swagger.config.js +0 -43
  65. package/cjs/docs/task-manager-swagger.config.spec.js +0 -28
  66. package/cjs/dtos/index.js +0 -22
  67. package/cjs/dtos/task-board.dto.js +0 -310
  68. package/cjs/dtos/task-comment.dto.js +0 -131
  69. package/cjs/dtos/task-label.dto.js +0 -120
  70. package/cjs/dtos/task-list.dto.js +0 -198
  71. package/cjs/dtos/task.dto.js +0 -367
  72. package/cjs/entities/index.js +0 -72
  73. package/cjs/entities/index.spec.js +0 -30
  74. package/cjs/entities/task-activity.entity.js +0 -98
  75. package/cjs/entities/task-assignee.entity.js +0 -67
  76. package/cjs/entities/task-board-member.entity.js +0 -94
  77. package/cjs/entities/task-board-with-company.entity.js +0 -57
  78. package/cjs/entities/task-board.entity.js +0 -88
  79. package/cjs/entities/task-comment.entity.js +0 -80
  80. package/cjs/entities/task-label.entity.js +0 -72
  81. package/cjs/entities/task-list.entity.js +0 -104
  82. package/cjs/entities/task-task-label.entity.js +0 -67
  83. package/cjs/entities/task.entity.js +0 -151
  84. package/cjs/gateways/index.js +0 -18
  85. package/cjs/gateways/task-board.gateway.js +0 -167
  86. package/cjs/gateways/task-board.gateway.spec.js +0 -243
  87. package/cjs/index.js +0 -26
  88. package/cjs/interfaces/index.js +0 -19
  89. package/cjs/interfaces/task-manager-module.interface.js +0 -4
  90. package/cjs/interfaces/task.interface.js +0 -4
  91. package/cjs/modules/index.js +0 -18
  92. package/cjs/modules/task-manager.module.js +0 -135
  93. package/cjs/modules/task-manager.module.spec.js +0 -144
  94. package/cjs/services/index.js +0 -25
  95. package/cjs/services/task-activity.service.js +0 -76
  96. package/cjs/services/task-activity.service.spec.js +0 -125
  97. package/cjs/services/task-board.service.js +0 -247
  98. package/cjs/services/task-board.service.spec.js +0 -465
  99. package/cjs/services/task-comment.service.js +0 -103
  100. package/cjs/services/task-comment.service.spec.js +0 -160
  101. package/cjs/services/task-label.service.js +0 -97
  102. package/cjs/services/task-label.service.spec.js +0 -138
  103. package/cjs/services/task-list.service.js +0 -130
  104. package/cjs/services/task-list.service.spec.js +0 -284
  105. package/cjs/services/task-manager-config.service.js +0 -69
  106. package/cjs/services/task-manager-config.service.spec.js +0 -98
  107. package/cjs/services/task-manager-datasource.provider.js +0 -84
  108. package/cjs/services/task-manager-datasource.provider.spec.js +0 -131
  109. package/cjs/services/task.service.js +0 -398
  110. package/cjs/services/task.service.spec.js +0 -700
  111. package/fesm/config/event-actions.js +0 -16
  112. package/fesm/config/message-keys.js +0 -65
  113. package/fesm/config/task-manager.constants.js +0 -1
  114. package/fesm/controllers/task-board.controller.js +0 -209
  115. package/fesm/controllers/task-board.controller.spec.js +0 -128
  116. package/fesm/controllers/task-comment.controller.js +0 -93
  117. package/fesm/controllers/task-comment.controller.spec.js +0 -82
  118. package/fesm/controllers/task-label.controller.js +0 -102
  119. package/fesm/controllers/task-label.controller.spec.js +0 -84
  120. package/fesm/controllers/task-list.controller.js +0 -148
  121. package/fesm/controllers/task-list.controller.spec.js +0 -108
  122. package/fesm/controllers/task.controller.js +0 -189
  123. package/fesm/controllers/task.controller.spec.js +0 -127
  124. package/fesm/docs/task-manager-swagger.config.js +0 -33
  125. package/fesm/docs/task-manager-swagger.config.spec.js +0 -24
  126. package/fesm/dtos/task-board.dto.js +0 -277
  127. package/fesm/dtos/task-comment.dto.js +0 -110
  128. package/fesm/dtos/task-label.dto.js +0 -99
  129. package/fesm/dtos/task-list.dto.js +0 -174
  130. package/fesm/dtos/task.dto.js +0 -337
  131. package/fesm/entities/index.spec.js +0 -26
  132. package/fesm/entities/task-activity.entity.js +0 -88
  133. package/fesm/entities/task-assignee.entity.js +0 -57
  134. package/fesm/entities/task-board-member.entity.js +0 -76
  135. package/fesm/entities/task-board-with-company.entity.js +0 -47
  136. package/fesm/entities/task-board.entity.js +0 -78
  137. package/fesm/entities/task-comment.entity.js +0 -70
  138. package/fesm/entities/task-label.entity.js +0 -62
  139. package/fesm/entities/task-list.entity.js +0 -94
  140. package/fesm/entities/task-task-label.entity.js +0 -57
  141. package/fesm/entities/task.entity.js +0 -133
  142. package/fesm/gateways/task-board.gateway.js +0 -157
  143. package/fesm/gateways/task-board.gateway.spec.js +0 -239
  144. package/fesm/interfaces/task-manager-module.interface.js +0 -1
  145. package/fesm/interfaces/task.interface.js +0 -1
  146. package/fesm/modules/task-manager.module.js +0 -125
  147. package/fesm/modules/task-manager.module.spec.js +0 -140
  148. package/fesm/services/task-activity.service.js +0 -66
  149. package/fesm/services/task-activity.service.spec.js +0 -121
  150. package/fesm/services/task-board.service.js +0 -237
  151. package/fesm/services/task-board.service.spec.js +0 -461
  152. package/fesm/services/task-comment.service.js +0 -93
  153. package/fesm/services/task-comment.service.spec.js +0 -156
  154. package/fesm/services/task-label.service.js +0 -87
  155. package/fesm/services/task-label.service.spec.js +0 -134
  156. package/fesm/services/task-list.service.js +0 -120
  157. package/fesm/services/task-list.service.spec.js +0 -280
  158. package/fesm/services/task-manager-config.service.js +0 -59
  159. package/fesm/services/task-manager-config.service.spec.js +0 -94
  160. package/fesm/services/task-manager-datasource.provider.js +0 -74
  161. package/fesm/services/task-manager-datasource.provider.spec.js +0 -127
  162. package/fesm/services/task.service.js +0 -388
  163. package/fesm/services/task.service.spec.js +0 -696
package/fesm/431.js ADDED
@@ -0,0 +1,981 @@
1
+ import { envConfig } from "@flusys/nestjs-core/config";
2
+ import { ConnectedSocket, MessageBody, SubscribeMessage, WebSocketGateway, WebSocketServer } from "@nestjs/websockets";
3
+ import { Server, Socket } from "socket.io";
4
+ import * as __rspack_external__nestjs_jwt_50c0e0ae from "@nestjs/jwt";
5
+ import * as __rspack_external__flusys_nestjs_shared_decorators_c129b601 from "@flusys/nestjs-shared/decorators";
6
+ import * as __rspack_external__flusys_nestjs_shared_guards_3f79ddd1 from "@flusys/nestjs-shared/guards";
7
+ export const __rspack_esm_id = 431;
8
+ export const __rspack_esm_ids = [431];
9
+ export const __webpack_modules__ = {
10
+ 370(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
11
+
12
+ // EXPORTS
13
+ __webpack_require__.d(__webpack_exports__, {
14
+ Ev: () => (/* reexport */ TaskBoardController),
15
+ f7: () => (/* reexport */ TaskCommentController),
16
+ iA: () => (/* reexport */ TaskController),
17
+ qj: () => (/* reexport */ TaskLabelController),
18
+ cp: () => (/* reexport */ TaskListController)
19
+ });
20
+
21
+ // EXTERNAL MODULE: external "@flusys/nestjs-shared"
22
+ var nestjs_shared_ = __webpack_require__(422);
23
+ // EXTERNAL MODULE: external "@flusys/nestjs-shared/classes"
24
+ var classes_ = __webpack_require__(937);
25
+ ;// CONCATENATED MODULE: external "@flusys/nestjs-shared/decorators"
26
+
27
+ // EXTERNAL MODULE: external "@flusys/nestjs-shared/dtos"
28
+ var dtos_ = __webpack_require__(873);
29
+ ;// CONCATENATED MODULE: external "@flusys/nestjs-shared/guards"
30
+
31
+ // EXTERNAL MODULE: external "@nestjs/common"
32
+ var common_ = __webpack_require__(157);
33
+ // EXTERNAL MODULE: external "@nestjs/swagger"
34
+ var swagger_ = __webpack_require__(176);
35
+ // EXTERNAL MODULE: external "class-transformer"
36
+ var external_class_transformer_ = __webpack_require__(812);
37
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/config/message-keys.ts
38
+ var message_keys = __webpack_require__(918);
39
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/dtos/index.ts + 6 modules
40
+ var dtos = __webpack_require__(86);
41
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/services/task-board.service.ts + 1 modules
42
+ var task_board_service = __webpack_require__(481);
43
+ ;// CONCATENATED MODULE: ./projects/nestjs-task-manager/src/controllers/task-board.controller.ts
44
+ function _ts_decorate(decorators, target, key, desc) {
45
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
46
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
47
+ r = Reflect.decorate(decorators, target, key, desc);
48
+ } else {
49
+ for(var i = decorators.length - 1; i >= 0; i--){
50
+ if (d = decorators[i]) {
51
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
52
+ }
53
+ }
54
+ }
55
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
56
+ }
57
+ function _ts_metadata(metadataKey, metadataValue) {
58
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
59
+ return Reflect.metadata(metadataKey, metadataValue);
60
+ }
61
+ }
62
+ function _ts_param(paramIndex, decorator) {
63
+ return function(target, key) {
64
+ decorator(target, key, paramIndex);
65
+ };
66
+ }
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+ class TaskBoardController extends (0,classes_.createApiController)(dtos/* .CreateTaskBoardDto */.HZ, dtos/* .UpdateTaskBoardDto */.Ab, dtos/* .TaskBoardResponseDto */.Ev, {
79
+ entityName: 'task.board',
80
+ enabledEndpoints: [
81
+ 'insert',
82
+ 'insertMany',
83
+ 'getById',
84
+ 'getAll',
85
+ 'update',
86
+ 'updateMany',
87
+ 'delete'
88
+ ],
89
+ security: {
90
+ insert: {
91
+ level: 'permission',
92
+ permissions: [
93
+ nestjs_shared_.TASK_BOARD_PERMISSIONS.CREATE
94
+ ]
95
+ },
96
+ insertMany: {
97
+ level: 'permission',
98
+ permissions: [
99
+ nestjs_shared_.TASK_BOARD_PERMISSIONS.CREATE
100
+ ]
101
+ },
102
+ getById: {
103
+ level: 'permission',
104
+ permissions: [
105
+ nestjs_shared_.TASK_BOARD_PERMISSIONS.READ
106
+ ]
107
+ },
108
+ getAll: {
109
+ level: 'permission',
110
+ permissions: [
111
+ nestjs_shared_.TASK_BOARD_PERMISSIONS.READ
112
+ ]
113
+ },
114
+ update: {
115
+ level: 'permission',
116
+ permissions: [
117
+ nestjs_shared_.TASK_BOARD_PERMISSIONS.UPDATE
118
+ ]
119
+ },
120
+ updateMany: {
121
+ level: 'permission',
122
+ permissions: [
123
+ nestjs_shared_.TASK_BOARD_PERMISSIONS.UPDATE
124
+ ]
125
+ },
126
+ delete: {
127
+ level: 'permission',
128
+ permissions: [
129
+ nestjs_shared_.TASK_BOARD_PERMISSIONS.DELETE
130
+ ]
131
+ }
132
+ }
133
+ }) {
134
+ boardService;
135
+ constructor(boardService){
136
+ super(boardService), this.boardService = boardService;
137
+ }
138
+ async addMember(dto, user) {
139
+ const member = await this.boardService.addMember(dto, user);
140
+ return {
141
+ success: true,
142
+ message: 'Member added to board',
143
+ messageKey: message_keys/* .TASK_BOARD_MESSAGES.MEMBER_ADDED */.A7.MEMBER_ADDED,
144
+ data: (0,external_class_transformer_.plainToInstance)(dtos/* .TaskBoardMemberResponseDto */.OL, member, {
145
+ excludeExtraneousValues: true
146
+ })
147
+ };
148
+ }
149
+ async removeMember(dto) {
150
+ await this.boardService.removeMember(dto);
151
+ return {
152
+ success: true,
153
+ message: 'Member removed',
154
+ messageKey: message_keys/* .TASK_BOARD_MESSAGES.MEMBER_REMOVED */.A7.MEMBER_REMOVED
155
+ };
156
+ }
157
+ async getMembers(dto) {
158
+ const members = await this.boardService.getMembers(dto.boardId);
159
+ const data = (0,external_class_transformer_.plainToInstance)(dtos/* .TaskBoardMemberResponseDto */.OL, members, {
160
+ excludeExtraneousValues: true
161
+ });
162
+ return {
163
+ success: true,
164
+ message: 'Board members retrieved',
165
+ messageKey: message_keys/* .TASK_BOARD_MESSAGES.MEMBER_GET_ALL_SUCCESS */.A7.MEMBER_GET_ALL_SUCCESS,
166
+ data,
167
+ meta: {
168
+ total: data.length,
169
+ page: 0,
170
+ pageSize: data.length,
171
+ count: data.length
172
+ }
173
+ };
174
+ }
175
+ }
176
+ _ts_decorate([
177
+ (0,common_.Post)('add-member'),
178
+ (0,common_.UseGuards)(__rspack_external__flusys_nestjs_shared_guards_3f79ddd1.JwtAuthGuard, __rspack_external__flusys_nestjs_shared_guards_3f79ddd1.PermissionGuard),
179
+ (0,swagger_.ApiBearerAuth)(),
180
+ (0,common_.HttpCode)(common_.HttpStatus.OK),
181
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.RequirePermission)(nestjs_shared_.TASK_BOARD_PERMISSIONS.MANAGE_MEMBERS),
182
+ (0,swagger_.ApiOperation)({
183
+ summary: 'Add user to board'
184
+ }),
185
+ (0,swagger_.ApiBody)({
186
+ type: dtos/* .AddBoardMemberDto */.Zr
187
+ }),
188
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.ApiResponseDto)(dtos/* .TaskBoardMemberResponseDto */.OL),
189
+ _ts_param(0, (0,common_.Body)()),
190
+ _ts_param(1, (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.CurrentUser)()),
191
+ _ts_metadata("design:type", Function),
192
+ _ts_metadata("design:paramtypes", [
193
+ typeof dtos/* .AddBoardMemberDto */.Zr === "undefined" ? Object : dtos/* .AddBoardMemberDto */.Zr,
194
+ typeof ILoggedUserInfo === "undefined" ? Object : ILoggedUserInfo
195
+ ]),
196
+ _ts_metadata("design:returntype", Promise)
197
+ ], TaskBoardController.prototype, "addMember", null);
198
+ _ts_decorate([
199
+ (0,common_.Post)('remove-member'),
200
+ (0,common_.UseGuards)(__rspack_external__flusys_nestjs_shared_guards_3f79ddd1.JwtAuthGuard, __rspack_external__flusys_nestjs_shared_guards_3f79ddd1.PermissionGuard),
201
+ (0,swagger_.ApiBearerAuth)(),
202
+ (0,common_.HttpCode)(common_.HttpStatus.OK),
203
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.RequirePermission)(nestjs_shared_.TASK_BOARD_PERMISSIONS.MANAGE_MEMBERS),
204
+ (0,swagger_.ApiOperation)({
205
+ summary: 'Remove user from board'
206
+ }),
207
+ (0,swagger_.ApiBody)({
208
+ type: dtos/* .RemoveBoardMemberDto */.k_
209
+ }),
210
+ (0,swagger_.ApiResponse)({
211
+ status: 200,
212
+ type: dtos_.MessageResponseDto
213
+ }),
214
+ _ts_param(0, (0,common_.Body)()),
215
+ _ts_metadata("design:type", Function),
216
+ _ts_metadata("design:paramtypes", [
217
+ typeof dtos/* .RemoveBoardMemberDto */.k_ === "undefined" ? Object : dtos/* .RemoveBoardMemberDto */.k_
218
+ ]),
219
+ _ts_metadata("design:returntype", Promise)
220
+ ], TaskBoardController.prototype, "removeMember", null);
221
+ _ts_decorate([
222
+ (0,common_.Post)('get-members'),
223
+ (0,common_.UseGuards)(__rspack_external__flusys_nestjs_shared_guards_3f79ddd1.JwtAuthGuard),
224
+ (0,swagger_.ApiBearerAuth)(),
225
+ (0,common_.HttpCode)(common_.HttpStatus.OK),
226
+ (0,swagger_.ApiOperation)({
227
+ summary: 'Get all board members'
228
+ }),
229
+ (0,swagger_.ApiBody)({
230
+ type: dtos/* .GetBoardMembersDto */.vh
231
+ }),
232
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.ApiResponseDto)(dtos/* .TaskBoardMemberResponseDto */.OL, true),
233
+ _ts_param(0, (0,common_.Body)()),
234
+ _ts_metadata("design:type", Function),
235
+ _ts_metadata("design:paramtypes", [
236
+ typeof dtos/* .GetBoardMembersDto */.vh === "undefined" ? Object : dtos/* .GetBoardMembersDto */.vh
237
+ ]),
238
+ _ts_metadata("design:returntype", Promise)
239
+ ], TaskBoardController.prototype, "getMembers", null);
240
+ TaskBoardController = _ts_decorate([
241
+ (0,swagger_.ApiTags)('Task Manager - Boards'),
242
+ (0,common_.Controller)('task-manager/board'),
243
+ _ts_param(0, (0,common_.Inject)(task_board_service/* .TaskBoardService */.D)),
244
+ _ts_metadata("design:type", Function),
245
+ _ts_metadata("design:paramtypes", [
246
+ typeof task_board_service/* .TaskBoardService */.D === "undefined" ? Object : task_board_service/* .TaskBoardService */.D
247
+ ])
248
+ ], TaskBoardController);
249
+
250
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/gateways/task-board.gateway.ts + 3 modules
251
+ var task_board_gateway = __webpack_require__(736);
252
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/services/task-list.service.ts
253
+ var task_list_service = __webpack_require__(405);
254
+ ;// CONCATENATED MODULE: ./projects/nestjs-task-manager/src/controllers/task-list.controller.ts
255
+ function task_list_controller_ts_decorate(decorators, target, key, desc) {
256
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
257
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
258
+ r = Reflect.decorate(decorators, target, key, desc);
259
+ } else {
260
+ for(var i = decorators.length - 1; i >= 0; i--){
261
+ if (d = decorators[i]) {
262
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
263
+ }
264
+ }
265
+ }
266
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
267
+ }
268
+ function task_list_controller_ts_metadata(metadataKey, metadataValue) {
269
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
270
+ return Reflect.metadata(metadataKey, metadataValue);
271
+ }
272
+ }
273
+ function task_list_controller_ts_param(paramIndex, decorator) {
274
+ return function(target, key) {
275
+ decorator(target, key, paramIndex);
276
+ };
277
+ }
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+ class TaskListController extends (0,classes_.createApiController)(dtos/* .CreateTaskListDto */.Xl, dtos/* .UpdateTaskListDto */.gI, dtos/* .TaskListResponseDto */.YN, {
290
+ entityName: 'task.list',
291
+ enabledEndpoints: [
292
+ 'insert',
293
+ 'insertMany',
294
+ 'getById',
295
+ 'getAll',
296
+ 'update',
297
+ 'updateMany',
298
+ 'delete'
299
+ ],
300
+ security: {
301
+ insert: {
302
+ level: 'permission',
303
+ permissions: [
304
+ nestjs_shared_.TASK_LIST_PERMISSIONS.CREATE
305
+ ]
306
+ },
307
+ insertMany: {
308
+ level: 'permission',
309
+ permissions: [
310
+ nestjs_shared_.TASK_LIST_PERMISSIONS.CREATE
311
+ ]
312
+ },
313
+ getById: {
314
+ level: 'permission',
315
+ permissions: [
316
+ nestjs_shared_.TASK_LIST_PERMISSIONS.READ
317
+ ]
318
+ },
319
+ getAll: {
320
+ level: 'permission',
321
+ permissions: [
322
+ nestjs_shared_.TASK_LIST_PERMISSIONS.READ
323
+ ]
324
+ },
325
+ update: {
326
+ level: 'permission',
327
+ permissions: [
328
+ nestjs_shared_.TASK_LIST_PERMISSIONS.UPDATE
329
+ ]
330
+ },
331
+ updateMany: {
332
+ level: 'permission',
333
+ permissions: [
334
+ nestjs_shared_.TASK_LIST_PERMISSIONS.UPDATE
335
+ ]
336
+ },
337
+ delete: {
338
+ level: 'permission',
339
+ permissions: [
340
+ nestjs_shared_.TASK_LIST_PERMISSIONS.DELETE
341
+ ]
342
+ }
343
+ }
344
+ }) {
345
+ listService;
346
+ gateway;
347
+ constructor(listService, gateway){
348
+ super(listService), this.listService = listService, this.gateway = gateway;
349
+ }
350
+ async reorder(dto) {
351
+ await this.listService.reorderLists(dto);
352
+ this.gateway?.emitToBoardRoom(dto.boardId, {
353
+ type: 'list:reordered',
354
+ boardId: dto.boardId,
355
+ payload: {
356
+ orderedIds: dto.orderedIds
357
+ }
358
+ });
359
+ return {
360
+ success: true,
361
+ message: 'Lists reordered',
362
+ messageKey: message_keys/* .TASK_LIST_MESSAGES.REORDER_SUCCESS */.Ao.REORDER_SUCCESS
363
+ };
364
+ }
365
+ }
366
+ task_list_controller_ts_decorate([
367
+ (0,common_.Post)('reorder'),
368
+ (0,common_.UseGuards)(__rspack_external__flusys_nestjs_shared_guards_3f79ddd1.JwtAuthGuard, __rspack_external__flusys_nestjs_shared_guards_3f79ddd1.PermissionGuard),
369
+ (0,swagger_.ApiBearerAuth)(),
370
+ (0,common_.HttpCode)(common_.HttpStatus.OK),
371
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.RequirePermission)(nestjs_shared_.TASK_LIST_PERMISSIONS.UPDATE),
372
+ (0,swagger_.ApiOperation)({
373
+ summary: 'Reorder lists within a board'
374
+ }),
375
+ (0,swagger_.ApiBody)({
376
+ type: dtos/* .ReorderTaskListsDto */.B1
377
+ }),
378
+ (0,swagger_.ApiResponse)({
379
+ status: 200,
380
+ type: dtos_.MessageResponseDto
381
+ }),
382
+ task_list_controller_ts_param(0, (0,common_.Body)()),
383
+ task_list_controller_ts_metadata("design:type", Function),
384
+ task_list_controller_ts_metadata("design:paramtypes", [
385
+ typeof dtos/* .ReorderTaskListsDto */.B1 === "undefined" ? Object : dtos/* .ReorderTaskListsDto */.B1
386
+ ]),
387
+ task_list_controller_ts_metadata("design:returntype", Promise)
388
+ ], TaskListController.prototype, "reorder", null);
389
+ TaskListController = task_list_controller_ts_decorate([
390
+ (0,swagger_.ApiTags)('Task Manager - Lists'),
391
+ (0,common_.Controller)('task-manager/list'),
392
+ task_list_controller_ts_param(0, (0,common_.Inject)(task_list_service/* .TaskListService */.D)),
393
+ task_list_controller_ts_param(1, (0,common_.Optional)()),
394
+ task_list_controller_ts_param(1, (0,common_.Inject)(task_board_gateway/* .TaskBoardGateway */.M)),
395
+ task_list_controller_ts_metadata("design:type", Function),
396
+ task_list_controller_ts_metadata("design:paramtypes", [
397
+ typeof task_list_service/* .TaskListService */.D === "undefined" ? Object : task_list_service/* .TaskListService */.D,
398
+ typeof task_board_gateway/* .TaskBoardGateway */.M === "undefined" ? Object : task_board_gateway/* .TaskBoardGateway */.M
399
+ ])
400
+ ], TaskListController);
401
+
402
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/services/task.service.ts
403
+ var task_service = __webpack_require__(126);
404
+ ;// CONCATENATED MODULE: ./projects/nestjs-task-manager/src/controllers/task.controller.ts
405
+ function task_controller_ts_decorate(decorators, target, key, desc) {
406
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
407
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
408
+ r = Reflect.decorate(decorators, target, key, desc);
409
+ } else {
410
+ for(var i = decorators.length - 1; i >= 0; i--){
411
+ if (d = decorators[i]) {
412
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
413
+ }
414
+ }
415
+ }
416
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
417
+ }
418
+ function task_controller_ts_metadata(metadataKey, metadataValue) {
419
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
420
+ return Reflect.metadata(metadataKey, metadataValue);
421
+ }
422
+ }
423
+ function task_controller_ts_param(paramIndex, decorator) {
424
+ return function(target, key) {
425
+ decorator(target, key, paramIndex);
426
+ };
427
+ }
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+ class TaskController extends (0,classes_.createApiController)(dtos/* .CreateTaskDto */.lW, dtos/* .UpdateTaskDto */.gC, dtos/* .TaskResponseDto */.KO, {
440
+ entityName: 'task',
441
+ enabledEndpoints: [
442
+ 'insert',
443
+ 'insertMany',
444
+ 'getById',
445
+ 'getAll',
446
+ 'update',
447
+ 'updateMany',
448
+ 'delete'
449
+ ],
450
+ security: {
451
+ insert: {
452
+ level: 'permission',
453
+ permissions: [
454
+ nestjs_shared_.TASK_PERMISSIONS.CREATE
455
+ ]
456
+ },
457
+ insertMany: {
458
+ level: 'permission',
459
+ permissions: [
460
+ nestjs_shared_.TASK_PERMISSIONS.CREATE
461
+ ]
462
+ },
463
+ getById: {
464
+ level: 'permission',
465
+ permissions: [
466
+ nestjs_shared_.TASK_PERMISSIONS.READ
467
+ ]
468
+ },
469
+ getAll: {
470
+ level: 'permission',
471
+ permissions: [
472
+ nestjs_shared_.TASK_PERMISSIONS.READ
473
+ ]
474
+ },
475
+ update: {
476
+ level: 'permission',
477
+ permissions: [
478
+ nestjs_shared_.TASK_PERMISSIONS.UPDATE
479
+ ]
480
+ },
481
+ updateMany: {
482
+ level: 'permission',
483
+ permissions: [
484
+ nestjs_shared_.TASK_PERMISSIONS.UPDATE
485
+ ]
486
+ },
487
+ delete: {
488
+ level: 'permission',
489
+ permissions: [
490
+ nestjs_shared_.TASK_PERMISSIONS.DELETE
491
+ ]
492
+ }
493
+ }
494
+ }) {
495
+ taskService;
496
+ gateway;
497
+ constructor(taskService, gateway){
498
+ super(taskService), this.taskService = taskService, this.gateway = gateway;
499
+ }
500
+ async moveTask(dto, user) {
501
+ const task = await this.taskService.moveTask(dto, user);
502
+ const data = (0,external_class_transformer_.plainToInstance)(dtos/* .TaskResponseDto */.KO, task, {
503
+ excludeExtraneousValues: true
504
+ });
505
+ this.gateway?.emitToBoardRoom(task.boardId, {
506
+ type: 'task:moved',
507
+ boardId: task.boardId,
508
+ payload: data
509
+ });
510
+ return {
511
+ success: true,
512
+ message: 'Task moved',
513
+ messageKey: message_keys/* .TASK_MESSAGES.MOVE_SUCCESS */.zJ.MOVE_SUCCESS,
514
+ data
515
+ };
516
+ }
517
+ async assignTask(dto, user) {
518
+ const task = await this.taskService.assignTask(dto, user);
519
+ const data = (0,external_class_transformer_.plainToInstance)(dtos/* .TaskResponseDto */.KO, task, {
520
+ excludeExtraneousValues: true
521
+ });
522
+ this.gateway?.emitToBoardRoom(task.boardId, {
523
+ type: 'task:updated',
524
+ boardId: task.boardId,
525
+ payload: data
526
+ });
527
+ return {
528
+ success: true,
529
+ message: 'Task assigned',
530
+ messageKey: message_keys/* .TASK_MESSAGES.ASSIGN_SUCCESS */.zJ.ASSIGN_SUCCESS,
531
+ data
532
+ };
533
+ }
534
+ }
535
+ task_controller_ts_decorate([
536
+ (0,common_.Post)('move'),
537
+ (0,common_.UseGuards)(__rspack_external__flusys_nestjs_shared_guards_3f79ddd1.JwtAuthGuard, __rspack_external__flusys_nestjs_shared_guards_3f79ddd1.PermissionGuard),
538
+ (0,swagger_.ApiBearerAuth)(),
539
+ (0,common_.HttpCode)(common_.HttpStatus.OK),
540
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.RequirePermission)(nestjs_shared_.TASK_PERMISSIONS.MOVE),
541
+ (0,swagger_.ApiOperation)({
542
+ summary: 'Move task to another list'
543
+ }),
544
+ (0,swagger_.ApiBody)({
545
+ type: dtos/* .MoveTaskDto */.eF
546
+ }),
547
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.ApiResponseDto)(dtos/* .TaskResponseDto */.KO),
548
+ task_controller_ts_param(0, (0,common_.Body)()),
549
+ task_controller_ts_param(1, (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.CurrentUser)()),
550
+ task_controller_ts_metadata("design:type", Function),
551
+ task_controller_ts_metadata("design:paramtypes", [
552
+ typeof dtos/* .MoveTaskDto */.eF === "undefined" ? Object : dtos/* .MoveTaskDto */.eF,
553
+ typeof ILoggedUserInfo === "undefined" ? Object : ILoggedUserInfo
554
+ ]),
555
+ task_controller_ts_metadata("design:returntype", Promise)
556
+ ], TaskController.prototype, "moveTask", null);
557
+ task_controller_ts_decorate([
558
+ (0,common_.Post)('assign'),
559
+ (0,common_.UseGuards)(__rspack_external__flusys_nestjs_shared_guards_3f79ddd1.JwtAuthGuard, __rspack_external__flusys_nestjs_shared_guards_3f79ddd1.PermissionGuard),
560
+ (0,swagger_.ApiBearerAuth)(),
561
+ (0,common_.HttpCode)(common_.HttpStatus.OK),
562
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.RequirePermission)(nestjs_shared_.TASK_PERMISSIONS.ASSIGN),
563
+ (0,swagger_.ApiOperation)({
564
+ summary: 'Assign task to a board member'
565
+ }),
566
+ (0,swagger_.ApiBody)({
567
+ type: dtos/* .AssignTaskDto */.KZ
568
+ }),
569
+ (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.ApiResponseDto)(dtos/* .TaskResponseDto */.KO),
570
+ task_controller_ts_param(0, (0,common_.Body)()),
571
+ task_controller_ts_param(1, (0,__rspack_external__flusys_nestjs_shared_decorators_c129b601.CurrentUser)()),
572
+ task_controller_ts_metadata("design:type", Function),
573
+ task_controller_ts_metadata("design:paramtypes", [
574
+ typeof dtos/* .AssignTaskDto */.KZ === "undefined" ? Object : dtos/* .AssignTaskDto */.KZ,
575
+ typeof ILoggedUserInfo === "undefined" ? Object : ILoggedUserInfo
576
+ ]),
577
+ task_controller_ts_metadata("design:returntype", Promise)
578
+ ], TaskController.prototype, "assignTask", null);
579
+ TaskController = task_controller_ts_decorate([
580
+ (0,swagger_.ApiTags)('Task Manager - Tasks'),
581
+ (0,common_.Controller)('task-manager/task'),
582
+ task_controller_ts_param(0, (0,common_.Inject)(task_service/* .TaskService */.R)),
583
+ task_controller_ts_param(1, (0,common_.Optional)()),
584
+ task_controller_ts_param(1, (0,common_.Inject)(task_board_gateway/* .TaskBoardGateway */.M)),
585
+ task_controller_ts_metadata("design:type", Function),
586
+ task_controller_ts_metadata("design:paramtypes", [
587
+ typeof task_service/* .TaskService */.R === "undefined" ? Object : task_service/* .TaskService */.R,
588
+ typeof task_board_gateway/* .TaskBoardGateway */.M === "undefined" ? Object : task_board_gateway/* .TaskBoardGateway */.M
589
+ ])
590
+ ], TaskController);
591
+
592
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/services/task-label.service.ts
593
+ var task_label_service = __webpack_require__(337);
594
+ ;// CONCATENATED MODULE: ./projects/nestjs-task-manager/src/controllers/task-label.controller.ts
595
+ function task_label_controller_ts_decorate(decorators, target, key, desc) {
596
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
597
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
598
+ r = Reflect.decorate(decorators, target, key, desc);
599
+ } else {
600
+ for(var i = decorators.length - 1; i >= 0; i--){
601
+ if (d = decorators[i]) {
602
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
603
+ }
604
+ }
605
+ }
606
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
607
+ }
608
+ function task_label_controller_ts_metadata(metadataKey, metadataValue) {
609
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
610
+ return Reflect.metadata(metadataKey, metadataValue);
611
+ }
612
+ }
613
+ function task_label_controller_ts_param(paramIndex, decorator) {
614
+ return function(target, key) {
615
+ decorator(target, key, paramIndex);
616
+ };
617
+ }
618
+
619
+
620
+
621
+
622
+
623
+
624
+ class TaskLabelController extends (0,classes_.createApiController)(dtos/* .CreateTaskLabelDto */.FP, dtos/* .UpdateTaskLabelDto */.Qk, dtos/* .TaskLabelResponseDto */.EM, {
625
+ entityName: 'task.label',
626
+ enabledEndpoints: [
627
+ 'insert',
628
+ 'insertMany',
629
+ 'getById',
630
+ 'getAll',
631
+ 'update',
632
+ 'updateMany',
633
+ 'delete'
634
+ ],
635
+ security: {
636
+ insert: {
637
+ level: 'permission',
638
+ permissions: [
639
+ nestjs_shared_.TASK_LABEL_PERMISSIONS.CREATE
640
+ ]
641
+ },
642
+ insertMany: {
643
+ level: 'permission',
644
+ permissions: [
645
+ nestjs_shared_.TASK_LABEL_PERMISSIONS.CREATE
646
+ ]
647
+ },
648
+ getById: {
649
+ level: 'permission',
650
+ permissions: [
651
+ nestjs_shared_.TASK_LABEL_PERMISSIONS.READ
652
+ ]
653
+ },
654
+ getAll: {
655
+ level: 'permission',
656
+ permissions: [
657
+ nestjs_shared_.TASK_LABEL_PERMISSIONS.READ
658
+ ]
659
+ },
660
+ update: {
661
+ level: 'permission',
662
+ permissions: [
663
+ nestjs_shared_.TASK_LABEL_PERMISSIONS.UPDATE
664
+ ]
665
+ },
666
+ updateMany: {
667
+ level: 'permission',
668
+ permissions: [
669
+ nestjs_shared_.TASK_LABEL_PERMISSIONS.UPDATE
670
+ ]
671
+ },
672
+ delete: {
673
+ level: 'permission',
674
+ permissions: [
675
+ nestjs_shared_.TASK_LABEL_PERMISSIONS.DELETE
676
+ ]
677
+ }
678
+ }
679
+ }) {
680
+ labelService;
681
+ constructor(labelService){
682
+ super(labelService), this.labelService = labelService;
683
+ }
684
+ }
685
+ TaskLabelController = task_label_controller_ts_decorate([
686
+ (0,swagger_.ApiTags)('Task Manager - Labels'),
687
+ (0,common_.Controller)('task-manager/label'),
688
+ task_label_controller_ts_param(0, (0,common_.Inject)(task_label_service/* .TaskLabelService */.Z)),
689
+ task_label_controller_ts_metadata("design:type", Function),
690
+ task_label_controller_ts_metadata("design:paramtypes", [
691
+ typeof task_label_service/* .TaskLabelService */.Z === "undefined" ? Object : task_label_service/* .TaskLabelService */.Z
692
+ ])
693
+ ], TaskLabelController);
694
+
695
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/services/task-comment.service.ts
696
+ var task_comment_service = __webpack_require__(858);
697
+ ;// CONCATENATED MODULE: ./projects/nestjs-task-manager/src/controllers/task-comment.controller.ts
698
+ function task_comment_controller_ts_decorate(decorators, target, key, desc) {
699
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
700
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
701
+ r = Reflect.decorate(decorators, target, key, desc);
702
+ } else {
703
+ for(var i = decorators.length - 1; i >= 0; i--){
704
+ if (d = decorators[i]) {
705
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
706
+ }
707
+ }
708
+ }
709
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
710
+ }
711
+ function task_comment_controller_ts_metadata(metadataKey, metadataValue) {
712
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
713
+ return Reflect.metadata(metadataKey, metadataValue);
714
+ }
715
+ }
716
+ function task_comment_controller_ts_param(paramIndex, decorator) {
717
+ return function(target, key) {
718
+ decorator(target, key, paramIndex);
719
+ };
720
+ }
721
+
722
+
723
+
724
+
725
+
726
+
727
+ class TaskCommentController extends (0,classes_.createApiController)(dtos/* .CreateTaskCommentDto */.yz, dtos/* .UpdateTaskCommentDto */.hn, dtos/* .TaskCommentResponseDto */.dd, {
728
+ entityName: 'task.comment',
729
+ enabledEndpoints: [
730
+ 'insert',
731
+ 'insertMany',
732
+ 'getById',
733
+ 'getAll',
734
+ 'update',
735
+ 'updateMany',
736
+ 'delete'
737
+ ],
738
+ security: {
739
+ insert: {
740
+ level: 'permission',
741
+ permissions: [
742
+ nestjs_shared_.TASK_COMMENT_PERMISSIONS.CREATE
743
+ ]
744
+ },
745
+ insertMany: {
746
+ level: 'permission',
747
+ permissions: [
748
+ nestjs_shared_.TASK_COMMENT_PERMISSIONS.CREATE
749
+ ]
750
+ },
751
+ getById: {
752
+ level: 'jwt'
753
+ },
754
+ getAll: {
755
+ level: 'permission',
756
+ permissions: [
757
+ nestjs_shared_.TASK_COMMENT_PERMISSIONS.READ
758
+ ]
759
+ },
760
+ update: {
761
+ level: 'jwt'
762
+ },
763
+ updateMany: {
764
+ level: 'jwt'
765
+ },
766
+ delete: {
767
+ level: 'permission',
768
+ permissions: [
769
+ nestjs_shared_.TASK_COMMENT_PERMISSIONS.DELETE
770
+ ]
771
+ }
772
+ }
773
+ }) {
774
+ commentService;
775
+ constructor(commentService){
776
+ super(commentService), this.commentService = commentService;
777
+ }
778
+ }
779
+ TaskCommentController = task_comment_controller_ts_decorate([
780
+ (0,swagger_.ApiTags)('Task Manager - Comments'),
781
+ (0,common_.Controller)('task-manager/comment'),
782
+ task_comment_controller_ts_param(0, (0,common_.Inject)(task_comment_service/* .TaskCommentService */.m)),
783
+ task_comment_controller_ts_metadata("design:type", Function),
784
+ task_comment_controller_ts_metadata("design:paramtypes", [
785
+ typeof task_comment_service/* .TaskCommentService */.m === "undefined" ? Object : task_comment_service/* .TaskCommentService */.m
786
+ ])
787
+ ], TaskCommentController);
788
+
789
+ ;// CONCATENATED MODULE: ./projects/nestjs-task-manager/src/controllers/index.ts
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+ },
798
+ 736(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
799
+
800
+ // EXPORTS
801
+ __webpack_require__.d(__webpack_exports__, {
802
+ M: () => (/* binding */ TaskBoardGateway)
803
+ });
804
+
805
+ ;// CONCATENATED MODULE: external "@flusys/nestjs-core/config"
806
+
807
+ // EXTERNAL MODULE: external "@nestjs/common"
808
+ var common_ = __webpack_require__(157);
809
+ // EXTERNAL MODULE: external "@nestjs/jwt"
810
+ var jwt_ = __webpack_require__(125);
811
+ ;// CONCATENATED MODULE: external "@nestjs/websockets"
812
+
813
+ ;// CONCATENATED MODULE: external "socket.io"
814
+
815
+ // EXTERNAL MODULE: ./projects/nestjs-task-manager/src/services/task-manager-config.service.ts
816
+ var task_manager_config_service = __webpack_require__(973);
817
+ ;// CONCATENATED MODULE: ./projects/nestjs-task-manager/src/gateways/task-board.gateway.ts
818
+ function _ts_decorate(decorators, target, key, desc) {
819
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
820
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
821
+ r = Reflect.decorate(decorators, target, key, desc);
822
+ } else {
823
+ for(var i = decorators.length - 1; i >= 0; i--){
824
+ if (d = decorators[i]) {
825
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
826
+ }
827
+ }
828
+ }
829
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
830
+ }
831
+ function _ts_metadata(metadataKey, metadataValue) {
832
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
833
+ return Reflect.metadata(metadataKey, metadataValue);
834
+ }
835
+ }
836
+ function _ts_param(paramIndex, decorator) {
837
+ return function(target, key) {
838
+ decorator(target, key, paramIndex);
839
+ };
840
+ }
841
+
842
+
843
+
844
+
845
+
846
+
847
+ class TaskBoardGateway {
848
+ configService;
849
+ jwtService;
850
+ connectedUsers = new Map();
851
+ server;
852
+ constructor(configService, jwtService){
853
+ this.configService = configService;
854
+ this.jwtService = jwtService;
855
+ }
856
+ async handleConnection(client) {
857
+ try {
858
+ const token = this.extractToken(client);
859
+ if (!token) {
860
+ client.disconnect();
861
+ return;
862
+ }
863
+ const payload = this.verifyToken(token);
864
+ if (!payload) {
865
+ client.disconnect();
866
+ return;
867
+ }
868
+ client.data.userId = payload.id;
869
+ client.data.companyId = payload.companyId;
870
+ if (!this.connectedUsers.has(payload.id)) {
871
+ this.connectedUsers.set(payload.id, new Set());
872
+ }
873
+ this.connectedUsers.get(payload.id).add(client.id);
874
+ client.join(`user:${payload.id}`);
875
+ } catch {
876
+ client.disconnect();
877
+ }
878
+ }
879
+ handleDisconnect(client) {
880
+ const userId = client.data.userId;
881
+ if (userId) {
882
+ const sockets = this.connectedUsers.get(userId);
883
+ sockets?.delete(client.id);
884
+ if (sockets?.size === 0) {
885
+ this.connectedUsers.delete(userId);
886
+ }
887
+ }
888
+ }
889
+ handleJoinBoard(client, data) {
890
+ if (data?.boardId) {
891
+ client.join(`board:${data.boardId}`);
892
+ }
893
+ }
894
+ handleLeaveBoard(client, data) {
895
+ if (data?.boardId) {
896
+ client.leave(`board:${data.boardId}`);
897
+ }
898
+ }
899
+ emitToBoardRoom(boardId, event) {
900
+ this.server?.to(`board:${boardId}`).emit('board:event', event);
901
+ }
902
+ isUserOnline(userId) {
903
+ return this.connectedUsers.has(userId);
904
+ }
905
+ extractToken(client) {
906
+ const authToken = client.handshake.auth?.token;
907
+ if (authToken) return authToken;
908
+ const queryToken = client.handshake.query?.token;
909
+ if (typeof queryToken === 'string') return queryToken;
910
+ const authHeader = client.handshake.headers?.authorization;
911
+ if (authHeader?.startsWith('Bearer ')) return authHeader.substring(7);
912
+ return null;
913
+ }
914
+ verifyToken(token) {
915
+ try {
916
+ const secret = this.configService.getJwtSecret();
917
+ if (!secret) return null;
918
+ return this.jwtService.verify(token, {
919
+ secret,
920
+ algorithms: [
921
+ 'HS256'
922
+ ]
923
+ });
924
+ } catch {
925
+ return null;
926
+ }
927
+ }
928
+ }
929
+ _ts_decorate([
930
+ WebSocketServer(),
931
+ _ts_metadata("design:type", typeof Server === "undefined" ? Object : Server)
932
+ ], TaskBoardGateway.prototype, "server", void 0);
933
+ _ts_decorate([
934
+ SubscribeMessage('board:join'),
935
+ _ts_param(0, ConnectedSocket()),
936
+ _ts_param(1, MessageBody()),
937
+ _ts_metadata("design:type", Function),
938
+ _ts_metadata("design:paramtypes", [
939
+ typeof Socket === "undefined" ? Object : Socket,
940
+ Object
941
+ ]),
942
+ _ts_metadata("design:returntype", void 0)
943
+ ], TaskBoardGateway.prototype, "handleJoinBoard", null);
944
+ _ts_decorate([
945
+ SubscribeMessage('board:leave'),
946
+ _ts_param(0, ConnectedSocket()),
947
+ _ts_param(1, MessageBody()),
948
+ _ts_metadata("design:type", Function),
949
+ _ts_metadata("design:paramtypes", [
950
+ typeof Socket === "undefined" ? Object : Socket,
951
+ Object
952
+ ]),
953
+ _ts_metadata("design:returntype", void 0)
954
+ ], TaskBoardGateway.prototype, "handleLeaveBoard", null);
955
+ TaskBoardGateway = _ts_decorate([
956
+ WebSocketGateway({
957
+ namespace: '/task-boards',
958
+ cors: {
959
+ origin: envConfig.getOrigins(),
960
+ credentials: true
961
+ }
962
+ }),
963
+ _ts_param(0, (0,common_.Inject)(task_manager_config_service/* .TaskManagerConfigService */.O)),
964
+ _ts_param(1, (0,common_.Inject)(jwt_.JwtService)),
965
+ _ts_metadata("design:type", Function),
966
+ _ts_metadata("design:paramtypes", [
967
+ typeof task_manager_config_service/* .TaskManagerConfigService */.O === "undefined" ? Object : task_manager_config_service/* .TaskManagerConfigService */.O,
968
+ typeof jwt_.JwtService === "undefined" ? Object : jwt_.JwtService
969
+ ])
970
+ ], TaskBoardGateway);
971
+
972
+
973
+ },
974
+ 125(module) {
975
+
976
+ module.exports = __rspack_external__nestjs_jwt_50c0e0ae;
977
+
978
+
979
+ },
980
+
981
+ };