import { join } from 'node:path'; /** * Абсолютные пути к `.proto` файлам. * * Используются при регистрации gRPC клиентов и серверов в NestJS. * * @example Регистрация gRPC клиента * ```ts * import { ClientsModule, Transport } from '@nestjs/microservices'; * import { PROTO_PATHS } from '@teacinema/contracts'; * * ClientsModule.register([{ * name: 'AUTH_SERVICE', * transport: Transport.GRPC, * options: { * protoPath: PROTO_PATHS.AUTH, * package: 'auth.v1', * url: 'localhost:5000', * }, * }]) * ``` */ export const PROTO_PATHS = { /** Путь к `auth.proto` (пакет `auth.v1`) */ AUTH: join(__dirname, '../../proto/auth.proto'), /** Путь к `account.proto` (пакет `account.v1`) */ ACCOUNT: join(__dirname, '../../proto/account.proto'), /** Путь к `users.proto` (пакет `users.v1`) */ USERS: join(__dirname, '../../proto/users.proto'), /** Путь к `media.proto` (пакет `media.v1`) */ 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'), /** Путь к `theater.proto` (пакет `theater.v1`) */ THEATER: join(__dirname, '../../proto/theater.proto'), /** Путь к `hall.proto` (пакет `hall.v1`) */ HALL: join(__dirname, '../../proto/hall.proto'), /** Путь к `seat.proto` (пакет `seat.v1`) */ SEAT: join(__dirname, '../../proto/seat.proto'), } as const