easywork-common-lib 1.0.326 → 1.0.330

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 (48) hide show
  1. package/.gitattributes +2 -2
  2. package/.github/workflows/npm-publish.yml +33 -33
  3. package/.vscode/settings.json +12 -12
  4. package/dist/entities/helpers/tools/task_crm.entity.d.ts +5 -6
  5. package/dist/entities/helpers/tools/task_crm.entity.js +47 -47
  6. package/dist/entities/helpers/tools/task_crm.entity.js.map +1 -1
  7. package/dist/entities/thirdparty/email-config.entity.js +1 -1
  8. package/dist/entities/thirdparty/email-config.entity.js.map +1 -1
  9. package/dist/grpc/drive/drive.proto +73 -73
  10. package/package.json +42 -42
  11. package/scripts/bump.sh +5 -5
  12. package/test.bat +15 -15
  13. package/tsconfig.build.json +4 -4
  14. package/tsconfig.json +26 -26
  15. package/tsconfig.tsbuildinfo +1 -1
  16. package/dist/entities/helpers/sales/contact/contact_sources.entity.d.ts +0 -5
  17. package/dist/entities/helpers/sales/contact/contact_sources.entity.js +0 -36
  18. package/dist/entities/helpers/sales/contact/contact_sources.entity.js.map +0 -1
  19. package/dist/entities/helpers/sales/contact/contact_types.entity.d.ts +0 -5
  20. package/dist/entities/helpers/sales/contact/contact_types.entity.js +0 -36
  21. package/dist/entities/helpers/sales/contact/contact_types.entity.js.map +0 -1
  22. package/dist/entities/helpers/sales/poliza/h_poliza_company.entity.d.ts +0 -5
  23. package/dist/entities/helpers/sales/poliza/h_poliza_company.entity.js +0 -30
  24. package/dist/entities/helpers/sales/poliza/h_poliza_company.entity.js.map +0 -1
  25. package/dist/entities/thirdparty/email-config.d.ts +0 -1
  26. package/dist/entities/thirdparty/email-config.js +0 -3
  27. package/dist/entities/thirdparty/email-config.js.map +0 -1
  28. package/dist/modules/notifier/notifier.module.d.ts +0 -4
  29. package/dist/modules/notifier/notifier.module.js +0 -52
  30. package/dist/modules/notifier/notifier.module.js.map +0 -1
  31. package/dist/modules/notifier/notifier.service.d.ts +0 -19
  32. package/dist/modules/notifier/notifier.service.js +0 -231
  33. package/dist/modules/notifier/notifier.service.js.map +0 -1
  34. package/dist/modules/notifier/scheduler.service.d.ts +0 -9
  35. package/dist/modules/notifier/scheduler.service.js +0 -40
  36. package/dist/modules/notifier/scheduler.service.js.map +0 -1
  37. package/dist/modules/queue/subservices/calendar.service.d.ts +0 -2
  38. package/dist/modules/queue/subservices/calendar.service.js +0 -17
  39. package/dist/modules/queue/subservices/calendar.service.js.map +0 -1
  40. package/dist/modules/queue/subservices/contact.service.d.ts +0 -7
  41. package/dist/modules/queue/subservices/contact.service.js +0 -49
  42. package/dist/modules/queue/subservices/contact.service.js.map +0 -1
  43. package/dist/modules/queue/subservices/index.d.ts +0 -3
  44. package/dist/modules/queue/subservices/index.js +0 -20
  45. package/dist/modules/queue/subservices/index.js.map +0 -1
  46. package/dist/modules/queue/subservices/task.service.d.ts +0 -12
  47. package/dist/modules/queue/subservices/task.service.js +0 -173
  48. package/dist/modules/queue/subservices/task.service.js.map +0 -1
@@ -1,20 +0,0 @@
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("./contact.service"), exports);
18
- __exportStar(require("./task.service"), exports);
19
- __exportStar(require("./calendar.service"), exports);
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/queue/subservices/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,iDAA+B;AAC/B,qDAAmC"}
@@ -1,12 +0,0 @@
1
- import { EasyNotifierService } from '../notifier.service';
2
- import { Task, TaskComment } from '../../../entities';
3
- export declare class TaskNotifierService {
4
- private readonly parent;
5
- constructor(parent: EasyNotifierService);
6
- notifyTaskCompletion(task: Task, recipientsId: string[]): Promise<void>;
7
- notifyTaskOverdue(task: Task, recipientsId: string[]): Promise<void>;
8
- notifyTaskContinue(task: Task, recipientsId: string[]): Promise<void>;
9
- notifyNewTask(task: Task, recipientsId: string[]): Promise<void>;
10
- notifyTaskUpdate(task: Task, recipientsId: string[], changedFields: string[]): Promise<void>;
11
- notifyNewComment(task: Task, comment: TaskComment, recipientsId: string[]): Promise<void>;
12
- }
@@ -1,173 +0,0 @@
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.TaskNotifierService = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const notifier_service_1 = require("../notifier.service");
15
- const common_2 = require("../../../common");
16
- let TaskNotifierService = class TaskNotifierService {
17
- parent;
18
- constructor(parent) {
19
- this.parent = parent;
20
- }
21
- async notifyTaskCompletion(task, recipientsId) {
22
- const metadata = {
23
- taskId: task.id,
24
- taskOwnerId: task.createdBy.id,
25
- taskResponsibleId: task.responsible[0].id,
26
- };
27
- const notificationDto = {
28
- title: "Task Completed",
29
- content: `The task ${task.name} has been completed`,
30
- recipientsId,
31
- entityId: task.id,
32
- channels: [common_2.NotificationChannel.APP],
33
- category: common_2.NotificationCategory.TASK,
34
- subCategory: common_2.NotificationSubcategory.TASK_COMPLETED,
35
- metadata,
36
- };
37
- await this.parent.sendNotification(notificationDto);
38
- }
39
- async notifyTaskOverdue(task, recipientsId) {
40
- const metadata = {
41
- taskId: task.id,
42
- taskOwnerId: task.createdBy.id,
43
- taskResponsibleId: task.responsible[0].id,
44
- };
45
- const notificationDto = {
46
- title: "Task Overdue",
47
- content: `La tarea [#${task.number}] - ${task.name} está atrasada`,
48
- recipientsId,
49
- entityId: task.id,
50
- channels: [common_2.NotificationChannel.APP, common_2.NotificationChannel.SMS, common_2.NotificationChannel.PUSH],
51
- category: common_2.NotificationCategory.TASK,
52
- subCategory: common_2.NotificationSubcategory.TASK_OVERDUE,
53
- metadata,
54
- };
55
- await this.parent.sendNotification(notificationDto);
56
- }
57
- async notifyTaskContinue(task, recipientsId) {
58
- const metadata = {
59
- taskId: task.id,
60
- taskOwnerId: task.createdBy.id,
61
- taskResponsibleId: task.responsible[0].id,
62
- };
63
- const notificationDto = {
64
- title: "Task Continue",
65
- content: `La tarea #${task.number} - ${task.name}, ha sido reanudada`,
66
- recipientsId,
67
- entityId: task.id,
68
- channels: [common_2.NotificationChannel.APP],
69
- category: common_2.NotificationCategory.TASK,
70
- subCategory: common_2.NotificationSubcategory.TASK_UPDATED,
71
- metadata,
72
- };
73
- await this.parent.sendNotification(notificationDto);
74
- }
75
- async notifyNewTask(task, recipientsId) {
76
- const fechaLimite = task.deadline ? `<br/>Fecha Limite:${new Date(task.deadline)}` : ``;
77
- const observadores = task.observers.length > 0 ? `<br/>Observadores: ${task.observers.map(observer => observer.username).join(", ")}` : ``;
78
- const responsible = task.responsible.length > 0 ? `<br/>Persona Responsable: ${task.responsible.map(responsible => responsible.username).join(", ")}` : ``;
79
- const participants = task.participants.length > 0 ? `<br/>Participantes: ${task.participants.map(participant => participant.username).join(", ")}` : ``;
80
- const content = `Nueva Tarea agregada: <a href="/tools/tasks/task/${task.id}?show=true" style="color:blue">[${task.name}]</a>${responsible}${observadores}${participants}${fechaLimite}`;
81
- const metadata = {
82
- taskId: task.id,
83
- taskOwnerId: task.createdBy.id,
84
- taskResponsibleId: task.responsible[0].id,
85
- };
86
- const notificationDto = {
87
- title: "New Task",
88
- content,
89
- recipientsId,
90
- entityId: task.id,
91
- channels: [common_2.NotificationChannel.APP, common_2.NotificationChannel.SMS, common_2.NotificationChannel.PUSH],
92
- category: common_2.NotificationCategory.TASK,
93
- subCategory: common_2.NotificationSubcategory.NEW_TASK,
94
- metadata,
95
- };
96
- await this.parent.sendNotification(notificationDto);
97
- }
98
- async notifyTaskUpdate(task, recipientsId, changedFields) {
99
- const metadata = {
100
- taskId: task.id,
101
- taskOwnerId: task.createdBy.id,
102
- taskResponsibleId: task.responsible[0].id,
103
- };
104
- const createNotificationDto = (content, recipients) => ({
105
- title: "Task Update",
106
- content,
107
- recipientsId: recipients,
108
- entityId: task.id,
109
- channels: [common_2.NotificationChannel.APP, common_2.NotificationChannel.SMS, common_2.NotificationChannel.PUSH],
110
- category: common_2.NotificationCategory.TASK,
111
- subCategory: common_2.NotificationSubcategory.TASK_UPDATED,
112
- metadata,
113
- });
114
- const taskLink = `<a href="/tools/tasks/task/${task.id}?show=true" style="color:blue">[${task.name}]</a>`;
115
- let content = `Tarea #${task.number} - ${taskLink}`;
116
- if (changedFields.length === 0) {
117
- content += " - ha sido actualizada";
118
- await this.parent.sendNotification(createNotificationDto(content, recipientsId));
119
- return;
120
- }
121
- content += " - se actualizó:";
122
- if (changedFields.includes("deadline")) {
123
- if (task.deadline) {
124
- const deadLine = new Date(task.deadline);
125
- content += `<br/>Fecha Limite cambiada: ${deadLine.getDate()}/${deadLine.getMonth() + 1}/${deadLine.getFullYear()}`;
126
- }
127
- else {
128
- content += `<br/>Fecha Limite cambiada: Ninguna`;
129
- }
130
- }
131
- if (changedFields.includes("responsible")) {
132
- content = `Se le asignó la tarea #${task.number} - ${taskLink}`;
133
- await this.parent.sendNotification(createNotificationDto(content, [task.responsible[0].id]));
134
- }
135
- else {
136
- if (changedFields.includes("name"))
137
- content += `<br/>Nombre: ${task.name}`;
138
- if (changedFields.includes("description"))
139
- content += `<br/>Descripción: ${task.description}`;
140
- if (changedFields.includes("status"))
141
- content += `<br/>Estado: ${task.status}`;
142
- await this.parent.sendNotification(createNotificationDto(content, recipientsId));
143
- }
144
- }
145
- async notifyNewComment(task, comment, recipientsId) {
146
- const commentText = comment.comment.slice(0, 20);
147
- const content = `${comment.createdBy.name} comentó en la tarea: <a href="/tools/tasks/task/${task.id}?show=true" style="color:#170f6b">[${task.name}]</a>. Texto del comentario: ${commentText}`;
148
- const metadata = {
149
- taskId: task.id,
150
- commentId: comment.id,
151
- taskOwnerId: task.createdBy.id,
152
- commentOwnerId: comment.createdBy.id,
153
- taskResponsibleId: task.responsible[0].id,
154
- };
155
- const notificationDto = {
156
- title: "New Comment",
157
- content,
158
- recipientsId,
159
- entityId: task.id,
160
- channels: [common_2.NotificationChannel.APP, common_2.NotificationChannel.SMS, common_2.NotificationChannel.PUSH],
161
- category: common_2.NotificationCategory.TASK,
162
- subCategory: common_2.NotificationSubcategory.TASK_NEW_COMMNET,
163
- metadata,
164
- };
165
- await this.parent.sendNotification(notificationDto);
166
- }
167
- };
168
- exports.TaskNotifierService = TaskNotifierService;
169
- exports.TaskNotifierService = TaskNotifierService = __decorate([
170
- (0, common_1.Injectable)(),
171
- __metadata("design:paramtypes", [notifier_service_1.EasyNotifierService])
172
- ], TaskNotifierService);
173
- //# sourceMappingURL=task.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../../../src/modules/queue/subservices/task.service.ts"],"names":[],"mappings":"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"}