@social.dev/server-sdk 0.0.1-alpha.40 → 0.0.1-alpha.41

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.
Files changed (52) hide show
  1. package/dist/app.module.d.ts +3 -3
  2. package/dist/app.module.js +8 -5
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/auth/auth.controller.d.ts +7 -1
  5. package/dist/auth/auth.controller.js +27 -2
  6. package/dist/auth/auth.controller.js.map +1 -1
  7. package/dist/auth/auth.module.js +2 -0
  8. package/dist/auth/auth.module.js.map +1 -1
  9. package/dist/auth/auth.service.d.ts +6 -1
  10. package/dist/auth/auth.service.js +17 -2
  11. package/dist/auth/auth.service.js.map +1 -1
  12. package/dist/auth/dto/login-success.dto.js +3 -0
  13. package/dist/auth/dto/login-success.dto.js.map +1 -1
  14. package/dist/auth/dto/register-success.dto.d.ts +3 -0
  15. package/dist/auth/dto/register-success.dto.js +12 -0
  16. package/dist/auth/dto/register-success.dto.js.map +1 -0
  17. package/dist/auth/dto/register.dto.d.ts +6 -0
  18. package/dist/auth/dto/register.dto.js +45 -0
  19. package/dist/auth/dto/register.dto.js.map +1 -0
  20. package/dist/bootstrap.js +3 -0
  21. package/dist/bootstrap.js.map +1 -1
  22. package/dist/chat/chat.module.js +2 -0
  23. package/dist/chat/chat.module.js.map +1 -1
  24. package/dist/chat/chat.service.d.ts +3 -1
  25. package/dist/chat/chat.service.js +14 -2
  26. package/dist/chat/chat.service.js.map +1 -1
  27. package/dist/configs/configs.service.d.ts +3 -0
  28. package/dist/configs/configs.service.js.map +1 -1
  29. package/dist/core/event-stream/event-stream-processor.interface.d.ts +8 -0
  30. package/dist/core/event-stream/event-stream-processor.interface.js +3 -0
  31. package/dist/core/event-stream/event-stream-processor.interface.js.map +1 -0
  32. package/dist/core/event-stream/event-stream-processor.service.d.ts +13 -0
  33. package/dist/core/event-stream/event-stream-processor.service.js +55 -0
  34. package/dist/core/event-stream/event-stream-processor.service.js.map +1 -0
  35. package/dist/core/event-stream/event-stream.module.d.ts +11 -0
  36. package/dist/core/event-stream/event-stream.module.js +49 -0
  37. package/dist/core/event-stream/event-stream.module.js.map +1 -0
  38. package/dist/core/event-stream/event-stream.service.d.ts +16 -0
  39. package/dist/core/event-stream/event-stream.service.js +100 -0
  40. package/dist/core/event-stream/event-stream.service.js.map +1 -0
  41. package/dist/core/event-stream/types.d.ts +2 -0
  42. package/dist/core/event-stream/types.js +3 -0
  43. package/dist/core/event-stream/types.js.map +1 -0
  44. package/dist/file-storage/utils.js +3 -1
  45. package/dist/file-storage/utils.js.map +1 -1
  46. package/dist/tsconfig.build.tsbuildinfo +1 -1
  47. package/dist/user/avatar/avatar.service.d.ts +1 -1
  48. package/dist/user/avatar/avatar.service.js +12 -1
  49. package/dist/user/avatar/avatar.service.js.map +1 -1
  50. package/dist/user/user.service.js +1 -1
  51. package/dist/user/user.service.js.map +1 -1
  52. package/package.json +4 -2
@@ -1,10 +1,10 @@
1
1
  import { MiddlewareConsumer, NestModule } from '@nestjs/common';
2
2
  import { ContextService } from './core/context/context.service';
3
- import { DataSource } from 'typeorm';
3
+ import { EventStreamService } from './core/event-stream/event-stream.service';
4
4
  export declare class AppModule implements NestModule {
5
5
  private readonly contextService;
6
- private readonly dataSource;
7
- constructor(contextService: ContextService, dataSource: DataSource);
6
+ private readonly eventStream;
7
+ constructor(contextService: ContextService, eventStream: EventStreamService);
8
8
  onModuleInit(): void;
9
9
  configure(consumer: MiddlewareConsumer): void;
10
10
  }
@@ -31,18 +31,20 @@ const context_service_1 = require("./core/context/context.service");
31
31
  const chat_module_1 = require("./chat/chat.module");
32
32
  const core_module_1 = require("./core/core.module");
33
33
  const context_module_1 = require("./core/context/context.module");
34
- const typeorm_2 = require("typeorm");
35
34
  const db_1 = __importDefault(require("./db"));
36
35
  const notification_module_1 = require("./notification/notification.module");
36
+ const event_stream_module_1 = require("./core/event-stream/event-stream.module");
37
+ const event_stream_service_1 = require("./core/event-stream/event-stream.service");
37
38
  let AppModule = class AppModule {
38
39
  contextService;
39
- dataSource;
40
- constructor(contextService, dataSource) {
40
+ eventStream;
41
+ constructor(contextService, eventStream) {
41
42
  this.contextService = contextService;
42
- this.dataSource = dataSource;
43
+ this.eventStream = eventStream;
43
44
  }
44
45
  onModuleInit() {
45
46
  context_1.Context.setService(this.contextService);
47
+ this.eventStream.createTopics();
46
48
  }
47
49
  configure(consumer) {
48
50
  consumer.apply(network_middleware_1.NetworkContextMiddleware).forRoutes('*');
@@ -69,6 +71,7 @@ exports.AppModule = AppModule = __decorate([
69
71
  media_module_1.MediaModule,
70
72
  chat_module_1.ChatModule,
71
73
  notification_module_1.NotificationModule,
74
+ event_stream_module_1.EventStreamModule.forRoot(),
72
75
  ],
73
76
  providers: [
74
77
  {
@@ -84,6 +87,6 @@ exports.AppModule = AppModule = __decorate([
84
87
  ],
85
88
  }),
86
89
  __metadata("design:paramtypes", [context_service_1.ContextService,
87
- typeorm_2.DataSource])
90
+ event_stream_service_1.EventStreamService])
88
91
  ], AppModule);
89
92
  //# sourceMappingURL=app.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,6CAAgD;AAChD,2CAA8C;AAC9C,oDAAgD;AAEhD,6DAAyD;AAEzD,mEAA+D;AAC/D,oDAAgD;AAEhD,uCAA0D;AAC1D,oDAAgD;AAChD,4DAAwD;AACxD,6DAAyD;AACzD,qEAAwE;AACxE,uDAAmD;AACnD,oDAAiD;AACjD,oEAAgE;AAChE,oDAAgD;AAChD,oDAAgD;AAChD,kEAA8D;AAC9D,qCAAqC;AACrC,8CAAmC;AACnC,4EAAwE;AAkCjE,IAAM,SAAS,GAAf,MAAM,SAAS;IAED;IACA;IAFnB,YACmB,cAA8B,EAC9B,UAAsB;QADtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEJ,YAAY;QAEV,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,6CAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxD,QAAQ,CAAC,KAAK,CAAC,gCAAc,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAfY,8BAAS;oBAAT,SAAS;IAhCrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,8BAAa;YACb,qBAAY,CAAC,OAAO,CAAC;gBACnB,WAAW,EAAE,YAAY;gBACzB,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,uBAAa,CAAC,OAAO,CAAC,YAAe,CAAC,OAAO,CAAC;YAC9C,wBAAU;YACV,wBAAU;YACV,8BAAa;YACb,kCAAe;YACf,wBAAU;YACV,8BAAa;YACb,wBAAU;YACV,0BAAW;YACX,wBAAU;YACV,wCAAkB;SACnB;QACD,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,sBAAe;gBACxB,MAAM,EAAE,CAAC,gBAAS,CAAC;gBACnB,UAAU,EAAE,CAAC,SAAoB,EAAE,EAAE;oBACnC,OAAO,IAAI,mCAA0B,CAAC,SAAS,EAAE;wBAC/C,wBAAwB,EAAE,IAAI;wBAC9B,uBAAuB,EAAE,IAAI;qBAC9B,CAAC,CAAC;gBACL,CAAC;aACF;SACF;KACF,CAAC;qCAGmC,gCAAc;QAClB,oBAAU;GAH9B,SAAS,CAerB"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,6CAAgD;AAChD,2CAA8C;AAC9C,oDAAgD;AAChD,6DAAyD;AACzD,mEAA+D;AAC/D,oDAAgD;AAChD,uCAA0D;AAC1D,oDAAgD;AAChD,4DAAwD;AACxD,6DAAyD;AACzD,qEAAwE;AACxE,uDAAmD;AACnD,oDAAiD;AACjD,oEAAgE;AAChE,oDAAgD;AAChD,oDAAgD;AAChD,kEAA8D;AAE9D,8CAAmC;AACnC,4EAAwE;AACxE,iFAA4E;AAC5E,mFAA8E;AAmCvE,IAAM,SAAS,GAAf,MAAM,SAAS;IAED;IACA;IAFnB,YACmB,cAA8B,EAC9B,WAA+B;QAD/B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAoB;IAC/C,CAAC;IAEJ,YAAY;QAEV,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAExC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,6CAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxD,QAAQ,CAAC,KAAK,CAAC,gCAAc,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAjBY,8BAAS;oBAAT,SAAS;IAjCrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,8BAAa;YACb,qBAAY,CAAC,OAAO,CAAC;gBACnB,WAAW,EAAE,YAAY;gBACzB,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,uBAAa,CAAC,OAAO,CAAC,YAAe,CAAC,OAAO,CAAC;YAC9C,wBAAU;YACV,wBAAU;YACV,8BAAa;YACb,kCAAe;YACf,wBAAU;YACV,8BAAa;YACb,wBAAU;YACV,0BAAW;YACX,wBAAU;YACV,wCAAkB;YAClB,uCAAiB,CAAC,OAAO,EAAE;SAC5B;QACD,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,sBAAe;gBACxB,MAAM,EAAE,CAAC,gBAAS,CAAC;gBACnB,UAAU,EAAE,CAAC,SAAoB,EAAE,EAAE;oBACnC,OAAO,IAAI,mCAA0B,CAAC,SAAS,EAAE;wBAC/C,wBAAwB,EAAE,IAAI;wBAC9B,uBAAuB,EAAE,IAAI;qBAC9B,CAAC,CAAC;gBACL,CAAC;aACF;SACF;KACF,CAAC;qCAGmC,gCAAc;QACjB,yCAAkB;GAHvC,SAAS,CAiBrB"}
@@ -1,8 +1,14 @@
1
+ import { Response as ExpressResponse } from 'express';
1
2
  import { AuthService } from './auth.service';
2
3
  import { AuthMethodEnum } from './enums/auth-method.enum';
4
+ import { RegisterDto } from './dto/register.dto';
5
+ import { RegisterSuccessResponseDto } from './dto/register-success.dto';
6
+ import { SessionService } from './session/session.service';
3
7
  export declare class AuthController {
4
8
  private authService;
5
- constructor(authService: AuthService);
9
+ private sessionService;
10
+ constructor(authService: AuthService, sessionService: SessionService);
6
11
  listAuthMethod(): AuthMethodEnum[];
7
12
  getProfile(req: any): any;
13
+ register(dto: RegisterDto, res: ExpressResponse): Promise<RegisterSuccessResponseDto>;
8
14
  }
@@ -19,10 +19,16 @@ const auth_service_1 = require("./auth.service");
19
19
  const auth_guard_1 = require("./auth.guard");
20
20
  const auth_method_enum_1 = require("./enums/auth-method.enum");
21
21
  const swagger_1 = require("@nestjs/swagger");
22
+ const register_dto_1 = require("./dto/register.dto");
23
+ const user_response_dto_1 = require("../user/dto/user-response.dto");
24
+ const class_transformer_1 = require("class-transformer");
25
+ const session_service_1 = require("./session/session.service");
22
26
  let AuthController = class AuthController {
23
27
  authService;
24
- constructor(authService) {
28
+ sessionService;
29
+ constructor(authService, sessionService) {
25
30
  this.authService = authService;
31
+ this.sessionService = sessionService;
26
32
  }
27
33
  listAuthMethod() {
28
34
  return this.authService.getAuthMethods();
@@ -30,6 +36,15 @@ let AuthController = class AuthController {
30
36
  getProfile(req) {
31
37
  return req.user;
32
38
  }
39
+ async register(dto, res) {
40
+ const user = await this.authService.register(dto);
41
+ const { authToken } = await this.sessionService.create(user);
42
+ this.sessionService.setSessionCookie(authToken, res);
43
+ return {
44
+ authToken,
45
+ user: (0, class_transformer_1.plainToInstance)(user_response_dto_1.UserResponseDto, user),
46
+ };
47
+ }
33
48
  };
34
49
  exports.AuthController = AuthController;
35
50
  __decorate([
@@ -61,9 +76,19 @@ __decorate([
61
76
  __metadata("design:paramtypes", [Object]),
62
77
  __metadata("design:returntype", void 0)
63
78
  ], AuthController.prototype, "getProfile", null);
79
+ __decorate([
80
+ (0, common_1.Post)('auth.register'),
81
+ openapi.ApiResponse({ status: 201, type: require("./dto/register-success.dto").RegisterSuccessResponseDto }),
82
+ __param(0, (0, common_1.Body)()),
83
+ __param(1, (0, common_1.Response)({ passthrough: true })),
84
+ __metadata("design:type", Function),
85
+ __metadata("design:paramtypes", [register_dto_1.RegisterDto, Object]),
86
+ __metadata("design:returntype", Promise)
87
+ ], AuthController.prototype, "register", null);
64
88
  exports.AuthController = AuthController = __decorate([
65
89
  (0, swagger_1.ApiTags)('Auth'),
66
90
  (0, common_1.Controller)(),
67
- __metadata("design:paramtypes", [auth_service_1.AuthService])
91
+ __metadata("design:paramtypes", [auth_service_1.AuthService,
92
+ session_service_1.SessionService])
68
93
  ], AuthController);
69
94
  //# sourceMappingURL=auth.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,iDAA6C;AAC7C,6CAAyC;AACzC,+DAA0D;AAC1D,6CAAqE;AAI9D,IAAM,cAAc,GAApB,MAAM,cAAc;IACL;IAApB,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAgBhD,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAID,UAAU,CAAY,GAAG;QACvB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF,CAAA;AA1BY,wCAAc;AAiBzB;IAdC,IAAA,YAAG,EAAC,kBAAkB,CAAC;IACvB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;IAClE,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0CAA0C;QACvD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iCAAc,CAAC;aACpC;YACD,OAAO,EAAE,CAAC,iCAAc,CAAC,QAAQ,EAAE,iCAAc,CAAC,IAAI,CAAC;SACxD;KACF,CAAC;;;;;oDAGD;AAID;IAFC,IAAA,kBAAS,EAAC,sBAAS,CAAC;IACpB,IAAA,YAAG,EAAC,mBAAmB,CAAC;;IACb,WAAA,IAAA,gBAAO,GAAE,CAAA;;;;gDAEpB;yBAzBU,cAAc;IAF1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,mBAAU,GAAE;qCAEsB,0BAAW;GADjC,cAAc,CA0B1B"}
1
+ {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAQwB;AAExB,iDAA6C;AAC7C,6CAAyC;AACzC,+DAA0D;AAC1D,6CAAqE;AACrE,qDAAiD;AACjD,qEAA+D;AAC/D,yDAAoD;AAEpD,+DAA2D;AAIpD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEf;IACA;IAFV,YACU,WAAwB,EACxB,cAA8B;QAD9B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAgBJ,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAID,UAAU,CAAY,GAAG;QACvB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CACJ,GAAgB,EACS,GAAoB;QAErD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAErD,OAAO;YACL,SAAS;YACT,IAAI,EAAE,IAAA,mCAAe,EAAC,mCAAe,EAAE,IAAI,CAAC;SAC7C,CAAC;IACJ,CAAC;CACF,CAAA;AA9CY,wCAAc;AAoBzB;IAdC,IAAA,YAAG,EAAC,kBAAkB,CAAC;IACvB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;IAClE,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0CAA0C;QACvD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iCAAc,CAAC;aACpC;YACD,OAAO,EAAE,CAAC,iCAAc,CAAC,QAAQ,EAAE,iCAAc,CAAC,IAAI,CAAC;SACxD;KACF,CAAC;;;;;oDAGD;AAID;IAFC,IAAA,kBAAS,EAAC,sBAAS,CAAC;IACpB,IAAA,YAAG,EAAC,mBAAmB,CAAC;;IACb,WAAA,IAAA,gBAAO,GAAE,CAAA;;;;gDAEpB;AAGK;IADL,IAAA,aAAI,EAAC,eAAe,CAAC;;IAEnB,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,iBAAQ,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;;qCADnB,0BAAW;;8CAazB;yBA7CU,cAAc;IAF1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,mBAAU,GAAE;qCAGY,0BAAW;QACR,gCAAc;GAH7B,cAAc,CA8C1B"}
@@ -15,6 +15,7 @@ const jwt_1 = require("@nestjs/jwt");
15
15
  const constants_1 = require("./constants");
16
16
  const oidc_module_1 = require("./oidc/oidc.module");
17
17
  const configs_module_1 = require("../configs/configs.module");
18
+ const session_module_1 = require("./session/session.module");
18
19
  let AuthModule = class AuthModule {
19
20
  };
20
21
  exports.AuthModule = AuthModule;
@@ -29,6 +30,7 @@ exports.AuthModule = AuthModule = __decorate([
29
30
  }),
30
31
  configs_module_1.ConfigsModule,
31
32
  oidc_module_1.OidcModule,
33
+ session_module_1.SessionModule,
32
34
  ],
33
35
  controllers: [auth_controller_1.AuthController],
34
36
  providers: [auth_service_1.AuthService],
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,uDAAmD;AACnD,iDAA6C;AAC7C,qDAAgD;AAChD,qCAAwC;AACxC,2CAA2C;AAC3C,oDAAgD;AAChD,8DAAyD;AAgBlD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAdtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,eAAS,CAAC,QAAQ,CAAC;gBACjB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,wBAAY,CAAC,MAAM;gBAC3B,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;aAClC,CAAC;YACF,8BAAa;YACb,wBAAU;SACX;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,CAAC;KACzB,CAAC;GACW,UAAU,CAAG"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,uDAAmD;AACnD,iDAA6C;AAC7C,qDAAgD;AAChD,qCAAwC;AACxC,2CAA2C;AAC3C,oDAAgD;AAChD,8DAAyD;AACzD,6DAAyD;AAiBlD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAftB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,eAAS,CAAC,QAAQ,CAAC;gBACjB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,wBAAY,CAAC,MAAM;gBAC3B,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;aAClC,CAAC;YACF,8BAAa;YACb,wBAAU;YACV,8BAAa;SACd;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,CAAC;KACzB,CAAC;GACW,UAAU,CAAG"}
@@ -1,7 +1,12 @@
1
+ import { UserService } from '../user/user.service';
2
+ import { User } from '~/user/entities/user.entity';
1
3
  import { AuthMethodEnum } from './enums/auth-method.enum';
2
4
  import { ConfigsService } from '~/configs/configs.service';
5
+ import { RegisterDto } from './dto/register.dto';
3
6
  export declare class AuthService {
4
7
  private configs;
5
- constructor(configs: ConfigsService);
8
+ private userService;
9
+ constructor(configs: ConfigsService, userService: UserService);
6
10
  getAuthMethods(): AuthMethodEnum[];
11
+ register({ username, name, password, email, }: RegisterDto): Promise<User>;
7
12
  }
@@ -11,19 +11,34 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AuthService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
+ const user_service_1 = require("../user/user.service");
14
15
  const configs_service_1 = require("../configs/configs.service");
16
+ const argon2_1 = require("@node-rs/argon2");
15
17
  let AuthService = class AuthService {
16
18
  configs;
17
- constructor(configs) {
19
+ userService;
20
+ constructor(configs, userService) {
18
21
  this.configs = configs;
22
+ this.userService = userService;
19
23
  }
20
24
  getAuthMethods() {
21
25
  return this.configs.get('auth')?.methods || [];
22
26
  }
27
+ async register({ username, name, password, email, }) {
28
+ const passwordHash = await (0, argon2_1.hash)(password, { memoryCost: 20480 });
29
+ return this.userService.create({
30
+ username,
31
+ email,
32
+ name,
33
+ password: passwordHash,
34
+ verified: true,
35
+ });
36
+ }
23
37
  };
24
38
  exports.AuthService = AuthService;
25
39
  exports.AuthService = AuthService = __decorate([
26
40
  (0, common_1.Injectable)(),
27
- __metadata("design:paramtypes", [configs_service_1.ConfigsService])
41
+ __metadata("design:paramtypes", [configs_service_1.ConfigsService,
42
+ user_service_1.UserService])
28
43
  ], AuthService);
29
44
  //# sourceMappingURL=auth.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AAKnE,gEAA2D;AAGpD,IAAM,WAAW,GAAjB,MAAM,WAAW;IACF;IAApB,YAAoB,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAK/C,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IACjD,CAAC;CACF,CAAA;AATY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAEkB,gCAAc;GADhC,WAAW,CASvB"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,uDAAmD;AAInD,gEAA2D;AAE3D,4CAAuC;AAGhC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEZ;IACA;IAFV,YACU,OAAuB,EACvB,WAAwB;QADxB,YAAO,GAAP,OAAO,CAAgB;QACvB,gBAAW,GAAX,WAAW,CAAa;IAC/B,CAAC;IAEJ,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IACjD,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,EACb,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,GACO;QACZ,MAAM,YAAY,GAAG,MAAM,IAAA,aAAI,EAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC7B,QAAQ;YACR,KAAK;YACL,IAAI;YACJ,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA7BY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGQ,gCAAc;QACV,0BAAW;GAHvB,WAAW,CA6BvB"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.LoginSuccessResponseDto = void 0;
13
13
  const openapi = require("@nestjs/swagger");
14
14
  const swagger_1 = require("@nestjs/swagger");
15
+ const class_transformer_1 = require("class-transformer");
15
16
  const user_response_dto_1 = require("../../user/dto/user-response.dto");
16
17
  class LoginSuccessResponseDto {
17
18
  authToken;
@@ -23,9 +24,11 @@ class LoginSuccessResponseDto {
23
24
  exports.LoginSuccessResponseDto = LoginSuccessResponseDto;
24
25
  __decorate([
25
26
  (0, swagger_1.ApiProperty)({ description: 'The session token' }),
27
+ (0, class_transformer_1.Expose)(),
26
28
  __metadata("design:type", String)
27
29
  ], LoginSuccessResponseDto.prototype, "authToken", void 0);
28
30
  __decorate([
31
+ (0, class_transformer_1.Expose)(),
29
32
  (0, swagger_1.ApiProperty)({
30
33
  description: 'User information',
31
34
  example: {
@@ -1 +1 @@
1
- {"version":3,"file":"login-success.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/login-success.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA8C;AAC9C,wEAA+D;AAG/D,MAAa,uBAAuB;IAElC,SAAS,CAAS;IAWlB,IAAI,CAAkB;;;;CACvB;AAdD,0DAcC;AAZC;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;;0DAChC;AAWlB;IATC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE;YACP,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,CAAC;SACX;KACF,CAAC;8BACI,mCAAe;qDAAC"}
1
+ {"version":3,"file":"login-success.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/login-success.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAA2C;AAC3C,wEAA+D;AAG/D,MAAa,uBAAuB;IAGlC,SAAS,CAAS;IAYlB,IAAI,CAAkB;;;;CACvB;AAhBD,0DAgBC;AAbC;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACjD,IAAA,0BAAM,GAAE;;0DACS;AAYlB;IAVC,IAAA,0BAAM,GAAE;IACR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE;YACP,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,CAAC;SACX;KACF,CAAC;8BACI,mCAAe;qDAAC"}
@@ -0,0 +1,3 @@
1
+ import { LoginSuccessResponseDto } from './login-success.dto';
2
+ export declare class RegisterSuccessResponseDto extends LoginSuccessResponseDto {
3
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegisterSuccessResponseDto = void 0;
4
+ const openapi = require("@nestjs/swagger");
5
+ const login_success_dto_1 = require("./login-success.dto");
6
+ class RegisterSuccessResponseDto extends login_success_dto_1.LoginSuccessResponseDto {
7
+ static _OPENAPI_METADATA_FACTORY() {
8
+ return {};
9
+ }
10
+ }
11
+ exports.RegisterSuccessResponseDto = RegisterSuccessResponseDto;
12
+ //# sourceMappingURL=register-success.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-success.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/register-success.dto.ts"],"names":[],"mappings":";;;;AAAA,2DAA8D;AAE9D,MAAa,0BAA2B,SAAQ,2CAAuB;;;;CAAG;AAA1E,gEAA0E"}
@@ -0,0 +1,6 @@
1
+ export declare class RegisterDto {
2
+ username: string;
3
+ name: string;
4
+ password: string;
5
+ email: string;
6
+ }
@@ -0,0 +1,45 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RegisterDto = void 0;
13
+ const openapi = require("@nestjs/swagger");
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ class RegisterDto {
16
+ username;
17
+ name;
18
+ password;
19
+ email;
20
+ static _OPENAPI_METADATA_FACTORY() {
21
+ return { username: { required: true, type: () => String }, name: { required: true, type: () => String }, password: { required: true, type: () => String }, email: { required: true, type: () => String } };
22
+ }
23
+ }
24
+ exports.RegisterDto = RegisterDto;
25
+ __decorate([
26
+ (0, swagger_1.ApiProperty)({
27
+ description: 'Username (unique) to be assigned to the new user that will be created',
28
+ }),
29
+ __metadata("design:type", String)
30
+ ], RegisterDto.prototype, "username", void 0);
31
+ __decorate([
32
+ (0, swagger_1.ApiProperty)({
33
+ description: 'Display name that will show on the profile',
34
+ }),
35
+ __metadata("design:type", String)
36
+ ], RegisterDto.prototype, "name", void 0);
37
+ __decorate([
38
+ (0, swagger_1.ApiProperty)({ description: 'Secure phrase that will protect the account' }),
39
+ __metadata("design:type", String)
40
+ ], RegisterDto.prototype, "password", void 0);
41
+ __decorate([
42
+ (0, swagger_1.ApiProperty)({ description: 'Email associated with the account' }),
43
+ __metadata("design:type", String)
44
+ ], RegisterDto.prototype, "email", void 0);
45
+ //# sourceMappingURL=register.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/register.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,WAAW;IAKtB,QAAQ,CAAS;IAKjB,IAAI,CAAS;IAGb,QAAQ,CAAS;IAGjB,KAAK,CAAS;;;;CACf;AAjBD,kCAiBC;AAZC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EACT,uEAAuE;KAC1E,CAAC;;6CACe;AAKjB;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,4CAA4C;KAC1D,CAAC;;yCACW;AAGb;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;;6CAC3D;AAGjB;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;;0CACpD"}
package/dist/bootstrap.js CHANGED
@@ -9,6 +9,7 @@ const swagger_1 = require("@nestjs/swagger");
9
9
  const app_module_1 = require("./app.module");
10
10
  const cookie_parser_1 = __importDefault(require("cookie-parser"));
11
11
  const configs_service_1 = require("./configs/configs.service");
12
+ const event_stream_processor_service_1 = require("./core/event-stream/event-stream-processor.service");
12
13
  async function bootstrap(configs) {
13
14
  configs_service_1.ConfigsService.init(configs);
14
15
  console.log('Environment check - SOCIAL_DEV_SERVER_PORT:', process.env.SOCIAL_DEV_SERVER_PORT);
@@ -30,5 +31,7 @@ async function bootstrap(configs) {
30
31
  await app.listen(port, '0.0.0.0');
31
32
  console.log(`🚀 Server is running on http://localhost:${port}`);
32
33
  console.log(`📚 Swagger documentation available at http://localhost:${port}/schema`);
34
+ const eventStreamProcessors = app.get(event_stream_processor_service_1.EventStreamProcessorService);
35
+ eventStreamProcessors.setAppRef(app).processAll();
33
36
  }
34
37
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;;AAMA,8BAgCC;AAtCD,uCAA2C;AAC3C,6CAAiE;AACjE,6CAAyC;AACzC,kEAAyC;AACzC,+DAAoE;AAE7D,KAAK,UAAU,SAAS,CAAC,OAAgB;IAE9C,gCAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CACT,6CAA6C,EAC7C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CACnC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAEhD,GAAG,CAAC,UAAU,EAAE,CAAC;IAEjB,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,YAAY,CAAC;SACtB,cAAc,CAAC,oBAAoB,CAAC;SACpC,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM,CAAC,QAAQ,CAAC;SAChB,aAAa,EAAE;SACf,KAAK,EAAE,CAAC;IACX,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxE,uBAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE;QAClD,SAAS,EAAE,uCAAuC;KACnD,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,MAAM,CAAC,CAAC;IACpE,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,0DAA0D,IAAI,SAAS,CACxE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;;AAOA,8BAsCC;AA7CD,uCAA2C;AAC3C,6CAAiE;AACjE,6CAAyC;AACzC,kEAAyC;AACzC,+DAAoE;AACpE,uGAAiG;AAE1F,KAAK,UAAU,SAAS,CAAC,OAAgB;IAE9C,gCAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CACT,6CAA6C,EAC7C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CACnC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAEhD,GAAG,CAAC,UAAU,EAAE,CAAC;IAEjB,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,YAAY,CAAC;SACtB,cAAc,CAAC,oBAAoB,CAAC;SACpC,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM,CAAC,QAAQ,CAAC;SAChB,aAAa,EAAE;SACf,KAAK,EAAE,CAAC;IACX,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxE,uBAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE;QAClD,SAAS,EAAE,uCAAuC;KACnD,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,MAAM,CAAC,CAAC;IACpE,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,0DAA0D,IAAI,SAAS,CACxE,CAAC;IAKF,MAAM,qBAAqB,GAAG,GAAG,CAAC,GAAG,CAAC,4DAA2B,CAAC,CAAC;IACnE,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;AACpD,CAAC"}
@@ -16,6 +16,7 @@ const message_entity_1 = require("./entities/message.entity");
16
16
  const conversation_member_entity_1 = require("./entities/conversation-member.entity");
17
17
  const hook_module_1 = require("../core/hook/hook.module");
18
18
  const push_notification_module_1 = require("../notification/push-notification.module");
19
+ const event_stream_module_1 = require("../core/event-stream/event-stream.module");
19
20
  let ChatModule = class ChatModule {
20
21
  };
21
22
  exports.ChatModule = ChatModule;
@@ -29,6 +30,7 @@ exports.ChatModule = ChatModule = __decorate([
29
30
  ]),
30
31
  hook_module_1.HookModule,
31
32
  push_notification_module_1.PushNotificationModule,
33
+ event_stream_module_1.EventStreamModule.forFeature({ topics: ['chat'] }),
32
34
  ],
33
35
  controllers: [chat_controller_1.ChatController],
34
36
  providers: [chat_service_1.ChatService],
@@ -1 +1 @@
1
- {"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../src/chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,iDAA6C;AAC7C,6CAAgD;AAChD,wEAAkE;AAClE,8DAAwD;AACxD,sFAA+E;AAC/E,0DAAqD;AACrD,uFAAiF;AAgB1E,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAdtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,sCAAgB;gBAChB,mDAAsB;gBACtB,4BAAW;aACZ,CAAC;YACF,wBAAU;YACV,iDAAsB;SACvB;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
1
+ {"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../src/chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,iDAA6C;AAC7C,6CAAgD;AAChD,wEAAkE;AAClE,8DAAwD;AACxD,sFAA+E;AAC/E,0DAAqD;AACrD,uFAAiF;AACjF,kFAA4E;AAiBrE,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAftB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,sCAAgB;gBAChB,mDAAsB;gBACtB,4BAAW;aACZ,CAAC;YACF,wBAAU;YACV,iDAAsB;YACtB,uCAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACnD;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
@@ -5,14 +5,16 @@ import { CreateConversationDto } from './dto/create-conversation.dto';
5
5
  import { ChatConversationMember } from './entities/conversation-member.entity';
6
6
  import { HookService } from '~/core/hook/hook.service';
7
7
  import { PushNotificationService } from '~/notification/push-notification.service';
8
+ import { EventStreamService } from '~/core/event-stream/event-stream.service';
8
9
  export declare class ChatService {
9
10
  private conversationRepositoy;
10
11
  private memberRepositoy;
11
12
  private messageRepositoy;
12
13
  private dataSource;
13
14
  private hookService;
15
+ private eventStream;
14
16
  private pushService;
15
- constructor(conversationRepositoy: Repository<ChatConversation>, memberRepositoy: Repository<ChatConversationMember>, messageRepositoy: Repository<ChatMessage>, dataSource: DataSource, hookService: HookService, pushService: PushNotificationService);
17
+ constructor(conversationRepositoy: Repository<ChatConversation>, memberRepositoy: Repository<ChatConversationMember>, messageRepositoy: Repository<ChatMessage>, dataSource: DataSource, hookService: HookService, eventStream: EventStreamService, pushService: PushNotificationService);
16
18
  private findExistingOneOnOneConversation;
17
19
  createConversation(dto: CreateConversationDto): Promise<ChatConversation>;
18
20
  getConversation(id: number): Promise<ChatConversation | null>;
@@ -24,19 +24,22 @@ const user_entity_1 = require("../user/entities/user.entity");
24
24
  const hook_service_1 = require("../core/hook/hook.service");
25
25
  const conversation_type_enum_1 = require("./enums/conversation-type.enum");
26
26
  const push_notification_service_1 = require("../notification/push-notification.service");
27
+ const event_stream_service_1 = require("../core/event-stream/event-stream.service");
27
28
  let ChatService = class ChatService {
28
29
  conversationRepositoy;
29
30
  memberRepositoy;
30
31
  messageRepositoy;
31
32
  dataSource;
32
33
  hookService;
34
+ eventStream;
33
35
  pushService;
34
- constructor(conversationRepositoy, memberRepositoy, messageRepositoy, dataSource, hookService, pushService) {
36
+ constructor(conversationRepositoy, memberRepositoy, messageRepositoy, dataSource, hookService, eventStream, pushService) {
35
37
  this.conversationRepositoy = conversationRepositoy;
36
38
  this.memberRepositoy = memberRepositoy;
37
39
  this.messageRepositoy = messageRepositoy;
38
40
  this.dataSource = dataSource;
39
41
  this.hookService = hookService;
42
+ this.eventStream = eventStream;
40
43
  this.pushService = pushService;
41
44
  }
42
45
  async findExistingOneOnOneConversation(otherUserId) {
@@ -104,7 +107,15 @@ let ChatService = class ChatService {
104
107
  sender: context_1.Context.getUser(),
105
108
  });
106
109
  message = await this.messageRepositoy.save(message);
107
- this.hookService.emit('MESSAGE_SEND', { message });
110
+ this.eventStream.send({
111
+ messages: [
112
+ {
113
+ topic: 'chat',
114
+ key: `message-${message.id}`,
115
+ value: JSON.stringify({ message }),
116
+ },
117
+ ],
118
+ });
108
119
  const [members] = await this.listMembers({ conversationId });
109
120
  for (let member of members) {
110
121
  if (member.userId === message.sender.id) {
@@ -158,6 +169,7 @@ exports.ChatService = ChatService = __decorate([
158
169
  typeorm_2.Repository,
159
170
  typeorm_2.DataSource,
160
171
  hook_service_1.HookService,
172
+ event_stream_service_1.EventStreamService,
161
173
  push_notification_service_1.PushNotificationService])
162
174
  ], ChatService);
163
175
  //# sourceMappingURL=chat.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../src/chat/chat.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../src/chat/chat.service.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ export type Configs = {
13
13
  [domain: string]: Network['id'];
14
14
  };
15
15
  };
16
+ eventStream?: {
17
+ consumers: any;
18
+ };
16
19
  };
17
20
  export declare class ConfigsService {
18
21
  private static configs;
@@ -1 +1 @@
1
- {"version":3,"file":"configs.service.js","sourceRoot":"","sources":["../../src/configs/configs.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4C;AAmBrC,IAAM,cAAc,GAApB,MAAM,cAAc;;IACjB,MAAM,CAAC,OAAO,GAAY,EAAE,CAAC;IAMrC,MAAM,CAAC,IAAI,CAAC,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAKD,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,gBAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,GAAG,CAA0B,GAAM;QACjC,OAAO,gBAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;;AAxBU,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAyB1B"}
1
+ {"version":3,"file":"configs.service.js","sourceRoot":"","sources":["../../src/configs/configs.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4C;AAsBrC,IAAM,cAAc,GAApB,MAAM,cAAc;;IACjB,MAAM,CAAC,OAAO,GAAY,EAAE,CAAC;IAMrC,MAAM,CAAC,IAAI,CAAC,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAKD,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,gBAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,GAAG,CAA0B,GAAM;QACjC,OAAO,gBAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;;AAxBU,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAyB1B"}
@@ -0,0 +1,8 @@
1
+ import { ConsumeOptions } from '@platformatic/kafka';
2
+ import { Message } from './types';
3
+ export interface EventStreamProcessorInterface {
4
+ readonly groupId: string;
5
+ readonly topics: string[];
6
+ consume(event: Message): void;
7
+ readonly opts?: Omit<ConsumeOptions<string, string, string, string>, 'topics'>;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-stream-processor.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream-processor.interface.js","sourceRoot":"","sources":["../../../src/core/event-stream/event-stream-processor.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { INestApplication, Type } from '@nestjs/common';
2
+ import { EventStreamProcessorInterface } from './event-stream-processor.interface';
3
+ import { EventStreamService } from './event-stream.service';
4
+ export declare class EventStreamProcessorService {
5
+ private eventStream;
6
+ private appRef;
7
+ protected static PROCESSORS: Type<EventStreamProcessorInterface>[];
8
+ static addProcessor(processor: Type<EventStreamProcessorInterface>): void;
9
+ constructor(eventStream: EventStreamService);
10
+ setAppRef(appRef: INestApplication): EventStreamProcessorService;
11
+ processAll(): void;
12
+ process(instance: Type<EventStreamProcessorInterface>): void;
13
+ }
@@ -0,0 +1,55 @@
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 EventStreamProcessorService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.EventStreamProcessorService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const event_stream_service_1 = require("./event-stream.service");
16
+ const kafka_1 = require("@platformatic/kafka");
17
+ let EventStreamProcessorService = class EventStreamProcessorService {
18
+ static { EventStreamProcessorService_1 = this; }
19
+ eventStream;
20
+ appRef;
21
+ static PROCESSORS = [];
22
+ static addProcessor(processor) {
23
+ EventStreamProcessorService_1.PROCESSORS.push(processor);
24
+ }
25
+ constructor(eventStream) {
26
+ this.eventStream = eventStream;
27
+ }
28
+ setAppRef(appRef) {
29
+ this.appRef = appRef;
30
+ return this;
31
+ }
32
+ processAll() {
33
+ for (const instance of EventStreamProcessorService_1.PROCESSORS) {
34
+ this.process(instance);
35
+ }
36
+ }
37
+ process(instance) {
38
+ const processor = this.appRef.get(instance);
39
+ processor.groupId;
40
+ const defaultOpts = {
41
+ mode: kafka_1.MessagesStreamModes.COMMITTED,
42
+ autocommit: false,
43
+ topics: processor.topics || [],
44
+ sessionTimeout: 10000,
45
+ heartbeatInterval: 500,
46
+ };
47
+ this.eventStream.consume(processor.groupId, { ...processor.opts, ...defaultOpts }, processor.consume.bind(processor));
48
+ }
49
+ };
50
+ exports.EventStreamProcessorService = EventStreamProcessorService;
51
+ exports.EventStreamProcessorService = EventStreamProcessorService = EventStreamProcessorService_1 = __decorate([
52
+ (0, common_1.Injectable)(),
53
+ __metadata("design:paramtypes", [event_stream_service_1.EventStreamService])
54
+ ], EventStreamProcessorService);
55
+ //# sourceMappingURL=event-stream-processor.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream-processor.service.js","sourceRoot":"","sources":["../../../src/core/event-stream/event-stream-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoE;AAEpE,iEAA4D;AAC5D,+CAA0D;AAUnD,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;;IAelB;IAdZ,MAAM,CAAmB;IAKvB,MAAM,CAAC,UAAU,GAA0C,EAAE,CAAC;IAKxE,MAAM,CAAC,YAAY,CAAC,SAA8C;QAChE,6BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,YAAoB,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAKvD,SAAS,CAAC,MAAwB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,UAAU;QACR,KAAK,MAAM,QAAQ,IAAI,6BAA2B,CAAC,UAAU,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAKD,OAAO,CAAC,QAA6C;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5C,SAAS,CAAC,OAAO,CAAC;QAElB,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,2BAAmB,CAAC,SAAS;YACnC,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;YAC9B,cAAc,EAAE,KAAK;YACrB,iBAAiB,EAAE,GAAG;SACvB,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,OAAO,CACtB,SAAS,CAAC,OAAO,EACjB,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,WAAW,EAAE,EACrC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAClC,CAAC;IACJ,CAAC;;AAvDU,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;qCAgBsB,yCAAkB;GAfxC,2BAA2B,CAwDvC"}
@@ -0,0 +1,11 @@
1
+ import { DynamicModule, Type } from '@nestjs/common';
2
+ import { EventStreamProcessorInterface } from './event-stream-processor.interface';
3
+ type EventStreamModuleOpts = {
4
+ processors?: Type<EventStreamProcessorInterface>[];
5
+ topics?: string[];
6
+ };
7
+ export declare class EventStreamModule {
8
+ static forRoot(): DynamicModule;
9
+ static forFeature({ topics, processors, }: EventStreamModuleOpts): DynamicModule;
10
+ }
11
+ export {};