@flusys/nestjs-task-manager 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +245 -0
  2. package/cjs/config/index.js +19 -0
  3. package/cjs/config/message-keys.js +92 -0
  4. package/cjs/config/task-manager.constants.js +11 -0
  5. package/cjs/controllers/index.js +22 -0
  6. package/cjs/controllers/task-board.controller.js +219 -0
  7. package/cjs/controllers/task-comment.controller.js +103 -0
  8. package/cjs/controllers/task-label.controller.js +112 -0
  9. package/cjs/controllers/task-list.controller.js +158 -0
  10. package/cjs/controllers/task.controller.js +199 -0
  11. package/cjs/docs/index.js +18 -0
  12. package/cjs/docs/task-manager-swagger.config.js +43 -0
  13. package/cjs/dtos/index.js +22 -0
  14. package/cjs/dtos/task-board.dto.js +310 -0
  15. package/cjs/dtos/task-comment.dto.js +131 -0
  16. package/cjs/dtos/task-label.dto.js +120 -0
  17. package/cjs/dtos/task-list.dto.js +198 -0
  18. package/cjs/dtos/task.dto.js +367 -0
  19. package/cjs/entities/index.js +72 -0
  20. package/cjs/entities/task-activity.entity.js +98 -0
  21. package/cjs/entities/task-assignee.entity.js +67 -0
  22. package/cjs/entities/task-board-member.entity.js +94 -0
  23. package/cjs/entities/task-board-with-company.entity.js +57 -0
  24. package/cjs/entities/task-board.entity.js +88 -0
  25. package/cjs/entities/task-comment.entity.js +80 -0
  26. package/cjs/entities/task-label.entity.js +72 -0
  27. package/cjs/entities/task-list.entity.js +104 -0
  28. package/cjs/entities/task-task-label.entity.js +67 -0
  29. package/cjs/entities/task.entity.js +151 -0
  30. package/cjs/gateways/index.js +18 -0
  31. package/cjs/gateways/task-board.gateway.js +199 -0
  32. package/cjs/index.js +26 -0
  33. package/cjs/interfaces/index.js +19 -0
  34. package/cjs/interfaces/task-manager-module.interface.js +4 -0
  35. package/cjs/interfaces/task.interface.js +4 -0
  36. package/cjs/modules/index.js +18 -0
  37. package/cjs/modules/task-manager.module.js +131 -0
  38. package/cjs/services/index.js +25 -0
  39. package/cjs/services/task-activity.service.js +76 -0
  40. package/cjs/services/task-board.service.js +235 -0
  41. package/cjs/services/task-comment.service.js +103 -0
  42. package/cjs/services/task-label.service.js +97 -0
  43. package/cjs/services/task-list.service.js +115 -0
  44. package/cjs/services/task-manager-config.service.js +69 -0
  45. package/cjs/services/task-manager-datasource.provider.js +84 -0
  46. package/cjs/services/task.service.js +359 -0
  47. package/config/index.d.ts +2 -0
  48. package/config/message-keys.d.ts +65 -0
  49. package/config/task-manager.constants.d.ts +1 -0
  50. package/controllers/index.d.ts +5 -0
  51. package/controllers/task-board.controller.d.ts +27 -0
  52. package/controllers/task-comment.controller.d.ts +22 -0
  53. package/controllers/task-label.controller.d.ts +22 -0
  54. package/controllers/task-list.controller.d.ts +26 -0
  55. package/controllers/task.controller.d.ts +28 -0
  56. package/docs/index.d.ts +1 -0
  57. package/docs/task-manager-swagger.config.d.ts +2 -0
  58. package/dtos/index.d.ts +5 -0
  59. package/dtos/task-board.dto.d.ts +44 -0
  60. package/dtos/task-comment.dto.d.ts +16 -0
  61. package/dtos/task-label.dto.d.ts +16 -0
  62. package/dtos/task-list.dto.d.ts +26 -0
  63. package/dtos/task.dto.d.ts +48 -0
  64. package/entities/index.d.ts +22 -0
  65. package/entities/task-activity.entity.d.ts +9 -0
  66. package/entities/task-assignee.entity.d.ts +5 -0
  67. package/entities/task-board-member.entity.d.ts +12 -0
  68. package/entities/task-board-with-company.entity.d.ts +4 -0
  69. package/entities/task-board.entity.d.ts +8 -0
  70. package/entities/task-comment.entity.d.ts +7 -0
  71. package/entities/task-label.entity.d.ts +6 -0
  72. package/entities/task-list.entity.d.ts +9 -0
  73. package/entities/task-task-label.entity.d.ts +5 -0
  74. package/entities/task.entity.d.ts +23 -0
  75. package/fesm/config/index.js +2 -0
  76. package/fesm/config/message-keys.js +65 -0
  77. package/fesm/config/task-manager.constants.js +1 -0
  78. package/fesm/controllers/index.js +5 -0
  79. package/fesm/controllers/task-board.controller.js +209 -0
  80. package/fesm/controllers/task-comment.controller.js +93 -0
  81. package/fesm/controllers/task-label.controller.js +102 -0
  82. package/fesm/controllers/task-list.controller.js +148 -0
  83. package/fesm/controllers/task.controller.js +189 -0
  84. package/fesm/docs/index.js +1 -0
  85. package/fesm/docs/task-manager-swagger.config.js +33 -0
  86. package/fesm/dtos/index.js +5 -0
  87. package/fesm/dtos/task-board.dto.js +277 -0
  88. package/fesm/dtos/task-comment.dto.js +110 -0
  89. package/fesm/dtos/task-label.dto.js +99 -0
  90. package/fesm/dtos/task-list.dto.js +174 -0
  91. package/fesm/dtos/task.dto.js +337 -0
  92. package/fesm/entities/index.js +46 -0
  93. package/fesm/entities/task-activity.entity.js +88 -0
  94. package/fesm/entities/task-assignee.entity.js +57 -0
  95. package/fesm/entities/task-board-member.entity.js +76 -0
  96. package/fesm/entities/task-board-with-company.entity.js +47 -0
  97. package/fesm/entities/task-board.entity.js +78 -0
  98. package/fesm/entities/task-comment.entity.js +70 -0
  99. package/fesm/entities/task-label.entity.js +62 -0
  100. package/fesm/entities/task-list.entity.js +94 -0
  101. package/fesm/entities/task-task-label.entity.js +57 -0
  102. package/fesm/entities/task.entity.js +133 -0
  103. package/fesm/gateways/index.js +1 -0
  104. package/fesm/gateways/task-board.gateway.js +148 -0
  105. package/fesm/index.js +9 -0
  106. package/fesm/interfaces/index.js +2 -0
  107. package/fesm/interfaces/task-manager-module.interface.js +1 -0
  108. package/fesm/interfaces/task.interface.js +1 -0
  109. package/fesm/modules/index.js +1 -0
  110. package/fesm/modules/task-manager.module.js +121 -0
  111. package/fesm/services/index.js +8 -0
  112. package/fesm/services/task-activity.service.js +66 -0
  113. package/fesm/services/task-board.service.js +225 -0
  114. package/fesm/services/task-comment.service.js +93 -0
  115. package/fesm/services/task-label.service.js +87 -0
  116. package/fesm/services/task-list.service.js +105 -0
  117. package/fesm/services/task-manager-config.service.js +59 -0
  118. package/fesm/services/task-manager-datasource.provider.js +74 -0
  119. package/fesm/services/task.service.js +349 -0
  120. package/gateways/index.d.ts +1 -0
  121. package/gateways/task-board.gateway.d.ts +22 -0
  122. package/index.d.ts +9 -0
  123. package/interfaces/index.d.ts +2 -0
  124. package/interfaces/task-manager-module.interface.d.ts +19 -0
  125. package/interfaces/task.interface.d.ts +52 -0
  126. package/modules/index.d.ts +1 -0
  127. package/modules/task-manager.module.d.ts +8 -0
  128. package/package.json +91 -0
  129. package/services/index.d.ts +8 -0
  130. package/services/task-activity.service.d.ts +8 -0
  131. package/services/task-board.service.d.ts +32 -0
  132. package/services/task-comment.service.d.ts +18 -0
  133. package/services/task-label.service.d.ts +18 -0
  134. package/services/task-list.service.d.ts +19 -0
  135. package/services/task-manager-config.service.d.ts +12 -0
  136. package/services/task-manager-datasource.provider.d.ts +18 -0
  137. package/services/task.service.d.ts +44 -0
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get AddBoardMemberDto () {
13
+ return AddBoardMemberDto;
14
+ },
15
+ get CreateTaskBoardDto () {
16
+ return CreateTaskBoardDto;
17
+ },
18
+ get GetBoardMembersDto () {
19
+ return GetBoardMembersDto;
20
+ },
21
+ get RemoveBoardMemberDto () {
22
+ return RemoveBoardMemberDto;
23
+ },
24
+ get TaskBoardMemberResponseDto () {
25
+ return TaskBoardMemberResponseDto;
26
+ },
27
+ get TaskBoardResponseDto () {
28
+ return TaskBoardResponseDto;
29
+ },
30
+ get UpdateTaskBoardDto () {
31
+ return UpdateTaskBoardDto;
32
+ }
33
+ });
34
+ const _swagger = require("@nestjs/swagger");
35
+ const _classtransformer = require("class-transformer");
36
+ const _classvalidator = require("class-validator");
37
+ const _dtos = require("@flusys/nestjs-shared/dtos");
38
+ const _taskboardmemberentity = require("../entities/task-board-member.entity");
39
+ function _define_property(obj, key, value) {
40
+ if (key in obj) {
41
+ Object.defineProperty(obj, key, {
42
+ value: value,
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true
46
+ });
47
+ } else {
48
+ obj[key] = value;
49
+ }
50
+ return obj;
51
+ }
52
+ function _ts_decorate(decorators, target, key, desc) {
53
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
54
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
55
+ 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;
56
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
57
+ }
58
+ function _ts_metadata(k, v) {
59
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
60
+ }
61
+ let CreateTaskBoardDto = class CreateTaskBoardDto {
62
+ constructor(){
63
+ _define_property(this, "name", void 0);
64
+ _define_property(this, "description", void 0);
65
+ _define_property(this, "color", void 0);
66
+ _define_property(this, "memberIds", void 0);
67
+ }
68
+ };
69
+ _ts_decorate([
70
+ (0, _swagger.ApiProperty)({
71
+ description: 'Board name',
72
+ maxLength: 255
73
+ }),
74
+ (0, _classvalidator.IsNotEmpty)(),
75
+ (0, _classvalidator.IsString)(),
76
+ (0, _classvalidator.MaxLength)(255),
77
+ _ts_metadata("design:type", String)
78
+ ], CreateTaskBoardDto.prototype, "name", void 0);
79
+ _ts_decorate([
80
+ (0, _swagger.ApiPropertyOptional)({
81
+ description: 'Board description'
82
+ }),
83
+ (0, _classvalidator.IsOptional)(),
84
+ (0, _classvalidator.IsString)(),
85
+ _ts_metadata("design:type", String)
86
+ ], CreateTaskBoardDto.prototype, "description", void 0);
87
+ _ts_decorate([
88
+ (0, _swagger.ApiPropertyOptional)({
89
+ description: 'Board color hex',
90
+ example: '#3B82F6',
91
+ default: '#3B82F6'
92
+ }),
93
+ (0, _classvalidator.IsOptional)(),
94
+ (0, _classvalidator.IsString)(),
95
+ (0, _classvalidator.MaxLength)(7),
96
+ _ts_metadata("design:type", String)
97
+ ], CreateTaskBoardDto.prototype, "color", void 0);
98
+ _ts_decorate([
99
+ (0, _swagger.ApiPropertyOptional)({
100
+ description: 'Initial member user IDs',
101
+ type: [
102
+ String
103
+ ]
104
+ }),
105
+ (0, _classvalidator.IsOptional)(),
106
+ (0, _classvalidator.IsUUID)('4', {
107
+ each: true
108
+ }),
109
+ _ts_metadata("design:type", Array)
110
+ ], CreateTaskBoardDto.prototype, "memberIds", void 0);
111
+ let UpdateTaskBoardDto = class UpdateTaskBoardDto extends (0, _swagger.PartialType)(CreateTaskBoardDto) {
112
+ constructor(...args){
113
+ super(...args), _define_property(this, "id", void 0), _define_property(this, "isActive", void 0);
114
+ }
115
+ };
116
+ _ts_decorate([
117
+ (0, _swagger.ApiProperty)(),
118
+ (0, _classvalidator.IsUUID)(),
119
+ _ts_metadata("design:type", String)
120
+ ], UpdateTaskBoardDto.prototype, "id", void 0);
121
+ _ts_decorate([
122
+ (0, _swagger.ApiPropertyOptional)(),
123
+ (0, _classvalidator.IsOptional)(),
124
+ (0, _classvalidator.IsBoolean)(),
125
+ _ts_metadata("design:type", Boolean)
126
+ ], UpdateTaskBoardDto.prototype, "isActive", void 0);
127
+ let AddBoardMemberDto = class AddBoardMemberDto {
128
+ constructor(){
129
+ _define_property(this, "boardId", void 0);
130
+ _define_property(this, "userId", void 0);
131
+ _define_property(this, "role", void 0);
132
+ }
133
+ };
134
+ _ts_decorate([
135
+ (0, _swagger.ApiProperty)(),
136
+ (0, _classvalidator.IsUUID)(),
137
+ _ts_metadata("design:type", String)
138
+ ], AddBoardMemberDto.prototype, "boardId", void 0);
139
+ _ts_decorate([
140
+ (0, _swagger.ApiProperty)(),
141
+ (0, _classvalidator.IsUUID)(),
142
+ _ts_metadata("design:type", String)
143
+ ], AddBoardMemberDto.prototype, "userId", void 0);
144
+ _ts_decorate([
145
+ (0, _swagger.ApiPropertyOptional)({
146
+ enum: _taskboardmemberentity.BoardMemberRole,
147
+ default: _taskboardmemberentity.BoardMemberRole.MEMBER
148
+ }),
149
+ (0, _classvalidator.IsOptional)(),
150
+ (0, _classvalidator.IsEnum)(_taskboardmemberentity.BoardMemberRole),
151
+ _ts_metadata("design:type", typeof _taskboardmemberentity.BoardMemberRole === "undefined" ? Object : _taskboardmemberentity.BoardMemberRole)
152
+ ], AddBoardMemberDto.prototype, "role", void 0);
153
+ let RemoveBoardMemberDto = class RemoveBoardMemberDto {
154
+ constructor(){
155
+ _define_property(this, "boardId", void 0);
156
+ _define_property(this, "userId", void 0);
157
+ }
158
+ };
159
+ _ts_decorate([
160
+ (0, _swagger.ApiProperty)(),
161
+ (0, _classvalidator.IsUUID)(),
162
+ _ts_metadata("design:type", String)
163
+ ], RemoveBoardMemberDto.prototype, "boardId", void 0);
164
+ _ts_decorate([
165
+ (0, _swagger.ApiProperty)(),
166
+ (0, _classvalidator.IsUUID)(),
167
+ _ts_metadata("design:type", String)
168
+ ], RemoveBoardMemberDto.prototype, "userId", void 0);
169
+ let GetBoardMembersDto = class GetBoardMembersDto {
170
+ constructor(){
171
+ _define_property(this, "boardId", void 0);
172
+ }
173
+ };
174
+ _ts_decorate([
175
+ (0, _swagger.ApiProperty)(),
176
+ (0, _classvalidator.IsUUID)(),
177
+ _ts_metadata("design:type", String)
178
+ ], GetBoardMembersDto.prototype, "boardId", void 0);
179
+ let TaskBoardResponseDto = class TaskBoardResponseDto extends _dtos.IdentityResponseDto {
180
+ constructor(...args){
181
+ super(...args), _define_property(this, "name", void 0), _define_property(this, "description", void 0), _define_property(this, "color", void 0), _define_property(this, "isActive", void 0), _define_property(this, "settings", void 0), _define_property(this, "companyId", void 0), _define_property(this, "totalMembers", void 0), _define_property(this, "totalLists", void 0), _define_property(this, "totalTasks", void 0);
182
+ }
183
+ };
184
+ _ts_decorate([
185
+ (0, _classtransformer.Expose)(),
186
+ (0, _swagger.ApiProperty)({
187
+ type: String,
188
+ description: 'Board name',
189
+ maxLength: 255
190
+ }),
191
+ _ts_metadata("design:type", String)
192
+ ], TaskBoardResponseDto.prototype, "name", void 0);
193
+ _ts_decorate([
194
+ (0, _classtransformer.Expose)(),
195
+ (0, _swagger.ApiPropertyOptional)({
196
+ type: String,
197
+ description: 'Board description',
198
+ nullable: true
199
+ }),
200
+ _ts_metadata("design:type", Object)
201
+ ], TaskBoardResponseDto.prototype, "description", void 0);
202
+ _ts_decorate([
203
+ (0, _classtransformer.Expose)(),
204
+ (0, _swagger.ApiProperty)({
205
+ type: String,
206
+ description: 'Board color hex',
207
+ example: '#3B82F6'
208
+ }),
209
+ _ts_metadata("design:type", String)
210
+ ], TaskBoardResponseDto.prototype, "color", void 0);
211
+ _ts_decorate([
212
+ (0, _classtransformer.Expose)(),
213
+ (0, _swagger.ApiProperty)({
214
+ type: Boolean,
215
+ description: 'Whether the board is active'
216
+ }),
217
+ _ts_metadata("design:type", Boolean)
218
+ ], TaskBoardResponseDto.prototype, "isActive", void 0);
219
+ _ts_decorate([
220
+ (0, _classtransformer.Expose)(),
221
+ (0, _swagger.ApiPropertyOptional)({
222
+ type: Object,
223
+ description: 'Board settings JSON',
224
+ nullable: true
225
+ }),
226
+ _ts_metadata("design:type", Object)
227
+ ], TaskBoardResponseDto.prototype, "settings", void 0);
228
+ _ts_decorate([
229
+ (0, _classtransformer.Expose)(),
230
+ (0, _swagger.ApiPropertyOptional)({
231
+ type: String,
232
+ format: 'uuid',
233
+ description: 'Company ID',
234
+ nullable: true
235
+ }),
236
+ _ts_metadata("design:type", Object)
237
+ ], TaskBoardResponseDto.prototype, "companyId", void 0);
238
+ _ts_decorate([
239
+ (0, _classtransformer.Expose)(),
240
+ (0, _swagger.ApiPropertyOptional)({
241
+ type: Number,
242
+ description: 'Total number of board members'
243
+ }),
244
+ _ts_metadata("design:type", Number)
245
+ ], TaskBoardResponseDto.prototype, "totalMembers", void 0);
246
+ _ts_decorate([
247
+ (0, _classtransformer.Expose)(),
248
+ (0, _swagger.ApiPropertyOptional)({
249
+ type: Number,
250
+ description: 'Total number of task lists'
251
+ }),
252
+ _ts_metadata("design:type", Number)
253
+ ], TaskBoardResponseDto.prototype, "totalLists", void 0);
254
+ _ts_decorate([
255
+ (0, _classtransformer.Expose)(),
256
+ (0, _swagger.ApiPropertyOptional)({
257
+ type: Number,
258
+ description: 'Total number of tasks'
259
+ }),
260
+ _ts_metadata("design:type", Number)
261
+ ], TaskBoardResponseDto.prototype, "totalTasks", void 0);
262
+ let TaskBoardMemberResponseDto = class TaskBoardMemberResponseDto extends _dtos.IdentityResponseDto {
263
+ constructor(...args){
264
+ super(...args), _define_property(this, "boardId", void 0), _define_property(this, "userId", void 0), _define_property(this, "role", void 0), _define_property(this, "userName", void 0), _define_property(this, "userEmail", void 0);
265
+ }
266
+ };
267
+ _ts_decorate([
268
+ (0, _classtransformer.Expose)(),
269
+ (0, _swagger.ApiProperty)({
270
+ type: String,
271
+ format: 'uuid',
272
+ description: 'Board ID'
273
+ }),
274
+ _ts_metadata("design:type", String)
275
+ ], TaskBoardMemberResponseDto.prototype, "boardId", void 0);
276
+ _ts_decorate([
277
+ (0, _classtransformer.Expose)(),
278
+ (0, _swagger.ApiProperty)({
279
+ type: String,
280
+ format: 'uuid',
281
+ description: 'User ID'
282
+ }),
283
+ _ts_metadata("design:type", String)
284
+ ], TaskBoardMemberResponseDto.prototype, "userId", void 0);
285
+ _ts_decorate([
286
+ (0, _classtransformer.Expose)(),
287
+ (0, _swagger.ApiProperty)({
288
+ enum: _taskboardmemberentity.BoardMemberRole,
289
+ description: 'Member role on the board'
290
+ }),
291
+ _ts_metadata("design:type", typeof _taskboardmemberentity.BoardMemberRole === "undefined" ? Object : _taskboardmemberentity.BoardMemberRole)
292
+ ], TaskBoardMemberResponseDto.prototype, "role", void 0);
293
+ _ts_decorate([
294
+ (0, _classtransformer.Expose)(),
295
+ (0, _swagger.ApiPropertyOptional)({
296
+ type: String,
297
+ description: 'User display name',
298
+ nullable: true
299
+ }),
300
+ _ts_metadata("design:type", Object)
301
+ ], TaskBoardMemberResponseDto.prototype, "userName", void 0);
302
+ _ts_decorate([
303
+ (0, _classtransformer.Expose)(),
304
+ (0, _swagger.ApiPropertyOptional)({
305
+ type: String,
306
+ description: 'User email',
307
+ nullable: true
308
+ }),
309
+ _ts_metadata("design:type", Object)
310
+ ], TaskBoardMemberResponseDto.prototype, "userEmail", void 0);
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get CreateTaskCommentDto () {
13
+ return CreateTaskCommentDto;
14
+ },
15
+ get TaskCommentResponseDto () {
16
+ return TaskCommentResponseDto;
17
+ },
18
+ get UpdateTaskCommentDto () {
19
+ return UpdateTaskCommentDto;
20
+ }
21
+ });
22
+ const _swagger = require("@nestjs/swagger");
23
+ const _classtransformer = require("class-transformer");
24
+ const _classvalidator = require("class-validator");
25
+ const _dtos = require("@flusys/nestjs-shared/dtos");
26
+ function _define_property(obj, key, value) {
27
+ if (key in obj) {
28
+ Object.defineProperty(obj, key, {
29
+ value: value,
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true
33
+ });
34
+ } else {
35
+ obj[key] = value;
36
+ }
37
+ return obj;
38
+ }
39
+ function _ts_decorate(decorators, target, key, desc) {
40
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
41
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
42
+ 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;
43
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
44
+ }
45
+ function _ts_metadata(k, v) {
46
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
47
+ }
48
+ let CreateTaskCommentDto = class CreateTaskCommentDto {
49
+ constructor(){
50
+ _define_property(this, "taskId", void 0);
51
+ _define_property(this, "content", void 0);
52
+ _define_property(this, "parentCommentId", void 0);
53
+ }
54
+ };
55
+ _ts_decorate([
56
+ (0, _swagger.ApiProperty)(),
57
+ (0, _classvalidator.IsUUID)(),
58
+ _ts_metadata("design:type", String)
59
+ ], CreateTaskCommentDto.prototype, "taskId", void 0);
60
+ _ts_decorate([
61
+ (0, _swagger.ApiProperty)(),
62
+ (0, _classvalidator.IsNotEmpty)(),
63
+ (0, _classvalidator.IsString)(),
64
+ _ts_metadata("design:type", String)
65
+ ], CreateTaskCommentDto.prototype, "content", void 0);
66
+ _ts_decorate([
67
+ (0, _swagger.ApiPropertyOptional)({
68
+ description: 'Reply to comment ID'
69
+ }),
70
+ (0, _classvalidator.IsOptional)(),
71
+ (0, _classvalidator.IsUUID)(),
72
+ _ts_metadata("design:type", Object)
73
+ ], CreateTaskCommentDto.prototype, "parentCommentId", void 0);
74
+ let UpdateTaskCommentDto = class UpdateTaskCommentDto {
75
+ constructor(){
76
+ _define_property(this, "id", void 0);
77
+ _define_property(this, "content", void 0);
78
+ }
79
+ };
80
+ _ts_decorate([
81
+ (0, _swagger.ApiProperty)(),
82
+ (0, _classvalidator.IsUUID)(),
83
+ _ts_metadata("design:type", String)
84
+ ], UpdateTaskCommentDto.prototype, "id", void 0);
85
+ _ts_decorate([
86
+ (0, _swagger.ApiProperty)(),
87
+ (0, _classvalidator.IsNotEmpty)(),
88
+ (0, _classvalidator.IsString)(),
89
+ _ts_metadata("design:type", String)
90
+ ], UpdateTaskCommentDto.prototype, "content", void 0);
91
+ let TaskCommentResponseDto = class TaskCommentResponseDto extends _dtos.IdentityResponseDto {
92
+ constructor(...args){
93
+ super(...args), _define_property(this, "taskId", void 0), _define_property(this, "userId", void 0), _define_property(this, "content", void 0), _define_property(this, "parentCommentId", void 0);
94
+ }
95
+ };
96
+ _ts_decorate([
97
+ (0, _classtransformer.Expose)(),
98
+ (0, _swagger.ApiProperty)({
99
+ type: String,
100
+ format: 'uuid',
101
+ description: 'Task ID'
102
+ }),
103
+ _ts_metadata("design:type", String)
104
+ ], TaskCommentResponseDto.prototype, "taskId", void 0);
105
+ _ts_decorate([
106
+ (0, _classtransformer.Expose)(),
107
+ (0, _swagger.ApiProperty)({
108
+ type: String,
109
+ format: 'uuid',
110
+ description: 'Author user ID'
111
+ }),
112
+ _ts_metadata("design:type", String)
113
+ ], TaskCommentResponseDto.prototype, "userId", void 0);
114
+ _ts_decorate([
115
+ (0, _classtransformer.Expose)(),
116
+ (0, _swagger.ApiProperty)({
117
+ type: String,
118
+ description: 'Comment content'
119
+ }),
120
+ _ts_metadata("design:type", String)
121
+ ], TaskCommentResponseDto.prototype, "content", void 0);
122
+ _ts_decorate([
123
+ (0, _classtransformer.Expose)(),
124
+ (0, _swagger.ApiPropertyOptional)({
125
+ type: String,
126
+ format: 'uuid',
127
+ description: 'Parent comment ID for replies',
128
+ nullable: true
129
+ }),
130
+ _ts_metadata("design:type", Object)
131
+ ], TaskCommentResponseDto.prototype, "parentCommentId", void 0);
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get CreateTaskLabelDto () {
13
+ return CreateTaskLabelDto;
14
+ },
15
+ get TaskLabelResponseDto () {
16
+ return TaskLabelResponseDto;
17
+ },
18
+ get UpdateTaskLabelDto () {
19
+ return UpdateTaskLabelDto;
20
+ }
21
+ });
22
+ const _swagger = require("@nestjs/swagger");
23
+ const _classtransformer = require("class-transformer");
24
+ const _classvalidator = require("class-validator");
25
+ const _dtos = require("@flusys/nestjs-shared/dtos");
26
+ function _define_property(obj, key, value) {
27
+ if (key in obj) {
28
+ Object.defineProperty(obj, key, {
29
+ value: value,
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true
33
+ });
34
+ } else {
35
+ obj[key] = value;
36
+ }
37
+ return obj;
38
+ }
39
+ function _ts_decorate(decorators, target, key, desc) {
40
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
41
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
42
+ 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;
43
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
44
+ }
45
+ function _ts_metadata(k, v) {
46
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
47
+ }
48
+ let CreateTaskLabelDto = class CreateTaskLabelDto {
49
+ constructor(){
50
+ _define_property(this, "boardId", void 0);
51
+ _define_property(this, "name", void 0);
52
+ _define_property(this, "color", void 0);
53
+ }
54
+ };
55
+ _ts_decorate([
56
+ (0, _swagger.ApiProperty)(),
57
+ (0, _classvalidator.IsUUID)(),
58
+ _ts_metadata("design:type", String)
59
+ ], CreateTaskLabelDto.prototype, "boardId", void 0);
60
+ _ts_decorate([
61
+ (0, _swagger.ApiProperty)({
62
+ maxLength: 100
63
+ }),
64
+ (0, _classvalidator.IsNotEmpty)(),
65
+ (0, _classvalidator.IsString)(),
66
+ (0, _classvalidator.MaxLength)(100),
67
+ _ts_metadata("design:type", String)
68
+ ], CreateTaskLabelDto.prototype, "name", void 0);
69
+ _ts_decorate([
70
+ (0, _swagger.ApiPropertyOptional)({
71
+ example: '#10B981'
72
+ }),
73
+ (0, _classvalidator.IsOptional)(),
74
+ (0, _classvalidator.IsString)(),
75
+ (0, _classvalidator.MaxLength)(7),
76
+ _ts_metadata("design:type", String)
77
+ ], CreateTaskLabelDto.prototype, "color", void 0);
78
+ let UpdateTaskLabelDto = class UpdateTaskLabelDto extends (0, _swagger.PartialType)(CreateTaskLabelDto) {
79
+ constructor(...args){
80
+ super(...args), _define_property(this, "id", void 0);
81
+ }
82
+ };
83
+ _ts_decorate([
84
+ (0, _swagger.ApiProperty)(),
85
+ (0, _classvalidator.IsUUID)(),
86
+ _ts_metadata("design:type", String)
87
+ ], UpdateTaskLabelDto.prototype, "id", void 0);
88
+ let TaskLabelResponseDto = class TaskLabelResponseDto extends _dtos.IdentityResponseDto {
89
+ constructor(...args){
90
+ super(...args), _define_property(this, "boardId", void 0), _define_property(this, "name", void 0), _define_property(this, "color", void 0);
91
+ }
92
+ };
93
+ _ts_decorate([
94
+ (0, _classtransformer.Expose)(),
95
+ (0, _swagger.ApiProperty)({
96
+ type: String,
97
+ format: 'uuid',
98
+ description: 'Board ID'
99
+ }),
100
+ _ts_metadata("design:type", String)
101
+ ], TaskLabelResponseDto.prototype, "boardId", void 0);
102
+ _ts_decorate([
103
+ (0, _classtransformer.Expose)(),
104
+ (0, _swagger.ApiProperty)({
105
+ type: String,
106
+ description: 'Label name',
107
+ maxLength: 100
108
+ }),
109
+ _ts_metadata("design:type", String)
110
+ ], TaskLabelResponseDto.prototype, "name", void 0);
111
+ _ts_decorate([
112
+ (0, _classtransformer.Expose)(),
113
+ (0, _swagger.ApiPropertyOptional)({
114
+ type: String,
115
+ description: 'Label color hex',
116
+ example: '#10B981',
117
+ nullable: true
118
+ }),
119
+ _ts_metadata("design:type", String)
120
+ ], TaskLabelResponseDto.prototype, "color", void 0);