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

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 (94) hide show
  1. package/README.md +33 -28
  2. package/dist/app.module.d.ts +3 -3
  3. package/dist/app.module.js +8 -5
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/auth/auth.controller.d.ts +7 -1
  6. package/dist/auth/auth.controller.js +27 -2
  7. package/dist/auth/auth.controller.js.map +1 -1
  8. package/dist/auth/auth.module.js +2 -0
  9. package/dist/auth/auth.module.js.map +1 -1
  10. package/dist/auth/auth.service.d.ts +6 -1
  11. package/dist/auth/auth.service.js +17 -2
  12. package/dist/auth/auth.service.js.map +1 -1
  13. package/dist/auth/dto/login-success.dto.js +3 -0
  14. package/dist/auth/dto/login-success.dto.js.map +1 -1
  15. package/dist/auth/dto/register-success.dto.d.ts +3 -0
  16. package/dist/auth/dto/register-success.dto.js +12 -0
  17. package/dist/auth/dto/register-success.dto.js.map +1 -0
  18. package/dist/auth/dto/register.dto.d.ts +6 -0
  19. package/dist/auth/dto/register.dto.js +45 -0
  20. package/dist/auth/dto/register.dto.js.map +1 -0
  21. package/dist/bootstrap.js +3 -0
  22. package/dist/bootstrap.js.map +1 -1
  23. package/dist/chat/chat.module.js +2 -0
  24. package/dist/chat/chat.module.js.map +1 -1
  25. package/dist/chat/chat.service.d.ts +3 -1
  26. package/dist/chat/chat.service.js +14 -2
  27. package/dist/chat/chat.service.js.map +1 -1
  28. package/dist/community/avatar/avatar.controller.d.ts +11 -0
  29. package/dist/community/avatar/avatar.controller.js +90 -0
  30. package/dist/community/avatar/avatar.controller.js.map +1 -0
  31. package/dist/community/avatar/avatar.service.d.ts +13 -0
  32. package/dist/community/avatar/avatar.service.js +78 -0
  33. package/dist/community/avatar/avatar.service.js.map +1 -0
  34. package/dist/community/community.acl.js +4 -0
  35. package/dist/community/community.acl.js.map +1 -1
  36. package/dist/community/community.controller.d.ts +3 -1
  37. package/dist/community/community.controller.js +14 -1
  38. package/dist/community/community.controller.js.map +1 -1
  39. package/dist/community/community.module.js +6 -2
  40. package/dist/community/community.module.js.map +1 -1
  41. package/dist/community/community.service.d.ts +2 -2
  42. package/dist/community/community.service.js +34 -4
  43. package/dist/community/community.service.js.map +1 -1
  44. package/dist/community/dto/community-response.dto.d.ts +5 -1
  45. package/dist/community/dto/community-response.dto.js +32 -1
  46. package/dist/community/dto/community-response.dto.js.map +1 -1
  47. package/dist/community/dto/create-community.dto.d.ts +2 -0
  48. package/dist/community/dto/create-community.dto.js +14 -2
  49. package/dist/community/dto/create-community.dto.js.map +1 -1
  50. package/dist/community/dto/update-community.dto.d.ts +2 -0
  51. package/dist/community/dto/update-community.dto.js +15 -1
  52. package/dist/community/dto/update-community.dto.js.map +1 -1
  53. package/dist/community/entities/community-member.entity.js +1 -0
  54. package/dist/community/entities/community-member.entity.js.map +1 -1
  55. package/dist/community/entities/community.entity.d.ts +2 -0
  56. package/dist/community/entities/community.entity.js +11 -1
  57. package/dist/community/entities/community.entity.js.map +1 -1
  58. package/dist/configs/configs.service.d.ts +3 -0
  59. package/dist/configs/configs.service.js.map +1 -1
  60. package/dist/core/event-stream/event-stream-processor.interface.d.ts +8 -0
  61. package/dist/core/event-stream/event-stream-processor.interface.js +3 -0
  62. package/dist/core/event-stream/event-stream-processor.interface.js.map +1 -0
  63. package/dist/core/event-stream/event-stream-processor.service.d.ts +13 -0
  64. package/dist/core/event-stream/event-stream-processor.service.js +55 -0
  65. package/dist/core/event-stream/event-stream-processor.service.js.map +1 -0
  66. package/dist/core/event-stream/event-stream.module.d.ts +11 -0
  67. package/dist/core/event-stream/event-stream.module.js +49 -0
  68. package/dist/core/event-stream/event-stream.module.js.map +1 -0
  69. package/dist/core/event-stream/event-stream.service.d.ts +16 -0
  70. package/dist/core/event-stream/event-stream.service.js +100 -0
  71. package/dist/core/event-stream/event-stream.service.js.map +1 -0
  72. package/dist/core/event-stream/types.d.ts +2 -0
  73. package/dist/core/event-stream/types.js +3 -0
  74. package/dist/core/event-stream/types.js.map +1 -0
  75. package/dist/db.js +1 -0
  76. package/dist/db.js.map +1 -1
  77. package/dist/file-storage/file-storage.service.js.map +1 -1
  78. package/dist/file-storage/utils.d.ts +2 -0
  79. package/dist/file-storage/utils.js +9 -2
  80. package/dist/file-storage/utils.js.map +1 -1
  81. package/dist/migrations/1759757532702-UpdateCommunityCascades.d.ts +6 -0
  82. package/dist/migrations/1759757532702-UpdateCommunityCascades.js +20 -0
  83. package/dist/migrations/1759757532702-UpdateCommunityCascades.js.map +1 -0
  84. package/dist/migrations/1759766474808-UpdateCommunityTimestamps.d.ts +6 -0
  85. package/dist/migrations/1759766474808-UpdateCommunityTimestamps.js +16 -0
  86. package/dist/migrations/1759766474808-UpdateCommunityTimestamps.js.map +1 -0
  87. package/dist/post/entities/post.entity.js +1 -1
  88. package/dist/post/entities/post.entity.js.map +1 -1
  89. package/dist/tsconfig.build.tsbuildinfo +1 -1
  90. package/dist/user/avatar/avatar.service.js +12 -1
  91. package/dist/user/avatar/avatar.service.js.map +1 -1
  92. package/dist/user/user.service.js +1 -1
  93. package/dist/user/user.service.js.map +1 -1
  94. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"update-community.dto.js","sourceRoot":"","sources":["../../../src/community/dto/update-community.dto.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAC9C,iEAA4D;AAE5D,MAAa,kBAAmB,SAAQ,IAAA,qBAAW,EAAC,yCAAkB,CAAC;;;;CAAG;AAA1E,gDAA0E"}
1
+ {"version":3,"file":"update-community.dto.js","sourceRoot":"","sources":["../../../src/community/dto/update-community.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA2D;AAC3D,iEAA4D;AAG5D,MAAa,kBAAmB,SAAQ,IAAA,qBAAW,EAAC,yCAAkB,CAAC;IAErE,SAAS,CAAkB;;;;CAC5B;AAHD,gDAGC;AADC;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;;qDAC9C"}
@@ -40,6 +40,7 @@ __decorate([
40
40
  (0, typeorm_1.ManyToOne)(() => community_entity_1.Community, (community) => community.members, {
41
41
  eager: true,
42
42
  cascade: true,
43
+ onDelete: 'CASCADE',
43
44
  }),
44
45
  (0, typeorm_1.JoinColumn)({ name: 'communityId' }),
45
46
  __metadata("design:type", community_entity_1.Community)
@@ -1 +1 @@
1
- {"version":3,"file":"community-member.entity.js","sourceRoot":"","sources":["../../../src/community/entities/community-member.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qCAOiB;AACjB,yDAA+C;AAC/C,iEAAmD;AACnD,uFAA+D;AAC/D,2FAAmE;AAG5D,IAAM,eAAe,GAArB,MAAM,eAAe;IAKjB,WAAW,CAAkB;IAUtC,SAAS,CAAY;IAMZ,MAAM,CAAa;IAU5B,IAAI,CAAO;IAMX,IAAI,CAAsB;IAM1B,SAAS,CAAO;IAMhB,MAAM,CAAwB;;;;CAC/B,CAAA;AAlDY,0CAAe;AAKjB;IADR,IAAA,uBAAa,GAAE;;oDACsB;AAUtC;IALC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4BAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;QAC5D,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;KACd,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACzB,4BAAS;kDAAC;AAMZ;IADR,IAAA,uBAAa,GAAE;;+CACY;AAU5B;IALC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;QACjD,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;KACd,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACzB,kBAAI;6CAAC;AAMX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAAmB,EAAE,CAAC;;6CAC1B;AAM1B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC/B,kBAAI;kDAAC;AAMhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAAqB,EAAE,CAAC;;+CACxB;0BAjDnB,eAAe;IAD3B,IAAA,gBAAM,GAAE;GACI,eAAe,CAkD3B"}
1
+ {"version":3,"file":"community-member.entity.js","sourceRoot":"","sources":["../../../src/community/entities/community-member.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qCAOiB;AACjB,yDAA+C;AAC/C,iEAAmD;AACnD,uFAA+D;AAC/D,2FAAmE;AAG5D,IAAM,eAAe,GAArB,MAAM,eAAe;IAKjB,WAAW,CAAkB;IAWtC,SAAS,CAAY;IAMZ,MAAM,CAAa;IAU5B,IAAI,CAAO;IAMX,IAAI,CAAsB;IAM1B,SAAS,CAAO;IAMhB,MAAM,CAAwB;;;;CAC/B,CAAA;AAnDY,0CAAe;AAKjB;IADR,IAAA,uBAAa,GAAE;;oDACsB;AAWtC;IANC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4BAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;QAC5D,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACzB,4BAAS;kDAAC;AAMZ;IADR,IAAA,uBAAa,GAAE;;+CACY;AAU5B;IALC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;QACjD,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;KACd,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACzB,kBAAI;6CAAC;AAMX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAAmB,EAAE,CAAC;;6CAC1B;AAM1B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC/B,kBAAI;kDAAC;AAMhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAAqB,EAAE,CAAC;;+CACxB;0BAlDnB,eAAe;IAD3B,IAAA,gBAAM,GAAE;GACI,eAAe,CAmD3B"}
@@ -7,4 +7,6 @@ export declare class Community {
7
7
  name: string;
8
8
  members: CommunityMember[];
9
9
  privacy: CommunityPrivacy;
10
+ createdAt: Date;
11
+ updatedAt: Date;
10
12
  }
@@ -24,8 +24,10 @@ let Community = class Community {
24
24
  name;
25
25
  members;
26
26
  privacy;
27
+ createdAt;
28
+ updatedAt;
27
29
  static _OPENAPI_METADATA_FACTORY() {
28
- return { network: { required: true, type: () => require("../../network/entities/network.entity").Network }, id: { required: true, type: () => Number }, name: { required: true, type: () => String }, members: { required: true, type: () => [require("./community-member.entity").CommunityMember] }, privacy: { required: true, enum: require("../enums/community-privacy.enum").CommunityPrivacy } };
30
+ return { network: { required: true, type: () => require("../../network/entities/network.entity").Network }, id: { required: true, type: () => Number }, name: { required: true, type: () => String }, members: { required: true, type: () => [require("./community-member.entity").CommunityMember] }, privacy: { required: true, enum: require("../enums/community-privacy.enum").CommunityPrivacy }, createdAt: { required: true, type: () => Date }, updatedAt: { required: true, type: () => Date } };
29
31
  }
30
32
  };
31
33
  exports.Community = Community;
@@ -55,6 +57,14 @@ __decorate([
55
57
  }),
56
58
  __metadata("design:type", String)
57
59
  ], Community.prototype, "privacy", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.CreateDateColumn)(),
62
+ __metadata("design:type", Date)
63
+ ], Community.prototype, "createdAt", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.UpdateDateColumn)(),
66
+ __metadata("design:type", Date)
67
+ ], Community.prototype, "updatedAt", void 0);
58
68
  exports.Community = Community = __decorate([
59
69
  (0, typeorm_1.Entity)()
60
70
  ], Community);
@@ -1 +1 @@
1
- {"version":3,"file":"community.entity.js","sourceRoot":"","sources":["../../../src/community/entities/community.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAA4D;AAE5D,qCAQiB;AACjB,uEAA4D;AAC5D,6FAA+D;AAGxD,IAAM,SAAS,GAAf,MAAM,SAAS;IAKpB,OAAO,CAAU;IAMjB,EAAE,CAAS;IAMX,IAAI,CAAS;IAQb,OAAO,CAAoB;IAO3B,OAAO,CAAmB;;;;CAC3B,CAAA;AAjCY,8BAAS;AAKpB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC1D,wBAAO;0CAAC;AAMjB;IADC,IAAA,gCAAsB,GAAE;;qCACd;AAMX;IADC,IAAA,gBAAM,GAAE;;uCACI;AAQb;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,yCAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;QAC9D,QAAQ,EAAE,SAAS;KACpB,CAAC;;0CACyB;AAO3B;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gCAAgB;QACtB,OAAO,EAAE,gCAAgB,CAAC,MAAM;KACjC,CAAC;;0CACwB;oBAhCf,SAAS;IADrB,IAAA,gBAAM,GAAE;GACI,SAAS,CAiCrB"}
1
+ {"version":3,"file":"community.entity.js","sourceRoot":"","sources":["../../../src/community/entities/community.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAA4D;AAE5D,qCAUiB;AACjB,uEAA4D;AAC5D,6FAA+D;AAGxD,IAAM,SAAS,GAAf,MAAM,SAAS;IAKpB,OAAO,CAAU;IAMjB,EAAE,CAAS;IAMX,IAAI,CAAS;IAQb,OAAO,CAAoB;IAO3B,OAAO,CAAmB;IAM1B,SAAS,CAAO;IAMhB,SAAS,CAAO;;;;CACjB,CAAA;AA7CY,8BAAS;AAKpB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC1D,wBAAO;0CAAC;AAMjB;IADC,IAAA,gCAAsB,GAAE;;qCACd;AAMX;IADC,IAAA,gBAAM,GAAE;;uCACI;AAQb;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,yCAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;QAC9D,QAAQ,EAAE,SAAS;KACpB,CAAC;;0CACyB;AAO3B;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gCAAgB;QACtB,OAAO,EAAE,gCAAgB,CAAC,MAAM;KACjC,CAAC;;0CACwB;AAM1B;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;4CAAC;AAMhB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;4CAAC;oBA5CL,SAAS;IADrB,IAAA,gBAAM,GAAE;GACI,SAAS,CA6CrB"}
@@ -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 {};
@@ -0,0 +1,49 @@
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 EventStreamModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.EventStreamModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const event_stream_service_1 = require("./event-stream.service");
13
+ const context_module_1 = require("../context/context.module");
14
+ const event_stream_processor_service_1 = require("./event-stream-processor.service");
15
+ let EventStreamModule = EventStreamModule_1 = class EventStreamModule {
16
+ static forRoot() {
17
+ return {
18
+ global: true,
19
+ module: EventStreamModule_1,
20
+ imports: [context_module_1.ContextModule],
21
+ providers: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
22
+ exports: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
23
+ };
24
+ }
25
+ static forFeature({ topics = [], processors = [], }) {
26
+ for (const topic of topics) {
27
+ event_stream_service_1.EventStreamService.addTopic(topic);
28
+ }
29
+ for (const processor of processors) {
30
+ event_stream_processor_service_1.EventStreamProcessorService.addProcessor(processor);
31
+ }
32
+ return {
33
+ global: true,
34
+ module: EventStreamModule_1,
35
+ imports: [context_module_1.ContextModule],
36
+ providers: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
37
+ exports: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
38
+ };
39
+ }
40
+ };
41
+ exports.EventStreamModule = EventStreamModule;
42
+ exports.EventStreamModule = EventStreamModule = EventStreamModule_1 = __decorate([
43
+ (0, common_1.Module)({
44
+ imports: [context_module_1.ContextModule],
45
+ providers: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
46
+ exports: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
47
+ })
48
+ ], EventStreamModule);
49
+ //# sourceMappingURL=event-stream.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream.module.js","sourceRoot":"","sources":["../../../src/core/event-stream/event-stream.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAC7D,iEAA4D;AAC5D,8DAA0D;AAE1D,qFAA+E;AAYxE,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAiB;YACzB,OAAO,EAAE,CAAC,8BAAa,CAAC;YACxB,SAAS,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;YAC5D,OAAO,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;SAC3D,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,UAAU,CAAC,EAChB,MAAM,GAAG,EAAE,EACX,UAAU,GAAG,EAAE,GACO;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,yCAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,4DAA2B,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAiB;YACzB,OAAO,EAAE,CAAC,8BAAa,CAAC;YACxB,SAAS,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;YAC5D,OAAO,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;SAC3D,CAAC;IACJ,CAAC;CACF,CAAA;AAlCY,8CAAiB;4BAAjB,iBAAiB;IAL7B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,CAAC;QACxB,SAAS,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;QAC5D,OAAO,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;KAC3D,CAAC;GACW,iBAAiB,CAkC7B"}
@@ -0,0 +1,16 @@
1
+ import { ConsumeOptions, Consumer, Producer, ProduceResult, SendOptions } from '@platformatic/kafka';
2
+ import { ContextService } from '../context/context.service';
3
+ import { Message } from './types';
4
+ export declare class EventStreamService {
5
+ private contextService;
6
+ private get clientId();
7
+ private get brokers();
8
+ private static TOPICS;
9
+ constructor(contextService: ContextService);
10
+ static addTopic(topic: string): void;
11
+ consume(groupId: string, options: ConsumeOptions<string, string, string, string>, callback: (message: Message) => void): Promise<void>;
12
+ send(options: SendOptions<string, string, string, string>): Promise<ProduceResult>;
13
+ createTopics(): Promise<void>;
14
+ protected getProducer(): Producer<string, string, string, string>;
15
+ protected getConsumer(groupId: string): Consumer<string, string, string, string>;
16
+ }
@@ -0,0 +1,100 @@
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 EventStreamService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.EventStreamService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const kafka_1 = require("@platformatic/kafka");
16
+ const context_1 = require("../context/context");
17
+ const context_service_1 = require("../context/context.service");
18
+ let EventStreamService = class EventStreamService {
19
+ static { EventStreamService_1 = this; }
20
+ contextService;
21
+ get clientId() {
22
+ return 'social.dev';
23
+ }
24
+ get brokers() {
25
+ return ['localhost:9092'];
26
+ }
27
+ static TOPICS = [];
28
+ constructor(contextService) {
29
+ this.contextService = contextService;
30
+ }
31
+ static addTopic(topic) {
32
+ EventStreamService_1.TOPICS.push(topic);
33
+ }
34
+ async consume(groupId, options, callback) {
35
+ const stream = await this.getConsumer(groupId).consume(options);
36
+ for await (const message of stream) {
37
+ this.contextService.run(() => {
38
+ this.contextService.set('network', {
39
+ id: +(message.headers.get('networkId') || ''),
40
+ });
41
+ callback(message);
42
+ });
43
+ }
44
+ }
45
+ send(options) {
46
+ options.messages = options.messages.map((message) => ({
47
+ ...message,
48
+ headers: {
49
+ networkId: context_1.Context.getNetwork().id.toString(),
50
+ },
51
+ }));
52
+ return this.getProducer().send(options);
53
+ }
54
+ async createTopics() {
55
+ const admin = new kafka_1.Admin({
56
+ clientId: this.clientId,
57
+ bootstrapBrokers: this.brokers,
58
+ });
59
+ for (const topic of EventStreamService_1.TOPICS) {
60
+ try {
61
+ await admin.createTopics({
62
+ topics: [topic],
63
+ partitions: 1,
64
+ replicas: 1,
65
+ });
66
+ }
67
+ catch (err) {
68
+ if (!(err instanceof kafka_1.ResponseError)) {
69
+ throw err;
70
+ }
71
+ if (err.errors[0].apiId === 'TOPIC_ALREADY_EXISTS') {
72
+ }
73
+ else {
74
+ throw err;
75
+ }
76
+ }
77
+ }
78
+ }
79
+ getProducer() {
80
+ return new kafka_1.Producer({
81
+ clientId: this.clientId,
82
+ bootstrapBrokers: this.brokers,
83
+ serializers: kafka_1.stringSerializers,
84
+ });
85
+ }
86
+ getConsumer(groupId) {
87
+ return new kafka_1.Consumer({
88
+ groupId: `${this.clientId}-${groupId}`,
89
+ clientId: this.clientId,
90
+ bootstrapBrokers: this.brokers,
91
+ deserializers: kafka_1.stringDeserializers,
92
+ });
93
+ }
94
+ };
95
+ exports.EventStreamService = EventStreamService;
96
+ exports.EventStreamService = EventStreamService = EventStreamService_1 = __decorate([
97
+ (0, common_1.Injectable)(),
98
+ __metadata("design:paramtypes", [context_service_1.ContextService])
99
+ ], EventStreamService);
100
+ //# sourceMappingURL=event-stream.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream.service.js","sourceRoot":"","sources":["../../../src/core/event-stream/event-stream.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import * as Kafka from '@platformatic/kafka';
2
+ export type Message = Kafka.Message<string, string, string, string>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/event-stream/types.ts"],"names":[],"mappings":""}
package/dist/db.js CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const typeorm_1 = require("typeorm");
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
+ process.loadEnvFile('../../.env');
8
9
  const opts = {
9
10
  type: 'postgres',
10
11
  host: process.env.POSTGRES_HOST || 'localhost',
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":";;;;;AAAA,qCAAwD;AACxD,0DAA6B;AAE7B,MAAM,IAAI,GAAsB;IAC9B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW;IAC9C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,IAAI,IAAI;IACvD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM;IAC7C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM;IACjD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW;IAChD,QAAQ,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAClD,mBAAmB,EAAE,uBAAuB;IAC5C,UAAU,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACrD,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM;CACvD,CAAC;AAEF,kBAAe,IAAI,oBAAU,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":";;;;;AAAA,qCAAwD;AACxD,0DAA6B;AAE7B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAElC,MAAM,IAAI,GAAsB;IAC9B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW;IAC9C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,IAAI,IAAI;IACvD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM;IAC7C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM;IACjD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW;IAChD,QAAQ,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAClD,mBAAmB,EAAE,uBAAuB;IAC5C,UAAU,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACrD,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM;CACvD,CAAC;AAEF,kBAAe,IAAI,oBAAU,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-storage.service.js","sourceRoot":"","sources":["../../src/file-storage/file-storage.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,kDAQ4B;AAQrB,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAI7B,IAAI,QAAQ;QACV,OAAO,IAAI,oBAAQ,CAAC;YAClB,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,uBAAuB;YACzE,WAAW,EAAE;gBACX,WAAW,EACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,YAAY;gBACnE,eAAe,EACb,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,YAAY;aACxE;YACD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,WAAW;YACjE,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAOD,IAAI,UAAU;QACZ,OAAO,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,UAAU,CAAC;IACvE,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,GAAW;QAEvB,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QAEH,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC3C,CAAC;IAKD,KAAK,CAAC,OAAO,CACX,IAA6C,EAC7C,MAAc,EAAE,EAChB,WAAoB;QAEpB,MAAM,gBAAgB,GAAG,IAAI,4BAAgB,CAAC;YAC5C,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,GAAG;YACR,kBAAkB,EAAE,WAAW,GAAG,EAAE;YACpC,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AA5DY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CA4D9B"}
1
+ {"version":3,"file":"file-storage.service.js","sourceRoot":"","sources":["../../src/file-storage/file-storage.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,kDAQ4B;AAQrB,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAI7B,IAAI,QAAQ;QACV,OAAO,IAAI,oBAAQ,CAAC;YAClB,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,uBAAuB;YACzE,WAAW,EAAE;gBACX,WAAW,EACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,YAAY;gBACnE,eAAe,EACb,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,YAAY;aACxE;YACD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,WAAW;YACjE,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAOD,IAAI,UAAU;QACZ,OAAO,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,UAAU,CAAC;IACvE,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,GAAW;QAEvB,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QAEH,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC3C,CAAC;IAKD,KAAK,CAAC,OAAO,CACX,IAA6C,EAC7C,MAAc,EAAE,EAChB,WAAoB;QAEpB,MAAM,gBAAgB,GAAG,IAAI,4BAAgB,CAAC;YAC5C,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,GAAG;YACR,kBAAkB,EAAE,WAAW,GAAG,EAAE;YACpC,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AA7DY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CA6D9B"}
@@ -1,2 +1,4 @@
1
+ import { Community } from '~/community/entities/community.entity';
1
2
  import { User } from '~/user/entities/user.entity';
2
3
  export declare const getUserDir: (user: User) => string;
4
+ export declare const getCommunityDir: (community: Community) => string;
@@ -1,8 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUserDir = void 0;
3
+ exports.getCommunityDir = exports.getUserDir = void 0;
4
+ const context_1 = require("../core/context/context");
4
5
  const getUserDir = (user) => {
5
- return `network/${user.network.id}/user/${user.id}/`;
6
+ const network = context_1.Context.getNetwork();
7
+ return `network/${network.id}/user/${user.id}/`;
6
8
  };
7
9
  exports.getUserDir = getUserDir;
10
+ const getCommunityDir = (community) => {
11
+ const network = context_1.Context.getNetwork();
12
+ return `network/${network.id}/community/${community.id}/`;
13
+ };
14
+ exports.getCommunityDir = getCommunityDir;
8
15
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/file-storage/utils.ts"],"names":[],"mappings":";;;AAKO,MAAM,UAAU,GAAG,CAAC,IAAU,EAAU,EAAE;IAC/C,OAAO,WAAW,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC;AACvD,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/file-storage/utils.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAM1C,MAAM,UAAU,GAAG,CAAC,IAAU,EAAU,EAAE;IAC/C,MAAM,OAAO,GAAG,iBAAO,CAAC,UAAU,EAAE,CAAC;IACrC,OAAO,WAAW,OAAO,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC;AAClD,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAKK,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAU,EAAE;IAC9D,MAAM,OAAO,GAAG,iBAAO,CAAC,UAAU,EAAE,CAAC;IACrC,OAAO,WAAW,OAAO,CAAC,EAAE,cAAc,SAAS,CAAC,EAAE,GAAG,CAAC;AAC5D,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+ export declare class UpdateCommunityCascades1759757532702 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateCommunityCascades1759757532702 = void 0;
4
+ class UpdateCommunityCascades1759757532702 {
5
+ name = 'UpdateCommunityCascades1759757532702';
6
+ async up(queryRunner) {
7
+ await queryRunner.query(`ALTER TABLE "community_member" DROP CONSTRAINT "FK_2951a66589069ef105a6784b494"`);
8
+ await queryRunner.query(`ALTER TABLE "post" DROP CONSTRAINT "FK_eff802f635e95c8aef1998b4843"`);
9
+ await queryRunner.query(`ALTER TABLE "community_member" ADD CONSTRAINT "FK_2951a66589069ef105a6784b494" FOREIGN KEY ("communityId") REFERENCES "community"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
10
+ await queryRunner.query(`ALTER TABLE "post" ADD CONSTRAINT "FK_eff802f635e95c8aef1998b4843" FOREIGN KEY ("communityId") REFERENCES "community"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
11
+ }
12
+ async down(queryRunner) {
13
+ await queryRunner.query(`ALTER TABLE "post" DROP CONSTRAINT "FK_eff802f635e95c8aef1998b4843"`);
14
+ await queryRunner.query(`ALTER TABLE "community_member" DROP CONSTRAINT "FK_2951a66589069ef105a6784b494"`);
15
+ await queryRunner.query(`ALTER TABLE "post" ADD CONSTRAINT "FK_eff802f635e95c8aef1998b4843" FOREIGN KEY ("communityId") REFERENCES "community"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
16
+ await queryRunner.query(`ALTER TABLE "community_member" ADD CONSTRAINT "FK_2951a66589069ef105a6784b494" FOREIGN KEY ("communityId") REFERENCES "community"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
17
+ }
18
+ }
19
+ exports.UpdateCommunityCascades1759757532702 = UpdateCommunityCascades1759757532702;
20
+ //# sourceMappingURL=1759757532702-UpdateCommunityCascades.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1759757532702-UpdateCommunityCascades.js","sourceRoot":"","sources":["../../src/migrations/1759757532702-UpdateCommunityCascades.ts"],"names":[],"mappings":";;;AAEA,MAAa,oCAAoC;IAC7C,IAAI,GAAG,sCAAsC,CAAA;IAEtC,KAAK,CAAC,EAAE,CAAC,WAAwB;QACpC,MAAM,WAAW,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QAC3G,MAAM,WAAW,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC/F,MAAM,WAAW,CAAC,KAAK,CAAC,+KAA+K,CAAC,CAAC;QACzM,MAAM,WAAW,CAAC,KAAK,CAAC,mKAAmK,CAAC,CAAC;IACjM,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC/F,MAAM,WAAW,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QAC3G,MAAM,WAAW,CAAC,KAAK,CAAC,qKAAqK,CAAC,CAAC;QAC/L,MAAM,WAAW,CAAC,KAAK,CAAC,iLAAiL,CAAC,CAAC;IAC/M,CAAC;CAEJ;AAjBD,oFAiBC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+ export declare class UpdateCommunityTimestamps1759766474808 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateCommunityTimestamps1759766474808 = void 0;
4
+ class UpdateCommunityTimestamps1759766474808 {
5
+ name = 'UpdateCommunityTimestamps1759766474808';
6
+ async up(queryRunner) {
7
+ await queryRunner.query(`ALTER TABLE "community" ADD "createdAt" TIMESTAMP NOT NULL DEFAULT now()`);
8
+ await queryRunner.query(`ALTER TABLE "community" ADD "updatedAt" TIMESTAMP NOT NULL DEFAULT now()`);
9
+ }
10
+ async down(queryRunner) {
11
+ await queryRunner.query(`ALTER TABLE "community" DROP COLUMN "updatedAt"`);
12
+ await queryRunner.query(`ALTER TABLE "community" DROP COLUMN "createdAt"`);
13
+ }
14
+ }
15
+ exports.UpdateCommunityTimestamps1759766474808 = UpdateCommunityTimestamps1759766474808;
16
+ //# sourceMappingURL=1759766474808-UpdateCommunityTimestamps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1759766474808-UpdateCommunityTimestamps.js","sourceRoot":"","sources":["../../src/migrations/1759766474808-UpdateCommunityTimestamps.ts"],"names":[],"mappings":";;;AAEA,MAAa,sCAAsC;IAC/C,IAAI,GAAG,wCAAwC,CAAA;IAExC,KAAK,CAAC,EAAE,CAAC,WAAwB;QACpC,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QACpG,MAAM,WAAW,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;IACxG,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC3E,MAAM,WAAW,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC/E,CAAC;CAEJ;AAbD,wFAaC"}
@@ -43,7 +43,7 @@ __decorate([
43
43
  __metadata("design:type", network_entity_1.Network)
44
44
  ], Post.prototype, "network", void 0);
45
45
  __decorate([
46
- (0, typeorm_1.ManyToOne)(() => community_entity_1.Community, { eager: true }),
46
+ (0, typeorm_1.ManyToOne)(() => community_entity_1.Community, { eager: true, onDelete: 'CASCADE' }),
47
47
  (0, typeorm_1.JoinTable)(),
48
48
  __metadata("design:type", community_entity_1.Community)
49
49
  ], Post.prototype, "community", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"post.entity.js","sourceRoot":"","sources":["../../../src/post/entities/post.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,0EAA4D;AAC5D,gFAAkE;AAClE,iEAAmD;AACnD,qCAUiB;AAEjB,8EAA+D;AAC/D,0EAAwE;AAGjE,IAAM,IAAI,GAAV,MAAM,IAAI;IAEf,EAAE,CAAS;IAMX,OAAO,CAAU;IAOjB,SAAS,CAAa;IAItB,OAAO,CAAO;IAMd,OAAO,CAAS;IAMhB,KAAK,CAAO;IAMZ,OAAO,CAAU;IAMjB,KAAK,CAAU;IAGf,SAAS,CAAiB;IAM1B,SAAS,CAAO;IAMhB,SAAS,CAAO;;;;CACjB,CAAA;AA3DY,oBAAI;AAEf;IADC,IAAA,gCAAsB,GAAE;;gCACd;AAMX;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC1D,wBAAO;qCAAC;AAOjB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4BAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,mBAAS,GAAE;8BACA,4BAAS;uCAAC;AAItB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACrB,IAAA,oBAAU,GAAE;8BACJ,IAAI;qCAAC;AAMd;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;;qCAC9B;AAMhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;8BACtE,kBAAI;mCAAC;AAMZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCACxB;AAMjB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6BAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;;mCACnC;AAGf;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,8BAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;;uCACjC;AAM1B;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;uCAAC;AAMhB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;uCAAC;eA1DL,IAAI;IADhB,IAAA,gBAAM,GAAE;GACI,IAAI,CA2DhB"}
1
+ {"version":3,"file":"post.entity.js","sourceRoot":"","sources":["../../../src/post/entities/post.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,0EAA4D;AAC5D,gFAAkE;AAClE,iEAAmD;AACnD,qCAUiB;AAEjB,8EAA+D;AAC/D,0EAAwE;AAGjE,IAAM,IAAI,GAAV,MAAM,IAAI;IAEf,EAAE,CAAS;IAMX,OAAO,CAAU;IAOjB,SAAS,CAAa;IAItB,OAAO,CAAO;IAMd,OAAO,CAAS;IAMhB,KAAK,CAAO;IAMZ,OAAO,CAAU;IAMjB,KAAK,CAAU;IAGf,SAAS,CAAiB;IAM1B,SAAS,CAAO;IAMhB,SAAS,CAAO;;;;CACjB,CAAA;AA3DY,oBAAI;AAEf;IADC,IAAA,gCAAsB,GAAE;;gCACd;AAMX;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC1D,wBAAO;qCAAC;AAOjB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4BAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAChE,IAAA,mBAAS,GAAE;8BACA,4BAAS;uCAAC;AAItB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACrB,IAAA,oBAAU,GAAE;8BACJ,IAAI;qCAAC;AAMd;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;;qCAC9B;AAMhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;8BACtE,kBAAI;mCAAC;AAMZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCACxB;AAMjB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6BAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;;mCACnC;AAGf;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,8BAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;;uCACjC;AAM1B;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;uCAAC;AAMhB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;uCAAC;eA1DL,IAAI;IADhB,IAAA,gBAAM,GAAE;GACI,IAAI,CA2DhB"}