@alanszp/eventbridge-subscriber 14.0.0 → 14.0.1

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.
@@ -1,4 +1,5 @@
1
1
  import { BaseModel } from "@alanszp/validations";
2
+ /** @deprecated Use SubscribedEventInput instead. */
2
3
  export interface NotificationInputParams<T> {
3
4
  version: string;
4
5
  id: string;
@@ -10,6 +11,7 @@ export interface NotificationInputParams<T> {
10
11
  resources: string[];
11
12
  detail: T;
12
13
  }
14
+ /** @deprecated Use SubscribedEventInput instead. */
13
15
  export interface INotificationInput<T> {
14
16
  version: string;
15
17
  id: string;
@@ -17,6 +19,7 @@ export interface INotificationInput<T> {
17
19
  createdAt: Date | string;
18
20
  data: T;
19
21
  }
22
+ /** @deprecated Use SubscribedEventInput instead. */
20
23
  export declare class NotificationInput<T extends Record<string, unknown> = Record<string, unknown>> extends BaseModel implements INotificationInput<T> {
21
24
  version: string;
22
25
  id: string;
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.NotificationInput = void 0;
10
10
  const validations_1 = require("@alanszp/validations");
11
11
  const class_validator_1 = require("class-validator");
12
+ /** @deprecated Use SubscribedEventInput instead. */
12
13
  class NotificationInput extends validations_1.BaseModel {
13
14
  constructor(params) {
14
15
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationInput.js","sourceRoot":"","sources":["../src/NotificationInput.ts"],"names":[],"mappings":";;;;;;;;;AAAA,sDAAiD;AACjD,qDAA+D;AAsB/D,MAAa,iBAGX,SAAQ,uBAAS;IAsBjB,YAAY,MAA0D;QACpE,KAAK,EAAE,CAAC;QACR,IAAI,OAAO,IAAI,MAAM,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;CACF;AA/BC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;kDACU;AAIvB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;6CACK;AAIlB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;gDACQ;AAIrB;IAFC,IAAA,wBAAM,GAAE;IACR,IAAA,4BAAU,GAAE;oDACU;AAGvB;IADC,IAAA,4BAAU,GAAE;+CACE;AAvBjB,8CAuCC"}
1
+ {"version":3,"file":"NotificationInput.js","sourceRoot":"","sources":["../src/NotificationInput.ts"],"names":[],"mappings":";;;;;;;;;AAAA,sDAAiD;AACjD,qDAA+D;AAwB/D,oDAAoD;AACpD,MAAa,iBAGX,SAAQ,uBAAS;IAsBjB,YAAY,MAA0D;QACpE,KAAK,EAAE,CAAC;QACR,IAAI,OAAO,IAAI,MAAM,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;CACF;AA/BC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;kDACU;AAIvB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;6CACK;AAIlB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;gDACQ;AAIrB;IAFC,IAAA,wBAAM,GAAE;IACR,IAAA,4BAAU,GAAE;oDACU;AAGvB;IADC,IAAA,4BAAU,GAAE;+CACE;AAvBjB,8CAuCC"}
@@ -0,0 +1,18 @@
1
+ import { BaseModel } from "@alanszp/validations";
2
+ import { EventBaseData, SubscribedEvent } from "./types/SubscribedEvent";
3
+ export interface ISubscribedEventInput<T extends EventBaseData = EventBaseData> {
4
+ event: SubscribedEvent<T>;
5
+ }
6
+ export declare class SubscribedEventInput<T extends EventBaseData = EventBaseData> extends BaseModel implements ISubscribedEventInput<T> {
7
+ event: SubscribedEvent<T>;
8
+ constructor(event: SubscribedEvent<T>);
9
+ static fromEventPayload<T extends EventBaseData = EventBaseData>(payload: {
10
+ event: SubscribedEvent<T>;
11
+ }): SubscribedEventInput<T>;
12
+ validate(): Promise<void>;
13
+ getEventData(): T;
14
+ getEventId(): string;
15
+ getEventTopic(): string;
16
+ getEventSource(): string;
17
+ getEventTimestamp(): string;
18
+ }
@@ -0,0 +1,67 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
+ return new (P || (P = Promise))(function (resolve, reject) {
11
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
15
+ });
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SubscribedEventInput = void 0;
19
+ const validations_1 = require("@alanszp/validations");
20
+ const class_validator_1 = require("class-validator");
21
+ const SubscribedEvent_1 = require("./types/SubscribedEvent");
22
+ class SubscribedEventInput extends validations_1.BaseModel {
23
+ constructor(event) {
24
+ super();
25
+ this.event = event;
26
+ }
27
+ static fromEventPayload(payload) {
28
+ return new SubscribedEventInput(payload.event);
29
+ }
30
+ validate() {
31
+ const _super = Object.create(null, {
32
+ validate: { get: () => super.validate }
33
+ });
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ yield _super.validate.call(this);
36
+ if (!(0, SubscribedEvent_1.isSubscribedEvent)(this.event))
37
+ throw new validations_1.ModelValidationError([
38
+ {
39
+ property: "event",
40
+ constraints: {
41
+ missingProps: "event is not a queued notification",
42
+ },
43
+ },
44
+ ]);
45
+ });
46
+ }
47
+ getEventData() {
48
+ return this.event.detail;
49
+ }
50
+ getEventId() {
51
+ return this.event.id;
52
+ }
53
+ getEventTopic() {
54
+ return this.event["detail-type"];
55
+ }
56
+ getEventSource() {
57
+ return this.event.source;
58
+ }
59
+ getEventTimestamp() {
60
+ return this.event.time;
61
+ }
62
+ }
63
+ __decorate([
64
+ (0, class_validator_1.IsDefined)()
65
+ ], SubscribedEventInput.prototype, "event", void 0);
66
+ exports.SubscribedEventInput = SubscribedEventInput;
67
+ //# sourceMappingURL=SubscribedEventInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscribedEventInput.js","sourceRoot":"","sources":["../src/SubscribedEventInput.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,sDAAuE;AACvE,qDAA4C;AAC5C,6DAIiC;AAQjC,MAAa,oBACX,SAAQ,uBAAS;IAMjB,YAAY,KAAyB;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAA0C,OAEhE;QACC,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEK,QAAQ;;;;;YACZ,MAAM,OAAM,QAAQ,WAAE,CAAC;YACvB,IAAI,CAAC,IAAA,mCAAiB,EAAC,IAAI,CAAC,KAAK,CAAC;gBAChC,MAAM,IAAI,kCAAoB,CAAC;oBAC7B;wBACE,QAAQ,EAAE,OAAO;wBACjB,WAAW,EAAE;4BACX,YAAY,EAAE,oCAAoC;yBACnD;qBACF;iBACF,CAAC,CAAC;QACP,CAAC;KAAA;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AA7CC;IADC,IAAA,2BAAS,GAAE;mDACqB;AALnC,oDAkDC"}
package/dist/index.d.ts CHANGED
@@ -1 +1,3 @@
1
1
  export * from "./NotificationInput";
2
+ export * from "./SubscribedEventInput";
3
+ export * from "./types/SubscribedEvent";
package/dist/index.js CHANGED
@@ -11,4 +11,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./NotificationInput"), exports);
14
+ __exportStar(require("./SubscribedEventInput"), exports);
15
+ __exportStar(require("./types/SubscribedEvent"), exports);
14
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,0DAAwC"}
@@ -0,0 +1,16 @@
1
+ export declare type EventBaseData = Record<string, unknown>;
2
+ export interface SubscribedEvent<T extends EventBaseData = EventBaseData> {
3
+ version: string;
4
+ id: string;
5
+ "detail-type": string;
6
+ source: string;
7
+ account: string;
8
+ time: string;
9
+ region: string;
10
+ resources: string[];
11
+ detail: T & {
12
+ lid: string;
13
+ lch: string;
14
+ };
15
+ }
16
+ export declare function isSubscribedEvent<T extends EventBaseData = EventBaseData>(elem: unknown): elem is SubscribedEvent<T>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSubscribedEvent = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ function isNonEmptyString(elem) {
6
+ return (0, class_validator_1.isString)(elem) && (0, class_validator_1.isNotEmpty)(elem);
7
+ }
8
+ function isSubscribedEvent(elem) {
9
+ if (!(0, class_validator_1.isObject)(elem))
10
+ return false;
11
+ const object = elem;
12
+ return (isNonEmptyString(object.id) &&
13
+ isNonEmptyString(object.source) &&
14
+ isNonEmptyString(object.time) &&
15
+ isNonEmptyString(object["detail-type"]) &&
16
+ isNonEmptyString(object.event) &&
17
+ isNonEmptyString(object.account) &&
18
+ (0, class_validator_1.isArray)(object.resources));
19
+ }
20
+ exports.isSubscribedEvent = isSubscribedEvent;
21
+ //# sourceMappingURL=SubscribedEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscribedEvent.js","sourceRoot":"","sources":["../../src/types/SubscribedEvent.ts"],"names":[],"mappings":";;;AAAA,qDAA0E;AAgB1E,SAAS,gBAAgB,CAAC,IAAa;IACrC,OAAO,IAAA,0BAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,4BAAU,EAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,iBAAiB,CAC/B,IAAa;IAEb,IAAI,CAAC,IAAA,0BAAQ,EAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,MAAM,GAAG,IAA+B,CAAC;IAE/C,OAAO,CACL,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/B,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;QAChC,IAAA,yBAAO,EAAC,MAAM,CAAC,SAAS,CAAC,CAC1B,CAAC;AACJ,CAAC;AAfD,8CAeC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alanszp/eventbridge-subscriber",
3
- "version": "14.0.0",
3
+ "version": "14.0.1",
4
4
  "description": "Alan's basic eventbridge subscriber.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -27,5 +27,5 @@
27
27
  "peerDependencies": {
28
28
  "class-validator": "^0.14.0"
29
29
  },
30
- "gitHead": "da5adb213c30d9509ccdc0c182d6c7a130a38612"
30
+ "gitHead": "bdd66863f04f1aabae0b676c7a38ef96af698788"
31
31
  }