contracts/gen/ts/screening.ts

130 lines
3.4 KiB
TypeScript

// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.11.0
// protoc v6.33.4
// source: screening.proto
/* eslint-disable */
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
import { Observable } from "rxjs";
export const protobufPackage = "screening.v1";
export interface CreateScreeningRequest {
movieId: string;
hallId: string;
startAt: string;
endAt: string;
}
export interface CreateScreeningResponse {
ok: boolean;
}
export interface GetScreeningRequest {
id: string;
}
export interface GetScreeningResponse {
screening: Screening | undefined;
}
export interface GetScreeningsRequest {
theaterId?: string | undefined;
date?: string | undefined;
}
export interface GetScreeningsResponse {
screenings: Screening[];
}
export interface GetScreeningsByMovieRequest {
movieId: string;
date?: string | undefined;
}
export interface GetScreeningsByMovieResponse {
screenings: Screening[];
}
export interface Screening {
id: string;
startAt: string;
endAt: string;
theater: Theater | undefined;
hall: Hall | undefined;
movie: Movie | undefined;
seatTypes: SeatType[];
}
export interface Movie {
id: string;
title: string;
slug: string;
duration: number;
banner: string;
}
export interface Theater {
id: string;
name: string;
adress: string;
}
export interface Hall {
id: string;
name: string;
}
export interface SeatType {
type: string;
price: number;
}
export const SCREENING_V1_PACKAGE_NAME = "screening.v1";
export interface ScreeningServiceClient {
createScreening(request: CreateScreeningRequest): Observable<CreateScreeningResponse>;
getScreening(request: GetScreeningRequest): Observable<GetScreeningResponse>;
getScreenings(request: GetScreeningsRequest): Observable<GetScreeningsResponse>;
getScreeningsByMovie(request: GetScreeningsByMovieRequest): Observable<GetScreeningsByMovieResponse>;
}
export interface ScreeningServiceController {
createScreening(
request: CreateScreeningRequest,
): Promise<CreateScreeningResponse> | Observable<CreateScreeningResponse> | CreateScreeningResponse;
getScreening(
request: GetScreeningRequest,
): Promise<GetScreeningResponse> | Observable<GetScreeningResponse> | GetScreeningResponse;
getScreenings(
request: GetScreeningsRequest,
): Promise<GetScreeningsResponse> | Observable<GetScreeningsResponse> | GetScreeningsResponse;
getScreeningsByMovie(
request: GetScreeningsByMovieRequest,
): Promise<GetScreeningsByMovieResponse> | Observable<GetScreeningsByMovieResponse> | GetScreeningsByMovieResponse;
}
export function ScreeningServiceControllerMethods() {
return function (constructor: Function) {
const grpcMethods: string[] = ["createScreening", "getScreening", "getScreenings", "getScreeningsByMovie"];
for (const method of grpcMethods) {
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
GrpcMethod("ScreeningService", method)(constructor.prototype[method], method, descriptor);
}
const grpcStreamMethods: string[] = [];
for (const method of grpcStreamMethods) {
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
GrpcStreamMethod("ScreeningService", method)(constructor.prototype[method], method, descriptor);
}
};
}
export const SCREENING_SERVICE_NAME = "ScreeningService";