@lta.anluu/common 1.0.7 → 1.0.8
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.
- package/build/events/base-listener.d.ts +20 -0
- package/build/events/base-listener.d.ts.map +1 -0
- package/build/events/base-listener.js +33 -0
- package/build/events/base-listener.js.map +1 -0
- package/build/events/base-publisher.d.ts +14 -0
- package/build/events/base-publisher.d.ts.map +1 -0
- package/build/events/base-publisher.js +20 -0
- package/build/events/base-publisher.js.map +1 -0
- package/build/events/subject.d.ts +5 -0
- package/build/events/subject.d.ts.map +1 -0
- package/build/events/subject.js +6 -0
- package/build/events/subject.js.map +1 -0
- package/build/events/ticket-created-events.d.ts +11 -0
- package/build/events/ticket-created-events.d.ts.map +1 -0
- package/build/events/ticket-created-events.js +2 -0
- package/build/events/ticket-created-events.js.map +1 -0
- package/build/events/ticket-updated-events.d.ts +11 -0
- package/build/events/ticket-updated-events.d.ts.map +1 -0
- package/build/events/ticket-updated-events.js +2 -0
- package/build/events/ticket-updated-events.js.map +1 -0
- package/build/index.d.ts +15 -10
- package/build/index.d.ts.map +1 -1
- package/build/index.js +15 -10
- package/build/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Message } from 'node-nats-streaming';
|
|
2
|
+
import nats from 'node-nats-streaming';
|
|
3
|
+
import { Subjects } from './subject.js';
|
|
4
|
+
interface Event {
|
|
5
|
+
subject: Subjects;
|
|
6
|
+
data: any;
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class Listener<T extends Event> {
|
|
9
|
+
abstract subject: T['subject'];
|
|
10
|
+
abstract queueGroupName: string;
|
|
11
|
+
abstract onMessage(data: T['data'], msg: Message): void;
|
|
12
|
+
private client;
|
|
13
|
+
private ackWait;
|
|
14
|
+
constructor(client: nats.Stan);
|
|
15
|
+
subscriptionOptions(): nats.SubscriptionOptions;
|
|
16
|
+
listen(): void;
|
|
17
|
+
parseMessage(msg: Message): any;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=base-listener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-listener.d.ts","sourceRoot":"","sources":["../../src/events/base-listener.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,IAAI,MAAM,qBAAqB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,UAAU,KAAK;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,8BAAsB,QAAQ,CAAC,CAAC,SAAS,KAAK;IAC5C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAEvD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAoB;gBAEvB,MAAM,EAAE,IAAI,CAAC,IAAI;IAI7B,mBAAmB,IAAI,IAAI,CAAC,mBAAmB;IAS/C,MAAM;IAYN,YAAY,CAAC,GAAG,EAAE,OAAO;CAO1B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import nats from 'node-nats-streaming';
|
|
2
|
+
import { Subjects } from './subject.js';
|
|
3
|
+
export class Listener {
|
|
4
|
+
client;
|
|
5
|
+
ackWait = 5 * 1000;
|
|
6
|
+
constructor(client) {
|
|
7
|
+
this.client = client;
|
|
8
|
+
}
|
|
9
|
+
subscriptionOptions() {
|
|
10
|
+
return this.client
|
|
11
|
+
.subscriptionOptions()
|
|
12
|
+
.setManualAckMode(true)
|
|
13
|
+
.setDeliverAllAvailable()
|
|
14
|
+
.setAckWait(this.ackWait)
|
|
15
|
+
.setDurableName(this.queueGroupName);
|
|
16
|
+
}
|
|
17
|
+
listen() {
|
|
18
|
+
const subscription = this.client.subscribe(this.subject, this.queueGroupName, this.subscriptionOptions());
|
|
19
|
+
subscription.on('message', (msg) => {
|
|
20
|
+
console.log(`Message received: ${this.subject} / ${this.queueGroupName}`);
|
|
21
|
+
const parsedData = this.parseMessage(msg);
|
|
22
|
+
this.onMessage(parsedData, msg);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
parseMessage(msg) {
|
|
26
|
+
const data = msg.getData();
|
|
27
|
+
if (typeof data === 'string') {
|
|
28
|
+
return JSON.parse(data);
|
|
29
|
+
}
|
|
30
|
+
return JSON.parse(data.toString());
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=base-listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-listener.js","sourceRoot":"","sources":["../../src/events/base-listener.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,qBAAqB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAOxC,MAAM,OAAgB,QAAQ;IAKpB,MAAM,CAAY;IAClB,OAAO,GAAW,CAAC,GAAG,IAAI,CAAC;IAEnC,YAAY,MAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM;aACf,mBAAmB,EAAE;aACrB,gBAAgB,CAAC,IAAI,CAAC;aACtB,sBAAsB,EAAE;aACxB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;aACxB,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1G,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,EAAE;YAC1C,OAAO,CAAC,GAAG,CACT,qBAAqB,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAC7D,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,GAAY;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import nats from 'node-nats-streaming';
|
|
2
|
+
import { Subjects } from './subject.js';
|
|
3
|
+
interface Event {
|
|
4
|
+
subject: Subjects;
|
|
5
|
+
data: any;
|
|
6
|
+
}
|
|
7
|
+
export declare abstract class Publisher<T extends Event> {
|
|
8
|
+
abstract subject: T['subject'];
|
|
9
|
+
private client;
|
|
10
|
+
constructor(client: nats.Stan);
|
|
11
|
+
publish(data: T['data']): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=base-publisher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-publisher.d.ts","sourceRoot":"","sources":["../../src/events/base-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,qBAAqB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,UAAU,KAAK;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,8BAAsB,SAAS,CAAC,CAAC,SAAS,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAE/B,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,IAAI,CAAC,IAAI;IAI7B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAWxC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import nats from 'node-nats-streaming';
|
|
2
|
+
import { Subjects } from './subject.js';
|
|
3
|
+
export class Publisher {
|
|
4
|
+
client;
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
}
|
|
8
|
+
publish(data) {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
this.client.publish(this.subject, JSON.stringify(data), (err) => {
|
|
11
|
+
if (err) {
|
|
12
|
+
return reject(err);
|
|
13
|
+
}
|
|
14
|
+
console.log('Event published');
|
|
15
|
+
resolve();
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=base-publisher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-publisher.js","sourceRoot":"","sources":["../../src/events/base-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,qBAAqB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAOxC,MAAM,OAAgB,SAAS;IAGrB,MAAM,CAAY;IAE1B,YAAY,MAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,IAAe;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAsB,EAAE,EAAE;gBACjF,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../src/events/subject.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,aAAa,mBAAmB;IAChC,aAAa,mBAAmB;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subject.js","sourceRoot":"","sources":["../../src/events/subject.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,4CAAgC,CAAA;IAChC,4CAAgC,CAAA;AAClC,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket-created-events.d.ts","sourceRoot":"","sources":["../../src/events/ticket-created-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC;IAChC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket-created-events.js","sourceRoot":"","sources":["../../src/events/ticket-created-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket-updated-events.d.ts","sourceRoot":"","sources":["../../src/events/ticket-updated-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC;IAChC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket-updated-events.js","sourceRoot":"","sources":["../../src/events/ticket-updated-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
1
|
+
export * from "./errors/bad-request-error.js";
|
|
2
|
+
export * from "./errors/custom-error.js";
|
|
3
|
+
export * from "./errors/database-connection-error.js";
|
|
4
|
+
export * from "./errors/not-authorized-error.js";
|
|
5
|
+
export * from "./errors/not-found-error.js";
|
|
6
|
+
export * from "./errors/request-validation-error.js";
|
|
7
|
+
export * from "./middlewares/current-user.js";
|
|
8
|
+
export * from "./middlewares/error-handler.js";
|
|
9
|
+
export * from "./middlewares/require-auth.js";
|
|
10
|
+
export * from "./middlewares/validate-request.js";
|
|
11
|
+
export * from "./events/subject.js";
|
|
12
|
+
export * from "./events/base-publisher.js";
|
|
13
|
+
export * from "./events/base-listener.js";
|
|
14
|
+
export * from "./events/ticket-created-events.js";
|
|
15
|
+
export * from "./events/ticket-updated-events.js";
|
|
11
16
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AAErD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAElD,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
1
|
+
export * from "./errors/bad-request-error.js";
|
|
2
|
+
export * from "./errors/custom-error.js";
|
|
3
|
+
export * from "./errors/database-connection-error.js";
|
|
4
|
+
export * from "./errors/not-authorized-error.js";
|
|
5
|
+
export * from "./errors/not-found-error.js";
|
|
6
|
+
export * from "./errors/request-validation-error.js";
|
|
7
|
+
export * from "./middlewares/current-user.js";
|
|
8
|
+
export * from "./middlewares/error-handler.js";
|
|
9
|
+
export * from "./middlewares/require-auth.js";
|
|
10
|
+
export * from "./middlewares/validate-request.js";
|
|
11
|
+
export * from "./events/subject.js";
|
|
12
|
+
export * from "./events/base-publisher.js";
|
|
13
|
+
export * from "./events/base-listener.js";
|
|
14
|
+
export * from "./events/ticket-created-events.js";
|
|
15
|
+
export * from "./events/ticket-updated-events.js";
|
|
11
16
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AAErD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAElD,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lta.anluu/common",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"cookie-session": "^2.1.1",
|
|
28
28
|
"express": "^4.22.1",
|
|
29
29
|
"express-validator": "^7.3.1",
|
|
30
|
-
"jsonwebtoken": "^9.0.3"
|
|
30
|
+
"jsonwebtoken": "^9.0.3",
|
|
31
|
+
"node-nats-streaming": "^0.3.2"
|
|
31
32
|
}
|
|
32
33
|
}
|