@cinemaaa/contracts 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,27 @@
1
+ # Protocol Buffer Contracts
2
+
3
+ This directory contains Protocol Buffer definitions for the cinema backend services.
4
+
5
+ ## Setup
6
+
7
+ Install dependencies:
8
+
9
+ ```bash
10
+ yarn install
11
+ ```
12
+
13
+ ## Generate TypeScript Code
14
+
15
+ Generate TypeScript code from proto files:
16
+
17
+ ```bash
18
+ yarn generate
19
+ ```
20
+
21
+ Or manually:
22
+
23
+ ```bash
24
+ PATH="$(pwd)/node_modules/.bin:$PATH" protoc -I ./proto ./proto/*.proto --ts_proto_out=./gen --ts_proto_opt=nestJs=true,package=omit
25
+ ```
26
+
27
+ The generated code will be output to the `./gen` directory.
package/gen/auth.ts ADDED
@@ -0,0 +1,47 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.10.1
4
+ // protoc v3.21.12
5
+ // source: auth.proto
6
+
7
+ /* eslint-disable */
8
+ import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
9
+ import { Observable } from "rxjs";
10
+
11
+ export const protobufPackage = "auth.v1";
12
+
13
+ export interface SendOtpRequest {
14
+ identifier: string;
15
+ type: string;
16
+ }
17
+
18
+ export interface SendOtpResponse {
19
+ ok: boolean;
20
+ }
21
+
22
+ export const AUTH_V1_PACKAGE_NAME = "auth.v1";
23
+
24
+ export interface AuthServiceClient {
25
+ sendOtp(request: SendOtpRequest): Observable<SendOtpResponse>;
26
+ }
27
+
28
+ export interface AuthServiceController {
29
+ sendOtp(request: SendOtpRequest): Promise<SendOtpResponse> | Observable<SendOtpResponse> | SendOtpResponse;
30
+ }
31
+
32
+ export function AuthServiceControllerMethods() {
33
+ return function (constructor: Function) {
34
+ const grpcMethods: string[] = ["sendOtp"];
35
+ for (const method of grpcMethods) {
36
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
37
+ GrpcMethod("AuthService", method)(constructor.prototype[method], method, descriptor);
38
+ }
39
+ const grpcStreamMethods: string[] = [];
40
+ for (const method of grpcStreamMethods) {
41
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
42
+ GrpcStreamMethod("AuthService", method)(constructor.prototype[method], method, descriptor);
43
+ }
44
+ };
45
+ }
46
+
47
+ export const AUTH_SERVICE_NAME = "AuthService";
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@cinemaaa/contracts",
3
+ "version": "1.0.0",
4
+ "description": "Protocol Buffer contracts for cinema backend services",
5
+ "scripts": {
6
+ "generate": "rm -rf ./gen && mkdir -p ./gen && PATH=\"$(pwd)/node_modules/.bin:$PATH\" protoc -I ./proto ./proto/*.proto --ts_proto_out=./gen --ts_proto_opt=nestJs=true,package=omit"
7
+ },
8
+ "files": [
9
+ "proto",
10
+ "gen"
11
+ ],
12
+ "devDependencies": {
13
+ "ts-proto": "^2.4.0"
14
+ },
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "dependencies": {
19
+ "@nestjs/microservices": "^11.1.11",
20
+ "rxjs": "^7.8.2"
21
+ }
22
+ }
@@ -0,0 +1,18 @@
1
+ syntax = "proto3";
2
+
3
+ package auth.v1;
4
+
5
+
6
+ service AuthService {
7
+ rpc SendOtp (SendOtpRequest) returns (SendOtpResponse);
8
+ }
9
+
10
+
11
+ message SendOtpRequest {
12
+ string identifier = 1;
13
+ string type = 2;
14
+ }
15
+
16
+ message SendOtpResponse {
17
+ bool ok = 1;
18
+ }