@servicelabsco/slabs-access-manager 0.1.174 → 0.1.176

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.
@@ -11,10 +11,9 @@ export declare class SendWebhookRequest {
11
11
  protected event: WebhookEventEntity;
12
12
  protected payload: SendWebhookRequestPayload;
13
13
  constructor(business: AccessBusinessEntity, remoteRequestService: RemoteRequestService);
14
- process(payload: SendWebhookRequestPayload): Promise<BusinessWebhookEntity | WebhookLogEntity>;
14
+ process(payload: SendWebhookRequestPayload): Promise<WebhookLogEntity>;
15
15
  private validate;
16
16
  private sendRequest;
17
17
  private disableWebhook;
18
- private sleep;
19
18
  private saveLog;
20
19
  }
@@ -22,40 +22,30 @@ class SendWebhookRequest {
22
22
  const event = await webhook_event_entity_1.WebhookEventEntity.findOne({ where: { identifier: this.payload.event_identifier } });
23
23
  if (!event?.active)
24
24
  throw new nestjs_utility_services_1.OperationException('Event is not setup properly');
25
+ const hasEventEnabled = webhook.event_type.includes(event?.identifier);
26
+ if (!hasEventEnabled)
27
+ throw new nestjs_utility_services_1.OperationException('Event Not enabled on the business');
28
+ this.event = event;
25
29
  this.webhook = webhook;
26
30
  }
27
31
  async sendRequest() {
28
32
  const dataPayload = {
29
33
  url: this.webhook.url,
30
- methods: 'POST',
34
+ method: 'POST',
31
35
  headers: {
32
36
  'Content-Type': 'application/json',
33
37
  },
34
38
  data: this.payload?.payload,
35
39
  };
36
- let attempts = 0;
37
- const maxAttempts = 3;
38
- const delay = 30000;
39
- while (attempts < maxAttempts) {
40
- let data = await this.remoteRequestService.getRawResponse(dataPayload);
41
- if (data?.status === 200)
42
- return this.saveLog(data);
43
- attempts++;
44
- if (attempts < maxAttempts) {
45
- await this.sleep(delay);
46
- this.saveLog(data);
47
- }
48
- if (attempts === maxAttempts)
49
- return this.disableWebhook();
50
- }
40
+ let data = await this.remoteRequestService.getRawResponse(dataPayload);
41
+ if (data?.status !== 200)
42
+ await this.disableWebhook();
43
+ return this.saveLog(data);
51
44
  }
52
45
  async disableWebhook() {
53
46
  this.webhook.active = false;
54
47
  return this.webhook.save();
55
48
  }
56
- sleep(ms) {
57
- return new Promise((resolve) => setTimeout(resolve, ms));
58
- }
59
49
  async saveLog(request) {
60
50
  const log = webhook_log_entity_1.WebhookLogEntity.create({ webhook_id: this.webhook.id });
61
51
  log.event_id = this.event.id;
@@ -1 +1 @@
1
- {"version":3,"file":"send.webhook.request.js","sourceRoot":"","sources":["../../../src/access/libraries/send.webhook.request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.webhook.request.js","sourceRoot":"","sources":["../../../src/access/libraries/send.webhook.request.ts"],"names":[],"mappings":";;;AAAA,oFAAwH;AAGxH,iFAA4E;AAC5E,2EAAsE;AACtE,uEAAkE;AAMlE,MAAa,kBAAkB;IAM3B,YACqB,QAA8B,EAC9B,oBAA0C;QAD1C,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,yBAAoB,GAApB,oBAAoB,CAAsB;IAC5D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAAkC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,QAAQ;QAClB,MAAM,OAAO,GAAG,MAAM,+CAAqB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,EAAE,MAAM;YAAE,MAAM,IAAI,4CAAkB,CAAC,+BAA+B,CAAC,CAAC;QAEpF,MAAM,KAAK,GAAG,MAAM,yCAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,MAAM,IAAI,4CAAkB,CAAC,6BAA6B,CAAC,CAAC;QAEhF,MAAM,eAAe,GAAI,OAAO,CAAC,UAAuB,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACrF,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,4CAAkB,CAAC,mCAAmC,CAAC,CAAC;QAExF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,WAAW;QACrB,MAAM,WAAW,GAAG;YAChB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;aACrC;YACD,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO;SAC9B,CAAC;QAEF,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,IAAI,EAAE,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAA6B;QAC/C,MAAM,GAAG,GAAG,qCAAgB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAErE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAE7B,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACnC,GAAG,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;QACpC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;QAEjC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;CACJ;AAnED,gDAmEC"}
@@ -7,5 +7,5 @@ export declare class WebhookService {
7
7
  getJob(type: string): Promise<any>;
8
8
  setJobFromDb(name: string): Promise<string>;
9
9
  getSlugBusiness(slug: string): Promise<any>;
10
- triggerEvent(business_id: number, payload: SendWebhookRequestPayload): Promise<import("..").BusinessWebhookEntity | import("..").WebhookLogEntity>;
10
+ triggerEvent(business_id: number, payload: SendWebhookRequestPayload): Promise<import("..").WebhookLogEntity>;
11
11
  }
@@ -53,7 +53,12 @@ let WebhookService = class WebhookService {
53
53
  const business = await access_business_entity_1.AccessBusinessEntity.first(business_id);
54
54
  if (!business)
55
55
  return;
56
- return new send_webhook_request_1.SendWebhookRequest(business, this.remoteRequestService).process(payload);
56
+ try {
57
+ return await new send_webhook_request_1.SendWebhookRequest(business, this.remoteRequestService).process(payload);
58
+ }
59
+ catch (e) {
60
+ console.log(e);
61
+ }
57
62
  }
58
63
  };
59
64
  exports.WebhookService = WebhookService;
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.service.js","sourceRoot":"","sources":["../../../src/access/services/webhook.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAA4F;AAC5F,uCAAoC;AAEpC,+EAA0E;AAC1E,yEAAoE;AACpE,yEAAoE;AACpE,4EAAuE;AAGhE,IAAM,cAAc,GAApB,MAAM,cAAc;IACvB,YACuB,YAA0B,EAC5B,oBAA0C;QADxC,iBAAY,GAAZ,YAAY,CAAc;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;IAC5D,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,UAAU,GAAG,gBAAgB,IAAI,iBAAiB,CAAC;QACzD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,MAAM,CAAC,GAAG,MAAM,uCAAiB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,MAAM,UAAU,GAAG,gBAAgB,IAAI,iBAAiB,CAAC;QACzD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,IAAA,mBAAQ,EAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAC9B,MAAM,GAAG,GAAG,WAAW,IAAI,WAAW,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,CAAC,GAAG,MAAM,uCAAiB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,CAAC;YAAE,OAAO;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEpC,OAAO,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,OAAkC;QACtE,MAAM,QAAQ,GAAG,MAAM,6CAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,OAAO,IAAI,yCAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxF,CAAC;CACJ,CAAA;AA5CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAG4B,sCAAY;QACN,8CAAoB;GAHtD,cAAc,CA4C1B"}
1
+ {"version":3,"file":"webhook.service.js","sourceRoot":"","sources":["../../../src/access/services/webhook.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAA4F;AAC5F,uCAAoC;AAEpC,+EAA0E;AAC1E,yEAAoE;AACpE,yEAAoE;AACpE,4EAAuE;AAGhE,IAAM,cAAc,GAApB,MAAM,cAAc;IACvB,YACuB,YAA0B,EAC5B,oBAA0C;QADxC,iBAAY,GAAZ,YAAY,CAAc;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;IAC5D,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,UAAU,GAAG,gBAAgB,IAAI,iBAAiB,CAAC;QACzD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,MAAM,CAAC,GAAG,MAAM,uCAAiB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,MAAM,UAAU,GAAG,gBAAgB,IAAI,iBAAiB,CAAC;QACzD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,IAAA,mBAAQ,EAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAC9B,MAAM,GAAG,GAAG,WAAW,IAAI,WAAW,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,CAAC,GAAG,MAAM,uCAAiB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,CAAC;YAAE,OAAO;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEpC,OAAO,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,OAAkC;QACtE,MAAM,QAAQ,GAAG,MAAM,6CAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,yCAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;CACJ,CAAA;AAhDY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAG4B,sCAAY;QACN,8CAAoB;GAHtD,cAAc,CAgD1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicelabsco/slabs-access-manager",
3
- "version": "0.1.174",
3
+ "version": "0.1.176",
4
4
  "description": "Support for application level menus and dashboards",
5
5
  "author": "Hemant Kumar Sah <hemantanshu@gmail.com>",
6
6
  "license": "MIT",