Compare commits

..

2 Commits

Author SHA1 Message Date
b406d316db 1.5.0
All checks were successful
Publish / Publish npm package action (push) Successful in 58s
Publish Go Bondings / Publish Go package action (push) Successful in 1m53s
2026-04-22 06:23:22 +03:00
f6e360d58d feat: add screening proto 2026-04-22 06:23:11 +03:00
3 changed files with 82 additions and 1 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@teacinema/contracts",
"version": "1.4.1",
"version": "1.5.0",
"description": "Protocol Buffers contracts for microservices",
"scripts": {
"build": "tsc -p tsconfig.build.json",

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