easywork-common-lib 1.0.379 → 1.0.380

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 (231) hide show
  1. package/dist/common/database/base.entity.d.ts +27 -0
  2. package/dist/common/index.d.ts +7 -0
  3. package/dist/common/index.js +24 -0
  4. package/dist/common/index.js.map +1 -0
  5. package/dist/entities/app_config/app-config.entity.d.ts +5 -0
  6. package/dist/entities/app_config/app-config.entity.js +33 -0
  7. package/dist/entities/app_config/app-config.entity.js.map +1 -0
  8. package/dist/entities/currency.entity.d.ts +6 -0
  9. package/dist/entities/currency.entity.js +43 -0
  10. package/dist/entities/currency.entity.js.map +1 -0
  11. package/dist/entities/drive/attached_object.entity.d.ts +17 -0
  12. package/dist/entities/drive/attached_object.entity.js +125 -0
  13. package/dist/entities/drive/attached_object.entity.js.map +1 -0
  14. package/dist/entities/drive/file.entity.d.ts +14 -0
  15. package/dist/entities/drive/file.entity.js +88 -0
  16. package/dist/entities/drive/file.entity.js.map +1 -0
  17. package/dist/entities/drive/folder.entity.d.ts +14 -0
  18. package/dist/entities/drive/folder.entity.js +108 -0
  19. package/dist/entities/drive/folder.entity.js.map +1 -0
  20. package/dist/entities/drive/index.d.ts +3 -0
  21. package/dist/entities/drive/index.js +20 -0
  22. package/dist/entities/drive/index.js.map +1 -0
  23. package/dist/entities/easyapp/filter-view.entity.d.ts +7 -0
  24. package/dist/entities/easyapp/filter-view.entity.js +41 -0
  25. package/dist/entities/easyapp/filter-view.entity.js.map +1 -0
  26. package/dist/entities/email.entity.d.ts +5 -0
  27. package/dist/entities/email.entity.js +36 -0
  28. package/dist/entities/email.entity.js.map +1 -0
  29. package/dist/entities/group.entity.d.ts +5 -0
  30. package/dist/entities/group.entity.js +33 -0
  31. package/dist/entities/group.entity.js.map +1 -0
  32. package/dist/entities/helpers/entity_file.entity.d.ts +10 -0
  33. package/dist/entities/helpers/entity_file.entity.js +61 -0
  34. package/dist/entities/helpers/entity_file.entity.js.map +1 -0
  35. package/dist/entities/helpers/entity_folder.entity.d.ts +10 -0
  36. package/dist/entities/helpers/entity_folder.entity.js +61 -0
  37. package/dist/entities/helpers/entity_folder.entity.js.map +1 -0
  38. package/dist/entities/helpers/index.d.ts +4 -0
  39. package/dist/entities/helpers/sales/common/client_sources.entity.d.ts +5 -0
  40. package/dist/entities/helpers/sales/common/client_sources.entity.js +36 -0
  41. package/dist/entities/helpers/sales/common/client_sources.entity.js.map +1 -0
  42. package/dist/entities/helpers/sales/common/client_types.entity.d.ts +5 -0
  43. package/dist/entities/helpers/sales/common/client_types.entity.js +36 -0
  44. package/dist/entities/helpers/sales/common/client_types.entity.js.map +1 -0
  45. package/dist/entities/helpers/sales/contact/contact_email.entity.d.ts +11 -0
  46. package/dist/entities/helpers/sales/contact/contact_email.entity.js +68 -0
  47. package/dist/entities/helpers/sales/contact/contact_email.entity.js.map +1 -0
  48. package/dist/entities/helpers/sales/contact/contact_insurance.entity.d.ts +11 -0
  49. package/dist/entities/helpers/sales/contact/contact_insurance.entity.js +68 -0
  50. package/dist/entities/helpers/sales/contact/contact_insurance.entity.js.map +1 -0
  51. package/dist/entities/helpers/sales/contact/contact_phone.entity.d.ts +11 -0
  52. package/dist/entities/helpers/sales/contact/contact_phone.entity.js +68 -0
  53. package/dist/entities/helpers/sales/contact/contact_phone.entity.js.map +1 -0
  54. package/dist/entities/helpers/sales/contact/index.d.ts +5 -0
  55. package/dist/entities/helpers/sales/contact/index.js +22 -0
  56. package/dist/entities/helpers/sales/contact/index.js.map +1 -0
  57. package/dist/entities/helpers/sales/index.d.ts +6 -0
  58. package/dist/entities/helpers/sales/lead/h_lead_source.entity.d.ts +4 -0
  59. package/dist/entities/helpers/sales/lead/h_lead_source.entity.js +30 -0
  60. package/dist/entities/helpers/sales/lead/h_lead_source.entity.js.map +1 -0
  61. package/dist/entities/helpers/sales/lead/h_lead_stage.entity.d.ts +5 -0
  62. package/dist/entities/helpers/sales/lead/h_lead_stage.entity.js +36 -0
  63. package/dist/entities/helpers/sales/lead/h_lead_stage.entity.js.map +1 -0
  64. package/dist/entities/helpers/sales/lead/h_lead_types.entity.d.ts +4 -0
  65. package/dist/entities/helpers/sales/lead/h_lead_types.entity.js +30 -0
  66. package/dist/entities/helpers/sales/lead/h_lead_types.entity.js.map +1 -0
  67. package/dist/entities/helpers/sales/lead/index.d.ts +6 -0
  68. package/dist/entities/helpers/sales/lead/index.js +23 -0
  69. package/dist/entities/helpers/sales/lead/index.js.map +1 -0
  70. package/dist/entities/helpers/sales/lead/lead_cancel_reazon.entity.d.ts +4 -0
  71. package/dist/entities/helpers/sales/lead/lead_cancel_reazon.entity.js +28 -0
  72. package/dist/entities/helpers/sales/lead/lead_cancel_reazon.entity.js.map +1 -0
  73. package/dist/entities/helpers/sales/lead/lead_email.entity.d.ts +11 -0
  74. package/dist/entities/helpers/sales/lead/lead_email.entity.js +66 -0
  75. package/dist/entities/helpers/sales/lead/lead_email.entity.js.map +1 -0
  76. package/dist/entities/helpers/sales/lead/lead_phone.entity.d.ts +11 -0
  77. package/dist/entities/helpers/sales/lead/lead_phone.entity.js +66 -0
  78. package/dist/entities/helpers/sales/lead/lead_phone.entity.js.map +1 -0
  79. package/dist/entities/helpers/sales/poliza/index.d.ts +9 -0
  80. package/dist/entities/helpers/sales/poliza/poliza_beneficiary.entity.d.ts +12 -0
  81. package/dist/entities/helpers/sales/poliza/poliza_beneficiary.entity.js +73 -0
  82. package/dist/entities/helpers/sales/poliza/poliza_beneficiary.entity.js.map +1 -0
  83. package/dist/entities/helpers/sales/poliza/poliza_file.entity.d.ts +11 -0
  84. package/dist/entities/helpers/sales/poliza/poliza_file.entity.js +68 -0
  85. package/dist/entities/helpers/sales/poliza/poliza_file.entity.js.map +1 -0
  86. package/dist/entities/helpers/tools/index.d.ts +1 -0
  87. package/dist/entities/helpers/tools/index.js +18 -0
  88. package/dist/entities/helpers/tools/index.js.map +1 -0
  89. package/dist/entities/helpers/tools/task_crm.entity.d.ts +17 -0
  90. package/dist/entities/helpers/tools/task_crm.entity.js +121 -0
  91. package/dist/entities/helpers/tools/task_crm.entity.js.map +1 -0
  92. package/dist/entities/imap-config.entity.d.ts +11 -0
  93. package/dist/entities/imap-config.entity.js +61 -0
  94. package/dist/entities/imap-config.entity.js.map +1 -0
  95. package/dist/entities/index.d.ts +26 -0
  96. package/dist/entities/index.js +43 -0
  97. package/dist/entities/index.js.map +1 -0
  98. package/dist/entities/menu-permissions.entity.d.ts +7 -0
  99. package/dist/entities/menu-permissions.entity.js +42 -0
  100. package/dist/entities/menu-permissions.entity.js.map +1 -0
  101. package/dist/entities/notifications/index.d.ts +2 -0
  102. package/dist/entities/notifications/index.js +19 -0
  103. package/dist/entities/notifications/index.js.map +1 -0
  104. package/dist/entities/notifications/notification.entity.d.ts +15 -0
  105. package/dist/entities/notifications/notification.entity.js +119 -0
  106. package/dist/entities/notifications/notification.entity.js.map +1 -0
  107. package/dist/entities/notifications/push-token.entity.d.ts +7 -0
  108. package/dist/entities/notifications/push-token.entity.js +45 -0
  109. package/dist/entities/notifications/push-token.entity.js.map +1 -0
  110. package/dist/entities/otp-log.entity.d.ts +8 -0
  111. package/dist/entities/otp-log.entity.js +49 -0
  112. package/dist/entities/otp-log.entity.js.map +1 -0
  113. package/dist/entities/permission.entity.d.ts +7 -0
  114. package/dist/entities/permission.entity.js +46 -0
  115. package/dist/entities/permission.entity.js.map +1 -0
  116. package/dist/entities/phone.entity.d.ts +5 -0
  117. package/dist/entities/phone.entity.js +36 -0
  118. package/dist/entities/phone.entity.js.map +1 -0
  119. package/dist/entities/profile.entity.d.ts +9 -0
  120. package/dist/entities/protocol.entity.d.ts +8 -0
  121. package/dist/entities/protocol.entity.js +46 -0
  122. package/dist/entities/protocol.entity.js.map +1 -0
  123. package/dist/entities/refresh-token.entity.d.ts +8 -0
  124. package/dist/entities/refresh-token.entity.js +46 -0
  125. package/dist/entities/refresh-token.entity.js.map +1 -0
  126. package/dist/entities/role.entity.d.ts +5 -0
  127. package/dist/entities/role.entity.js +36 -0
  128. package/dist/entities/role.entity.js.map +1 -0
  129. package/dist/entities/sales/agente-intermediario.entity.d.ts +5 -0
  130. package/dist/entities/sales/agente-intermediario.entity.js +34 -0
  131. package/dist/entities/sales/agente-intermediario.entity.js.map +1 -0
  132. package/dist/entities/sales/beneficiarios/person.entity.d.ts +10 -0
  133. package/dist/entities/sales/beneficiarios/person.entity.js +64 -0
  134. package/dist/entities/sales/beneficiarios/person.entity.js.map +1 -0
  135. package/dist/entities/sales/beneficiarios/vehicle.entity.d.ts +13 -0
  136. package/dist/entities/sales/beneficiarios/vehicle.entity.js +83 -0
  137. package/dist/entities/sales/beneficiarios/vehicle.entity.js.map +1 -0
  138. package/dist/entities/sales/contact-comment.entity.d.ts +7 -0
  139. package/dist/entities/sales/contact-comment.entity.js +46 -0
  140. package/dist/entities/sales/contact-comment.entity.js.map +1 -0
  141. package/dist/entities/sales/contact.entity.d.ts +44 -0
  142. package/dist/entities/sales/contact.entity.js +267 -0
  143. package/dist/entities/sales/contact.entity.js.map +1 -0
  144. package/dist/entities/sales/index.d.ts +13 -0
  145. package/dist/entities/sales/index.js +30 -0
  146. package/dist/entities/sales/index.js.map +1 -0
  147. package/dist/entities/sales/lead-comment.entity.d.ts +7 -0
  148. package/dist/entities/sales/lead-comment.entity.js +46 -0
  149. package/dist/entities/sales/lead-comment.entity.js.map +1 -0
  150. package/dist/entities/sales/lead.entity.d.ts +43 -0
  151. package/dist/entities/sales/lead.entity.js +291 -0
  152. package/dist/entities/sales/lead.entity.js.map +1 -0
  153. package/dist/entities/sales/poliza-comment.entity.d.ts +7 -0
  154. package/dist/entities/sales/poliza-comment.entity.js +46 -0
  155. package/dist/entities/sales/poliza-comment.entity.js.map +1 -0
  156. package/dist/entities/sales/poliza.entity.d.ts +105 -0
  157. package/dist/entities/sales/poliza.entity.js +723 -0
  158. package/dist/entities/sales/poliza.entity.js.map +1 -0
  159. package/dist/entities/sales/poliza_siniestro.entity.d.ts +12 -0
  160. package/dist/entities/sales/poliza_siniestro.entity.js +72 -0
  161. package/dist/entities/sales/poliza_siniestro.entity.js.map +1 -0
  162. package/dist/entities/sales/receipt-sub-agente.entity.d.ts +5 -0
  163. package/dist/entities/sales/receipt-sub-agente.entity.js +35 -0
  164. package/dist/entities/sales/receipt-sub-agente.entity.js.map +1 -0
  165. package/dist/entities/sales/receipt.entity.d.ts +27 -0
  166. package/dist/entities/sales/receipt.entity.js +172 -0
  167. package/dist/entities/sales/receipt.entity.js.map +1 -0
  168. package/dist/entities/tag.entity.d.ts +8 -0
  169. package/dist/entities/tag.entity.js +53 -0
  170. package/dist/entities/tag.entity.js.map +1 -0
  171. package/dist/entities/thirdparty/email-config.entity.d.ts +14 -0
  172. package/dist/entities/thirdparty/email-config.entity.js +76 -0
  173. package/dist/entities/thirdparty/email-config.entity.js.map +1 -0
  174. package/dist/entities/thirdparty/email.entity.d.ts +17 -0
  175. package/dist/entities/thirdparty/email.entity.js +79 -0
  176. package/dist/entities/thirdparty/email.entity.js.map +1 -0
  177. package/dist/entities/thirdparty/oauth.entity.d.ts +17 -0
  178. package/dist/entities/thirdparty/oauth.entity.js +88 -0
  179. package/dist/entities/thirdparty/oauth.entity.js.map +1 -0
  180. package/dist/entities/thirdparty/service.entity.d.ts +6 -0
  181. package/dist/entities/thirdparty/service.entity.js +32 -0
  182. package/dist/entities/thirdparty/service.entity.js.map +1 -0
  183. package/dist/entities/thirdparty/user-email-relation.entity.d.ts +7 -0
  184. package/dist/entities/thirdparty/user-email-relation.entity.js +35 -0
  185. package/dist/entities/thirdparty/user-email-relation.entity.js.map +1 -0
  186. package/dist/entities/tools/calendar/event.entity.d.ts +17 -0
  187. package/dist/entities/tools/calendar/event.entity.js +110 -0
  188. package/dist/entities/tools/calendar/event.entity.js.map +1 -0
  189. package/dist/entities/tools/calendar/index.d.ts +1 -0
  190. package/dist/entities/tools/calendar/index.js +18 -0
  191. package/dist/entities/tools/calendar/index.js.map +1 -0
  192. package/dist/entities/tools/index.d.ts +4 -0
  193. package/dist/entities/tools/index.js +21 -0
  194. package/dist/entities/tools/index.js.map +1 -0
  195. package/dist/entities/tools/task-comment.entity.d.ts +9 -0
  196. package/dist/entities/tools/task-comment.entity.js +57 -0
  197. package/dist/entities/tools/task-comment.entity.js.map +1 -0
  198. package/dist/entities/tools/task.entity.d.ts +34 -0
  199. package/dist/entities/tools/task.entity.js +221 -0
  200. package/dist/entities/tools/task.entity.js.map +1 -0
  201. package/dist/entities/user.entity.d.ts +28 -0
  202. package/dist/entities/user.entity.js +160 -0
  203. package/dist/entities/user.entity.js.map +1 -0
  204. package/dist/grpc/drive/drive.proto +74 -0
  205. package/dist/index.d.ts +3 -0
  206. package/dist/index.js +20 -0
  207. package/dist/index.js.map +1 -0
  208. package/dist/modules/index.d.ts +3 -0
  209. package/dist/modules/index.js +20 -0
  210. package/dist/modules/index.js.map +1 -0
  211. package/dist/modules/queue/notifier.service.d.ts +15 -0
  212. package/dist/modules/queue/notifier.service.js +70 -0
  213. package/dist/modules/queue/notifier.service.js.map +1 -0
  214. package/dist/modules/queue/notifiers/contact.notifier.d.ts +7 -0
  215. package/dist/modules/queue/notifiers/contact.notifier.js +49 -0
  216. package/dist/modules/queue/notifiers/contact.notifier.js.map +1 -0
  217. package/dist/modules/queue/notifiers/index.d.ts +4 -0
  218. package/dist/modules/queue/notifiers/index.js +21 -0
  219. package/dist/modules/queue/notifiers/index.js.map +1 -0
  220. package/dist/modules/queue/notifiers/lead.notifier.d.ts +7 -0
  221. package/dist/modules/queue/notifiers/lead.notifier.js +49 -0
  222. package/dist/modules/queue/notifiers/lead.notifier.js.map +1 -0
  223. package/dist/modules/queue/notifiers/task.notifier.d.ts +15 -0
  224. package/dist/modules/queue/notifiers/task.notifier.js +130 -0
  225. package/dist/modules/queue/notifiers/task.notifier.js.map +1 -0
  226. package/dist/modules/queue/queue.module.d.ts +4 -0
  227. package/dist/modules/queue/queue.module.js +55 -0
  228. package/dist/modules/queue/queue.module.js.map +1 -0
  229. package/dist/modules/queue/scheduler.service.d.ts +9 -0
  230. package/package.json +1 -1
  231. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Task = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const user_entity_1 = require("../user.entity");
15
+ const typeorm_1 = require("typeorm");
16
+ const task_comment_entity_1 = require("./task-comment.entity");
17
+ const tag_entity_1 = require("../tag.entity");
18
+ const base_entity_1 = require("../../common/database/base.entity");
19
+ const enums_1 = require("../../common/enums");
20
+ const task_list_field_1 = require("./task-list-field");
21
+ const helpers_1 = require("../../entities/helpers");
22
+ const swagger_1 = require("@nestjs/swagger");
23
+ let Task = class Task extends base_entity_1.BaseEntity {
24
+ idBitrix;
25
+ name;
26
+ number;
27
+ description;
28
+ deadline;
29
+ startTime;
30
+ completedTime;
31
+ requireRevision;
32
+ requireSummary;
33
+ responsibleCanChangeDate;
34
+ important;
35
+ status;
36
+ isCompleted;
37
+ reviewed;
38
+ createdBy;
39
+ reviewedBy;
40
+ participants;
41
+ responsible;
42
+ observers;
43
+ tags;
44
+ listField;
45
+ comments;
46
+ crm;
47
+ parentTask;
48
+ subTasks;
49
+ };
50
+ exports.Task = Task;
51
+ __decorate([
52
+ (0, swagger_1.ApiProperty)({ type: Number, description: 'Bitrix ID of the policy', required: false }),
53
+ (0, typeorm_1.Column)({ name: "id_bitrix", nullable: true }),
54
+ __metadata("design:type", Number)
55
+ ], Task.prototype, "idBitrix", void 0);
56
+ __decorate([
57
+ (0, swagger_1.ApiProperty)({ type: String, description: 'Name of the task', minLength: 3 }),
58
+ (0, class_validator_1.MinLength)(3),
59
+ (0, typeorm_1.Column)({ unique: false, nullable: false }),
60
+ __metadata("design:type", String)
61
+ ], Task.prototype, "name", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)(),
64
+ (0, typeorm_1.Generated)("increment"),
65
+ __metadata("design:type", Number)
66
+ ], Task.prototype, "number", void 0);
67
+ __decorate([
68
+ (0, swagger_1.ApiProperty)({ type: String, description: 'Description of the task', required: false }),
69
+ (0, typeorm_1.Column)({ type: "text", nullable: true }),
70
+ __metadata("design:type", String)
71
+ ], Task.prototype, "description", void 0);
72
+ __decorate([
73
+ (0, swagger_1.ApiProperty)({ type: Date, description: 'Deadline of the task', required: false }),
74
+ (0, typeorm_1.Column)({ nullable: true }),
75
+ __metadata("design:type", Date)
76
+ ], Task.prototype, "deadline", void 0);
77
+ __decorate([
78
+ (0, swagger_1.ApiProperty)({ type: Date, description: 'Start time of the task', required: false }),
79
+ (0, typeorm_1.Column)({ nullable: true }),
80
+ __metadata("design:type", Date)
81
+ ], Task.prototype, "startTime", void 0);
82
+ __decorate([
83
+ (0, swagger_1.ApiProperty)({ type: Date, description: 'Completion time of the task', required: false }),
84
+ (0, typeorm_1.Column)({ nullable: true }),
85
+ __metadata("design:type", Date)
86
+ ], Task.prototype, "completedTime", void 0);
87
+ __decorate([
88
+ (0, swagger_1.ApiProperty)({ type: Boolean, description: 'Does the task require revision?', default: false }),
89
+ (0, typeorm_1.Column)({ default: false }),
90
+ __metadata("design:type", Boolean)
91
+ ], Task.prototype, "requireRevision", void 0);
92
+ __decorate([
93
+ (0, swagger_1.ApiProperty)({ type: Boolean, description: 'Does the task require a summary?', default: false }),
94
+ (0, typeorm_1.Column)({ default: false }),
95
+ __metadata("design:type", Boolean)
96
+ ], Task.prototype, "requireSummary", void 0);
97
+ __decorate([
98
+ (0, swagger_1.ApiProperty)({ type: Boolean, description: 'Can the responsible user change the date?', default: false }),
99
+ (0, typeorm_1.Column)({ default: false }),
100
+ __metadata("design:type", Boolean)
101
+ ], Task.prototype, "responsibleCanChangeDate", void 0);
102
+ __decorate([
103
+ (0, swagger_1.ApiProperty)({ type: Boolean, description: 'La tarea es importante?', default: false }),
104
+ (0, typeorm_1.Column)({ default: false }),
105
+ __metadata("design:type", Boolean)
106
+ ], Task.prototype, "important", void 0);
107
+ __decorate([
108
+ (0, swagger_1.ApiProperty)({
109
+ enum: enums_1.TaskStatus,
110
+ description: 'Status of the task',
111
+ default: enums_1.TaskStatus.PENDING
112
+ }),
113
+ (0, typeorm_1.Column)({
114
+ type: "enum",
115
+ enum: enums_1.TaskStatus,
116
+ default: enums_1.TaskStatus.PENDING
117
+ }),
118
+ __metadata("design:type", String)
119
+ ], Task.prototype, "status", void 0);
120
+ __decorate([
121
+ (0, swagger_1.ApiProperty)({ type: Boolean, description: 'Is the task completed?', default: false }),
122
+ (0, typeorm_1.Column)({ default: false }),
123
+ __metadata("design:type", Boolean)
124
+ ], Task.prototype, "isCompleted", void 0);
125
+ __decorate([
126
+ (0, swagger_1.ApiProperty)({ type: Boolean, description: 'Has the task been reviewed?', default: false }),
127
+ (0, typeorm_1.Column)({ default: false }),
128
+ __metadata("design:type", Boolean)
129
+ ], Task.prototype, "reviewed", void 0);
130
+ __decorate([
131
+ (0, swagger_1.ApiProperty)({ type: () => user_entity_1.User, description: 'User who created the task', required: false }),
132
+ (0, typeorm_1.ManyToOne)(() => user_entity_1.User, {
133
+ onDelete: "SET NULL",
134
+ onUpdate: "CASCADE",
135
+ nullable: true,
136
+ }),
137
+ __metadata("design:type", user_entity_1.User)
138
+ ], Task.prototype, "createdBy", void 0);
139
+ __decorate([
140
+ (0, swagger_1.ApiProperty)({ type: () => user_entity_1.User, description: 'User who reviewed the task', required: false }),
141
+ (0, typeorm_1.ManyToOne)(() => user_entity_1.User, {
142
+ onDelete: "SET NULL",
143
+ onUpdate: "CASCADE",
144
+ nullable: true,
145
+ }),
146
+ __metadata("design:type", user_entity_1.User)
147
+ ], Task.prototype, "reviewedBy", void 0);
148
+ __decorate([
149
+ (0, swagger_1.ApiProperty)({ type: () => [user_entity_1.User], description: 'Participants in the task', required: false }),
150
+ (0, typeorm_1.ManyToMany)(() => user_entity_1.User, {
151
+ onDelete: "CASCADE",
152
+ onUpdate: "CASCADE",
153
+ }),
154
+ (0, typeorm_1.JoinTable)(),
155
+ __metadata("design:type", Array)
156
+ ], Task.prototype, "participants", void 0);
157
+ __decorate([
158
+ (0, swagger_1.ApiProperty)({ type: () => [user_entity_1.User], description: 'Users responsible for the task', required: false }),
159
+ (0, typeorm_1.ManyToMany)(() => user_entity_1.User, {
160
+ onDelete: "CASCADE",
161
+ onUpdate: "CASCADE",
162
+ }),
163
+ (0, typeorm_1.JoinTable)(),
164
+ __metadata("design:type", Array)
165
+ ], Task.prototype, "responsible", void 0);
166
+ __decorate([
167
+ (0, swagger_1.ApiProperty)({ type: () => [user_entity_1.User], description: 'Observers of the task', required: false }),
168
+ (0, typeorm_1.ManyToMany)(() => user_entity_1.User, {
169
+ onDelete: "CASCADE",
170
+ onUpdate: "CASCADE",
171
+ }),
172
+ (0, typeorm_1.JoinTable)(),
173
+ __metadata("design:type", Array)
174
+ ], Task.prototype, "observers", void 0);
175
+ __decorate([
176
+ (0, swagger_1.ApiProperty)({ type: () => [tag_entity_1.Tag], description: 'Tags associated with the task' }),
177
+ (0, typeorm_1.ManyToMany)(() => tag_entity_1.Tag, tag => tag.tasks, {
178
+ onDelete: "CASCADE",
179
+ onUpdate: "CASCADE",
180
+ }),
181
+ (0, typeorm_1.JoinTable)(),
182
+ __metadata("design:type", Array)
183
+ ], Task.prototype, "tags", void 0);
184
+ __decorate([
185
+ (0, swagger_1.ApiProperty)({ type: () => [task_list_field_1.TaskListField], description: 'List fields associated with the task', required: false }),
186
+ (0, typeorm_1.Column)("json", { nullable: true }),
187
+ __metadata("design:type", Array)
188
+ ], Task.prototype, "listField", void 0);
189
+ __decorate([
190
+ (0, swagger_1.ApiProperty)({ type: () => [task_comment_entity_1.TaskComment], description: 'Comments on the task' }),
191
+ (0, typeorm_1.OneToMany)(() => task_comment_entity_1.TaskComment, taskComment => taskComment.task),
192
+ (0, typeorm_1.JoinColumn)(),
193
+ __metadata("design:type", Array)
194
+ ], Task.prototype, "comments", void 0);
195
+ __decorate([
196
+ (0, swagger_1.ApiProperty)({ type: () => [helpers_1.TaskCRM], description: 'CRM entries associated with the task', required: false }),
197
+ (0, typeorm_1.OneToMany)(() => helpers_1.TaskCRM, (taskCRM) => taskCRM.task, {
198
+ onDelete: "CASCADE",
199
+ onUpdate: "CASCADE",
200
+ }),
201
+ __metadata("design:type", Array)
202
+ ], Task.prototype, "crm", void 0);
203
+ __decorate([
204
+ (0, swagger_1.ApiProperty)({ type: () => Task, description: 'Parent task', required: false }),
205
+ (0, typeorm_1.ManyToOne)(() => Task, {
206
+ onDelete: "CASCADE",
207
+ onUpdate: "CASCADE",
208
+ nullable: true,
209
+ }),
210
+ (0, typeorm_1.JoinColumn)(),
211
+ __metadata("design:type", Task)
212
+ ], Task.prototype, "parentTask", void 0);
213
+ __decorate([
214
+ (0, swagger_1.ApiProperty)({ type: () => [Task], description: 'Child tasks', required: false }),
215
+ (0, typeorm_1.OneToMany)(() => Task, task => task.parentTask),
216
+ __metadata("design:type", Array)
217
+ ], Task.prototype, "subTasks", void 0);
218
+ exports.Task = Task = __decorate([
219
+ (0, typeorm_1.Entity)()
220
+ ], Task);
221
+ //# sourceMappingURL=task.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.entity.js","sourceRoot":"","sources":["../../../src/entities/tools/task.entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { BaseEntity } from "../common/database/base.entity";
2
+ import { Profile } from "./profile.entity";
3
+ import { Role } from "./role.entity";
4
+ import { Tag } from "./tag.entity";
5
+ import { UserEmailRelation } from "./thirdparty/user-email-relation.entity";
6
+ import { PushToken } from "./notifications/push-token.entity";
7
+ import { Group } from "./group.entity";
8
+ import { MenuPermissions } from "./menu-permissions.entity";
9
+ export declare class User extends BaseEntity {
10
+ username: string;
11
+ email: string;
12
+ bio: string;
13
+ avatar: string;
14
+ hash: string;
15
+ twoFactorSecret?: string;
16
+ isTwoFactorEnabled?: boolean;
17
+ phone?: string;
18
+ isVerified?: boolean;
19
+ lastLogin?: Date;
20
+ profile: Profile;
21
+ roles?: Role[];
22
+ tags: Tag[];
23
+ pushTokens: PushToken[];
24
+ emailRelations: UserEmailRelation[];
25
+ groups?: Group[];
26
+ menuPermissions: MenuPermissions;
27
+ get name(): string;
28
+ }
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.User = void 0;
13
+ const base_entity_1 = require("../common/database/base.entity");
14
+ const typeorm_1 = require("typeorm");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const profile_entity_1 = require("./profile.entity");
17
+ const role_entity_1 = require("./role.entity");
18
+ const tag_entity_1 = require("./tag.entity");
19
+ const user_email_relation_entity_1 = require("./thirdparty/user-email-relation.entity");
20
+ const push_token_entity_1 = require("./notifications/push-token.entity");
21
+ const swagger_1 = require("@nestjs/swagger");
22
+ const group_entity_1 = require("./group.entity");
23
+ const menu_permissions_entity_1 = require("./menu-permissions.entity");
24
+ let User = class User extends base_entity_1.BaseEntity {
25
+ username;
26
+ email;
27
+ bio;
28
+ avatar;
29
+ hash;
30
+ twoFactorSecret;
31
+ isTwoFactorEnabled;
32
+ phone;
33
+ isVerified;
34
+ lastLogin;
35
+ profile;
36
+ roles;
37
+ tags;
38
+ pushTokens;
39
+ emailRelations;
40
+ groups;
41
+ menuPermissions;
42
+ get name() {
43
+ return `${this.profile?.firstName ?? ''} ${this.profile?.lastName ?? ''}`.trim();
44
+ }
45
+ };
46
+ exports.User = User;
47
+ __decorate([
48
+ (0, swagger_1.ApiProperty)({ type: String, description: 'Unique username' }),
49
+ (0, typeorm_1.Column)({ unique: true }),
50
+ __metadata("design:type", String)
51
+ ], User.prototype, "username", void 0);
52
+ __decorate([
53
+ (0, swagger_1.ApiProperty)({ type: String, description: 'Unique email address' }),
54
+ (0, typeorm_1.Column)({ unique: true }),
55
+ __metadata("design:type", String)
56
+ ], User.prototype, "email", void 0);
57
+ __decorate([
58
+ (0, swagger_1.ApiProperty)({ type: String, description: 'User bio' }),
59
+ (0, typeorm_1.Column)({ type: "text" }),
60
+ __metadata("design:type", String)
61
+ ], User.prototype, "bio", void 0);
62
+ __decorate([
63
+ (0, swagger_1.ApiProperty)({ type: String, description: 'User avatar URL' }),
64
+ (0, typeorm_1.Column)({ type: "text" }),
65
+ __metadata("design:type", String)
66
+ ], User.prototype, "avatar", void 0);
67
+ __decorate([
68
+ (0, class_transformer_1.Exclude)(),
69
+ (0, swagger_1.ApiProperty)({ type: String, description: 'Password hash', writeOnly: true }),
70
+ (0, typeorm_1.Column)({ type: "text" }),
71
+ __metadata("design:type", String)
72
+ ], User.prototype, "hash", void 0);
73
+ __decorate([
74
+ (0, class_transformer_1.Exclude)(),
75
+ (0, swagger_1.ApiProperty)({ type: String, description: 'Two-factor authentication secret', required: false, writeOnly: true }),
76
+ (0, typeorm_1.Column)({ nullable: true }),
77
+ __metadata("design:type", String)
78
+ ], User.prototype, "twoFactorSecret", void 0);
79
+ __decorate([
80
+ (0, swagger_1.ApiProperty)({ type: Boolean, description: 'Is two-factor authentication enabled', default: false }),
81
+ (0, typeorm_1.Column)({ default: false }),
82
+ __metadata("design:type", Boolean)
83
+ ], User.prototype, "isTwoFactorEnabled", void 0);
84
+ __decorate([
85
+ (0, swagger_1.ApiProperty)({ type: String, description: 'User phone number', required: false }),
86
+ (0, typeorm_1.Column)({ unique: true }),
87
+ __metadata("design:type", String)
88
+ ], User.prototype, "phone", void 0);
89
+ __decorate([
90
+ (0, swagger_1.ApiProperty)({ type: Boolean, description: 'Is user verified', default: false }),
91
+ (0, typeorm_1.Column)({ default: false }),
92
+ __metadata("design:type", Boolean)
93
+ ], User.prototype, "isVerified", void 0);
94
+ __decorate([
95
+ (0, swagger_1.ApiProperty)({ type: Date, description: 'Last login timestamp', required: false }),
96
+ (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
97
+ __metadata("design:type", Date)
98
+ ], User.prototype, "lastLogin", void 0);
99
+ __decorate([
100
+ (0, swagger_1.ApiProperty)({ type: () => profile_entity_1.Profile, description: 'User profile' }),
101
+ (0, typeorm_1.OneToOne)(() => profile_entity_1.Profile, {
102
+ onDelete: "CASCADE",
103
+ onUpdate: "CASCADE",
104
+ eager: true
105
+ }),
106
+ (0, typeorm_1.JoinColumn)(),
107
+ __metadata("design:type", profile_entity_1.Profile)
108
+ ], User.prototype, "profile", void 0);
109
+ __decorate([
110
+ (0, swagger_1.ApiProperty)({ type: () => [role_entity_1.Role], description: 'Roles assigned to the user' }),
111
+ (0, typeorm_1.ManyToMany)(() => role_entity_1.Role, {
112
+ onDelete: "CASCADE",
113
+ onUpdate: "CASCADE",
114
+ }),
115
+ (0, typeorm_1.JoinTable)(),
116
+ __metadata("design:type", Array)
117
+ ], User.prototype, "roles", void 0);
118
+ __decorate([
119
+ (0, swagger_1.ApiProperty)({ type: () => [tag_entity_1.Tag], description: 'Tags associated with the user' }),
120
+ (0, typeorm_1.OneToMany)(() => tag_entity_1.Tag, (tag) => tag.user),
121
+ __metadata("design:type", Array)
122
+ ], User.prototype, "tags", void 0);
123
+ __decorate([
124
+ (0, swagger_1.ApiProperty)({ type: () => [push_token_entity_1.PushToken], description: 'Push tokens associated with the user' }),
125
+ (0, typeorm_1.OneToMany)(() => push_token_entity_1.PushToken, (pushToken) => pushToken.user),
126
+ __metadata("design:type", Array)
127
+ ], User.prototype, "pushTokens", void 0);
128
+ __decorate([
129
+ (0, swagger_1.ApiProperty)({ type: () => [user_email_relation_entity_1.UserEmailRelation], description: 'Email relations associated with the user' }),
130
+ (0, typeorm_1.OneToMany)(() => user_email_relation_entity_1.UserEmailRelation, (relation) => relation.user),
131
+ __metadata("design:type", Array)
132
+ ], User.prototype, "emailRelations", void 0);
133
+ __decorate([
134
+ (0, swagger_1.ApiProperty)({ type: () => [group_entity_1.Group], description: 'Groups assigned to the user' }),
135
+ (0, typeorm_1.ManyToMany)(() => group_entity_1.Group, {
136
+ onDelete: "CASCADE",
137
+ onUpdate: "CASCADE",
138
+ }),
139
+ (0, typeorm_1.JoinTable)(),
140
+ __metadata("design:type", Array)
141
+ ], User.prototype, "groups", void 0);
142
+ __decorate([
143
+ (0, swagger_1.ApiProperty)({ type: () => menu_permissions_entity_1.MenuPermissions, description: 'Menu Permissions' }),
144
+ (0, typeorm_1.OneToOne)(() => menu_permissions_entity_1.MenuPermissions, {
145
+ onDelete: "CASCADE",
146
+ onUpdate: "CASCADE",
147
+ eager: true
148
+ }),
149
+ (0, typeorm_1.JoinColumn)(),
150
+ __metadata("design:type", menu_permissions_entity_1.MenuPermissions)
151
+ ], User.prototype, "menuPermissions", void 0);
152
+ __decorate([
153
+ (0, swagger_1.ApiProperty)({ type: String, description: 'Full name of the user' }),
154
+ __metadata("design:type", String),
155
+ __metadata("design:paramtypes", [])
156
+ ], User.prototype, "name", null);
157
+ exports.User = User = __decorate([
158
+ (0, typeorm_1.Entity)()
159
+ ], User);
160
+ //# sourceMappingURL=user.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ // drive/proto/drive.proto
2
+ syntax = "proto3";
3
+
4
+ package drive;
5
+
6
+ message OwnerEntity {
7
+ string ownerId = 1;
8
+ string entityType = 2;
9
+ string relation = 3;
10
+ }
11
+
12
+ // Define los mensajes para las operaciones de carpetas
13
+ message CreateFolderRequest {
14
+ string name = 1;
15
+ string parentId = 2; // Opcional, puede ser nulo si es una carpeta raíz
16
+ repeated OwnerEntity ownersData = 3;
17
+ }
18
+
19
+ // Create Bulk Folder
20
+ message CreateFolderBulkRequest {
21
+ repeated string foldersName = 1;
22
+ string parentId = 2; // Opcional, puede ser nulo si es una carpeta raíz
23
+ repeated OwnerEntity ownersData = 3;
24
+ }
25
+
26
+ message FolderResponse {
27
+ string id = 1;
28
+ string name = 2;
29
+ string parentId = 3; // Opcional, puede ser nulo si es una carpeta raíz
30
+ string createdAt = 4;
31
+ }
32
+
33
+
34
+ message CreateFolderBulkResponse {
35
+ bool success = 1;
36
+ }
37
+
38
+ message CreateFileRequest {
39
+ string name = 1; // Nombre del archivo
40
+ string folderId = 2; // UUID del folder, opcional
41
+ int64 size = 3; // Tamaño del archivo, opcional
42
+ string mimeType = 4; // Tipo MIME del archivo, opcional
43
+ string s3Key = 5; // Clave S3, opcional
44
+ bool isDefault = 6; // Si es el archivo por defecto, opcional
45
+ repeated OwnerEntity ownersData = 7;
46
+ bytes filecontent = 8; // Contenido del archivo en bytes
47
+ string encoding = 9; // Codificación del archivo
48
+ }
49
+
50
+ message AttachFileRequest {
51
+
52
+ }
53
+
54
+ message CreateFilesRequest {
55
+ repeated CreateFileRequest files = 1; // Archivos
56
+ }
57
+
58
+ message CreateFilesResponse {
59
+ repeated string filesIds = 1;
60
+ }
61
+
62
+ message CreateFileResponse {
63
+ string message = 1;
64
+ bool success = 2;
65
+ string url = 3; // URL del archivo almacenado
66
+ }
67
+
68
+ // Define el servicio que será implementado
69
+ service DriveService {
70
+ rpc CreateFolder(CreateFolderRequest) returns (FolderResponse);
71
+ rpc CreateFile(CreateFileRequest) returns (CreateFileResponse);
72
+ rpc CreateFiles(CreateFilesRequest) returns (CreateFilesResponse);
73
+ rpc CreateFolders(CreateFolderBulkRequest) returns (CreateFolderBulkResponse);
74
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./entities";
2
+ export * from "./common";
3
+ export * from "./modules";
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./entities"), exports);
18
+ __exportStar(require("./common"), exports);
19
+ __exportStar(require("./modules"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B"}
@@ -0,0 +1,3 @@
1
+ export * from "./queue/notifier.service";
2
+ export * from "./queue/scheduler.service";
3
+ export * from "./queue/queue.module";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./queue/notifier.service"), exports);
18
+ __exportStar(require("./queue/scheduler.service"), exports);
19
+ __exportStar(require("./queue/queue.module"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,4DAA0C;AAC1C,uDAAqC"}
@@ -0,0 +1,15 @@
1
+ import { AmqpConnection } from "@golevelup/nestjs-rabbitmq";
2
+ import { SendNotificationDto } from "../../common";
3
+ import { ContactNotifier, LeadNotifier, TaskNotifier } from "./notifiers";
4
+ export declare class EasyNotifierService {
5
+ private readonly amqpConnection;
6
+ private readonly exchangeName;
7
+ private readonly routingKey;
8
+ readonly task: TaskNotifier;
9
+ readonly contact: ContactNotifier;
10
+ readonly lead: LeadNotifier;
11
+ constructor(amqpConnection: AmqpConnection, exchangeName: string, routingKey: string);
12
+ sendNotification(data: SendNotificationDto): Promise<void>;
13
+ sendOTPPhone(code: string, recipientsId: string[]): Promise<void>;
14
+ sendOTPEmail(code: string, recipientsId: string[]): Promise<void>;
15
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EasyNotifierService = void 0;
16
+ const nestjs_rabbitmq_1 = require("@golevelup/nestjs-rabbitmq");
17
+ const common_1 = require("@nestjs/common");
18
+ const common_2 = require("../../common");
19
+ const notifiers_1 = require("./notifiers");
20
+ const logger = new common_1.Logger("EasyNotifierService");
21
+ let EasyNotifierService = class EasyNotifierService {
22
+ amqpConnection;
23
+ exchangeName;
24
+ routingKey;
25
+ task;
26
+ contact;
27
+ lead;
28
+ constructor(amqpConnection, exchangeName, routingKey) {
29
+ this.amqpConnection = amqpConnection;
30
+ this.exchangeName = exchangeName;
31
+ this.routingKey = routingKey;
32
+ this.task = new notifiers_1.TaskNotifier(this);
33
+ this.contact = new notifiers_1.ContactNotifier(this);
34
+ this.lead = new notifiers_1.LeadNotifier(this);
35
+ }
36
+ async sendNotification(data) {
37
+ logger.debug(`Sending notification: ${JSON.stringify(data)}`);
38
+ await this.amqpConnection.publish(this.exchangeName, this.routingKey, data);
39
+ }
40
+ async sendOTPPhone(code, recipientsId) {
41
+ const notificationDto = {
42
+ title: "OTP Code",
43
+ content: `Easywork: Your OTP code is ${code}`,
44
+ recipientsId,
45
+ channels: [common_2.NotificationChannel.SMS],
46
+ category: common_2.NotificationCategory.OTP,
47
+ subCategory: common_2.NotificationSubcategory.OTP,
48
+ };
49
+ await this.sendNotification(notificationDto);
50
+ }
51
+ async sendOTPEmail(code, recipientsId) {
52
+ const notificationDto = {
53
+ title: "OTP Code",
54
+ content: code,
55
+ recipientsId,
56
+ channels: [common_2.NotificationChannel.EMAIL],
57
+ category: common_2.NotificationCategory.OTP,
58
+ subCategory: common_2.NotificationSubcategory.OTP,
59
+ };
60
+ await this.sendNotification(notificationDto);
61
+ }
62
+ };
63
+ exports.EasyNotifierService = EasyNotifierService;
64
+ exports.EasyNotifierService = EasyNotifierService = __decorate([
65
+ (0, common_1.Injectable)(),
66
+ __param(1, (0, common_1.Inject)('EXCHANGE_NAME')),
67
+ __param(2, (0, common_1.Inject)('NOTIFIER_ROUTING_KEY')),
68
+ __metadata("design:paramtypes", [nestjs_rabbitmq_1.AmqpConnection, String, String])
69
+ ], EasyNotifierService);
70
+ //# sourceMappingURL=notifier.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifier.service.js","sourceRoot":"","sources":["../../../src/modules/queue/notifier.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAA4D;AAC5D,2CAA4D;AAC5D,yCAAuH;AACvH,2CAA0E;AAE1E,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,qBAAqB,CAAC,CAAC;AAG1C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAMP;IACyB;IACO;IAPrC,IAAI,CAAe;IACnB,OAAO,CAAkB;IACzB,IAAI,CAAe;IAEnC,YACqB,cAA8B,EACL,YAAoB,EACb,UAAkB;QAFlD,mBAAc,GAAd,cAAc,CAAgB;QACL,iBAAY,GAAZ,YAAY,CAAQ;QACb,eAAU,GAAV,UAAU,CAAQ;QAEnE,IAAI,CAAC,IAAI,GAAG,IAAI,wBAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,2BAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,wBAAY,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAyB;QAC5C,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,YAAsB;QACnD,MAAM,eAAe,GAAwB;YACzC,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,8BAA8B,IAAI,EAAE;YAC7C,YAAY;YACZ,QAAQ,EAAE,CAAC,4BAAmB,CAAC,GAAG,CAAC;YACnC,QAAQ,EAAE,6BAAoB,CAAC,GAAG;YAClC,WAAW,EAAE,gCAAuB,CAAC,GAAG;SAC3C,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,YAAsB;QACnD,MAAM,eAAe,GAAwB;YACzC,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,IAAI;YACb,YAAY;YACZ,QAAQ,EAAE,CAAC,4BAAmB,CAAC,KAAK,CAAC;YACrC,QAAQ,EAAE,6BAAoB,CAAC,GAAG;YAClC,WAAW,EAAE,gCAAuB,CAAC,GAAG;SAC3C,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;CACJ,CAAA;AA7CY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAQJ,WAAA,IAAA,eAAM,EAAC,eAAe,CAAC,CAAA;IACvB,WAAA,IAAA,eAAM,EAAC,sBAAsB,CAAC,CAAA;qCAFE,gCAAc;GAN1C,mBAAmB,CA6C/B"}