geniebox-shared-lib 1.0.64 → 1.0.67

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,13 @@
1
+ import { OnModuleInit } from "@nestjs/common";
2
+ import { ClientGrpc } from "@nestjs/microservices";
3
+ import { EventMessage, EventServiceClient } from "./event.interface";
4
+ import { Observable } from "rxjs";
5
+ export declare class EventClient implements OnModuleInit {
6
+ private readonly client;
7
+ private readonly logger;
8
+ private eventClient?;
9
+ constructor(client: ClientGrpc);
10
+ onModuleInit(): void;
11
+ get service(): EventServiceClient;
12
+ subscribe(userId: string): Observable<EventMessage>;
13
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var EventClient_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.EventClient = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ let EventClient = EventClient_1 = class EventClient {
19
+ constructor(client) {
20
+ this.client = client;
21
+ this.logger = new common_1.Logger(EventClient_1.name);
22
+ }
23
+ onModuleInit() {
24
+ this.eventClient =
25
+ this.client.getService("EventService");
26
+ if (!this.eventClient) {
27
+ this.logger.error("Failed to initialize EventServiceClient");
28
+ throw new Error("EventServiceClient initialization failed");
29
+ }
30
+ this.logger.log("EventServiceClient initialized successfully");
31
+ }
32
+ get service() {
33
+ if (!this.eventClient) {
34
+ this.logger.error("Tried to access EventService before initialization");
35
+ throw new Error("EventServiceClient not initialized yet");
36
+ }
37
+ return this.eventClient;
38
+ }
39
+ subscribe(userId) {
40
+ return this.service.subscribe({ userId });
41
+ }
42
+ };
43
+ exports.EventClient = EventClient;
44
+ exports.EventClient = EventClient = EventClient_1 = __decorate([
45
+ (0, common_1.Injectable)(),
46
+ __param(0, (0, common_1.Inject)("EVENT_PACKAGE")),
47
+ __metadata("design:paramtypes", [Object])
48
+ ], EventClient);
@@ -0,0 +1,42 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import type { handleServerStreamingCall, Metadata, UntypedServiceImplementation } from "@grpc/grpc-js";
3
+ import { Observable } from "rxjs";
4
+ export declare const protobufPackage = "event";
5
+ export interface SubscribeRequest {
6
+ userId: string;
7
+ }
8
+ export interface EventMessage {
9
+ channel: string;
10
+ data: string;
11
+ requestId: string;
12
+ }
13
+ export declare const EVENT_PACKAGE_NAME = "event";
14
+ export declare const SubscribeRequest: MessageFns<SubscribeRequest>;
15
+ export declare const EventMessage: MessageFns<EventMessage>;
16
+ export interface EventServiceClient {
17
+ subscribe(request: SubscribeRequest, metadata?: Metadata): Observable<EventMessage>;
18
+ }
19
+ export interface EventServiceController {
20
+ subscribe(request: SubscribeRequest, metadata?: Metadata): Observable<EventMessage>;
21
+ }
22
+ export declare function EventServiceControllerMethods(): (constructor: Function) => void;
23
+ export declare const EVENT_SERVICE_NAME = "EventService";
24
+ export type EventServiceService = typeof EventServiceService;
25
+ export declare const EventServiceService: {
26
+ readonly subscribe: {
27
+ readonly path: "/event.EventService/subscribe";
28
+ readonly requestStream: false;
29
+ readonly responseStream: true;
30
+ readonly requestSerialize: (value: SubscribeRequest) => Buffer;
31
+ readonly requestDeserialize: (value: Buffer) => SubscribeRequest;
32
+ readonly responseSerialize: (value: EventMessage) => Buffer;
33
+ readonly responseDeserialize: (value: Buffer) => EventMessage;
34
+ };
35
+ };
36
+ export interface EventServiceServer extends UntypedServiceImplementation {
37
+ subscribe: handleServerStreamingCall<SubscribeRequest, EventMessage>;
38
+ }
39
+ export interface MessageFns<T> {
40
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
41
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
42
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.7.7
5
+ // protoc v5.28.2
6
+ // source: event.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.EventServiceService = exports.EVENT_SERVICE_NAME = exports.EventMessage = exports.SubscribeRequest = exports.EVENT_PACKAGE_NAME = exports.protobufPackage = void 0;
9
+ exports.EventServiceControllerMethods = EventServiceControllerMethods;
10
+ /* eslint-disable */
11
+ const wire_1 = require("@bufbuild/protobuf/wire");
12
+ const microservices_1 = require("@nestjs/microservices");
13
+ exports.protobufPackage = "event";
14
+ exports.EVENT_PACKAGE_NAME = "event";
15
+ function createBaseSubscribeRequest() {
16
+ return { userId: "" };
17
+ }
18
+ exports.SubscribeRequest = {
19
+ encode(message, writer = new wire_1.BinaryWriter()) {
20
+ if (message.userId !== "") {
21
+ writer.uint32(10).string(message.userId);
22
+ }
23
+ return writer;
24
+ },
25
+ decode(input, length) {
26
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
27
+ const end = length === undefined ? reader.len : reader.pos + length;
28
+ const message = createBaseSubscribeRequest();
29
+ while (reader.pos < end) {
30
+ const tag = reader.uint32();
31
+ switch (tag >>> 3) {
32
+ case 1: {
33
+ if (tag !== 10) {
34
+ break;
35
+ }
36
+ message.userId = reader.string();
37
+ continue;
38
+ }
39
+ }
40
+ if ((tag & 7) === 4 || tag === 0) {
41
+ break;
42
+ }
43
+ reader.skip(tag & 7);
44
+ }
45
+ return message;
46
+ },
47
+ };
48
+ function createBaseEventMessage() {
49
+ return { channel: "", data: "", requestId: "" };
50
+ }
51
+ exports.EventMessage = {
52
+ encode(message, writer = new wire_1.BinaryWriter()) {
53
+ if (message.channel !== "") {
54
+ writer.uint32(10).string(message.channel);
55
+ }
56
+ if (message.data !== "") {
57
+ writer.uint32(18).string(message.data);
58
+ }
59
+ if (message.requestId !== "") {
60
+ writer.uint32(26).string(message.requestId);
61
+ }
62
+ return writer;
63
+ },
64
+ decode(input, length) {
65
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
66
+ const end = length === undefined ? reader.len : reader.pos + length;
67
+ const message = createBaseEventMessage();
68
+ while (reader.pos < end) {
69
+ const tag = reader.uint32();
70
+ switch (tag >>> 3) {
71
+ case 1: {
72
+ if (tag !== 10) {
73
+ break;
74
+ }
75
+ message.channel = reader.string();
76
+ continue;
77
+ }
78
+ case 2: {
79
+ if (tag !== 18) {
80
+ break;
81
+ }
82
+ message.data = reader.string();
83
+ continue;
84
+ }
85
+ case 3: {
86
+ if (tag !== 26) {
87
+ break;
88
+ }
89
+ message.requestId = reader.string();
90
+ continue;
91
+ }
92
+ }
93
+ if ((tag & 7) === 4 || tag === 0) {
94
+ break;
95
+ }
96
+ reader.skip(tag & 7);
97
+ }
98
+ return message;
99
+ },
100
+ };
101
+ function EventServiceControllerMethods() {
102
+ return function (constructor) {
103
+ const grpcMethods = ["subscribe"];
104
+ for (const method of grpcMethods) {
105
+ const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
106
+ (0, microservices_1.GrpcMethod)("EventService", method)(constructor.prototype[method], method, descriptor);
107
+ }
108
+ const grpcStreamMethods = [];
109
+ for (const method of grpcStreamMethods) {
110
+ const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
111
+ (0, microservices_1.GrpcStreamMethod)("EventService", method)(constructor.prototype[method], method, descriptor);
112
+ }
113
+ };
114
+ }
115
+ exports.EVENT_SERVICE_NAME = "EventService";
116
+ exports.EventServiceService = {
117
+ subscribe: {
118
+ path: "/event.EventService/subscribe",
119
+ requestStream: false,
120
+ responseStream: true,
121
+ requestSerialize: (value) => Buffer.from(exports.SubscribeRequest.encode(value).finish()),
122
+ requestDeserialize: (value) => exports.SubscribeRequest.decode(value),
123
+ responseSerialize: (value) => Buffer.from(exports.EventMessage.encode(value).finish()),
124
+ responseDeserialize: (value) => exports.EventMessage.decode(value),
125
+ },
126
+ };
package/dist/index.d.ts CHANGED
@@ -4,8 +4,10 @@ export { AuthClient } from "./auth/auth.client";
4
4
  export { AIClient } from "./ai/ai.client";
5
5
  export { OpenAIClient } from "./openai/openai.client";
6
6
  export { FileClient } from "./file/file.client";
7
+ export { EventClient } from "./event/event.client";
7
8
  export { MessageFns as UserMessageFns, protobufPackage as UserProtobufPackage, User, CreateUserRequest, CreateUserPersonal, UpdateUserRequest, GetByIdRequest, UserResponse, UsersResponse, FindByEmailRequest, FindByPhoneRequest, UpdateUserPersonal, UpdatePasswordRequest, UpdateEmailVerificationRequest, ResetPasswordData, GetEmailVerificationStatusRequest, EmailVerificationStatusResponse, UserServiceService as UserService, } from "./user/user.interface";
8
9
  export { MessageFns as AuthMessageFns, protobufPackage as AuthProtobufPackage, LoginCredentials, RegisterCredentials, LogoutRequest, RefreshRequest, AuthResponse, RefreshTokenResponse, RecoverRequest, ResetPasswordRequest, ConfirmEmailRequest, ConfirmEmailByCodeRequest, ConfirmEmailResponse, CheckEmailVerifiedRequest, CheckEmailVerifiedResponse, ResendConfirmationCodeRequest, } from "./auth/auth.interface";
9
10
  export { MessageFns as AIMessageFns, protobufPackage as AIProtobufPackage, AIRequest, AIResponse, AIServiceService as AIService, } from "./ai/ai.interface";
10
11
  export { MessageFns as OpenAIMessageFns, protobufPackage as OpenAIProtobufPackage, CreateRequest as OpenAICreateRequest, CreateResponse as OpenAICreateResponse, OpenAIServiceService as OpenAIService, } from "./openai/openai.interface";
11
12
  export { UploadRequest, UploadResponse, DownloadRequest, DownloadResponse, DeleteRequest, DeleteResponse, FileServiceService as FileService, protobufPackage as FileProtobufPackage, } from "./file/file.interface";
13
+ export { MessageFns as EventMessageFns, protobufPackage as EventProtobufPackage, SubscribeRequest, EventMessage, EventServiceService as EventService, } from "./event/event.interface";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DownloadResponse = exports.DownloadRequest = exports.UploadResponse = exports.UploadRequest = exports.OpenAIService = exports.OpenAICreateResponse = exports.OpenAICreateRequest = exports.OpenAIProtobufPackage = exports.AIService = exports.AIResponse = exports.AIRequest = exports.AIProtobufPackage = exports.ResendConfirmationCodeRequest = exports.CheckEmailVerifiedResponse = exports.CheckEmailVerifiedRequest = exports.ConfirmEmailResponse = exports.ConfirmEmailByCodeRequest = exports.ConfirmEmailRequest = exports.ResetPasswordRequest = exports.RecoverRequest = exports.RefreshTokenResponse = exports.AuthResponse = exports.RefreshRequest = exports.LogoutRequest = exports.RegisterCredentials = exports.LoginCredentials = exports.AuthProtobufPackage = exports.UserService = exports.EmailVerificationStatusResponse = exports.GetEmailVerificationStatusRequest = exports.ResetPasswordData = exports.UpdateEmailVerificationRequest = exports.UpdatePasswordRequest = exports.UpdateUserPersonal = exports.FindByPhoneRequest = exports.FindByEmailRequest = exports.UsersResponse = exports.UserResponse = exports.GetByIdRequest = exports.UpdateUserRequest = exports.CreateUserPersonal = exports.CreateUserRequest = exports.User = exports.UserProtobufPackage = exports.FileClient = exports.OpenAIClient = exports.AIClient = exports.AuthClient = exports.UsersClient = exports.SharedModule = void 0;
4
- exports.FileProtobufPackage = exports.FileService = exports.DeleteResponse = exports.DeleteRequest = void 0;
3
+ exports.DownloadRequest = exports.UploadResponse = exports.UploadRequest = exports.OpenAIService = exports.OpenAICreateResponse = exports.OpenAICreateRequest = exports.OpenAIProtobufPackage = exports.AIService = exports.AIResponse = exports.AIRequest = exports.AIProtobufPackage = exports.ResendConfirmationCodeRequest = exports.CheckEmailVerifiedResponse = exports.CheckEmailVerifiedRequest = exports.ConfirmEmailResponse = exports.ConfirmEmailByCodeRequest = exports.ConfirmEmailRequest = exports.ResetPasswordRequest = exports.RecoverRequest = exports.RefreshTokenResponse = exports.AuthResponse = exports.RefreshRequest = exports.LogoutRequest = exports.RegisterCredentials = exports.LoginCredentials = exports.AuthProtobufPackage = exports.UserService = exports.EmailVerificationStatusResponse = exports.GetEmailVerificationStatusRequest = exports.ResetPasswordData = exports.UpdateEmailVerificationRequest = exports.UpdatePasswordRequest = exports.UpdateUserPersonal = exports.FindByPhoneRequest = exports.FindByEmailRequest = exports.UsersResponse = exports.UserResponse = exports.GetByIdRequest = exports.UpdateUserRequest = exports.CreateUserPersonal = exports.CreateUserRequest = exports.User = exports.UserProtobufPackage = exports.EventClient = exports.FileClient = exports.OpenAIClient = exports.AIClient = exports.AuthClient = exports.UsersClient = exports.SharedModule = void 0;
4
+ exports.EventService = exports.EventMessage = exports.SubscribeRequest = exports.EventProtobufPackage = exports.FileProtobufPackage = exports.FileService = exports.DeleteResponse = exports.DeleteRequest = exports.DownloadResponse = void 0;
5
5
  var shared_module_1 = require("./shared.module");
6
6
  Object.defineProperty(exports, "SharedModule", { enumerable: true, get: function () { return shared_module_1.SharedModule; } });
7
7
  var user_client_1 = require("./user/user.client");
@@ -14,6 +14,8 @@ var openai_client_1 = require("./openai/openai.client");
14
14
  Object.defineProperty(exports, "OpenAIClient", { enumerable: true, get: function () { return openai_client_1.OpenAIClient; } });
15
15
  var file_client_1 = require("./file/file.client");
16
16
  Object.defineProperty(exports, "FileClient", { enumerable: true, get: function () { return file_client_1.FileClient; } });
17
+ var event_client_1 = require("./event/event.client");
18
+ Object.defineProperty(exports, "EventClient", { enumerable: true, get: function () { return event_client_1.EventClient; } });
17
19
  // ============================
18
20
  // User exports
19
21
  // ============================
@@ -82,3 +84,11 @@ Object.defineProperty(exports, "DeleteRequest", { enumerable: true, get: functio
82
84
  Object.defineProperty(exports, "DeleteResponse", { enumerable: true, get: function () { return file_interface_1.DeleteResponse; } });
83
85
  Object.defineProperty(exports, "FileService", { enumerable: true, get: function () { return file_interface_1.FileServiceService; } });
84
86
  Object.defineProperty(exports, "FileProtobufPackage", { enumerable: true, get: function () { return file_interface_1.protobufPackage; } });
87
+ // ============================
88
+ // Event exports
89
+ // ============================
90
+ var event_interface_1 = require("./event/event.interface");
91
+ Object.defineProperty(exports, "EventProtobufPackage", { enumerable: true, get: function () { return event_interface_1.protobufPackage; } });
92
+ Object.defineProperty(exports, "SubscribeRequest", { enumerable: true, get: function () { return event_interface_1.SubscribeRequest; } });
93
+ Object.defineProperty(exports, "EventMessage", { enumerable: true, get: function () { return event_interface_1.EventMessage; } });
94
+ Object.defineProperty(exports, "EventService", { enumerable: true, get: function () { return event_interface_1.EventServiceService; } });
@@ -20,6 +20,10 @@ export interface SharedModuleOptions {
20
20
  protoPath: string;
21
21
  url: string;
22
22
  };
23
+ event?: {
24
+ protoPath: string;
25
+ url: string;
26
+ };
23
27
  }
24
28
  export declare class SharedModule {
25
29
  private static readonly logger;
@@ -16,6 +16,7 @@ const auth_client_1 = require("./auth/auth.client");
16
16
  const openai_client_1 = require("./openai/openai.client");
17
17
  const ai_client_1 = require("./ai/ai.client");
18
18
  const file_client_1 = require("./file/file.client");
19
+ const event_client_1 = require("./event/event.client");
19
20
  let SharedModule = SharedModule_1 = class SharedModule {
20
21
  static forRoot(options = {}) {
21
22
  const clients = [];
@@ -170,6 +171,36 @@ let SharedModule = SharedModule_1 = class SharedModule {
170
171
  else {
171
172
  providers.push({ provide: file_client_1.FileClient, useValue: null });
172
173
  }
174
+ // EVENT
175
+ if (options.event) {
176
+ clients.push({
177
+ name: "EVENT_PACKAGE",
178
+ transport: microservices_1.Transport.GRPC,
179
+ options: {
180
+ package: "event",
181
+ protoPath: (0, path_1.resolve)(process.cwd(), options.event.protoPath),
182
+ url: options.event.url,
183
+ },
184
+ });
185
+ providers.push({
186
+ provide: event_client_1.EventClient,
187
+ useFactory: (client) => {
188
+ const svc = new event_client_1.EventClient(client);
189
+ try {
190
+ svc.onModuleInit();
191
+ SharedModule_1.logger.log("EventClient initialized successfully");
192
+ }
193
+ catch (err) {
194
+ SharedModule_1.logger.error("EventClient initialization failed", err);
195
+ }
196
+ return svc;
197
+ },
198
+ inject: ["EVENT_PACKAGE"],
199
+ });
200
+ }
201
+ else {
202
+ providers.push({ provide: event_client_1.EventClient, useValue: null });
203
+ }
173
204
  return {
174
205
  module: SharedModule_1,
175
206
  imports: clients.length ? [microservices_1.ClientsModule.register(clients)] : [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geniebox-shared-lib",
3
- "version": "1.0.64",
3
+ "version": "1.0.67",
4
4
  "description": "Shared NestJS library with gRPC clients",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,7 +14,8 @@
14
14
  "proto:gen:ai": "mkdir -p src/ai && protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_out=src/ai --ts_proto_opt=nestJs=true,outputServices=grpc-js,returnObservable=false,addGrpcMetadata=true,fileSuffix=.interface,esModuleInterop=true,useOptionals=true -I=../../libs/protos ../../libs/protos/ai.proto",
15
15
  "proto:gen:openai": "mkdir -p src/openai && protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_out=src/openai --ts_proto_opt=nestJs=true,outputServices=grpc-js,returnObservable=false,addGrpcMetadata=true,fileSuffix=.interface,esModuleInterop=true,useOptionals=true -I=../../libs/protos ../../libs/protos/openai.proto",
16
16
  "proto:gen:file": "mkdir -p src/file && protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_out=src/file --ts_proto_opt=nestJs=true,outputServices=grpc-js,returnObservable=false,addGrpcMetadata=true,fileSuffix=.interface,esModuleInterop=true,useOptionals=true -I=../../libs/protos ../../libs/protos/file.proto",
17
- "proto:gen": "npm run proto:gen:user && npm run proto:gen:auth && npm run proto:gen:openai && npm run proto:gen:ai && npm run proto:gen:file",
17
+ "proto:gen:event": "mkdir -p src/event && protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_out=src/event --ts_proto_opt=nestJs=true,outputServices=grpc-js,returnObservable=false,addGrpcMetadata=true,fileSuffix=.interface,esModuleInterop=true,useOptionals=true -I=../../libs/protos ../../libs/protos/event.proto",
18
+ "proto:gen": "npm run proto:gen:user && npm run proto:gen:auth && npm run proto:gen:openai && npm run proto:gen:ai && npm run proto:gen:file && npm run proto:gen:event",
18
19
  "generate": "npm run proto:gen && npm run build",
19
20
  "prepublishOnly": "npm run build"
20
21
  },