@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,198 @@
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 CreateTaskListDto () {
13
+ return CreateTaskListDto;
14
+ },
15
+ get ReorderTaskListsDto () {
16
+ return ReorderTaskListsDto;
17
+ },
18
+ get TaskListResponseDto () {
19
+ return TaskListResponseDto;
20
+ },
21
+ get UpdateTaskListDto () {
22
+ return UpdateTaskListDto;
23
+ }
24
+ });
25
+ const _swagger = require("@nestjs/swagger");
26
+ const _classtransformer = require("class-transformer");
27
+ const _classvalidator = require("class-validator");
28
+ const _dtos = require("@flusys/nestjs-shared/dtos");
29
+ function _define_property(obj, key, value) {
30
+ if (key in obj) {
31
+ Object.defineProperty(obj, key, {
32
+ value: value,
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true
36
+ });
37
+ } else {
38
+ obj[key] = value;
39
+ }
40
+ return obj;
41
+ }
42
+ function _ts_decorate(decorators, target, key, desc) {
43
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
44
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
45
+ 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;
46
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
47
+ }
48
+ function _ts_metadata(k, v) {
49
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
50
+ }
51
+ let CreateTaskListDto = class CreateTaskListDto {
52
+ constructor(){
53
+ _define_property(this, "boardId", void 0);
54
+ _define_property(this, "name", void 0);
55
+ _define_property(this, "color", void 0);
56
+ _define_property(this, "position", void 0);
57
+ _define_property(this, "isDoneList", void 0);
58
+ }
59
+ };
60
+ _ts_decorate([
61
+ (0, _swagger.ApiProperty)(),
62
+ (0, _classvalidator.IsUUID)(),
63
+ _ts_metadata("design:type", String)
64
+ ], CreateTaskListDto.prototype, "boardId", void 0);
65
+ _ts_decorate([
66
+ (0, _swagger.ApiProperty)({
67
+ maxLength: 255
68
+ }),
69
+ (0, _classvalidator.IsNotEmpty)(),
70
+ (0, _classvalidator.IsString)(),
71
+ (0, _classvalidator.MaxLength)(255),
72
+ _ts_metadata("design:type", String)
73
+ ], CreateTaskListDto.prototype, "name", void 0);
74
+ _ts_decorate([
75
+ (0, _swagger.ApiPropertyOptional)({
76
+ example: '#6B7280'
77
+ }),
78
+ (0, _classvalidator.IsOptional)(),
79
+ (0, _classvalidator.IsString)(),
80
+ (0, _classvalidator.MaxLength)(7),
81
+ _ts_metadata("design:type", String)
82
+ ], CreateTaskListDto.prototype, "color", void 0);
83
+ _ts_decorate([
84
+ (0, _swagger.ApiPropertyOptional)({
85
+ default: 0
86
+ }),
87
+ (0, _classvalidator.IsOptional)(),
88
+ (0, _classvalidator.IsInt)(),
89
+ (0, _classvalidator.Min)(0),
90
+ _ts_metadata("design:type", Number)
91
+ ], CreateTaskListDto.prototype, "position", void 0);
92
+ _ts_decorate([
93
+ (0, _swagger.ApiPropertyOptional)({
94
+ description: 'Mark this column as the final/done state',
95
+ default: false
96
+ }),
97
+ (0, _classvalidator.IsOptional)(),
98
+ (0, _classvalidator.IsBoolean)(),
99
+ _ts_metadata("design:type", Boolean)
100
+ ], CreateTaskListDto.prototype, "isDoneList", void 0);
101
+ let UpdateTaskListDto = class UpdateTaskListDto extends (0, _swagger.PartialType)(CreateTaskListDto) {
102
+ constructor(...args){
103
+ super(...args), _define_property(this, "id", void 0), _define_property(this, "isActive", void 0);
104
+ }
105
+ };
106
+ _ts_decorate([
107
+ (0, _swagger.ApiProperty)(),
108
+ (0, _classvalidator.IsUUID)(),
109
+ _ts_metadata("design:type", String)
110
+ ], UpdateTaskListDto.prototype, "id", void 0);
111
+ _ts_decorate([
112
+ (0, _swagger.ApiPropertyOptional)(),
113
+ (0, _classvalidator.IsOptional)(),
114
+ (0, _classvalidator.IsBoolean)(),
115
+ _ts_metadata("design:type", Boolean)
116
+ ], UpdateTaskListDto.prototype, "isActive", void 0);
117
+ let ReorderTaskListsDto = class ReorderTaskListsDto {
118
+ constructor(){
119
+ _define_property(this, "boardId", void 0);
120
+ _define_property(this, "orderedIds", void 0);
121
+ }
122
+ };
123
+ _ts_decorate([
124
+ (0, _swagger.ApiProperty)(),
125
+ (0, _classvalidator.IsUUID)(),
126
+ _ts_metadata("design:type", String)
127
+ ], ReorderTaskListsDto.prototype, "boardId", void 0);
128
+ _ts_decorate([
129
+ (0, _swagger.ApiProperty)({
130
+ description: 'Ordered list of list IDs',
131
+ type: [
132
+ String
133
+ ]
134
+ }),
135
+ (0, _classvalidator.IsArray)(),
136
+ (0, _classvalidator.IsUUID)('4', {
137
+ each: true
138
+ }),
139
+ _ts_metadata("design:type", Array)
140
+ ], ReorderTaskListsDto.prototype, "orderedIds", void 0);
141
+ let TaskListResponseDto = class TaskListResponseDto extends _dtos.IdentityResponseDto {
142
+ constructor(...args){
143
+ super(...args), _define_property(this, "boardId", void 0), _define_property(this, "name", void 0), _define_property(this, "color", void 0), _define_property(this, "position", void 0), _define_property(this, "isActive", void 0), _define_property(this, "isDoneList", void 0);
144
+ }
145
+ };
146
+ _ts_decorate([
147
+ (0, _classtransformer.Expose)(),
148
+ (0, _swagger.ApiProperty)({
149
+ type: String,
150
+ format: 'uuid',
151
+ description: 'Board ID'
152
+ }),
153
+ _ts_metadata("design:type", String)
154
+ ], TaskListResponseDto.prototype, "boardId", void 0);
155
+ _ts_decorate([
156
+ (0, _classtransformer.Expose)(),
157
+ (0, _swagger.ApiProperty)({
158
+ type: String,
159
+ description: 'List name',
160
+ maxLength: 255
161
+ }),
162
+ _ts_metadata("design:type", String)
163
+ ], TaskListResponseDto.prototype, "name", void 0);
164
+ _ts_decorate([
165
+ (0, _classtransformer.Expose)(),
166
+ (0, _swagger.ApiPropertyOptional)({
167
+ type: String,
168
+ description: 'List color hex',
169
+ example: '#6B7280',
170
+ nullable: true
171
+ }),
172
+ _ts_metadata("design:type", String)
173
+ ], TaskListResponseDto.prototype, "color", void 0);
174
+ _ts_decorate([
175
+ (0, _classtransformer.Expose)(),
176
+ (0, _swagger.ApiProperty)({
177
+ type: Number,
178
+ description: 'Display order position',
179
+ minimum: 0
180
+ }),
181
+ _ts_metadata("design:type", Number)
182
+ ], TaskListResponseDto.prototype, "position", void 0);
183
+ _ts_decorate([
184
+ (0, _classtransformer.Expose)(),
185
+ (0, _swagger.ApiProperty)({
186
+ type: Boolean,
187
+ description: 'Whether the list is active'
188
+ }),
189
+ _ts_metadata("design:type", Boolean)
190
+ ], TaskListResponseDto.prototype, "isActive", void 0);
191
+ _ts_decorate([
192
+ (0, _classtransformer.Expose)(),
193
+ (0, _swagger.ApiProperty)({
194
+ type: Boolean,
195
+ description: 'Whether this list represents the done/final state'
196
+ }),
197
+ _ts_metadata("design:type", Boolean)
198
+ ], TaskListResponseDto.prototype, "isDoneList", void 0);
@@ -0,0 +1,367 @@
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 AssignTaskDto () {
13
+ return AssignTaskDto;
14
+ },
15
+ get CreateTaskDto () {
16
+ return CreateTaskDto;
17
+ },
18
+ get MoveTaskDto () {
19
+ return MoveTaskDto;
20
+ },
21
+ get TaskAssigneeResponseDto () {
22
+ return TaskAssigneeResponseDto;
23
+ },
24
+ get TaskResponseDto () {
25
+ return TaskResponseDto;
26
+ },
27
+ get UpdateTaskDto () {
28
+ return UpdateTaskDto;
29
+ }
30
+ });
31
+ const _swagger = require("@nestjs/swagger");
32
+ const _classtransformer = require("class-transformer");
33
+ const _dtos = require("@flusys/nestjs-shared/dtos");
34
+ const _classvalidator = require("class-validator");
35
+ const _taskentity = require("../entities/task.entity");
36
+ const _tasklabeldto = require("./task-label.dto");
37
+ function _define_property(obj, key, value) {
38
+ if (key in obj) {
39
+ Object.defineProperty(obj, key, {
40
+ value: value,
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true
44
+ });
45
+ } else {
46
+ obj[key] = value;
47
+ }
48
+ return obj;
49
+ }
50
+ function _ts_decorate(decorators, target, key, desc) {
51
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
52
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
53
+ 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;
54
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
55
+ }
56
+ function _ts_metadata(k, v) {
57
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
58
+ }
59
+ let CreateTaskDto = class CreateTaskDto {
60
+ constructor(){
61
+ _define_property(this, "boardId", void 0);
62
+ _define_property(this, "listId", void 0);
63
+ _define_property(this, "title", void 0);
64
+ _define_property(this, "description", void 0);
65
+ _define_property(this, "priority", void 0);
66
+ _define_property(this, "dueDate", void 0);
67
+ _define_property(this, "assigneeIds", void 0);
68
+ _define_property(this, "parentTaskId", void 0);
69
+ _define_property(this, "estimatedHours", void 0);
70
+ _define_property(this, "labelIds", void 0);
71
+ }
72
+ };
73
+ _ts_decorate([
74
+ (0, _swagger.ApiProperty)(),
75
+ (0, _classvalidator.IsUUID)(),
76
+ _ts_metadata("design:type", String)
77
+ ], CreateTaskDto.prototype, "boardId", void 0);
78
+ _ts_decorate([
79
+ (0, _swagger.ApiProperty)(),
80
+ (0, _classvalidator.IsUUID)(),
81
+ _ts_metadata("design:type", String)
82
+ ], CreateTaskDto.prototype, "listId", void 0);
83
+ _ts_decorate([
84
+ (0, _swagger.ApiProperty)({
85
+ maxLength: 500
86
+ }),
87
+ (0, _classvalidator.IsNotEmpty)(),
88
+ (0, _classvalidator.IsString)(),
89
+ (0, _classvalidator.MaxLength)(500),
90
+ _ts_metadata("design:type", String)
91
+ ], CreateTaskDto.prototype, "title", void 0);
92
+ _ts_decorate([
93
+ (0, _swagger.ApiPropertyOptional)(),
94
+ (0, _classvalidator.IsOptional)(),
95
+ (0, _classvalidator.IsString)(),
96
+ _ts_metadata("design:type", String)
97
+ ], CreateTaskDto.prototype, "description", void 0);
98
+ _ts_decorate([
99
+ (0, _swagger.ApiPropertyOptional)({
100
+ enum: _taskentity.TaskPriority,
101
+ default: _taskentity.TaskPriority.MEDIUM
102
+ }),
103
+ (0, _classvalidator.IsOptional)(),
104
+ (0, _classvalidator.IsEnum)(_taskentity.TaskPriority),
105
+ _ts_metadata("design:type", typeof _taskentity.TaskPriority === "undefined" ? Object : _taskentity.TaskPriority)
106
+ ], CreateTaskDto.prototype, "priority", void 0);
107
+ _ts_decorate([
108
+ (0, _swagger.ApiPropertyOptional)({
109
+ description: 'Due date YYYY-MM-DD'
110
+ }),
111
+ (0, _classvalidator.IsOptional)(),
112
+ (0, _classvalidator.IsString)(),
113
+ (0, _classvalidator.Matches)(/^\d{4}-\d{2}-\d{2}$/, {
114
+ message: 'dueDate must be YYYY-MM-DD'
115
+ }),
116
+ _ts_metadata("design:type", Object)
117
+ ], CreateTaskDto.prototype, "dueDate", void 0);
118
+ _ts_decorate([
119
+ (0, _swagger.ApiPropertyOptional)({
120
+ type: [
121
+ String
122
+ ],
123
+ description: 'Board member user IDs to assign'
124
+ }),
125
+ (0, _classvalidator.IsOptional)(),
126
+ (0, _classvalidator.IsArray)(),
127
+ (0, _classvalidator.IsUUID)('4', {
128
+ each: true
129
+ }),
130
+ _ts_metadata("design:type", Array)
131
+ ], CreateTaskDto.prototype, "assigneeIds", void 0);
132
+ _ts_decorate([
133
+ (0, _swagger.ApiPropertyOptional)(),
134
+ (0, _classvalidator.IsOptional)(),
135
+ (0, _classvalidator.IsUUID)(),
136
+ _ts_metadata("design:type", Object)
137
+ ], CreateTaskDto.prototype, "parentTaskId", void 0);
138
+ _ts_decorate([
139
+ (0, _swagger.ApiPropertyOptional)(),
140
+ (0, _classvalidator.IsOptional)(),
141
+ (0, _classvalidator.Min)(0),
142
+ _ts_metadata("design:type", Object)
143
+ ], CreateTaskDto.prototype, "estimatedHours", void 0);
144
+ _ts_decorate([
145
+ (0, _swagger.ApiPropertyOptional)({
146
+ type: [
147
+ String
148
+ ]
149
+ }),
150
+ (0, _classvalidator.IsOptional)(),
151
+ (0, _classvalidator.IsArray)(),
152
+ (0, _classvalidator.IsUUID)('4', {
153
+ each: true
154
+ }),
155
+ _ts_metadata("design:type", Array)
156
+ ], CreateTaskDto.prototype, "labelIds", void 0);
157
+ let UpdateTaskDto = class UpdateTaskDto extends (0, _swagger.PartialType)(CreateTaskDto) {
158
+ constructor(...args){
159
+ super(...args), _define_property(this, "id", void 0);
160
+ }
161
+ };
162
+ _ts_decorate([
163
+ (0, _swagger.ApiProperty)(),
164
+ (0, _classvalidator.IsUUID)(),
165
+ _ts_metadata("design:type", String)
166
+ ], UpdateTaskDto.prototype, "id", void 0);
167
+ let MoveTaskDto = class MoveTaskDto {
168
+ constructor(){
169
+ _define_property(this, "taskId", void 0);
170
+ _define_property(this, "targetListId", void 0);
171
+ _define_property(this, "position", void 0);
172
+ }
173
+ };
174
+ _ts_decorate([
175
+ (0, _swagger.ApiProperty)(),
176
+ (0, _classvalidator.IsUUID)(),
177
+ _ts_metadata("design:type", String)
178
+ ], MoveTaskDto.prototype, "taskId", void 0);
179
+ _ts_decorate([
180
+ (0, _swagger.ApiProperty)(),
181
+ (0, _classvalidator.IsUUID)(),
182
+ _ts_metadata("design:type", String)
183
+ ], MoveTaskDto.prototype, "targetListId", void 0);
184
+ _ts_decorate([
185
+ (0, _swagger.ApiPropertyOptional)({
186
+ default: 0
187
+ }),
188
+ (0, _classvalidator.IsOptional)(),
189
+ (0, _classvalidator.IsInt)(),
190
+ (0, _classvalidator.Min)(0),
191
+ _ts_metadata("design:type", Number)
192
+ ], MoveTaskDto.prototype, "position", void 0);
193
+ let AssignTaskDto = class AssignTaskDto {
194
+ constructor(){
195
+ _define_property(this, "taskId", void 0);
196
+ _define_property(this, "assigneeIds", void 0);
197
+ }
198
+ };
199
+ _ts_decorate([
200
+ (0, _swagger.ApiProperty)(),
201
+ (0, _classvalidator.IsUUID)(),
202
+ _ts_metadata("design:type", String)
203
+ ], AssignTaskDto.prototype, "taskId", void 0);
204
+ _ts_decorate([
205
+ (0, _swagger.ApiProperty)({
206
+ type: [
207
+ String
208
+ ],
209
+ description: 'User IDs to assign (empty array to unassign all)'
210
+ }),
211
+ (0, _classvalidator.IsArray)(),
212
+ (0, _classvalidator.IsUUID)('4', {
213
+ each: true
214
+ }),
215
+ _ts_metadata("design:type", Array)
216
+ ], AssignTaskDto.prototype, "assigneeIds", void 0);
217
+ let TaskAssigneeResponseDto = class TaskAssigneeResponseDto {
218
+ constructor(){
219
+ _define_property(this, "userId", void 0);
220
+ _define_property(this, "userName", void 0);
221
+ }
222
+ };
223
+ _ts_decorate([
224
+ (0, _classtransformer.Expose)(),
225
+ (0, _swagger.ApiProperty)({
226
+ type: String,
227
+ format: 'uuid'
228
+ }),
229
+ _ts_metadata("design:type", String)
230
+ ], TaskAssigneeResponseDto.prototype, "userId", void 0);
231
+ _ts_decorate([
232
+ (0, _classtransformer.Expose)(),
233
+ (0, _swagger.ApiPropertyOptional)({
234
+ type: String,
235
+ nullable: true
236
+ }),
237
+ _ts_metadata("design:type", Object)
238
+ ], TaskAssigneeResponseDto.prototype, "userName", void 0);
239
+ let TaskResponseDto = class TaskResponseDto extends _dtos.IdentityResponseDto {
240
+ constructor(...args){
241
+ super(...args), _define_property(this, "boardId", void 0), _define_property(this, "listId", void 0), _define_property(this, "title", void 0), _define_property(this, "description", void 0), _define_property(this, "priority", void 0), _define_property(this, "dueDate", void 0), _define_property(this, "position", void 0), _define_property(this, "assignees", void 0), _define_property(this, "reporterId", void 0), _define_property(this, "parentTaskId", void 0), _define_property(this, "estimatedHours", void 0), _define_property(this, "labelIds", void 0), _define_property(this, "labels", void 0);
242
+ }
243
+ };
244
+ _ts_decorate([
245
+ (0, _classtransformer.Expose)(),
246
+ (0, _swagger.ApiProperty)({
247
+ type: String,
248
+ format: 'uuid',
249
+ description: 'Board ID'
250
+ }),
251
+ _ts_metadata("design:type", String)
252
+ ], TaskResponseDto.prototype, "boardId", void 0);
253
+ _ts_decorate([
254
+ (0, _classtransformer.Expose)(),
255
+ (0, _swagger.ApiProperty)({
256
+ type: String,
257
+ format: 'uuid',
258
+ description: 'List/column ID'
259
+ }),
260
+ _ts_metadata("design:type", String)
261
+ ], TaskResponseDto.prototype, "listId", void 0);
262
+ _ts_decorate([
263
+ (0, _classtransformer.Expose)(),
264
+ (0, _swagger.ApiProperty)({
265
+ type: String,
266
+ description: 'Task title',
267
+ maxLength: 500
268
+ }),
269
+ _ts_metadata("design:type", String)
270
+ ], TaskResponseDto.prototype, "title", void 0);
271
+ _ts_decorate([
272
+ (0, _classtransformer.Expose)(),
273
+ (0, _swagger.ApiPropertyOptional)({
274
+ type: String,
275
+ description: 'Task description',
276
+ nullable: true
277
+ }),
278
+ _ts_metadata("design:type", Object)
279
+ ], TaskResponseDto.prototype, "description", void 0);
280
+ _ts_decorate([
281
+ (0, _classtransformer.Expose)(),
282
+ (0, _swagger.ApiProperty)({
283
+ enum: _taskentity.TaskPriority,
284
+ description: 'Task priority level'
285
+ }),
286
+ _ts_metadata("design:type", typeof _taskentity.TaskPriority === "undefined" ? Object : _taskentity.TaskPriority)
287
+ ], TaskResponseDto.prototype, "priority", void 0);
288
+ _ts_decorate([
289
+ (0, _classtransformer.Expose)(),
290
+ (0, _swagger.ApiPropertyOptional)({
291
+ type: String,
292
+ description: 'Due date in YYYY-MM-DD format',
293
+ example: '2026-12-31',
294
+ nullable: true
295
+ }),
296
+ _ts_metadata("design:type", Object)
297
+ ], TaskResponseDto.prototype, "dueDate", void 0);
298
+ _ts_decorate([
299
+ (0, _classtransformer.Expose)(),
300
+ (0, _swagger.ApiProperty)({
301
+ type: Number,
302
+ description: 'Display order position within the list',
303
+ minimum: 0
304
+ }),
305
+ _ts_metadata("design:type", Number)
306
+ ], TaskResponseDto.prototype, "position", void 0);
307
+ _ts_decorate([
308
+ (0, _classtransformer.Expose)(),
309
+ (0, _swagger.ApiPropertyOptional)({
310
+ type: ()=>[
311
+ TaskAssigneeResponseDto
312
+ ],
313
+ description: 'Assigned users'
314
+ }),
315
+ (0, _classtransformer.Type)(()=>TaskAssigneeResponseDto),
316
+ _ts_metadata("design:type", Array)
317
+ ], TaskResponseDto.prototype, "assignees", void 0);
318
+ _ts_decorate([
319
+ (0, _classtransformer.Expose)(),
320
+ (0, _swagger.ApiPropertyOptional)({
321
+ type: String,
322
+ format: 'uuid',
323
+ description: 'Reporter user ID',
324
+ nullable: true
325
+ }),
326
+ _ts_metadata("design:type", Object)
327
+ ], TaskResponseDto.prototype, "reporterId", void 0);
328
+ _ts_decorate([
329
+ (0, _classtransformer.Expose)(),
330
+ (0, _swagger.ApiPropertyOptional)({
331
+ type: String,
332
+ format: 'uuid',
333
+ description: 'Parent task ID for subtasks',
334
+ nullable: true
335
+ }),
336
+ _ts_metadata("design:type", Object)
337
+ ], TaskResponseDto.prototype, "parentTaskId", void 0);
338
+ _ts_decorate([
339
+ (0, _classtransformer.Expose)(),
340
+ (0, _swagger.ApiPropertyOptional)({
341
+ type: Number,
342
+ description: 'Estimated hours to complete',
343
+ nullable: true
344
+ }),
345
+ _ts_metadata("design:type", Object)
346
+ ], TaskResponseDto.prototype, "estimatedHours", void 0);
347
+ _ts_decorate([
348
+ (0, _classtransformer.Expose)(),
349
+ (0, _swagger.ApiPropertyOptional)({
350
+ type: [
351
+ String
352
+ ],
353
+ description: 'Applied label IDs'
354
+ }),
355
+ _ts_metadata("design:type", Array)
356
+ ], TaskResponseDto.prototype, "labelIds", void 0);
357
+ _ts_decorate([
358
+ (0, _classtransformer.Expose)(),
359
+ (0, _swagger.ApiPropertyOptional)({
360
+ type: ()=>[
361
+ _tasklabeldto.TaskLabelResponseDto
362
+ ],
363
+ description: 'Populated label objects'
364
+ }),
365
+ (0, _classtransformer.Type)(()=>_tasklabeldto.TaskLabelResponseDto),
366
+ _ts_metadata("design:type", Array)
367
+ ], TaskResponseDto.prototype, "labels", void 0);
@@ -0,0 +1,72 @@
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 TaskBoardBase () {
13
+ return _taskboardentity.TaskBoard;
14
+ },
15
+ get TaskManagerCompanyEntities () {
16
+ return TaskManagerCompanyEntities;
17
+ },
18
+ get TaskManagerCoreEntities () {
19
+ return TaskManagerCoreEntities;
20
+ },
21
+ get getTaskManagerEntitiesByConfig () {
22
+ return getTaskManagerEntitiesByConfig;
23
+ }
24
+ });
25
+ const _taskboardentity = _export_star(require("./task-board.entity"), exports);
26
+ const _taskboardwithcompanyentity = _export_star(require("./task-board-with-company.entity"), exports);
27
+ const _taskboardmemberentity = _export_star(require("./task-board-member.entity"), exports);
28
+ const _tasklistentity = _export_star(require("./task-list.entity"), exports);
29
+ const _taskentity = _export_star(require("./task.entity"), exports);
30
+ const _tasklabelentity = _export_star(require("./task-label.entity"), exports);
31
+ const _tasktasklabelentity = _export_star(require("./task-task-label.entity"), exports);
32
+ const _taskassigneeentity = _export_star(require("./task-assignee.entity"), exports);
33
+ const _taskcommententity = _export_star(require("./task-comment.entity"), exports);
34
+ const _taskactivityentity = _export_star(require("./task-activity.entity"), exports);
35
+ function _export_star(from, to) {
36
+ Object.keys(from).forEach(function(k) {
37
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
38
+ Object.defineProperty(to, k, {
39
+ enumerable: true,
40
+ get: function() {
41
+ return from[k];
42
+ }
43
+ });
44
+ }
45
+ });
46
+ return from;
47
+ }
48
+ const TaskManagerCoreEntities = [
49
+ _taskboardentity.TaskBoard,
50
+ _taskboardmemberentity.TaskBoardMember,
51
+ _tasklistentity.TaskList,
52
+ _taskentity.Task,
53
+ _tasklabelentity.TaskLabel,
54
+ _tasktasklabelentity.TaskTaskLabel,
55
+ _taskassigneeentity.TaskAssignee,
56
+ _taskcommententity.TaskComment,
57
+ _taskactivityentity.TaskActivity
58
+ ];
59
+ const TaskManagerCompanyEntities = [
60
+ _taskboardwithcompanyentity.TaskBoardWithCompany,
61
+ _taskboardmemberentity.TaskBoardMember,
62
+ _tasklistentity.TaskList,
63
+ _taskentity.Task,
64
+ _tasklabelentity.TaskLabel,
65
+ _tasktasklabelentity.TaskTaskLabel,
66
+ _taskassigneeentity.TaskAssignee,
67
+ _taskcommententity.TaskComment,
68
+ _taskactivityentity.TaskActivity
69
+ ];
70
+ function getTaskManagerEntitiesByConfig(enableCompanyFeature) {
71
+ return enableCompanyFeature ? TaskManagerCompanyEntities : TaskManagerCoreEntities;
72
+ }