@stackcine/contracts 1.9.0 → 1.10.0

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,4 +11,5 @@ export declare const PROTO_PATHS: {
11
11
  readonly SCREENING: string;
12
12
  readonly PAYMENT: string;
13
13
  readonly REFUND: string;
14
+ readonly BOOKING: string;
14
15
  };
@@ -15,4 +15,5 @@ exports.PROTO_PATHS = {
15
15
  SCREENING: (0, path_1.join)(__dirname, "../../proto/screening.proto"),
16
16
  PAYMENT: (0, path_1.join)(__dirname, "../../proto/payment.proto"),
17
17
  REFUND: (0, path_1.join)(__dirname, "../../proto/refund.proto"),
18
+ BOOKING: (0, path_1.join)(__dirname, "../../proto/booking.proto"),
18
19
  };
@@ -0,0 +1,156 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.11.2
4
+ // protoc v3.21.12
5
+ // source: booking.proto
6
+
7
+ /* eslint-disable */
8
+ import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
9
+ import { Observable } from "rxjs";
10
+
11
+ export const protobufPackage = "booking.v1";
12
+
13
+ export interface GetUserBookingsRequest {
14
+ userId: string;
15
+ }
16
+
17
+ export interface GetUserBookingsResponse {
18
+ bookings: BookingItem[];
19
+ }
20
+
21
+ export interface CreateReservationRequest {
22
+ userId: string;
23
+ screeningId: string;
24
+ seats: SeatInput[];
25
+ }
26
+
27
+ export interface CreateReservationResponse {
28
+ orderId: string;
29
+ ticketIds: string[];
30
+ amount: number;
31
+ }
32
+
33
+ export interface ConfirmBookingRequest {
34
+ bookingId: string;
35
+ userId: string;
36
+ }
37
+
38
+ export interface ConfirmBookingResponse {
39
+ ok: boolean;
40
+ }
41
+
42
+ export interface CancelBookingRequest {
43
+ bookingId: string;
44
+ userId: string;
45
+ }
46
+
47
+ export interface CancelBookingResponse {
48
+ ok: boolean;
49
+ }
50
+
51
+ export interface ListReservedSeatsRequest {
52
+ hallId: string;
53
+ screeningId: string;
54
+ }
55
+
56
+ export interface ListReservedSeatsResponse {
57
+ ok: boolean;
58
+ reservedSeatIds: string[];
59
+ }
60
+
61
+ export interface BookingItem {
62
+ id: string;
63
+ screeningDate: string;
64
+ screeningTime: string;
65
+ movie: BookingMovieInfo | undefined;
66
+ theater: BookingTheaterInfo | undefined;
67
+ hall: BookingHallInfo | undefined;
68
+ seats: BookingSeatInfo[];
69
+ qrCode: string;
70
+ }
71
+
72
+ export interface SeatInput {
73
+ seatId: string;
74
+ price: number;
75
+ }
76
+
77
+ export interface BookingSeatInfo {
78
+ id: string;
79
+ row: number;
80
+ number: number;
81
+ }
82
+
83
+ export interface BookingMovieInfo {
84
+ id: string;
85
+ title: string;
86
+ poster: string;
87
+ }
88
+
89
+ export interface BookingTheaterInfo {
90
+ id: string;
91
+ name: string;
92
+ }
93
+
94
+ export interface BookingHallInfo {
95
+ id: string;
96
+ name: string;
97
+ }
98
+
99
+ export const BOOKING_V1_PACKAGE_NAME = "booking.v1";
100
+
101
+ export interface BookingServiceClient {
102
+ getUserBookings(request: GetUserBookingsRequest): Observable<GetUserBookingsResponse>;
103
+
104
+ createReservation(request: CreateReservationRequest): Observable<CreateReservationResponse>;
105
+
106
+ confirmBooking(request: ConfirmBookingRequest): Observable<ConfirmBookingResponse>;
107
+
108
+ cancelBooking(request: CancelBookingRequest): Observable<CancelBookingResponse>;
109
+
110
+ listReservedSeats(request: ListReservedSeatsRequest): Observable<ListReservedSeatsResponse>;
111
+ }
112
+
113
+ export interface BookingServiceController {
114
+ getUserBookings(
115
+ request: GetUserBookingsRequest,
116
+ ): Promise<GetUserBookingsResponse> | Observable<GetUserBookingsResponse> | GetUserBookingsResponse;
117
+
118
+ createReservation(
119
+ request: CreateReservationRequest,
120
+ ): Promise<CreateReservationResponse> | Observable<CreateReservationResponse> | CreateReservationResponse;
121
+
122
+ confirmBooking(
123
+ request: ConfirmBookingRequest,
124
+ ): Promise<ConfirmBookingResponse> | Observable<ConfirmBookingResponse> | ConfirmBookingResponse;
125
+
126
+ cancelBooking(
127
+ request: CancelBookingRequest,
128
+ ): Promise<CancelBookingResponse> | Observable<CancelBookingResponse> | CancelBookingResponse;
129
+
130
+ listReservedSeats(
131
+ request: ListReservedSeatsRequest,
132
+ ): Promise<ListReservedSeatsResponse> | Observable<ListReservedSeatsResponse> | ListReservedSeatsResponse;
133
+ }
134
+
135
+ export function BookingServiceControllerMethods() {
136
+ return function (constructor: Function) {
137
+ const grpcMethods: string[] = [
138
+ "getUserBookings",
139
+ "createReservation",
140
+ "confirmBooking",
141
+ "cancelBooking",
142
+ "listReservedSeats",
143
+ ];
144
+ for (const method of grpcMethods) {
145
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
146
+ GrpcMethod("BookingService", method)(constructor.prototype[method], method, descriptor);
147
+ }
148
+ const grpcStreamMethods: string[] = [];
149
+ for (const method of grpcStreamMethods) {
150
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
151
+ GrpcStreamMethod("BookingService", method)(constructor.prototype[method], method, descriptor);
152
+ }
153
+ };
154
+ }
155
+
156
+ export const BOOKING_SERVICE_NAME = "BookingService";
@@ -63,6 +63,7 @@ export interface Movie {
63
63
  slug: string;
64
64
  duration: number;
65
65
  banner: string;
66
+ poster: string;
66
67
  }
67
68
 
68
69
  export interface Theater {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackcine/contracts",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "description": "Protobuf definitions and generated Typescript types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -0,0 +1,97 @@
1
+ syntax = "proto3";
2
+
3
+ package booking.v1;
4
+
5
+ service BookingService {
6
+ rpc GetUserBookings(GetUserBookingsRequest) returns (GetUserBookingsResponse);
7
+ rpc CreateReservation(CreateReservationRequest) returns (CreateReservationResponse);
8
+ rpc ConfirmBooking(ConfirmBookingRequest) returns (ConfirmBookingResponse);
9
+ rpc CancelBooking(CancelBookingRequest) returns (CancelBookingResponse);
10
+ rpc ListReservedSeats(ListReservedSeatsRequest) returns (ListReservedSeatsResponse);
11
+ }
12
+
13
+ message GetUserBookingsRequest {
14
+ string user_id = 1;
15
+ }
16
+
17
+ message GetUserBookingsResponse {
18
+ repeated BookingItem bookings = 1;
19
+ }
20
+
21
+ message CreateReservationRequest {
22
+ string user_id = 1;
23
+ string screening_id = 2;
24
+ repeated SeatInput seats = 3;
25
+ }
26
+
27
+ message CreateReservationResponse {
28
+ string order_id = 1;
29
+ repeated string ticket_ids = 2;
30
+ int32 amount = 3;
31
+ }
32
+
33
+ message ConfirmBookingRequest {
34
+ string booking_id = 1;
35
+ string user_id = 2;
36
+ }
37
+
38
+ message ConfirmBookingResponse {
39
+ bool ok = 1;
40
+ }
41
+
42
+ message CancelBookingRequest {
43
+ string booking_id = 1;
44
+ string user_id = 2;
45
+ }
46
+
47
+ message CancelBookingResponse {
48
+ bool ok = 1;
49
+ }
50
+
51
+ message ListReservedSeatsRequest {
52
+ string hall_id = 1;
53
+ string screening_id = 2;
54
+ }
55
+
56
+ message ListReservedSeatsResponse {
57
+ bool ok = 1;
58
+ repeated string reserved_seat_ids = 2;
59
+ }
60
+
61
+ message BookingItem {
62
+ string id = 1;
63
+ string screening_date = 2;
64
+ string screening_time = 3;
65
+ BookingMovieInfo movie = 4;
66
+ BookingTheaterInfo theater = 5;
67
+ BookingHallInfo hall = 6;
68
+ repeated BookingSeatInfo seats = 7;
69
+ string qr_code = 8;
70
+ }
71
+
72
+ message SeatInput {
73
+ string seat_id = 1;
74
+ int32 price = 2;
75
+ }
76
+
77
+ message BookingSeatInfo {
78
+ string id = 1;
79
+ int32 row = 2;
80
+ int32 number = 3;
81
+ }
82
+
83
+ message BookingMovieInfo {
84
+ string id = 1;
85
+ string title = 2;
86
+ string poster = 3;
87
+ }
88
+
89
+ message BookingTheaterInfo {
90
+ string id = 1;
91
+ string name = 2;
92
+ }
93
+
94
+ message BookingHallInfo {
95
+ string id = 1;
96
+ string name = 2;
97
+ }
@@ -3,81 +3,82 @@ syntax = "proto3";
3
3
  package screening.v1;
4
4
 
5
5
  service ScreeningService {
6
- rpc CreateScreening (CreateScreeningRequest) returns (CreateScreeningResponse);
7
- rpc GetScreenings (GetScreeningsRequest) returns (GetScreeningsResponse);
8
- rpc GetScreeningsByMovie (GetScreeningsByMovieRequest) returns (GetScreeningsByMovieResponse);
9
- rpc GetScreening (GetScreeningRequest) returns (GetScreeningResponse);
6
+ rpc CreateScreening(CreateScreeningRequest) returns (CreateScreeningResponse);
7
+ rpc GetScreenings(GetScreeningsRequest) returns (GetScreeningsResponse);
8
+ rpc GetScreeningsByMovie(GetScreeningsByMovieRequest) returns (GetScreeningsByMovieResponse);
9
+ rpc GetScreening(GetScreeningRequest) returns (GetScreeningResponse);
10
10
  }
11
11
 
12
12
  message CreateScreeningRequest {
13
- string movie_id = 1;
14
- string hall_id = 2;
15
- string start_at = 3;
16
- string end_at = 4;
13
+ string movie_id = 1;
14
+ string hall_id = 2;
15
+ string start_at = 3;
16
+ string end_at = 4;
17
17
  }
18
18
 
19
19
  message CreateScreeningResponse {
20
- bool ok = 1;
20
+ bool ok = 1;
21
21
  }
22
22
 
23
23
  message GetScreeningsRequest {
24
- optional string theater_id = 1;
25
- optional string date = 2;
24
+ optional string theater_id = 1;
25
+ optional string date = 2;
26
26
  }
27
27
 
28
28
  message GetScreeningsResponse {
29
- repeated Screening screenings = 1;
29
+ repeated Screening screenings = 1;
30
30
  }
31
31
 
32
32
  message GetScreeningsByMovieRequest {
33
- string movie_id = 1;
34
- optional string date = 2;
33
+ string movie_id = 1;
34
+ optional string date = 2;
35
35
  }
36
36
 
37
37
  message GetScreeningsByMovieResponse {
38
- repeated Screening screenings = 1;
38
+ repeated Screening screenings = 1;
39
39
  }
40
40
 
41
41
  message GetScreeningRequest {
42
- string id = 1;
42
+ string id = 1;
43
43
  }
44
44
 
45
45
  message GetScreeningResponse {
46
- Screening screening = 1;
46
+ Screening screening = 1;
47
47
  }
48
48
 
49
49
  message Screening {
50
- string id = 1;
51
- string start_at = 2;
52
- string end_at = 3;
50
+ string id = 1;
51
+ string start_at = 2;
52
+ string end_at = 3;
53
53
 
54
- Theater theater = 4;
55
- Hall hall = 5;
56
- Movie movie = 6;
54
+ Theater theater = 4;
55
+ Hall hall = 5;
56
+ Movie movie = 6;
57
57
 
58
- repeated SeatType seat_types = 7;
58
+ repeated SeatType seat_types = 7;
59
59
  }
60
60
 
61
61
  message Movie {
62
- string id = 1;
63
- string title = 2;
64
- string slug = 3;
65
- int32 duration = 4;
66
- string banner = 5;
62
+ string id = 1;
63
+ string title = 2;
64
+ string slug = 3;
65
+ int32 duration = 4;
66
+ string banner = 5;
67
+ string poster = 6;
67
68
  }
68
69
 
69
70
  message Theater {
70
- string id = 1;
71
- string name = 2;
72
- string address = 3;
71
+ string id = 1;
72
+ string name = 2;
73
+ string address = 3;
73
74
  }
74
75
 
75
76
  message Hall {
76
- string id = 1;
77
- string name = 2;
77
+ string id = 1;
78
+ string name = 2;
78
79
  }
79
80
 
80
81
  message SeatType {
81
- string type = 1;
82
- int32 price = 2;
83
- }
82
+ string type = 1;
83
+ int32 price = 2;
84
+ }