@enclusiorpetcinema/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.
@@ -0,0 +1,37 @@
1
+ name: Publish
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ publish:
10
+ name: Publish Job
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout repository
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Setup Node.js
17
+ uses: actions/setup-node@v4
18
+
19
+ - name: Setup Node.js
20
+ uses: actions/setup-node@v4
21
+ with:
22
+ node-version: 20
23
+ registry-url: https://registry.npmjs.org/
24
+
25
+ - name: Install protoc
26
+ run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
27
+
28
+ - name: Install dependencies
29
+ run: npm i --frozen-lockfile
30
+
31
+ - name: Generate TS Protobuf contracts
32
+ run: npm run generate
33
+
34
+ - name: Publish package
35
+ run: npm publish
36
+ env:
37
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
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.11.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,17 @@
1
+ {
2
+ "name": "@enclusiorpetcinema/contracts",
3
+ "version": "1.0.0",
4
+ "scripts": {
5
+ "generate": "protoc -I ./proto ./proto/*.proto --ts_proto_out=./gen --ts_proto_opt=nestJs=true,package=omit"
6
+ },
7
+ "author": "Enclusior",
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "description": "Contracts for the cinema backend",
12
+ "dependencies": {
13
+ "@nestjs/microservices": "^11.1.12",
14
+ "rxjs": "^7.8.2",
15
+ "ts-proto": "^2.11.1"
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ syntax = "proto3";
2
+
3
+ package auth.v1;
4
+
5
+
6
+ service AuthService {
7
+ rpc SendOtp(SendOtpRequest) returns (SendOtpResponse);
8
+ }
9
+
10
+ message SendOtpRequest {
11
+ string identifier = 1;
12
+ string type = 2;
13
+ }
14
+
15
+ message SendOtpResponse {
16
+ bool ok = 1;
17
+ }