@lumina-cinema/contracts 1.1.3 → 1.1.5

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.
File without changes
File without changes
@@ -10,94 +10,154 @@ import { Observable } from "rxjs";
10
10
 
11
11
  export const protobufPackage = "account.v1";
12
12
 
13
+ /** Account roles enumerations. */
13
14
  export enum Role {
15
+ /** USER - Regular user account. */
14
16
  USER = 0,
17
+ /** ADMIN - Administrator account with elevated privileges. */
15
18
  ADMIN = 1,
16
19
  UNRECOGNIZED = -1,
17
20
  }
18
21
 
22
+ /** Request to get account details for a specific user. */
19
23
  export interface GetAccountRequest {
24
+ /** The account's user identifier. */
20
25
  id: string;
21
26
  }
22
27
 
28
+ /** Response containing basic account attributes and verification flags. */
23
29
  export interface GetAccountResponse {
30
+ /** User identifier. */
24
31
  id: string;
32
+ /** Account phone number (if any). */
25
33
  phone: string;
34
+ /** Account email address (if any). */
26
35
  email: string;
36
+ /** Whether the phone number has been verified. */
27
37
  isPhoneVerified: boolean;
38
+ /** Whether the email address has been verified. */
28
39
  isEmailVerified: boolean;
40
+ /** Account role (e.g. USER, ADMIN). */
29
41
  role: Role;
30
42
  }
31
43
 
44
+ /** Request to initialize an email change flow. */
32
45
  export interface InitEmailChangeRequest {
46
+ /** New email address to set. */
33
47
  email: string;
48
+ /** User identifier for whom the change is requested. */
34
49
  userId: string;
35
50
  }
36
51
 
52
+ /** Response for InitEmailChange indicating whether the initialization succeeded. */
37
53
  export interface InitEmailChangeResponse {
38
54
  ok: boolean;
39
55
  }
40
56
 
57
+ /** Request to confirm an email change with a verification code. */
41
58
  export interface ConfirmEmailChangeRequest {
59
+ /** The email address being confirmed. */
42
60
  email: string;
61
+ /** Verification code sent to the email. */
43
62
  code: string;
63
+ /** Target user id for the email change. */
44
64
  userId: string;
45
65
  }
46
66
 
67
+ /** Response for ConfirmEmailChange indicating success. */
47
68
  export interface ConfirmEmailChangeResponse {
48
69
  ok: boolean;
49
70
  }
50
71
 
72
+ /** Request to initialize a phone change flow. */
51
73
  export interface InitPhoneChangeRequest {
74
+ /** New phone number to set (E.164 recommended). */
52
75
  phone: string;
76
+ /** User identifier for whom the change is requested. */
53
77
  userId: string;
54
78
  }
55
79
 
80
+ /** Response for InitPhoneChange indicating whether the initialization succeeded. */
56
81
  export interface InitPhoneChangeResponse {
57
82
  ok: boolean;
58
83
  }
59
84
 
85
+ /** Request to confirm a phone change with a verification code. */
60
86
  export interface ConfirmPhoneChangeRequest {
87
+ /** The phone number being confirmed. */
61
88
  phone: string;
89
+ /** Verification code sent to the phone. */
62
90
  code: string;
91
+ /** Target user id for the phone change. */
63
92
  userId: string;
64
93
  }
65
94
 
95
+ /** Response for ConfirmPhoneChange indicating success. */
66
96
  export interface ConfirmPhoneChangeResponse {
67
97
  ok: boolean;
68
98
  }
69
99
 
70
100
  export const ACCOUNT_V1_PACKAGE_NAME = "account.v1";
71
101
 
102
+ /**
103
+ * AccountService exposes methods to read account information and
104
+ * to manage verification flows when changing email or phone.
105
+ */
106
+
72
107
  export interface AccountServiceClient {
108
+ /** Retrieves account details by identifier. */
109
+
73
110
  getAccount(request: GetAccountRequest): Observable<GetAccountResponse>;
74
111
 
112
+ /** Starts the email change flow (sends a verification code to the new email). */
113
+
75
114
  initEmailChange(request: InitEmailChangeRequest): Observable<InitEmailChangeResponse>;
76
115
 
116
+ /** Confirms the email change using a verification code. */
117
+
77
118
  confirmEmailChange(request: ConfirmEmailChangeRequest): Observable<ConfirmEmailChangeResponse>;
78
119
 
120
+ /** Starts the phone change flow (sends a verification code to the new phone). */
121
+
79
122
  initPhoneChange(request: InitPhoneChangeRequest): Observable<InitPhoneChangeResponse>;
80
123
 
124
+ /** Confirms the phone change using a verification code. */
125
+
81
126
  confirmPhoneChange(request: ConfirmPhoneChangeRequest): Observable<ConfirmPhoneChangeResponse>;
82
127
  }
83
128
 
129
+ /**
130
+ * AccountService exposes methods to read account information and
131
+ * to manage verification flows when changing email or phone.
132
+ */
133
+
84
134
  export interface AccountServiceController {
135
+ /** Retrieves account details by identifier. */
136
+
85
137
  getAccount(
86
138
  request: GetAccountRequest,
87
139
  ): Promise<GetAccountResponse> | Observable<GetAccountResponse> | GetAccountResponse;
88
140
 
141
+ /** Starts the email change flow (sends a verification code to the new email). */
142
+
89
143
  initEmailChange(
90
144
  request: InitEmailChangeRequest,
91
145
  ): Promise<InitEmailChangeResponse> | Observable<InitEmailChangeResponse> | InitEmailChangeResponse;
92
146
 
147
+ /** Confirms the email change using a verification code. */
148
+
93
149
  confirmEmailChange(
94
150
  request: ConfirmEmailChangeRequest,
95
151
  ): Promise<ConfirmEmailChangeResponse> | Observable<ConfirmEmailChangeResponse> | ConfirmEmailChangeResponse;
96
152
 
153
+ /** Starts the phone change flow (sends a verification code to the new phone). */
154
+
97
155
  initPhoneChange(
98
156
  request: InitPhoneChangeRequest,
99
157
  ): Promise<InitPhoneChangeResponse> | Observable<InitPhoneChangeResponse> | InitPhoneChangeResponse;
100
158
 
159
+ /** Confirms the phone change using a verification code. */
160
+
101
161
  confirmPhoneChange(
102
162
  request: ConfirmPhoneChangeRequest,
103
163
  ): Promise<ConfirmPhoneChangeResponse> | Observable<ConfirmPhoneChangeResponse> | ConfirmPhoneChangeResponse;
package/gen/ts/auth.ts ADDED
@@ -0,0 +1,290 @@
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
+ import { Empty } from "./google/protobuf/empty";
11
+
12
+ export const protobufPackage = "auth.v1";
13
+
14
+ /** Request to send an OTP to an identifier (email or phone). */
15
+ export interface SendOtpRequest {
16
+ /**
17
+ * Target identifier to deliver the OTP (for example "+31612345678" or
18
+ * "user@example.com").
19
+ */
20
+ identifier: string;
21
+ /** Delivery type for the identifier: commonly "phone" or "email". */
22
+ type: string;
23
+ }
24
+
25
+ /** Response for SendOtp request. */
26
+ export interface SendOtpResponse {
27
+ /**
28
+ * True when the OTP request was accepted for delivery. This does not
29
+ * guarantee that the recipient has received the message.
30
+ */
31
+ ok: boolean;
32
+ }
33
+
34
+ /** Request to verify an OTP code for a previously targeted identifier. */
35
+ export interface VerifyOtpRequest {
36
+ /** Identifier that originally received the OTP (must match SendOtp identifier). */
37
+ identifier: string;
38
+ /** Delivery type used when sending the OTP: "phone" or "email". */
39
+ type: string;
40
+ /** OTP code provided by the client. */
41
+ code: string;
42
+ }
43
+
44
+ /** Response returned when an OTP was successfully verified. */
45
+ export interface VerifyOtpResponse {
46
+ /** Short-lived access token to authenticate future requests. */
47
+ accessToken: string;
48
+ /** Long-lived refresh token used to obtain new access tokens. */
49
+ refreshToken: string;
50
+ }
51
+
52
+ /** Request to refresh an access token using a refresh token. */
53
+ export interface RefreshRequest {
54
+ /** The refresh token previously issued to the client. */
55
+ refreshToken: string;
56
+ }
57
+
58
+ /** Response containing a newly issued token pair. */
59
+ export interface RefreshResponse {
60
+ /** Newly issued access token. */
61
+ accessToken: string;
62
+ /** Newly issued refresh token (may be rotated). */
63
+ refreshToken: string;
64
+ }
65
+
66
+ /** Response for Telegram initialization, containing an authorization URL. */
67
+ export interface TelegramInitResponse {
68
+ /** HTTPS URL that the client should open for Telegram authorization. */
69
+ url: string;
70
+ }
71
+
72
+ /**
73
+ * Request carrying raw Telegram query parameters returned by Telegram
74
+ * during OAuth-style authentication. The service validates signature
75
+ * and freshness of the parameters.
76
+ */
77
+ export interface TelegramVerifyRequest {
78
+ /** Raw query parameters returned by Telegram (must include `hash` and `auth_date`). */
79
+ query: { [key: string]: string };
80
+ }
81
+
82
+ export interface TelegramVerifyRequest_QueryEntry {
83
+ key: string;
84
+ value: string;
85
+ }
86
+
87
+ /**
88
+ * Result of Telegram verification. The oneof allows returning either a
89
+ * deep link instructing the client to continue the flow, or tokens when
90
+ * login can be completed immediately.
91
+ */
92
+ export interface TelegramVerifyResponse {
93
+ /**
94
+ * Bot deep link URL to continue or complete the flow (for example
95
+ * to provide a phone number or confirm consent).
96
+ */
97
+ url?:
98
+ | string
99
+ | undefined;
100
+ /** Access token issued when Telegram login can be completed immediately. */
101
+ accessToken?:
102
+ | string
103
+ | undefined;
104
+ /** Refresh token issued when Telegram login can be completed immediately. */
105
+ refreshToken?: string | undefined;
106
+ }
107
+
108
+ /** Request to complete a Telegram login by supplying additional required data. */
109
+ export interface TelegramCompleteRequest {
110
+ /** Session identifier created and returned by the Telegram bot flow. */
111
+ sessionId: string;
112
+ /** Optional phone number to bind to the Telegram session (E.164 recommended). */
113
+ phone: string;
114
+ }
115
+
116
+ /**
117
+ * Response returned after completing a Telegram session; the client can
118
+ * use the session id to exchange it for tokens.
119
+ */
120
+ export interface TelegramCompleteResponse {
121
+ /** Session identifier that can be consumed to obtain tokens. */
122
+ sessionId: string;
123
+ }
124
+
125
+ /** Request to exchange a completed Telegram session for token pair. */
126
+ export interface TelegramConsumeRequest {
127
+ /** Session identifier previously returned from TelegramCompleteResponse. */
128
+ sessionId: string;
129
+ }
130
+
131
+ /** Token pair returned when consuming a Telegram session. */
132
+ export interface TelegramConsumeResponse {
133
+ /** Access token for authenticated requests. */
134
+ accessToken: string;
135
+ /** Refresh token to obtain new access tokens. */
136
+ refreshToken: string;
137
+ }
138
+
139
+ export const AUTH_V1_PACKAGE_NAME = "auth.v1";
140
+
141
+ /**
142
+ * AuthService provides authentication-related operations such as sending
143
+ * and verifying OTPs, issuing and refreshing tokens, and handling the
144
+ * Telegram login flow.
145
+ */
146
+
147
+ export interface AuthServiceClient {
148
+ /**
149
+ * Sends a one-time password (OTP) to the given identifier.
150
+ * The identifier typically represents either a phone number or an email
151
+ * address and `type` indicates which delivery channel to use.
152
+ */
153
+
154
+ sendOtp(request: SendOtpRequest): Observable<SendOtpResponse>;
155
+
156
+ /**
157
+ * Verifies the one-time password provided by a client. On success the
158
+ * service issues a new access and refresh token pair for the authenticated user.
159
+ */
160
+
161
+ verifyOtp(request: VerifyOtpRequest): Observable<VerifyOtpResponse>;
162
+
163
+ /**
164
+ * Exchanges a refresh token for a new access/refresh token pair. The
165
+ * service may rotate refresh tokens depending on policy.
166
+ */
167
+
168
+ refresh(request: RefreshRequest): Observable<RefreshResponse>;
169
+
170
+ /**
171
+ * Starts the Telegram login flow and returns an authorization URL that
172
+ * the client should open to continue the flow in Telegram.
173
+ */
174
+
175
+ telegramInit(request: Empty): Observable<TelegramInitResponse>;
176
+
177
+ /**
178
+ * Validates the Telegram login payload (signature and auth_date) and
179
+ * progresses the login flow. Depending on the account state this RPC
180
+ * may return immediate tokens or a bot deep link instructing the user
181
+ * how to complete signup.
182
+ */
183
+
184
+ telegramVerify(request: TelegramVerifyRequest): Observable<TelegramVerifyResponse>;
185
+
186
+ /**
187
+ * Completes Telegram-based login by binding additional data (for example,
188
+ * a phone number) to a previously started Telegram session.
189
+ */
190
+
191
+ telegramComplete(request: TelegramCompleteRequest): Observable<TelegramCompleteResponse>;
192
+
193
+ /**
194
+ * Consumes a completed Telegram session and issues an access/refresh
195
+ * token pair. This endpoint should be called once per session identifier.
196
+ */
197
+
198
+ telegramConsume(request: TelegramConsumeRequest): Observable<TelegramConsumeResponse>;
199
+ }
200
+
201
+ /**
202
+ * AuthService provides authentication-related operations such as sending
203
+ * and verifying OTPs, issuing and refreshing tokens, and handling the
204
+ * Telegram login flow.
205
+ */
206
+
207
+ export interface AuthServiceController {
208
+ /**
209
+ * Sends a one-time password (OTP) to the given identifier.
210
+ * The identifier typically represents either a phone number or an email
211
+ * address and `type` indicates which delivery channel to use.
212
+ */
213
+
214
+ sendOtp(request: SendOtpRequest): Promise<SendOtpResponse> | Observable<SendOtpResponse> | SendOtpResponse;
215
+
216
+ /**
217
+ * Verifies the one-time password provided by a client. On success the
218
+ * service issues a new access and refresh token pair for the authenticated user.
219
+ */
220
+
221
+ verifyOtp(request: VerifyOtpRequest): Promise<VerifyOtpResponse> | Observable<VerifyOtpResponse> | VerifyOtpResponse;
222
+
223
+ /**
224
+ * Exchanges a refresh token for a new access/refresh token pair. The
225
+ * service may rotate refresh tokens depending on policy.
226
+ */
227
+
228
+ refresh(request: RefreshRequest): Promise<RefreshResponse> | Observable<RefreshResponse> | RefreshResponse;
229
+
230
+ /**
231
+ * Starts the Telegram login flow and returns an authorization URL that
232
+ * the client should open to continue the flow in Telegram.
233
+ */
234
+
235
+ telegramInit(request: Empty): Promise<TelegramInitResponse> | Observable<TelegramInitResponse> | TelegramInitResponse;
236
+
237
+ /**
238
+ * Validates the Telegram login payload (signature and auth_date) and
239
+ * progresses the login flow. Depending on the account state this RPC
240
+ * may return immediate tokens or a bot deep link instructing the user
241
+ * how to complete signup.
242
+ */
243
+
244
+ telegramVerify(
245
+ request: TelegramVerifyRequest,
246
+ ): Promise<TelegramVerifyResponse> | Observable<TelegramVerifyResponse> | TelegramVerifyResponse;
247
+
248
+ /**
249
+ * Completes Telegram-based login by binding additional data (for example,
250
+ * a phone number) to a previously started Telegram session.
251
+ */
252
+
253
+ telegramComplete(
254
+ request: TelegramCompleteRequest,
255
+ ): Promise<TelegramCompleteResponse> | Observable<TelegramCompleteResponse> | TelegramCompleteResponse;
256
+
257
+ /**
258
+ * Consumes a completed Telegram session and issues an access/refresh
259
+ * token pair. This endpoint should be called once per session identifier.
260
+ */
261
+
262
+ telegramConsume(
263
+ request: TelegramConsumeRequest,
264
+ ): Promise<TelegramConsumeResponse> | Observable<TelegramConsumeResponse> | TelegramConsumeResponse;
265
+ }
266
+
267
+ export function AuthServiceControllerMethods() {
268
+ return function (constructor: Function) {
269
+ const grpcMethods: string[] = [
270
+ "sendOtp",
271
+ "verifyOtp",
272
+ "refresh",
273
+ "telegramInit",
274
+ "telegramVerify",
275
+ "telegramComplete",
276
+ "telegramConsume",
277
+ ];
278
+ for (const method of grpcMethods) {
279
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
280
+ GrpcMethod("AuthService", method)(constructor.prototype[method], method, descriptor);
281
+ }
282
+ const grpcStreamMethods: string[] = [];
283
+ for (const method of grpcStreamMethods) {
284
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
285
+ GrpcStreamMethod("AuthService", method)(constructor.prototype[method], method, descriptor);
286
+ }
287
+ };
288
+ }
289
+
290
+ export const AUTH_SERVICE_NAME = "AuthService";
@@ -0,0 +1,76 @@
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: media.proto
6
+
7
+ /* eslint-disable */
8
+ import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
9
+ import { Observable } from "rxjs";
10
+
11
+ export const protobufPackage = "media.v1";
12
+
13
+ export interface UploadRequest {
14
+ fileName: string;
15
+ folder: string;
16
+ contentType: string;
17
+ data: Uint8Array;
18
+ resizeWidth?: number | undefined;
19
+ resizeHeight?: number | undefined;
20
+ }
21
+
22
+ export interface UploadResponse {
23
+ key: string;
24
+ }
25
+
26
+ export interface GetRequest {
27
+ key: string;
28
+ }
29
+
30
+ export interface GetResponse {
31
+ data: Uint8Array;
32
+ contentType: string;
33
+ }
34
+
35
+ export interface DeleteRequest {
36
+ key: string;
37
+ }
38
+
39
+ export interface DeleteResponse {
40
+ ok: boolean;
41
+ }
42
+
43
+ export const MEDIA_V1_PACKAGE_NAME = "media.v1";
44
+
45
+ export interface MediaServiceClient {
46
+ upload(request: UploadRequest): Observable<UploadResponse>;
47
+
48
+ get(request: GetRequest): Observable<GetResponse>;
49
+
50
+ delete(request: DeleteRequest): Observable<DeleteResponse>;
51
+ }
52
+
53
+ export interface MediaServiceController {
54
+ upload(request: UploadRequest): Promise<UploadResponse> | Observable<UploadResponse> | UploadResponse;
55
+
56
+ get(request: GetRequest): Promise<GetResponse> | Observable<GetResponse> | GetResponse;
57
+
58
+ delete(request: DeleteRequest): Promise<DeleteResponse> | Observable<DeleteResponse> | DeleteResponse;
59
+ }
60
+
61
+ export function MediaServiceControllerMethods() {
62
+ return function (constructor: Function) {
63
+ const grpcMethods: string[] = ["upload", "get", "delete"];
64
+ for (const method of grpcMethods) {
65
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
66
+ GrpcMethod("MediaService", method)(constructor.prototype[method], method, descriptor);
67
+ }
68
+ const grpcStreamMethods: string[] = [];
69
+ for (const method of grpcStreamMethods) {
70
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
71
+ GrpcStreamMethod("MediaService", method)(constructor.prototype[method], method, descriptor);
72
+ }
73
+ };
74
+ }
75
+
76
+ export const MEDIA_SERVICE_NAME = "MediaService";
@@ -0,0 +1,126 @@
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: users.proto
6
+
7
+ /* eslint-disable */
8
+ import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
9
+ import { Observable } from "rxjs";
10
+
11
+ export const protobufPackage = "users.v1";
12
+
13
+ /** Request to get the current user's profile. */
14
+ export interface GetMeRequest {
15
+ /** The identifier of the user to fetch (typically from auth token). */
16
+ id: string;
17
+ }
18
+
19
+ /** Response containing the requested user profile. */
20
+ export interface GetMeResponse {
21
+ /** The user profile. */
22
+ user: User | undefined;
23
+ }
24
+
25
+ /** Request to create a user record. */
26
+ export interface CreateUserRequest {
27
+ /** Unique identifier for the new user (typically assigned by auth). */
28
+ id: string;
29
+ }
30
+
31
+ /** Response for CreateUser operation. */
32
+ export interface CreateUserResponse {
33
+ /** True when the user was created successfully. */
34
+ ok: boolean;
35
+ }
36
+
37
+ /** Request to update a user partially. Fields left unset are not modified. */
38
+ export interface PatchUserRequest {
39
+ /** Target user id to patch. */
40
+ userId: string;
41
+ /** Optional new display name for the user. */
42
+ name?:
43
+ | string
44
+ | undefined;
45
+ /** Optional new avatar URL. */
46
+ avatar?: string | undefined;
47
+ }
48
+
49
+ /** Response for PatchUser operation. */
50
+ export interface PatchUserResponse {
51
+ /** True when the patch operation succeeded. */
52
+ ok: boolean;
53
+ }
54
+
55
+ /** User profile representation. */
56
+ export interface User {
57
+ /** Unique user identifier. */
58
+ id: string;
59
+ /** Optional display name. */
60
+ name?:
61
+ | string
62
+ | undefined;
63
+ /** Optional email address associated with the user. */
64
+ email?:
65
+ | string
66
+ | undefined;
67
+ /** Optional phone number (E.164 recommended). */
68
+ phone?:
69
+ | string
70
+ | undefined;
71
+ /** Optional avatar image URL. */
72
+ avatar?: string | undefined;
73
+ }
74
+
75
+ export const USERS_V1_PACKAGE_NAME = "users.v1";
76
+
77
+ /** UsersService exposes endpoints for basic user profile operations. */
78
+
79
+ export interface UsersServiceClient {
80
+ /** Retrieves the profile of the current user. */
81
+
82
+ getMe(request: GetMeRequest): Observable<GetMeResponse>;
83
+
84
+ /** Creates a new user record using the provided identifier. */
85
+
86
+ createUser(request: CreateUserRequest): Observable<CreateUserResponse>;
87
+
88
+ /** Partially updates user profile fields such as name and avatar. */
89
+
90
+ patchUser(request: PatchUserRequest): Observable<PatchUserResponse>;
91
+ }
92
+
93
+ /** UsersService exposes endpoints for basic user profile operations. */
94
+
95
+ export interface UsersServiceController {
96
+ /** Retrieves the profile of the current user. */
97
+
98
+ getMe(request: GetMeRequest): Promise<GetMeResponse> | Observable<GetMeResponse> | GetMeResponse;
99
+
100
+ /** Creates a new user record using the provided identifier. */
101
+
102
+ createUser(
103
+ request: CreateUserRequest,
104
+ ): Promise<CreateUserResponse> | Observable<CreateUserResponse> | CreateUserResponse;
105
+
106
+ /** Partially updates user profile fields such as name and avatar. */
107
+
108
+ patchUser(request: PatchUserRequest): Promise<PatchUserResponse> | Observable<PatchUserResponse> | PatchUserResponse;
109
+ }
110
+
111
+ export function UsersServiceControllerMethods() {
112
+ return function (constructor: Function) {
113
+ const grpcMethods: string[] = ["getMe", "createUser", "patchUser"];
114
+ for (const method of grpcMethods) {
115
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
116
+ GrpcMethod("UsersService", method)(constructor.prototype[method], method, descriptor);
117
+ }
118
+ const grpcStreamMethods: string[] = [];
119
+ for (const method of grpcStreamMethods) {
120
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
121
+ GrpcStreamMethod("UsersService", method)(constructor.prototype[method], method, descriptor);
122
+ }
123
+ };
124
+ }
125
+
126
+ export const USERS_SERVICE_NAME = "UsersService";
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@lumina-cinema/contracts",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "Protobuf definitions and generated Typescript types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "scripts": {
8
8
  "build": "tsc -p tsconfig.build.json",
9
- "generate": "protoc -I ./proto ./proto/*.proto --ts_proto_out=./gen --ts_proto_opt=nestJs=true,package=omit "
9
+ "generate": "protoc -I ./proto ./proto/*.proto --ts_proto_out=./gen/ts --ts_proto_opt=nestJs=true,package=omit "
10
10
  },
11
11
  "files": [
12
12
  "proto",