@servicelabsco/slabs-access-manager 0.1.224 → 0.1.225

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.
@@ -22,6 +22,8 @@ export declare class EmailMessageEntity extends CommonEntity {
22
22
  processed_at: Date;
23
23
  rule_id: number;
24
24
  custom_field_data: string;
25
+ threads_count: number;
26
+ last_thread_at: Date;
25
27
  attributes: EmailMessageAttributesDto;
26
28
  email: BusinessEmailEntity;
27
29
  attachments: EmailAttachmentEntity[];
@@ -84,6 +84,14 @@ __decorate([
84
84
  (0, typeorm_1.Column)('json'),
85
85
  __metadata("design:type", String)
86
86
  ], EmailMessageEntity.prototype, "custom_field_data", void 0);
87
+ __decorate([
88
+ (0, typeorm_1.Column)(),
89
+ __metadata("design:type", Number)
90
+ ], EmailMessageEntity.prototype, "threads_count", void 0);
91
+ __decorate([
92
+ (0, typeorm_1.Column)(),
93
+ __metadata("design:type", Date)
94
+ ], EmailMessageEntity.prototype, "last_thread_at", void 0);
87
95
  __decorate([
88
96
  (0, typeorm_1.Column)('json'),
89
97
  __metadata("design:type", email_message_attributes_dto_1.EmailMessageAttributesDto)
@@ -1 +1 @@
1
- {"version":3,"file":"email.message.entity.js","sourceRoot":"","sources":["../../../src/access/entities/email.message.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oFAAsE;AACtE,qCAA2E;AAE3E,uFAAiF;AACjF,mEAA8D;AAC9D,uEAAkE;AAClE,qEAAgE;AAChE,2DAAsD;AAS/C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,sCAAY;CA+DnD,CAAA;AA/DY,gDAAkB;AAE3B;IADC,IAAA,gBAAM,GAAE;;oDACQ;AAGjB;IADC,IAAA,gBAAM,GAAE;;sDACU;AAGnB;IADC,IAAA,gBAAM,GAAE;;sDACU;AAGnB;IADC,IAAA,gBAAM,GAAE;;mDACO;AAGhB;IADC,IAAA,gBAAM,GAAE;;gDACI;AAGb;IADC,IAAA,gBAAM,GAAE;8BACI,IAAI;uDAAC;AAGlB;IADC,IAAA,gBAAM,GAAE;;gDACK;AAGd;IADC,IAAA,gBAAM,GAAE;;+DACmB;AAG5B;IADC,IAAA,gBAAM,GAAE;;sDACW;AAGpB;IADC,IAAA,gBAAM,GAAE;8BACG,IAAI;sDAAC;AAGjB;IADC,IAAA,gBAAM,GAAE;;sDACW;AAGpB;IADC,IAAA,gBAAM,GAAE;;qDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;;qDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;8BACK,IAAI;wDAAC;AAGnB;IADC,IAAA,gBAAM,GAAE;;mDACO;AAGhB;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;6DACW;AAG1B;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;8BACH,wDAAyB;sDAAC;AAGkC;IAAvE,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;IAAE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BAAQ,2CAAmB;iDAAC;AAEvB;IAA3E,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,+CAAqB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;;uDAAsC;AAExC;IAAxE,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6CAAoB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;;sDAAoC;AAEzC;IAAlE,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,mCAAe,CAAC;IAAE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BAAO,mCAAe;gDAAC;6BA3DhF,kBAAkB;IAD9B,IAAA,gBAAM,EAAC,mBAAmB,CAAC;GACf,kBAAkB,CA+D9B"}
1
+ {"version":3,"file":"email.message.entity.js","sourceRoot":"","sources":["../../../src/access/entities/email.message.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oFAAsE;AACtE,qCAA2E;AAE3E,uFAAiF;AACjF,mEAA8D;AAC9D,uEAAkE;AAClE,qEAAgE;AAChE,2DAAsD;AAS/C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,sCAAY;CAqEnD,CAAA;AArEY,gDAAkB;AAE3B;IADC,IAAA,gBAAM,GAAE;;oDACQ;AAGjB;IADC,IAAA,gBAAM,GAAE;;sDACU;AAGnB;IADC,IAAA,gBAAM,GAAE;;sDACU;AAGnB;IADC,IAAA,gBAAM,GAAE;;mDACO;AAGhB;IADC,IAAA,gBAAM,GAAE;;gDACI;AAGb;IADC,IAAA,gBAAM,GAAE;8BACI,IAAI;uDAAC;AAGlB;IADC,IAAA,gBAAM,GAAE;;gDACK;AAGd;IADC,IAAA,gBAAM,GAAE;;+DACmB;AAG5B;IADC,IAAA,gBAAM,GAAE;;sDACW;AAGpB;IADC,IAAA,gBAAM,GAAE;8BACG,IAAI;sDAAC;AAGjB;IADC,IAAA,gBAAM,GAAE;;sDACW;AAGpB;IADC,IAAA,gBAAM,GAAE;;qDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;;qDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;8BACK,IAAI;wDAAC;AAGnB;IADC,IAAA,gBAAM,GAAE;;mDACO;AAGhB;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;6DACW;AAG1B;IADC,IAAA,gBAAM,GAAE;;yDACa;AAGtB;IADC,IAAA,gBAAM,GAAE;8BACO,IAAI;0DAAC;AAGrB;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;8BACH,wDAAyB;sDAAC;AAGkC;IAAvE,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;IAAE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BAAQ,2CAAmB;iDAAC;AAEvB;IAA3E,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,+CAAqB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;;uDAAsC;AAExC;IAAxE,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6CAAoB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;;sDAAoC;AAEzC;IAAlE,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,mCAAe,CAAC;IAAE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BAAO,mCAAe;gDAAC;6BAjEhF,kBAAkB;IAD9B,IAAA,gBAAM,EAAC,mBAAmB,CAAC;GACf,kBAAkB,CAqE9B"}
@@ -10,4 +10,5 @@ export declare class EmailMessageJob extends CommonJob {
10
10
  handle(evt: DatabaseEventDto<EmailMessageEntity>): Promise<void>;
11
11
  evaluateRule(evt: DatabaseEventDto<EmailMessageEntity>): Promise<any>;
12
12
  incrementCount(evt: DatabaseEventDto<EmailMessageEntity>): Promise<BusinessEmailEntity>;
13
+ incrementThreadCount(evt: DatabaseEventDto<EmailMessageEntity>): Promise<EmailMessageEntity>;
13
14
  }
@@ -13,6 +13,7 @@ exports.EmailMessageJob = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
15
15
  const business_email_entity_1 = require("../entities/business.email.entity");
16
+ const email_message_entity_1 = require("../entities/email.message.entity");
16
17
  const evaluate_email_rule_job_1 = require("./evaluate.email.rule.job");
17
18
  let EmailMessageJob = class EmailMessageJob extends nestjs_utility_services_1.CommonJob {
18
19
  constructor(queueService, sqlService, evaluateEmailRuleJob) {
@@ -24,6 +25,7 @@ let EmailMessageJob = class EmailMessageJob extends nestjs_utility_services_1.Co
24
25
  async handle(evt) {
25
26
  await this.evaluateRule(evt);
26
27
  await this.incrementCount(evt);
28
+ await this.incrementThreadCount(evt);
27
29
  }
28
30
  async evaluateRule(evt) {
29
31
  if (!this.isNewRecord(evt))
@@ -41,6 +43,18 @@ let EmailMessageJob = class EmailMessageJob extends nestjs_utility_services_1.Co
41
43
  email.attributes = { ...email.attributes, unread_count: emailMessages.count };
42
44
  return email.save();
43
45
  }
46
+ async incrementThreadCount(evt) {
47
+ if (!this.isColumnUpdated(evt, ['parent_id']))
48
+ return;
49
+ if (!evt.entity.parent_id)
50
+ return;
51
+ const sql = `select count(1) threads_count, max(a.emailed_at) last_thread_at from bz_email_messages a where a.parent_id = ${evt.entity.id} and a.deleted_at is null`;
52
+ const record = await this.sqlService.readFirst(sql);
53
+ const r = await email_message_entity_1.EmailMessageEntity.first(evt.entity.parent_id);
54
+ r.threads_count = record.count;
55
+ r.last_thread_at = record.last_thread_at;
56
+ return r.save();
57
+ }
44
58
  };
45
59
  exports.EmailMessageJob = EmailMessageJob;
46
60
  exports.EmailMessageJob = EmailMessageJob = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"email.message.job.js","sourceRoot":"","sources":["../../../src/access/jobs/email.message.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAA+G;AAC/G,6EAAwE;AAExE,uEAAiE;AAG1D,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,mCAAS;IAC1C,YACuB,YAA0B,EAC5B,UAAsB,EACpB,oBAA0C;QAE7D,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAJvB,iBAAY,GAAZ,YAAY,CAAc;QAC5B,eAAU,GAAV,UAAU,CAAY;QACpB,yBAAoB,GAApB,oBAAoB,CAAsB;IAGjE,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAyC;QAClD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAyC;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO;QACnC,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAyC;QAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO;QAEnC,MAAM,GAAG,GAAG,oEAAoE,GAAG,CAAC,MAAM,CAAC,QAAQ,6CAA6C,CAAC;QACjJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE3D,MAAM,KAAK,GAAG,MAAM,2CAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;QAE9E,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CACJ,CAAA;AA/BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAG4B,sCAAY;QAChB,oCAAU;QACE,8CAAoB;GAJxD,eAAe,CA+B3B"}
1
+ {"version":3,"file":"email.message.job.js","sourceRoot":"","sources":["../../../src/access/jobs/email.message.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAA+G;AAC/G,6EAAwE;AACxE,2EAAsE;AACtE,uEAAiE;AAG1D,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,mCAAS;IAC1C,YACuB,YAA0B,EAC5B,UAAsB,EACpB,oBAA0C;QAE7D,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAJvB,iBAAY,GAAZ,YAAY,CAAc;QAC5B,eAAU,GAAV,UAAU,CAAY;QACpB,yBAAoB,GAApB,oBAAoB,CAAsB;IAGjE,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAyC;QAClD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAyC;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO;QACnC,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAyC;QAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO;QAEnC,MAAM,GAAG,GAAG,oEAAoE,GAAG,CAAC,MAAM,CAAC,QAAQ,6CAA6C,CAAC;QACjJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE3D,MAAM,KAAK,GAAG,MAAM,2CAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;QAE9E,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAyC;QAChE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YAAE,OAAO;QACtD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO;QAElC,MAAM,GAAG,GAAG,gHAAgH,GAAG,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;QACrK,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEpD,MAAM,CAAC,GAAG,MAAM,yCAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAEzC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CACJ,CAAA;AA9CY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAG4B,sCAAY;QAChB,oCAAU;QACE,8CAAoB;GAJxD,eAAe,CA8C3B"}
@@ -0,0 +1,5 @@
1
+ import { MigrationUtility } from '@servicelabsco/nestjs-utility-services';
2
+ export declare class AddThreadInformationBzEmailMessagesTable1743017665565 extends MigrationUtility {
3
+ constructor();
4
+ process(): void;
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddThreadInformationBzEmailMessagesTable1743017665565 = void 0;
4
+ const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
5
+ class AddThreadInformationBzEmailMessagesTable1743017665565 extends nestjs_utility_services_1.MigrationUtility {
6
+ constructor() {
7
+ super('bz_email_messages');
8
+ this.process();
9
+ }
10
+ process() {
11
+ this.number('threads_count', { default: 0 });
12
+ this.dateTime('last_thread_at');
13
+ }
14
+ }
15
+ exports.AddThreadInformationBzEmailMessagesTable1743017665565 = AddThreadInformationBzEmailMessagesTable1743017665565;
16
+ //# sourceMappingURL=1743017665565-AddThreadInformationBzEmailMessagesTable.ts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1743017665565-AddThreadInformationBzEmailMessagesTable.ts.js","sourceRoot":"","sources":["../../src/migrations/1743017665565-AddThreadInformationBzEmailMessagesTable.ts.ts"],"names":[],"mappings":";;;AAAA,oFAA0E;AAE1E,MAAa,qDAAsD,SAAQ,0CAAgB;IACvF;QACI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;CACJ;AAVD,sHAUC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicelabsco/slabs-access-manager",
3
- "version": "0.1.224",
3
+ "version": "0.1.225",
4
4
  "description": "Support for application level menus and dashboards",
5
5
  "author": "Hemant Kumar Sah <hemantanshu@gmail.com>",
6
6
  "license": "MIT",