@babacarthiamdev/contracts 1.0.24 → 1.0.26
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/dist/proto/paths.d.ts +1 -0
- package/dist/proto/paths.js +1 -0
- package/gen/movies.ts +12 -12
- package/gen/theater.ts +337 -0
- package/package.json +1 -1
- package/proto/movies.proto +2 -2
- package/proto/theater.proto +39 -0
package/dist/proto/paths.d.ts
CHANGED
package/dist/proto/paths.js
CHANGED
|
@@ -9,4 +9,5 @@ exports.PROTO_PATHS = {
|
|
|
9
9
|
MEDIA: (0, node_path_1.join)(__dirname, '../../proto/media.proto'),
|
|
10
10
|
MOVIES: (0, node_path_1.join)(__dirname, '../../proto/movies.proto'),
|
|
11
11
|
CATEGORY: (0, node_path_1.join)(__dirname, '../../proto/category.proto'),
|
|
12
|
+
THEATER: (0, node_path_1.join)(__dirname, '../../proto/theater.proto')
|
|
12
13
|
};
|
package/gen/movies.ts
CHANGED
|
@@ -36,7 +36,7 @@ export interface Movie {
|
|
|
36
36
|
title: string;
|
|
37
37
|
slug: string;
|
|
38
38
|
poster: string;
|
|
39
|
-
ratingAge:
|
|
39
|
+
ratingAge: number;
|
|
40
40
|
releaseYear: number;
|
|
41
41
|
releaseDate: Timestamp | undefined;
|
|
42
42
|
}
|
|
@@ -49,7 +49,7 @@ export interface MovieDetails {
|
|
|
49
49
|
poster: string;
|
|
50
50
|
banner: string;
|
|
51
51
|
duration: number;
|
|
52
|
-
ratingAge:
|
|
52
|
+
ratingAge: number;
|
|
53
53
|
country: string;
|
|
54
54
|
releaseYear: number;
|
|
55
55
|
releaseDate: Timestamp | undefined;
|
|
@@ -239,7 +239,7 @@ export const GetMovieResponse: MessageFns<GetMovieResponse> = {
|
|
|
239
239
|
};
|
|
240
240
|
|
|
241
241
|
function createBaseMovie(): Movie {
|
|
242
|
-
return { id: "", title: "", slug: "", poster: "", ratingAge:
|
|
242
|
+
return { id: "", title: "", slug: "", poster: "", ratingAge: 0, releaseYear: 0, releaseDate: undefined };
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
export const Movie: MessageFns<Movie> = {
|
|
@@ -256,8 +256,8 @@ export const Movie: MessageFns<Movie> = {
|
|
|
256
256
|
if (message.poster !== "") {
|
|
257
257
|
writer.uint32(34).string(message.poster);
|
|
258
258
|
}
|
|
259
|
-
if (message.ratingAge !==
|
|
260
|
-
writer.uint32(
|
|
259
|
+
if (message.ratingAge !== 0) {
|
|
260
|
+
writer.uint32(40).int32(message.ratingAge);
|
|
261
261
|
}
|
|
262
262
|
if (message.releaseYear !== 0) {
|
|
263
263
|
writer.uint32(48).int32(message.releaseYear);
|
|
@@ -308,11 +308,11 @@ export const Movie: MessageFns<Movie> = {
|
|
|
308
308
|
continue;
|
|
309
309
|
}
|
|
310
310
|
case 5: {
|
|
311
|
-
if (tag !==
|
|
311
|
+
if (tag !== 40) {
|
|
312
312
|
break;
|
|
313
313
|
}
|
|
314
314
|
|
|
315
|
-
message.ratingAge = reader.
|
|
315
|
+
message.ratingAge = reader.int32();
|
|
316
316
|
continue;
|
|
317
317
|
}
|
|
318
318
|
case 6: {
|
|
@@ -350,7 +350,7 @@ function createBaseMovieDetails(): MovieDetails {
|
|
|
350
350
|
poster: "",
|
|
351
351
|
banner: "",
|
|
352
352
|
duration: 0,
|
|
353
|
-
ratingAge:
|
|
353
|
+
ratingAge: 0,
|
|
354
354
|
country: "",
|
|
355
355
|
releaseYear: 0,
|
|
356
356
|
releaseDate: undefined,
|
|
@@ -380,8 +380,8 @@ export const MovieDetails: MessageFns<MovieDetails> = {
|
|
|
380
380
|
if (message.duration !== 0) {
|
|
381
381
|
writer.uint32(56).int32(message.duration);
|
|
382
382
|
}
|
|
383
|
-
if (message.ratingAge !==
|
|
384
|
-
writer.uint32(
|
|
383
|
+
if (message.ratingAge !== 0) {
|
|
384
|
+
writer.uint32(64).int32(message.ratingAge);
|
|
385
385
|
}
|
|
386
386
|
if (message.country !== "") {
|
|
387
387
|
writer.uint32(74).string(message.country);
|
|
@@ -459,11 +459,11 @@ export const MovieDetails: MessageFns<MovieDetails> = {
|
|
|
459
459
|
continue;
|
|
460
460
|
}
|
|
461
461
|
case 8: {
|
|
462
|
-
if (tag !==
|
|
462
|
+
if (tag !== 64) {
|
|
463
463
|
break;
|
|
464
464
|
}
|
|
465
465
|
|
|
466
|
-
message.ratingAge = reader.
|
|
466
|
+
message.ratingAge = reader.int32();
|
|
467
467
|
continue;
|
|
468
468
|
}
|
|
469
469
|
case 9: {
|
package/gen/theater.ts
ADDED
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
|
+
// versions:
|
|
3
|
+
// protoc-gen-ts_proto v2.10.1
|
|
4
|
+
// protoc v3.21.12
|
|
5
|
+
// source: theater.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
9
|
+
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
|
|
10
|
+
import { Observable } from "rxjs";
|
|
11
|
+
import { Empty } from "./google/protobuf/empty";
|
|
12
|
+
|
|
13
|
+
export const protobufPackage = "theater.v1";
|
|
14
|
+
|
|
15
|
+
export interface ListTheatersResponse {
|
|
16
|
+
theaters: Theater[];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface GetMovieRequest {
|
|
20
|
+
id: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface GetMovieResponse {
|
|
24
|
+
theater: Theater | undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface CreateTheaterRequest {
|
|
28
|
+
name: string;
|
|
29
|
+
address: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface CreateTheaterResponse {
|
|
33
|
+
ok: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface Theater {
|
|
37
|
+
id: string;
|
|
38
|
+
name: string;
|
|
39
|
+
address: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const THEATER_V1_PACKAGE_NAME = "theater.v1";
|
|
43
|
+
|
|
44
|
+
function createBaseListTheatersResponse(): ListTheatersResponse {
|
|
45
|
+
return { theaters: [] };
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export const ListTheatersResponse: MessageFns<ListTheatersResponse> = {
|
|
49
|
+
encode(message: ListTheatersResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
50
|
+
for (const v of message.theaters) {
|
|
51
|
+
Theater.encode(v!, writer.uint32(10).fork()).join();
|
|
52
|
+
}
|
|
53
|
+
return writer;
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ListTheatersResponse {
|
|
57
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
58
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
59
|
+
const message = createBaseListTheatersResponse();
|
|
60
|
+
while (reader.pos < end) {
|
|
61
|
+
const tag = reader.uint32();
|
|
62
|
+
switch (tag >>> 3) {
|
|
63
|
+
case 1: {
|
|
64
|
+
if (tag !== 10) {
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
message.theaters.push(Theater.decode(reader, reader.uint32()));
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
reader.skip(tag & 7);
|
|
76
|
+
}
|
|
77
|
+
return message;
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
function createBaseGetMovieRequest(): GetMovieRequest {
|
|
82
|
+
return { id: "" };
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export const GetMovieRequest: MessageFns<GetMovieRequest> = {
|
|
86
|
+
encode(message: GetMovieRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
87
|
+
if (message.id !== "") {
|
|
88
|
+
writer.uint32(10).string(message.id);
|
|
89
|
+
}
|
|
90
|
+
return writer;
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
decode(input: BinaryReader | Uint8Array, length?: number): GetMovieRequest {
|
|
94
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
95
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
96
|
+
const message = createBaseGetMovieRequest();
|
|
97
|
+
while (reader.pos < end) {
|
|
98
|
+
const tag = reader.uint32();
|
|
99
|
+
switch (tag >>> 3) {
|
|
100
|
+
case 1: {
|
|
101
|
+
if (tag !== 10) {
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
message.id = reader.string();
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
reader.skip(tag & 7);
|
|
113
|
+
}
|
|
114
|
+
return message;
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
function createBaseGetMovieResponse(): GetMovieResponse {
|
|
119
|
+
return { theater: undefined };
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export const GetMovieResponse: MessageFns<GetMovieResponse> = {
|
|
123
|
+
encode(message: GetMovieResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
124
|
+
if (message.theater !== undefined) {
|
|
125
|
+
Theater.encode(message.theater, writer.uint32(10).fork()).join();
|
|
126
|
+
}
|
|
127
|
+
return writer;
|
|
128
|
+
},
|
|
129
|
+
|
|
130
|
+
decode(input: BinaryReader | Uint8Array, length?: number): GetMovieResponse {
|
|
131
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
132
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
133
|
+
const message = createBaseGetMovieResponse();
|
|
134
|
+
while (reader.pos < end) {
|
|
135
|
+
const tag = reader.uint32();
|
|
136
|
+
switch (tag >>> 3) {
|
|
137
|
+
case 1: {
|
|
138
|
+
if (tag !== 10) {
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
message.theater = Theater.decode(reader, reader.uint32());
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
reader.skip(tag & 7);
|
|
150
|
+
}
|
|
151
|
+
return message;
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
function createBaseCreateTheaterRequest(): CreateTheaterRequest {
|
|
156
|
+
return { name: "", address: "" };
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export const CreateTheaterRequest: MessageFns<CreateTheaterRequest> = {
|
|
160
|
+
encode(message: CreateTheaterRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
161
|
+
if (message.name !== "") {
|
|
162
|
+
writer.uint32(10).string(message.name);
|
|
163
|
+
}
|
|
164
|
+
if (message.address !== "") {
|
|
165
|
+
writer.uint32(18).string(message.address);
|
|
166
|
+
}
|
|
167
|
+
return writer;
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
decode(input: BinaryReader | Uint8Array, length?: number): CreateTheaterRequest {
|
|
171
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
172
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
173
|
+
const message = createBaseCreateTheaterRequest();
|
|
174
|
+
while (reader.pos < end) {
|
|
175
|
+
const tag = reader.uint32();
|
|
176
|
+
switch (tag >>> 3) {
|
|
177
|
+
case 1: {
|
|
178
|
+
if (tag !== 10) {
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
message.name = reader.string();
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
case 2: {
|
|
186
|
+
if (tag !== 18) {
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
message.address = reader.string();
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
reader.skip(tag & 7);
|
|
198
|
+
}
|
|
199
|
+
return message;
|
|
200
|
+
},
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
function createBaseCreateTheaterResponse(): CreateTheaterResponse {
|
|
204
|
+
return { ok: false };
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export const CreateTheaterResponse: MessageFns<CreateTheaterResponse> = {
|
|
208
|
+
encode(message: CreateTheaterResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
209
|
+
if (message.ok !== false) {
|
|
210
|
+
writer.uint32(8).bool(message.ok);
|
|
211
|
+
}
|
|
212
|
+
return writer;
|
|
213
|
+
},
|
|
214
|
+
|
|
215
|
+
decode(input: BinaryReader | Uint8Array, length?: number): CreateTheaterResponse {
|
|
216
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
217
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
218
|
+
const message = createBaseCreateTheaterResponse();
|
|
219
|
+
while (reader.pos < end) {
|
|
220
|
+
const tag = reader.uint32();
|
|
221
|
+
switch (tag >>> 3) {
|
|
222
|
+
case 1: {
|
|
223
|
+
if (tag !== 8) {
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
message.ok = reader.bool();
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
reader.skip(tag & 7);
|
|
235
|
+
}
|
|
236
|
+
return message;
|
|
237
|
+
},
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
function createBaseTheater(): Theater {
|
|
241
|
+
return { id: "", name: "", address: "" };
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
export const Theater: MessageFns<Theater> = {
|
|
245
|
+
encode(message: Theater, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
246
|
+
if (message.id !== "") {
|
|
247
|
+
writer.uint32(10).string(message.id);
|
|
248
|
+
}
|
|
249
|
+
if (message.name !== "") {
|
|
250
|
+
writer.uint32(18).string(message.name);
|
|
251
|
+
}
|
|
252
|
+
if (message.address !== "") {
|
|
253
|
+
writer.uint32(26).string(message.address);
|
|
254
|
+
}
|
|
255
|
+
return writer;
|
|
256
|
+
},
|
|
257
|
+
|
|
258
|
+
decode(input: BinaryReader | Uint8Array, length?: number): Theater {
|
|
259
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
260
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
261
|
+
const message = createBaseTheater();
|
|
262
|
+
while (reader.pos < end) {
|
|
263
|
+
const tag = reader.uint32();
|
|
264
|
+
switch (tag >>> 3) {
|
|
265
|
+
case 1: {
|
|
266
|
+
if (tag !== 10) {
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
message.id = reader.string();
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
case 2: {
|
|
274
|
+
if (tag !== 18) {
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
message.name = reader.string();
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
case 3: {
|
|
282
|
+
if (tag !== 26) {
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
message.address = reader.string();
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
291
|
+
break;
|
|
292
|
+
}
|
|
293
|
+
reader.skip(tag & 7);
|
|
294
|
+
}
|
|
295
|
+
return message;
|
|
296
|
+
},
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
export interface TheaterServiceClient {
|
|
300
|
+
listTheaters(request: Empty): Observable<ListTheatersResponse>;
|
|
301
|
+
|
|
302
|
+
getTheater(request: GetMovieRequest): Observable<GetMovieResponse>;
|
|
303
|
+
|
|
304
|
+
createTheater(request: CreateTheaterRequest): Observable<CreateTheaterResponse>;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export interface TheaterServiceController {
|
|
308
|
+
listTheaters(request: Empty): Promise<ListTheatersResponse> | Observable<ListTheatersResponse> | ListTheatersResponse;
|
|
309
|
+
|
|
310
|
+
getTheater(request: GetMovieRequest): Promise<GetMovieResponse> | Observable<GetMovieResponse> | GetMovieResponse;
|
|
311
|
+
|
|
312
|
+
createTheater(
|
|
313
|
+
request: CreateTheaterRequest,
|
|
314
|
+
): Promise<CreateTheaterResponse> | Observable<CreateTheaterResponse> | CreateTheaterResponse;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
export function TheaterServiceControllerMethods() {
|
|
318
|
+
return function (constructor: Function) {
|
|
319
|
+
const grpcMethods: string[] = ["listTheaters", "getTheater", "createTheater"];
|
|
320
|
+
for (const method of grpcMethods) {
|
|
321
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
322
|
+
GrpcMethod("TheaterService", method)(constructor.prototype[method], method, descriptor);
|
|
323
|
+
}
|
|
324
|
+
const grpcStreamMethods: string[] = [];
|
|
325
|
+
for (const method of grpcStreamMethods) {
|
|
326
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
327
|
+
GrpcStreamMethod("TheaterService", method)(constructor.prototype[method], method, descriptor);
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export const THEATER_SERVICE_NAME = "TheaterService";
|
|
333
|
+
|
|
334
|
+
export interface MessageFns<T> {
|
|
335
|
+
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
|
336
|
+
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
|
337
|
+
}
|
package/package.json
CHANGED
package/proto/movies.proto
CHANGED
|
@@ -36,7 +36,7 @@ message Movie {
|
|
|
36
36
|
string title = 2;
|
|
37
37
|
string slug = 3;
|
|
38
38
|
string poster = 4;
|
|
39
|
-
|
|
39
|
+
int32 rating_age = 5;
|
|
40
40
|
int32 release_year = 6;
|
|
41
41
|
google.protobuf.Timestamp release_date = 7;
|
|
42
42
|
|
|
@@ -50,7 +50,7 @@ message MovieDetails {
|
|
|
50
50
|
string poster = 5;
|
|
51
51
|
string banner = 6;
|
|
52
52
|
int32 duration = 7;
|
|
53
|
-
|
|
53
|
+
int32 rating_age = 8;
|
|
54
54
|
string country = 9;
|
|
55
55
|
int32 release_year = 10;
|
|
56
56
|
google.protobuf.Timestamp release_date = 11;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package theater.v1;
|
|
4
|
+
|
|
5
|
+
import "google/protobuf/empty.proto";
|
|
6
|
+
|
|
7
|
+
service TheaterService {
|
|
8
|
+
rpc ListTheaters (google.protobuf.Empty) returns (ListTheatersResponse);
|
|
9
|
+
rpc GetTheater (GetMovieRequest) returns (GetMovieResponse);
|
|
10
|
+
|
|
11
|
+
rpc CreateTheater (CreateTheaterRequest) returns (CreateTheaterResponse);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
message ListTheatersResponse {
|
|
15
|
+
repeated Theater theaters = 1;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
message GetMovieRequest {
|
|
19
|
+
string id = 1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
message GetMovieResponse {
|
|
23
|
+
Theater theater = 1;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
message CreateTheaterRequest {
|
|
27
|
+
string name = 1;
|
|
28
|
+
string address = 2;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
message CreateTheaterResponse {
|
|
32
|
+
bool ok = 1;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
message Theater {
|
|
36
|
+
string id = 1;
|
|
37
|
+
string name = 2;
|
|
38
|
+
string address = 3;
|
|
39
|
+
}
|