feat: add screening proto

This commit is contained in:
Sergey Krylov 2026-04-22 06:23:11 +03:00
parent 27d9310118
commit f6e360d58d
2 changed files with 81 additions and 0 deletions

79
proto/screening.proto Normal file
View File

@ -0,0 +1,79 @@
syntax = "proto3";
package screening.v1;
service ScreeningService {
rpc CreateScreening (CreateScreeningRequest) returns (CreateScreeningResponse);
rpc GetScreening (GetScreeningRequest) returns (GetScreeningResponse);
rpc GetScreenings (GetScreeningsRequest) returns (GetScreeningsResponse);
rpc GetScreeningsByMovie (GetScreeningsByMovieRequest) returns (GetScreeningsByMovieResponse);
}
message CreateScreeningRequest {
string movie_id = 1;
string hall_id = 2;
string start_at = 3;
string end_at = 4;
}
message CreateScreeningResponse {
bool ok = 1;
}
message GetScreeningRequest {
string id = 1;
}
message GetScreeningResponse {
Screening screening = 1;
}
message GetScreeningsRequest {
optional string theater_id = 1;
optional string date = 2;
}
message GetScreeningsResponse {
repeated Screening screenings = 1;
}
message GetScreeningsByMovieRequest {
string movie_id = 1;
optional string date = 2;
}
message GetScreeningsByMovieResponse {
repeated Screening screenings = 1;
}
message Screening {
string id = 1;
string start_at = 2;
string end_at = 3;
Theater theater = 4;
Hall hall = 5;
Movie movie = 6;
repeated SeatType seat_types = 7;
}
message Movie {
string id = 1;
string title = 2;
string slug = 3;
int32 duration = 4;
string banner = 5;
}
message Theater {
string id = 1;
string name = 2;
string adress = 3;
}
message Hall {
string id = 1;
string name = 2;
}
message SeatType {
string type = 1;
int32 price = 2;
}

View File

@ -40,4 +40,6 @@ export const PROTO_PATHS = {
HALL: join(__dirname, '../../proto/hall.proto'),
/** Путь к `seat.proto` (пакет `seat.v1`) */
SEAT: join(__dirname, '../../proto/seat.proto'),
/** Путь к `screening.proto` (пакет `screening.v1`) */
SCREENING: join(__dirname, '../../proto/screening.proto'),
} as const