@aitickets123654/common-kafka 1.0.28 → 1.0.31
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/TSTypes/expiration.expiration.complete.v1-value.d.ts +8 -0
- package/build/events/TSTypes/expiration.expiration.complete.v1-value.js +9 -0
- package/build/events/TSTypes/orders.order.cancelled.v1-value.d.ts +15 -0
- package/build/events/TSTypes/orders.order.cancelled.v1-value.js +11 -0
- package/build/events/TSTypes/orders.order.created.v1-value.d.ts +22 -0
- package/build/events/TSTypes/orders.order.created.v1-value.js +13 -0
- package/build/events/TSTypes/payments.payment.created.v1-value.d.ts +10 -0
- package/build/events/TSTypes/payments.payment.created.v1-value.js +9 -0
- package/build/events/TSTypes/tickets.ticket.created.v1-value.d.ts +12 -0
- package/build/events/TSTypes/tickets.ticket.created.v1-value.js +9 -0
- package/build/events/TSTypes/tickets.ticket.updated.v1-value.d.ts +16 -0
- package/build/events/TSTypes/tickets.ticket.updated.v1-value.js +9 -0
- package/build/events/base-listener.js +6 -7
- package/build/events/base-publisher.js +10 -31
- package/build/events/config/registry.d.ts +2 -0
- package/build/events/config/registry.js +7 -0
- package/build/events/config/schema-ids.json +8 -0
- package/build/events/expiration-complete-event.d.ts +2 -3
- package/build/events/order-cancelled-event.d.ts +2 -7
- package/build/events/order-created-event.d.ts +2 -12
- package/build/events/payment-created-event.d.ts +2 -5
- package/build/events/ticket-created-event.d.ts +2 -7
- package/build/events/ticket-updated-event.d.ts +2 -8
- package/build/index.d.ts +1 -1
- package/build/index.js +3 -1
- package/package.json +2 -1
- package/build/events/types/order-status.d.ts +0 -1
- package/build/events/types/order-status.js +0 -2
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type ExpirationCompleteData = Expiration.ExpirationCompleteData;
|
|
2
|
+
export declare namespace Expiration {
|
|
3
|
+
const ExpirationCompleteDataSchema = "{\"type\":\"record\",\"name\":\"ExpirationCompleteData\",\"namespace\":\"expiration\",\"fields\":[{\"name\":\"orderId\",\"type\":\"string\"}]}";
|
|
4
|
+
const ExpirationCompleteDataName = "expiration.ExpirationCompleteData";
|
|
5
|
+
interface ExpirationCompleteData {
|
|
6
|
+
orderId: string;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Expiration = void 0;
|
|
5
|
+
var Expiration;
|
|
6
|
+
(function (Expiration) {
|
|
7
|
+
Expiration.ExpirationCompleteDataSchema = "{\"type\":\"record\",\"name\":\"ExpirationCompleteData\",\"namespace\":\"expiration\",\"fields\":[{\"name\":\"orderId\",\"type\":\"string\"}]}";
|
|
8
|
+
Expiration.ExpirationCompleteDataName = "expiration.ExpirationCompleteData";
|
|
9
|
+
})(Expiration || (exports.Expiration = Expiration = {}));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type OrderCancelledData = Orders.OrderCancelledData;
|
|
2
|
+
export declare namespace Orders {
|
|
3
|
+
const OrderCancelledTicketSchema = "{\"type\":\"record\",\"name\":\"OrderCancelledTicket\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"}]}";
|
|
4
|
+
const OrderCancelledTicketName = "orders.OrderCancelledTicket";
|
|
5
|
+
interface OrderCancelledTicket {
|
|
6
|
+
id: string;
|
|
7
|
+
}
|
|
8
|
+
const OrderCancelledDataSchema = "{\"type\":\"record\",\"name\":\"OrderCancelledData\",\"namespace\":\"orders\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"ticket\",\"type\":{\"type\":\"record\",\"name\":\"OrderCancelledTicket\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"}]}},{\"name\":\"version\",\"type\":\"int\"}]}";
|
|
9
|
+
const OrderCancelledDataName = "orders.OrderCancelledData";
|
|
10
|
+
interface OrderCancelledData {
|
|
11
|
+
id: string;
|
|
12
|
+
ticket: Orders.OrderCancelledTicket;
|
|
13
|
+
version: number;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Orders = void 0;
|
|
5
|
+
var Orders;
|
|
6
|
+
(function (Orders) {
|
|
7
|
+
Orders.OrderCancelledTicketSchema = "{\"type\":\"record\",\"name\":\"OrderCancelledTicket\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"}]}";
|
|
8
|
+
Orders.OrderCancelledTicketName = "orders.OrderCancelledTicket";
|
|
9
|
+
Orders.OrderCancelledDataSchema = "{\"type\":\"record\",\"name\":\"OrderCancelledData\",\"namespace\":\"orders\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"ticket\",\"type\":{\"type\":\"record\",\"name\":\"OrderCancelledTicket\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"}]}},{\"name\":\"version\",\"type\":\"int\"}]}";
|
|
10
|
+
Orders.OrderCancelledDataName = "orders.OrderCancelledData";
|
|
11
|
+
})(Orders || (exports.Orders = Orders = {}));
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type OrderCreatedData = Orders.OrderCreatedData;
|
|
2
|
+
export declare namespace Orders {
|
|
3
|
+
const OrderStatusSchema = "{\"type\":\"enum\",\"name\":\"OrderStatus\",\"symbols\":[\"created\",\"cancelled\",\"awaiting_payment\",\"complete\"]}";
|
|
4
|
+
const OrderStatusName = "orders.OrderStatus";
|
|
5
|
+
type OrderStatus = "created" | "cancelled" | "awaiting_payment" | "complete";
|
|
6
|
+
const OrderTicketSchema = "{\"type\":\"record\",\"name\":\"OrderTicket\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"double\"}]}";
|
|
7
|
+
const OrderTicketName = "orders.OrderTicket";
|
|
8
|
+
interface OrderTicket {
|
|
9
|
+
id: string;
|
|
10
|
+
price: number;
|
|
11
|
+
}
|
|
12
|
+
const OrderCreatedDataSchema = "{\"type\":\"record\",\"name\":\"OrderCreatedData\",\"namespace\":\"orders\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"status\",\"type\":{\"type\":\"enum\",\"name\":\"OrderStatus\",\"symbols\":[\"created\",\"cancelled\",\"awaiting_payment\",\"complete\"]}},{\"name\":\"userId\",\"type\":\"string\"},{\"name\":\"expiresAt\",\"type\":\"string\"},{\"name\":\"ticket\",\"type\":{\"type\":\"record\",\"name\":\"OrderTicket\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"double\"}]}},{\"name\":\"version\",\"type\":\"int\"}]}";
|
|
13
|
+
const OrderCreatedDataName = "orders.OrderCreatedData";
|
|
14
|
+
interface OrderCreatedData {
|
|
15
|
+
id: string;
|
|
16
|
+
status: Orders.OrderStatus;
|
|
17
|
+
userId: string;
|
|
18
|
+
expiresAt: string;
|
|
19
|
+
ticket: Orders.OrderTicket;
|
|
20
|
+
version: number;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Orders = void 0;
|
|
5
|
+
var Orders;
|
|
6
|
+
(function (Orders) {
|
|
7
|
+
Orders.OrderStatusSchema = "{\"type\":\"enum\",\"name\":\"OrderStatus\",\"symbols\":[\"created\",\"cancelled\",\"awaiting_payment\",\"complete\"]}";
|
|
8
|
+
Orders.OrderStatusName = "orders.OrderStatus";
|
|
9
|
+
Orders.OrderTicketSchema = "{\"type\":\"record\",\"name\":\"OrderTicket\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"double\"}]}";
|
|
10
|
+
Orders.OrderTicketName = "orders.OrderTicket";
|
|
11
|
+
Orders.OrderCreatedDataSchema = "{\"type\":\"record\",\"name\":\"OrderCreatedData\",\"namespace\":\"orders\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"status\",\"type\":{\"type\":\"enum\",\"name\":\"OrderStatus\",\"symbols\":[\"created\",\"cancelled\",\"awaiting_payment\",\"complete\"]}},{\"name\":\"userId\",\"type\":\"string\"},{\"name\":\"expiresAt\",\"type\":\"string\"},{\"name\":\"ticket\",\"type\":{\"type\":\"record\",\"name\":\"OrderTicket\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"double\"}]}},{\"name\":\"version\",\"type\":\"int\"}]}";
|
|
12
|
+
Orders.OrderCreatedDataName = "orders.OrderCreatedData";
|
|
13
|
+
})(Orders || (exports.Orders = Orders = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type PaymentCreatedData = Payments.PaymentCreatedData;
|
|
2
|
+
export declare namespace Payments {
|
|
3
|
+
const PaymentCreatedDataSchema = "{\"type\":\"record\",\"name\":\"PaymentCreatedData\",\"namespace\":\"payments\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"orderId\",\"type\":\"string\"},{\"name\":\"stripeId\",\"type\":\"string\"}]}";
|
|
4
|
+
const PaymentCreatedDataName = "payments.PaymentCreatedData";
|
|
5
|
+
interface PaymentCreatedData {
|
|
6
|
+
id: string;
|
|
7
|
+
orderId: string;
|
|
8
|
+
stripeId: string;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Payments = void 0;
|
|
5
|
+
var Payments;
|
|
6
|
+
(function (Payments) {
|
|
7
|
+
Payments.PaymentCreatedDataSchema = "{\"type\":\"record\",\"name\":\"PaymentCreatedData\",\"namespace\":\"payments\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"orderId\",\"type\":\"string\"},{\"name\":\"stripeId\",\"type\":\"string\"}]}";
|
|
8
|
+
Payments.PaymentCreatedDataName = "payments.PaymentCreatedData";
|
|
9
|
+
})(Payments || (exports.Payments = Payments = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type TicketCreatedData = Tickets.TicketCreatedData;
|
|
2
|
+
export declare namespace Tickets {
|
|
3
|
+
const TicketCreatedDataSchema = "{\"type\":\"record\",\"name\":\"TicketCreatedData\",\"namespace\":\"tickets\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"title\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"double\"},{\"name\":\"userId\",\"type\":\"string\"},{\"name\":\"version\",\"type\":\"int\"}]}";
|
|
4
|
+
const TicketCreatedDataName = "tickets.TicketCreatedData";
|
|
5
|
+
interface TicketCreatedData {
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
price: number;
|
|
9
|
+
userId: string;
|
|
10
|
+
version: number;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Tickets = void 0;
|
|
5
|
+
var Tickets;
|
|
6
|
+
(function (Tickets) {
|
|
7
|
+
Tickets.TicketCreatedDataSchema = "{\"type\":\"record\",\"name\":\"TicketCreatedData\",\"namespace\":\"tickets\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"title\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"double\"},{\"name\":\"userId\",\"type\":\"string\"},{\"name\":\"version\",\"type\":\"int\"}]}";
|
|
8
|
+
Tickets.TicketCreatedDataName = "tickets.TicketCreatedData";
|
|
9
|
+
})(Tickets || (exports.Tickets = Tickets = {}));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type TicketUpdatedData = Tickets.TicketUpdatedData;
|
|
2
|
+
export declare namespace Tickets {
|
|
3
|
+
const TicketUpdatedDataSchema = "{\"type\":\"record\",\"name\":\"TicketUpdatedData\",\"namespace\":\"tickets\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"title\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"double\"},{\"name\":\"userId\",\"type\":\"string\"},{\"name\":\"orderId\",\"type\":[\"null\",\"string\"],\"default\":null},{\"name\":\"version\",\"type\":\"int\"}]}";
|
|
4
|
+
const TicketUpdatedDataName = "tickets.TicketUpdatedData";
|
|
5
|
+
interface TicketUpdatedData {
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
price: number;
|
|
9
|
+
userId: string;
|
|
10
|
+
/**
|
|
11
|
+
* Default: null
|
|
12
|
+
*/
|
|
13
|
+
orderId: null | string;
|
|
14
|
+
version: number;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Tickets = void 0;
|
|
5
|
+
var Tickets;
|
|
6
|
+
(function (Tickets) {
|
|
7
|
+
Tickets.TicketUpdatedDataSchema = "{\"type\":\"record\",\"name\":\"TicketUpdatedData\",\"namespace\":\"tickets\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"title\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"double\"},{\"name\":\"userId\",\"type\":\"string\"},{\"name\":\"orderId\",\"type\":[\"null\",\"string\"],\"default\":null},{\"name\":\"version\",\"type\":\"int\"}]}";
|
|
8
|
+
Tickets.TicketUpdatedDataName = "tickets.TicketUpdatedData";
|
|
9
|
+
})(Tickets || (exports.Tickets = Tickets = {}));
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Listener = void 0;
|
|
4
|
+
const registry_1 = require("./config/registry");
|
|
4
5
|
class Listener {
|
|
5
6
|
constructor(consumer) {
|
|
6
7
|
this.consumer = consumer;
|
|
@@ -15,13 +16,11 @@ class Listener {
|
|
|
15
16
|
await this.consumer.run({
|
|
16
17
|
eachBatchAutoResolve: false, // Отключаем автокоммиты — всё контролируем вручную
|
|
17
18
|
eachBatch: async ({ batch, resolveOffset, heartbeat, commitOffsetsIfNecessary, uncommittedOffsets, }) => {
|
|
18
|
-
var _a;
|
|
19
19
|
const { topic, partition } = batch;
|
|
20
20
|
let lastProcessedOffset = null; // запоминаем, до какого оффсета дошли
|
|
21
21
|
try {
|
|
22
22
|
for (const message of batch.messages) {
|
|
23
|
-
const offset = message
|
|
24
|
-
const value = (_a = message.value) === null || _a === void 0 ? void 0 : _a.toString();
|
|
23
|
+
const { offset, value } = message;
|
|
25
24
|
// Пустое сообщение — пропускаем и фиксируем
|
|
26
25
|
if (!value) {
|
|
27
26
|
resolveOffset(offset);
|
|
@@ -30,10 +29,10 @@ class Listener {
|
|
|
30
29
|
}
|
|
31
30
|
let data;
|
|
32
31
|
try {
|
|
33
|
-
data =
|
|
32
|
+
data = await registry_1.registry.decode(value);
|
|
34
33
|
}
|
|
35
34
|
catch (err) {
|
|
36
|
-
console.error(
|
|
35
|
+
console.error(`Avro decode failed for ${topic}/${partition}@${offset}`, err);
|
|
37
36
|
resolveOffset(offset); // не мешает прогрессу
|
|
38
37
|
lastProcessedOffset = offset;
|
|
39
38
|
continue;
|
|
@@ -47,7 +46,7 @@ class Listener {
|
|
|
47
46
|
await heartbeat();
|
|
48
47
|
}
|
|
49
48
|
catch (err) {
|
|
50
|
-
console.warn(
|
|
49
|
+
console.warn(`Error processing ${topic}/${partition}@${offset}:`, err);
|
|
51
50
|
// Откатываемся на оффсет с ошибкой
|
|
52
51
|
// Kafka при следующем цикле снова отдаст это сообщение
|
|
53
52
|
this.consumer.seek({ topic, partition, offset });
|
|
@@ -68,7 +67,7 @@ class Listener {
|
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
69
|
catch (commitErr) {
|
|
71
|
-
console.error(`commitOffsetsIfNecessary
|
|
70
|
+
console.error(`commitOffsetsIfNecessary failed (${topic}/${partition})`, commitErr);
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
},
|
|
@@ -1,45 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Publisher = void 0;
|
|
7
|
+
const registry_1 = require("./config/registry");
|
|
8
|
+
const schema_ids_json_1 = __importDefault(require("./config/schema-ids.json"));
|
|
4
9
|
class Publisher {
|
|
5
|
-
|
|
6
|
-
constructor(producer /*, admin: Admin*/) {
|
|
10
|
+
constructor(producer) {
|
|
7
11
|
this.producer = producer;
|
|
8
|
-
// this.admin = admin;
|
|
9
12
|
}
|
|
10
|
-
// private async ensureTopicExists(): Promise<void> {
|
|
11
|
-
// try {
|
|
12
|
-
// const topics = await this.admin.listTopics();
|
|
13
|
-
// if (!topics.includes(this.topic)) {
|
|
14
|
-
// await this.admin.createTopics({
|
|
15
|
-
// topics: [
|
|
16
|
-
// {
|
|
17
|
-
// topic: this.topic,
|
|
18
|
-
// numPartitions: 2,
|
|
19
|
-
// replicationFactor: 1,
|
|
20
|
-
// },
|
|
21
|
-
// ],
|
|
22
|
-
// waitForLeaders: true,
|
|
23
|
-
// validateOnly: false,
|
|
24
|
-
// timeout: 5000,
|
|
25
|
-
// });
|
|
26
|
-
// // console.log(`Topic '${this.topic}' created`);
|
|
27
|
-
// } else {
|
|
28
|
-
// // console.log(`Topic '${this.topic}' already exists`);
|
|
29
|
-
// }
|
|
30
|
-
// } catch (err) {
|
|
31
|
-
// console.error(`Failed to ensure topic '${this.topic}':`, err);
|
|
32
|
-
// throw err;
|
|
33
|
-
// }
|
|
34
|
-
// }
|
|
35
13
|
async publish(data) {
|
|
36
|
-
// await this.ensureTopicExists();
|
|
37
14
|
try {
|
|
15
|
+
const schemaId = schema_ids_json_1.default[`${this.topic}-value`];
|
|
16
|
+
const encoded = await registry_1.registry.encode(schemaId, data);
|
|
38
17
|
await this.producer.send({
|
|
39
18
|
topic: this.topic,
|
|
40
|
-
messages: [{ value:
|
|
19
|
+
messages: [{ value: encoded }],
|
|
41
20
|
});
|
|
42
|
-
|
|
21
|
+
console.log(`Event published to topic '${this.topic}'`);
|
|
43
22
|
}
|
|
44
23
|
catch (err) {
|
|
45
24
|
console.error('Failed to publish event:', err);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registry = void 0;
|
|
4
|
+
const confluent_schema_registry_1 = require("@kafkajs/confluent-schema-registry");
|
|
5
|
+
exports.registry = new confluent_schema_registry_1.SchemaRegistry({
|
|
6
|
+
host: process.env.SCHEMA_REGISTRY_URL || 'http://schema-registry:8081',
|
|
7
|
+
});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Topics } from './topics';
|
|
2
|
+
import { ExpirationCompleteData } from './TSTypes/expiration.expiration.complete.v1-value';
|
|
2
3
|
export interface ExpirationCompleteEvent {
|
|
3
4
|
topic: Topics.ExpirationComplete;
|
|
4
|
-
data:
|
|
5
|
-
orderId: string;
|
|
6
|
-
};
|
|
5
|
+
data: ExpirationCompleteData;
|
|
7
6
|
}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { Topics } from './topics';
|
|
2
|
+
import { OrderCancelledData } from './TSTypes/orders.order.cancelled.v1-value';
|
|
2
3
|
export interface OrderCancelledEvent {
|
|
3
4
|
topic: Topics.OrderCancelled;
|
|
4
|
-
data:
|
|
5
|
-
id: string;
|
|
6
|
-
ticket: {
|
|
7
|
-
id: string;
|
|
8
|
-
};
|
|
9
|
-
version: number;
|
|
10
|
-
};
|
|
5
|
+
data: OrderCancelledData;
|
|
11
6
|
}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import { Topics } from './topics';
|
|
2
|
-
import {
|
|
2
|
+
import { OrderCreatedData } from './TSTypes/orders.order.created.v1-value';
|
|
3
3
|
export interface OrderCreatedEvent {
|
|
4
4
|
topic: Topics.OrderCreated;
|
|
5
|
-
data:
|
|
6
|
-
id: string;
|
|
7
|
-
status: OrderStatus;
|
|
8
|
-
userId: string;
|
|
9
|
-
expiresAt: string;
|
|
10
|
-
ticket: {
|
|
11
|
-
id: string;
|
|
12
|
-
price: number;
|
|
13
|
-
};
|
|
14
|
-
version: number;
|
|
15
|
-
};
|
|
5
|
+
data: OrderCreatedData;
|
|
16
6
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { Topics } from './topics';
|
|
2
|
+
import { PaymentCreatedData } from './TSTypes/payments.payment.created.v1-value';
|
|
2
3
|
export interface PaymentCreatedEvent {
|
|
3
4
|
topic: Topics.PaymentCreated;
|
|
4
|
-
data:
|
|
5
|
-
id: string;
|
|
6
|
-
orderId: string;
|
|
7
|
-
stripeId: string;
|
|
8
|
-
};
|
|
5
|
+
data: PaymentCreatedData;
|
|
9
6
|
}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { Topics } from './topics';
|
|
2
|
+
import { TicketCreatedData } from './TSTypes/tickets.ticket.created.v1-value';
|
|
2
3
|
export interface TicketCreatedEvent {
|
|
3
4
|
topic: Topics.TicketCreated;
|
|
4
|
-
data:
|
|
5
|
-
id: string;
|
|
6
|
-
title: string;
|
|
7
|
-
price: number;
|
|
8
|
-
userId: string;
|
|
9
|
-
version: number;
|
|
10
|
-
};
|
|
5
|
+
data: TicketCreatedData;
|
|
11
6
|
}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { Topics } from './topics';
|
|
2
|
+
import { TicketUpdatedData } from './TSTypes/tickets.ticket.updated.v1-value';
|
|
2
3
|
export interface TicketUpdatedEvent {
|
|
3
4
|
topic: Topics.TicketUpdated;
|
|
4
|
-
data:
|
|
5
|
-
id: string;
|
|
6
|
-
title: string;
|
|
7
|
-
price: number;
|
|
8
|
-
userId: string;
|
|
9
|
-
orderId?: string;
|
|
10
|
-
version: number;
|
|
11
|
-
};
|
|
5
|
+
data: TicketUpdatedData;
|
|
12
6
|
}
|
package/build/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export * from './events/base-publisher';
|
|
|
13
13
|
export * from './events/topics';
|
|
14
14
|
export * from './events/ticket-created-event';
|
|
15
15
|
export * from './events/ticket-updated-event';
|
|
16
|
-
export
|
|
16
|
+
export { Orders } from './events/TSTypes/orders.order.created.v1-value';
|
|
17
17
|
export * from './events/order-cancelled-event';
|
|
18
18
|
export * from './events/order-created-event';
|
|
19
19
|
export * from './events/expiration-complete-event';
|
package/build/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Orders = void 0;
|
|
17
18
|
__exportStar(require("./errors/bad-request-error"), exports);
|
|
18
19
|
__exportStar(require("./errors/custom-error"), exports);
|
|
19
20
|
__exportStar(require("./errors/database-connection-error"), exports);
|
|
@@ -29,7 +30,8 @@ __exportStar(require("./events/base-publisher"), exports);
|
|
|
29
30
|
__exportStar(require("./events/topics"), exports);
|
|
30
31
|
__exportStar(require("./events/ticket-created-event"), exports);
|
|
31
32
|
__exportStar(require("./events/ticket-updated-event"), exports);
|
|
32
|
-
|
|
33
|
+
var orders_order_created_v1_value_1 = require("./events/TSTypes/orders.order.created.v1-value");
|
|
34
|
+
Object.defineProperty(exports, "Orders", { enumerable: true, get: function () { return orders_order_created_v1_value_1.Orders; } });
|
|
33
35
|
__exportStar(require("./events/order-cancelled-event"), exports);
|
|
34
36
|
__exportStar(require("./events/order-created-event"), exports);
|
|
35
37
|
__exportStar(require("./events/expiration-complete-event"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aitickets123654/common-kafka",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.31",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"typescript": "^5.8.3"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
+
"@kafkajs/confluent-schema-registry": "^3.9.0",
|
|
23
24
|
"@types/cookie-session": "^2.0.49",
|
|
24
25
|
"@types/express": "^4.17.3",
|
|
25
26
|
"@types/jsonwebtoken": "^9.0.9",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type OrderStatus = 'created' | 'cancelled' | 'awaiting_payment' | 'complete';
|