feat: add movie and category service

This commit is contained in:
Sergey Krylov 2026-04-05 08:46:25 +03:00
parent 395f90b463
commit 7c6989f871
3 changed files with 76 additions and 0 deletions

19
proto/category.proto Normal file
View File

@ -0,0 +1,19 @@
syntax = "proto3";
import "google/protobuf/empty.proto"
package category.v1;
service CategoryService {
rpc GetAllCategories (google.protobuf.Empty) returns GetAllCategoriesResponse;
}
message GetAllCategoriesResponse {
repeated Category categories = 1;
}
message Category {
string id = 1;
string title = 2;
string slug = 3;
}

53
proto/movie.proto Normal file
View File

@ -0,0 +1,53 @@
syntax = "proto3";
package movie.v1;
import "google/protobuf/timestamp.proto";
service MovieService {
rpc ListMovies (ListMovieRequest) returns (ListMovieResponse);
rpc GetMovie (GetMovieRequest) returns (GetMovieResponse);
}
message ListMovieRequest {
string category = 1;
bool random = 2;
int32 limit = 3
}
message ListMovieResponse {
repeated Movie movies = 1;
}
message GetMovieRequest {
oneof key {
string id = 1;
string slug = 2;
}
}
message GetMovieResponse {
MovieDetails movie = 1;
}
message Movie {
string id = 1;
string title = 2;
string slug = 3;
string poster = 4;
string rating_age = 5;
google.protobuf.Timestamp timestamp = 6;
}
message MovieDetails {
string id = 1;
string title = 2;
string slug = 3;
string description = 4;
string poster = 5;
string banner = 6;
int32 duration = 7;
string rating_age = 8;
string country = 9;
google.protobuf.Timestamp timestamp = 10;
}

View File

@ -30,4 +30,8 @@ export const PROTO_PATHS = {
USERS: join(__dirname, '../../proto/users.proto'), USERS: join(__dirname, '../../proto/users.proto'),
/** Путь к `media.proto` (пакет `media.v1`) */ /** Путь к `media.proto` (пакет `media.v1`) */
MEDIA: join(__dirname, '../../proto/media.proto'), MEDIA: join(__dirname, '../../proto/media.proto'),
/** Путь к `movie.proto` (пакет `movie.v1`) */
MOVIE: join(__dirname, '../../proto/movie.proto'),
/** Путь к `category.proto` (пакет `category.v1`) */
CATEGORY: join(__dirname, '../../proto/category.proto'),
} as const } as const