contracts/src/proto/paths.ts

40 lines
1.4 KiB
TypeScript

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'),
} as const