@volontariapp/domain-post 3.8.8 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/constants/post.constants.d.ts +4 -0
  3. package/dist/constants/post.constants.d.ts.map +1 -1
  4. package/dist/constants/post.constants.js +4 -0
  5. package/dist/constants/post.constants.js.map +1 -1
  6. package/dist/repositories/interfaces/comment.repository.d.ts +1 -0
  7. package/dist/repositories/interfaces/comment.repository.d.ts.map +1 -1
  8. package/dist/repositories/interfaces/post.repository.d.ts +9 -0
  9. package/dist/repositories/interfaces/post.repository.d.ts.map +1 -1
  10. package/dist/repositories/postgres-comment.repository.d.ts +1 -0
  11. package/dist/repositories/postgres-comment.repository.d.ts.map +1 -1
  12. package/dist/repositories/postgres-comment.repository.js +17 -1
  13. package/dist/repositories/postgres-comment.repository.js.map +1 -1
  14. package/dist/repositories/postgres-post.repository.d.ts +4 -1
  15. package/dist/repositories/postgres-post.repository.d.ts.map +1 -1
  16. package/dist/repositories/postgres-post.repository.js +63 -0
  17. package/dist/repositories/postgres-post.repository.js.map +1 -1
  18. package/dist/services/comment.service.d.ts +1 -0
  19. package/dist/services/comment.service.d.ts.map +1 -1
  20. package/dist/services/comment.service.js +10 -0
  21. package/dist/services/comment.service.js.map +1 -1
  22. package/dist/services/post.service.d.ts +3 -1
  23. package/dist/services/post.service.d.ts.map +1 -1
  24. package/dist/services/post.service.js +20 -0
  25. package/dist/services/post.service.js.map +1 -1
  26. package/dist/test/__test-utils__/mocks/post.repository.mock.d.ts.map +1 -1
  27. package/dist/test/__test-utils__/mocks/post.repository.mock.js +2 -0
  28. package/dist/test/__test-utils__/mocks/post.repository.mock.js.map +1 -1
  29. package/dist/test/integration/ranking-reads.int.spec.d.ts +2 -0
  30. package/dist/test/integration/ranking-reads.int.spec.d.ts.map +1 -0
  31. package/dist/test/integration/ranking-reads.int.spec.js +134 -0
  32. package/dist/test/integration/ranking-reads.int.spec.js.map +1 -0
  33. package/dist/test/unit/ranking-reads.service.unit.spec.d.ts +2 -0
  34. package/dist/test/unit/ranking-reads.service.unit.spec.d.ts.map +1 -0
  35. package/dist/test/unit/ranking-reads.service.unit.spec.js +50 -0
  36. package/dist/test/unit/ranking-reads.service.unit.spec.js.map +1 -0
  37. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add the ranking foundation: ranking streams and USER_DELETED_RANKING (shared), ranking jobs, queues, purge events and the RANKING_READY notification (messaging), the ranking target of user.deleted (domain-user), the ListRecentPostsByAuthors, ListPostsByIds and ListCommentsByAuthor reads (domain-post) and GRPC_MICROSERVICES.RANKING (contracts-nest).
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies []:
12
+ - @volontariapp/messaging@2.28.0
13
+ - @volontariapp/database@3.10.12
14
+ - @volontariapp/outbox@0.10.16
15
+
3
16
  ## 3.8.8
4
17
 
5
18
  ### Patch Changes
@@ -1,2 +1,6 @@
1
1
  export declare const DELETED_COMMENT_PLACEHOLDER = "Commentaire supprim\u00E9";
2
+ export declare const MAX_AUTHOR_IDS_PER_READ = 200;
3
+ export declare const MAX_RECENT_POSTS_PER_READ = 300;
4
+ export declare const MAX_POSTS_BY_IDS = 100;
5
+ export declare const MAX_COMMENTS_BY_AUTHOR = 200;
2
6
  //# sourceMappingURL=post.constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"post.constants.d.ts","sourceRoot":"","sources":["../../src/constants/post.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,8BAAyB,CAAC"}
1
+ {"version":3,"file":"post.constants.d.ts","sourceRoot":"","sources":["../../src/constants/post.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,8BAAyB,CAAC;AAGlE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,sBAAsB,MAAM,CAAC"}
@@ -1,2 +1,6 @@
1
1
  export const DELETED_COMMENT_PLACEHOLDER = 'Commentaire supprimé';
2
+ export const MAX_AUTHOR_IDS_PER_READ = 200;
3
+ export const MAX_RECENT_POSTS_PER_READ = 300;
4
+ export const MAX_POSTS_BY_IDS = 100;
5
+ export const MAX_COMMENTS_BY_AUTHOR = 200;
2
6
  //# sourceMappingURL=post.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post.constants.js","sourceRoot":"","sources":["../../src/constants/post.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"post.constants.js","sourceRoot":"","sources":["../../src/constants/post.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;AAGlE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC"}
@@ -9,5 +9,6 @@ export interface ICommentRepository {
9
9
  deleteWithCommentDeleted(id: string): Promise<boolean>;
10
10
  listPaginatedByPostId(postId: string, page: number, limit: number): Promise<PaginatedResult<CommentEntity>>;
11
11
  anonymizeCommentsByAuthor(authorId: string): Promise<number>;
12
+ listByAuthor(authorId: string, since?: Date, limit?: number): Promise<CommentEntity[]>;
12
13
  }
13
14
  //# sourceMappingURL=comment.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment.repository.d.ts","sourceRoot":"","sources":["../../../src/repositories/interfaces/comment.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAChF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3C,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D"}
1
+ {"version":3,"file":"comment.repository.d.ts","sourceRoot":"","sources":["../../../src/repositories/interfaces/comment.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAChF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3C,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CACxF"}
@@ -5,6 +5,13 @@ export interface CreatePostWithMediaOptions {
5
5
  fileIds?: string[];
6
6
  fileScanStatuses?: Record<string, PostMediaScanStatus>;
7
7
  }
8
+ export interface ListRecentPostsByAuthorsOptions {
9
+ authorIds: string[];
10
+ allAuthors?: boolean;
11
+ since?: Date;
12
+ perAuthorLimit?: number;
13
+ limit?: number;
14
+ }
8
15
  export interface IPostRepository {
9
16
  findById(id: string, relations?: string[], readerId?: string): Promise<PostEntity | null>;
10
17
  findByAuthorId(id: string, relations?: string[]): Promise<PostEntity[]>;
@@ -19,5 +26,7 @@ export interface IPostRepository {
19
26
  search(searchTerm: string, readerId?: string): Promise<PostEntity[]>;
20
27
  listPaginated(page: number, limit: number, authorId?: string, readerId?: string): Promise<PaginatedResult<PostEntity>>;
21
28
  purgePostsByAuthor(authorId: string): Promise<number>;
29
+ listRecentByAuthors(options: ListRecentPostsByAuthorsOptions): Promise<PostEntity[]>;
30
+ listByIds(ids: string[]): Promise<PostEntity[]>;
22
31
  }
23
32
  //# sourceMappingURL=post.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"post.repository.d.ts","sourceRoot":"","sources":["../../../src/repositories/interfaces/post.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC1F,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,qBAAqB,CACnB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,0BAA0B,GACrD,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC1E,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,mBAAmB,GAC9B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrE,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvD"}
1
+ {"version":3,"file":"post.repository.d.ts","sourceRoot":"","sources":["../../../src/repositories/interfaces/post.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,+BAA+B;IAE9C,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC;IAEb,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC1F,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,qBAAqB,CACnB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,0BAA0B,GACrD,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC1E,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,mBAAmB,GAC9B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrE,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,mBAAmB,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CACjD"}
@@ -9,5 +9,6 @@ export declare class PostgresCommentRepository extends BaseRepository<CommentMod
9
9
  createWithCommentCreated(data: Partial<CommentEntity>): Promise<CommentEntity>;
10
10
  deleteWithCommentDeleted(id: string): Promise<boolean>;
11
11
  anonymizeCommentsByAuthor(authorId: string): Promise<number>;
12
+ listByAuthor(authorId: string, since?: Date, limit?: number): Promise<CommentEntity[]>;
12
13
  }
13
14
  //# sourceMappingURL=postgres-comment.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-comment.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/postgres-comment.repository.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBACa,yBACX,SAAQ,cAAc,CAAC,YAAY,EAAE,aAAa,CAClD,YAAW,kBAAkB;gBAI3B,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC;IAKhC,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAUpC,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAgC9E,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgCtD,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAUnE"}
1
+ {"version":3,"file":"postgres-comment.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/postgres-comment.repository.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBACa,yBACX,SAAQ,cAAc,CAAC,YAAY,EAAE,aAAa,CAClD,YAAW,kBAAkB;gBAI3B,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC;IAKhC,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAUpC,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAgC9E,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgCtD,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY5D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAiB7F"}
@@ -16,7 +16,7 @@ import { BaseRepository, EventQueueEntity, EventQueueModel, } from '@volontariap
16
16
  import { EventQueueRepository } from '@volontariapp/outbox';
17
17
  import { Streams, DELETED_USER_ID } from '@volontariapp/shared';
18
18
  import { PostEventMessagingType, } from '@volontariapp/messaging';
19
- import { DELETED_COMMENT_PLACEHOLDER } from '../constants/index.js';
19
+ import { DELETED_COMMENT_PLACEHOLDER, MAX_COMMENTS_BY_AUTHOR } from '../constants/index.js';
20
20
  import { CommentModel } from '../models/index.js';
21
21
  import { CommentEntity } from '../entities/index.js';
22
22
  let PostgresCommentRepository = class PostgresCommentRepository extends BaseRepository {
@@ -82,6 +82,22 @@ let PostgresCommentRepository = class PostgresCommentRepository extends BaseRepo
82
82
  });
83
83
  return result.affected ?? 0;
84
84
  }
85
+ async listByAuthor(authorId, since, limit) {
86
+ const cappedLimit = limit !== undefined && limit > 0 ? Math.min(limit, MAX_COMMENTS_BY_AUTHOR) : MAX_COMMENTS_BY_AUTHOR;
87
+ const qb = this.repository
88
+ .createQueryBuilder('comment')
89
+ .where('comment.authorId = :authorId', { authorId })
90
+ .orderBy('comment.createdAt', 'DESC')
91
+ .addOrderBy('comment.id', 'DESC')
92
+ .limit(cappedLimit);
93
+ if (since) {
94
+ qb.andWhere('comment.createdAt >= CAST(:since AS timestamptz)', {
95
+ since: since.toISOString(),
96
+ });
97
+ }
98
+ const models = await qb.getMany();
99
+ return models.map((model) => this.toEntity(model));
100
+ }
85
101
  };
86
102
  PostgresCommentRepository = __decorate([
87
103
  Injectable(),
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-comment.repository.js","sourceRoot":"","sources":["../../src/repositories/postgres-comment.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EACL,cAAc,EAEd,gBAAgB,EAChB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,sBAAsB,GAGvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI9C,IAAM,yBAAyB,GAA/B,MAAM,yBACX,SAAQ,cAA2C;IAGnD,YAEE,UAAoC;QAEpC,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAc,EACd,IAAY,EACZ,KAAa;QAEb,OAAO,KAAK,CAAC,QAAQ,CACnB,EAAE,IAAI,EAAE,KAAK,EAAE,EACf;YACE,KAAK,EAAE,EAAE,MAAM,EAAE;YACjB,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SAC7B,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAA4B;QACzD,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC5E,MAAM,iBAAiB,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACxF,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAE5D,MAAM,OAAO,GAA2B;gBACtC,SAAS,EAAE,kBAAkB,CAAC,EAAE;gBAChC,MAAM,EAAE,kBAAkB,CAAC,MAAM;gBACjC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,CAAC;YAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CACnD;gBACE,IAAI,EAAE,sBAAsB,CAAC,eAAe;gBAC5C,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,kBAAkB,CAAC,QAAQ;gBACtC,OAAO;gBACP,cAAc,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;aAC1C,CACF,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,oBAAoB,CAC7C,WAAW,CAAC,OAAO,CAAC,aAAa,CAAkB,eAAe,CAAC,CACpE,CAAC;YACF,MAAM,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAE9C,OAAO,kBAAkB,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAAU;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACpF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAE1B,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAEtD,MAAM,OAAO,GAA2B;gBACtC,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;YAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CACnD;gBACE,IAAI,EAAE,sBAAsB,CAAC,eAAe;gBAC5C,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,OAAO;gBACP,cAAc,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;aAC1C,CACF,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,oBAAoB,CAC7C,WAAW,CAAC,OAAO,CAAC,aAAa,CAAkB,eAAe,CAAC,CACpE,CAAC;YACF,MAAM,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAE9C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAgB;QAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CACpC,EAAE,QAAQ,EAAE,EACZ;YACE,QAAQ,EAAE,eAAe;YACzB,OAAO,EAAE,2BAA2B;SACrC,CACF,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF,CAAA;AAnGY,yBAAyB;IADrC,UAAU,EAAE;IAMR,WAAA,gBAAgB,CAAC,YAAY,CAAC,CAAA;;GALtB,yBAAyB,CAmGrC"}
1
+ {"version":3,"file":"postgres-comment.repository.js","sourceRoot":"","sources":["../../src/repositories/postgres-comment.repository.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { BaseRepository, PaginatedResult } from '@volontariapp/database';
3
3
  import { PostModel } from '../models/index.js';
4
4
  import { PostEntity } from '../entities/index.js';
5
5
  import { PostMediaScanStatus } from '../enums/index.js';
6
- import type { IPostRepository, CreatePostWithMediaOptions } from './interfaces/index.js';
6
+ import type { IPostRepository, CreatePostWithMediaOptions, ListRecentPostsByAuthorsOptions } from './interfaces/index.js';
7
7
  export declare class PostgresPostRepository extends BaseRepository<PostModel, PostEntity> implements IPostRepository {
8
8
  constructor(repository: Repository<PostModel>);
9
9
  findById(id: string, relations?: string[], readerId?: string): Promise<PostEntity | null>;
@@ -16,5 +16,8 @@ export declare class PostgresPostRepository extends BaseRepository<PostModel, Po
16
16
  updateMediaScanStatus(postId: string, fileId: string, scanStatus: PostMediaScanStatus): Promise<PostEntity | null>;
17
17
  deleteWithPostDeleted(id: string): Promise<boolean>;
18
18
  purgePostsByAuthor(authorId: string): Promise<number>;
19
+ listRecentByAuthors(options: ListRecentPostsByAuthorsOptions): Promise<PostEntity[]>;
20
+ listByIds(ids: string[]): Promise<PostEntity[]>;
21
+ private loadInOrder;
19
22
  }
20
23
  //# sourceMappingURL=postgres-post.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-post.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/postgres-post.repository.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,cAAc,EAGd,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAAE,SAAS,EAAgC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAmB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEzF,qBACa,sBACX,SAAQ,cAAc,CAAC,SAAS,EAAE,UAAU,CAC5C,YAAW,eAAe;gBAIxB,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC;IAK7B,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,SAAS,GAAE,MAAM,EAAO,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAmBvB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOjF,OAAO,CAAC,SAAS,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOxD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAevF,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAwCjC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnD,qBAAqB,CACzB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,0BAA0B,GACrD,OAAO,CAAC,UAAU,CAAC;IA+GhB,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,mBAAmB,GAC9B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAwCvB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BnD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAe5D"}
1
+ {"version":3,"file":"postgres-post.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/postgres-post.repository.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,cAAc,EAGd,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAAE,SAAS,EAAgC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAmB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMzE,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,uBAAuB,CAAC;AAW/B,qBACa,sBACX,SAAQ,cAAc,CAAC,SAAS,EAAE,UAAU,CAC5C,YAAW,eAAe;gBAIxB,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC;IAK7B,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,SAAS,GAAE,MAAM,EAAO,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAmBvB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOjF,OAAO,CAAC,SAAS,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOxD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAevF,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAwCjC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnD,qBAAqB,CACzB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,0BAA0B,GACrD,OAAO,CAAC,UAAU,CAAC;IA+GhB,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,mBAAmB,GAC9B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAwCvB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BnD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBrD,mBAAmB,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAyCpF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAYvC,WAAW;CAY1B"}
@@ -21,6 +21,11 @@ import { PostEventMessagingType, } from '@volontariapp/messaging';
21
21
  import { PostModel, PostMediaModel, CommentModel } from '../models/index.js';
22
22
  import { PostEntity } from '../entities/index.js';
23
23
  import { PostMediaStatus, PostMediaScanStatus } from '../enums/index.js';
24
+ import { MAX_AUTHOR_IDS_PER_READ, MAX_POSTS_BY_IDS, MAX_RECENT_POSTS_PER_READ, } from '../constants/index.js';
25
+ const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
26
+ const VISIBLE_MEDIA_STATUSES = [PostMediaStatus.NONE, PostMediaStatus.READY];
27
+ const validUniqueUuids = (ids, cap) => [...new Set(ids)].filter((id) => UUID_PATTERN.test(id)).slice(0, cap);
28
+ const clampLimit = (value, cap) => value !== undefined && value > 0 ? Math.min(value, cap) : cap;
24
29
  let PostgresPostRepository = class PostgresPostRepository extends BaseRepository {
25
30
  constructor(repository) {
26
31
  super(repository, PostEntity, PostModel);
@@ -273,6 +278,64 @@ let PostgresPostRepository = class PostgresPostRepository extends BaseRepository
273
278
  return postIds.length;
274
279
  });
275
280
  }
281
+ async listRecentByAuthors(options) {
282
+ const authorIds = options.allAuthors
283
+ ? []
284
+ : validUniqueUuids(options.authorIds, MAX_AUTHOR_IDS_PER_READ);
285
+ if (!options.allAuthors && authorIds.length === 0)
286
+ return [];
287
+ const limit = clampLimit(options.limit, MAX_RECENT_POSTS_PER_READ);
288
+ const perAuthorLimit = clampLimit(options.perAuthorLimit, MAX_RECENT_POSTS_PER_READ);
289
+ const params = [VISIBLE_MEDIA_STATUSES];
290
+ const filters = ['p.media_status = ANY($1)'];
291
+ if (!options.allAuthors) {
292
+ params.push(authorIds);
293
+ filters.push(`p."authorId" = ANY($${String(params.length)}::uuid[])`);
294
+ }
295
+ if (options.since) {
296
+ params.push(options.since.toISOString());
297
+ filters.push(`p."createdAt" >= $${String(params.length)}::timestamptz`);
298
+ }
299
+ params.push(perAuthorLimit, limit);
300
+ const perAuthorParam = `$${String(params.length - 1)}`;
301
+ const limitParam = `$${String(params.length)}`;
302
+ const rows = await this.repository.query(`SELECT ranked.id FROM (
303
+ SELECT p.id, p."createdAt",
304
+ ROW_NUMBER() OVER (
305
+ PARTITION BY p."authorId" ORDER BY p."createdAt" DESC, p.id DESC
306
+ ) AS rn
307
+ FROM posts p
308
+ WHERE ${filters.join(' AND ')}
309
+ ) ranked
310
+ WHERE ranked.rn <= ${perAuthorParam}
311
+ ORDER BY ranked."createdAt" DESC, ranked.id DESC
312
+ LIMIT ${limitParam}`, params);
313
+ return this.loadInOrder(rows.map((row) => row.id));
314
+ }
315
+ async listByIds(ids) {
316
+ const validIds = validUniqueUuids(ids, MAX_POSTS_BY_IDS);
317
+ if (validIds.length === 0)
318
+ return [];
319
+ const models = await this.repository.find({
320
+ where: { id: In(validIds), media_status: In(VISIBLE_MEDIA_STATUSES) },
321
+ relations: ['media'],
322
+ order: { createdAt: 'DESC', id: 'DESC' },
323
+ });
324
+ return models.map((model) => this.toEntity(model));
325
+ }
326
+ async loadInOrder(ids) {
327
+ if (ids.length === 0)
328
+ return [];
329
+ const models = await this.repository.find({
330
+ where: { id: In(ids) },
331
+ relations: ['media'],
332
+ });
333
+ const byId = new Map(models.map((model) => [model.id, model]));
334
+ return ids.flatMap((id) => {
335
+ const model = byId.get(id);
336
+ return model ? [this.toEntity(model)] : [];
337
+ });
338
+ }
276
339
  };
277
340
  PostgresPostRepository = __decorate([
278
341
  Injectable(),
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-post.repository.js","sourceRoot":"","sources":["../../src/repositories/postgres-post.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-post.repository.js","sourceRoot":"","sources":["../../src/repositories/postgres-post.repository.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class CommentService {
9
9
  constructor(commentRepository: ICommentRepository, postRepository: IPostRepository);
10
10
  findById(id: string): Promise<CommentEntity | null>;
11
11
  listPaginatedByPostId(postId: string, page: number, limit: number): Promise<PaginatedResult<CommentEntity>>;
12
+ listByAuthor(authorId: string, since?: Date, limit?: number): Promise<CommentEntity[]>;
12
13
  create(data: Partial<CommentEntity>): Promise<CommentEntity>;
13
14
  updateSaga(id: string, status: SagaStatus): Promise<CommentEntity>;
14
15
  delete(id: string, actorId?: string, actorRole?: UserRoles): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"comment.service.d.ts","sourceRoot":"","sources":["../../src/services/comment.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBACa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,cAAc;IANjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgD;gBAIpD,iBAAiB,EAAE,kBAAkB,EAErC,cAAc,EAAE,eAAe;IAG5C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUnD,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAUpC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAkB5D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBlE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB7E,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAenE"}
1
+ {"version":3,"file":"comment.service.d.ts","sourceRoot":"","sources":["../../src/services/comment.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBACa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,cAAc;IANjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgD;gBAIpD,iBAAiB,EAAE,kBAAkB,EAErC,cAAc,EAAE,eAAe;IAG5C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUnD,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAUpC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAUtF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAkB5D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBlE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB7E,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAenE"}
@@ -45,6 +45,16 @@ let CommentService = CommentService_1 = class CommentService {
45
45
  throw DATABASE_ERROR('listing comments', err.message);
46
46
  }
47
47
  }
48
+ async listByAuthor(authorId, since, limit) {
49
+ try {
50
+ return await this.commentRepository.listByAuthor(authorId, since, limit);
51
+ }
52
+ catch (error) {
53
+ const err = error;
54
+ this.logger.error(`Failed to list comments of author ${authorId}`, err);
55
+ throw DATABASE_ERROR('listing comments by author', err.message);
56
+ }
57
+ }
48
58
  async create(data) {
49
59
  try {
50
60
  this.logger.log(`Creating comment on post: ${String(data.postId)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"comment.service.js","sourceRoot":"","sources":["../../src/services/comment.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comment.service.js","sourceRoot":"","sources":["../../src/services/comment.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { PaginatedResult } from '@volontariapp/database';
2
- import type { IPostRepository, CreatePostWithMediaOptions } from '../repositories/index.js';
2
+ import type { IPostRepository, CreatePostWithMediaOptions, ListRecentPostsByAuthorsOptions } from '../repositories/index.js';
3
3
  import { SagaStatus, UserRoles } from '@volontariapp/shared';
4
4
  import { PostEntity } from '../entities/index.js';
5
5
  import type { PostMediaScanStatus } from '../enums/index.js';
@@ -11,6 +11,8 @@ export declare class PostService {
11
11
  findByAuthorId(authorId: string, relations?: string[]): Promise<PostEntity[]>;
12
12
  findAll(relations?: string[]): Promise<PostEntity[]>;
13
13
  listPosts(page: number, limit: number, authorId?: string, readerId?: string): Promise<PaginatedResult<PostEntity>>;
14
+ listRecentByAuthors(options: ListRecentPostsByAuthorsOptions): Promise<PostEntity[]>;
15
+ listByIds(ids: string[]): Promise<PostEntity[]>;
14
16
  search(searchTerm: string, readerId?: string): Promise<PostEntity[]>;
15
17
  create(data: Partial<PostEntity> & CreatePostWithMediaOptions): Promise<PostEntity>;
16
18
  update(id: string, data: Partial<PostEntity>, actorId?: string, actorRole?: UserRoles): Promise<PostEntity>;
@@ -1 +1 @@
1
- {"version":3,"file":"post.service.d.ts","sourceRoot":"","sources":["../../src/services/post.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,qBACa,WAAW;IAGsB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAF3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAEP,cAAc,EAAE,eAAe;IAEtF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBlF,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAa7E,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAYpD,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAWjC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAWpE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,0BAA0B,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBnF,MAAM,CACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,UAAU,CAAC;IA2BhB,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,mBAAmB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAkBhB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAgB/D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1E,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBnD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAa5D"}
1
+ {"version":3,"file":"post.service.d.ts","sourceRoot":"","sources":["../../src/services/post.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,qBACa,WAAW;IAGsB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAF3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAEP,cAAc,EAAE,eAAe;IAEtF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBlF,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAa7E,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAYpD,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAWjC,mBAAmB,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAUpF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAU/C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAWpE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,0BAA0B,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBnF,MAAM,CACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,UAAU,CAAC;IA2BhB,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,mBAAmB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAkBhB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAgB/D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1E,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBnD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAa5D"}
@@ -80,6 +80,26 @@ let PostService = PostService_1 = class PostService {
80
80
  throw DATABASE_ERROR(`listing posts with pagination`, err.message);
81
81
  }
82
82
  }
83
+ async listRecentByAuthors(options) {
84
+ try {
85
+ return await this.postRepository.listRecentByAuthors(options);
86
+ }
87
+ catch (error) {
88
+ const err = error;
89
+ this.logger.error('Failed to list recent posts by authors', err);
90
+ throw DATABASE_ERROR('listing recent posts by authors', err.message);
91
+ }
92
+ }
93
+ async listByIds(ids) {
94
+ try {
95
+ return await this.postRepository.listByIds(ids);
96
+ }
97
+ catch (error) {
98
+ const err = error;
99
+ this.logger.error('Failed to list posts by ids', err);
100
+ throw DATABASE_ERROR('listing posts by ids', err.message);
101
+ }
102
+ }
83
103
  async search(searchTerm, readerId) {
84
104
  try {
85
105
  return await this.postRepository.search(searchTerm, readerId);
@@ -1 +1 @@
1
- {"version":3,"file":"post.service.js","sourceRoot":"","sources":["../../src/services/post.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post.service.js","sourceRoot":"","sources":["../../src/services/post.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"post.repository.mock.d.ts","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/post.repository.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAE3F,eAAO,MAAM,wBAAwB,QAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAcrE,CAAC"}
1
+ {"version":3,"file":"post.repository.mock.d.ts","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/post.repository.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAE3F,eAAO,MAAM,wBAAwB,QAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAgBrE,CAAC"}
@@ -13,5 +13,7 @@ export const createPostRepositoryMock = () => ({
13
13
  search: jest.fn(),
14
14
  listPaginated: jest.fn(),
15
15
  purgePostsByAuthor: jest.fn(),
16
+ listRecentByAuthors: jest.fn(),
17
+ listByIds: jest.fn(),
16
18
  });
17
19
  //# sourceMappingURL=post.repository.mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post.repository.mock.js","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/post.repository.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAiC,EAAE,CAAC,CAAC;IAC3E,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;IACnB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;IACzB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;IAClB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;IAChC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;IAChC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;IAChC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC3B,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;IACxB,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"post.repository.mock.js","sourceRoot":"","sources":["../../../../src/test/__test-utils__/mocks/post.repository.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAiC,EAAE,CAAC,CAAC;IAC3E,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;IACnB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;IACzB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;IAClB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;IAChC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;IAChC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;IAChC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC3B,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;IACxB,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC7B,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC9B,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;CACrB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ranking-reads.int.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranking-reads.int.spec.d.ts","sourceRoot":"","sources":["../../../src/test/integration/ranking-reads.int.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,134 @@
1
+ import { describe, it, expect, beforeAll, afterAll, beforeEach } from '@jest/globals';
2
+ import { randomUUID } from 'node:crypto';
3
+ import { PostgresPostRepository } from '../../repositories/postgres-post.repository.js';
4
+ import { PostgresCommentRepository } from '../../repositories/postgres-comment.repository.js';
5
+ import { PostModel, CommentModel } from '../../models/index.js';
6
+ import { MAX_POSTS_BY_IDS } from '../../constants/index.js';
7
+ import { initializeTestDb, closeTestDb, truncateAll, getTestRepository, testDataSource, } from '../data-source.js';
8
+ const insertPost = async (authorId, minutesAgo, mediaStatus = 'NONE') => {
9
+ const id = randomUUID();
10
+ await testDataSource.query(`INSERT INTO posts (id, "authorId", title, content, "createdAt", "updatedAt", media_status)
11
+ VALUES ($1, $2, $3, 'content', now() - ($4 || ' minutes')::interval, now(), $5)`, [id, authorId, `title ${id}`, String(minutesAgo), mediaStatus]);
12
+ return id;
13
+ };
14
+ const insertComment = async (authorId, minutesAgo) => {
15
+ const id = randomUUID();
16
+ await testDataSource.query(`INSERT INTO comments (id, "postId", "authorId", content, "createdAt", "updatedAt")
17
+ VALUES ($1, $2, $3, 'comment', now() - ($4 || ' minutes')::interval, now())`, [id, randomUUID(), authorId, String(minutesAgo)]);
18
+ return id;
19
+ };
20
+ describe('Ranking reads (Integration)', () => {
21
+ let postRepository;
22
+ let commentRepository;
23
+ beforeAll(async () => {
24
+ await initializeTestDb();
25
+ postRepository = new PostgresPostRepository(getTestRepository(PostModel));
26
+ commentRepository = new PostgresCommentRepository(getTestRepository(CommentModel));
27
+ });
28
+ afterAll(async () => {
29
+ await closeTestDb();
30
+ });
31
+ beforeEach(async () => {
32
+ await truncateAll();
33
+ });
34
+ describe('listRecentByAuthors', () => {
35
+ it('should cap each author before the global cap and sort newest first', async () => {
36
+ const prolific = randomUUID();
37
+ const quiet = randomUUID();
38
+ const prolificIds = await Promise.all([1, 2, 3, 4, 5, 6, 7].map((m) => insertPost(prolific, m)));
39
+ const quietIds = await Promise.all([10, 20].map((m) => insertPost(quiet, m)));
40
+ const posts = await postRepository.listRecentByAuthors({
41
+ authorIds: [prolific, quiet],
42
+ perAuthorLimit: 3,
43
+ limit: 100,
44
+ });
45
+ expect(posts.map((p) => p.id)).toEqual([
46
+ prolificIds[0],
47
+ prolificIds[1],
48
+ prolificIds[2],
49
+ quietIds[0],
50
+ quietIds[1],
51
+ ]);
52
+ });
53
+ it('should apply the global cap after the per-author cap', async () => {
54
+ const authorA = randomUUID();
55
+ const authorB = randomUUID();
56
+ const a = await Promise.all([1, 2, 3].map((m) => insertPost(authorA, m)));
57
+ await Promise.all([4, 5, 6].map((m) => insertPost(authorB, m)));
58
+ const posts = await postRepository.listRecentByAuthors({
59
+ authorIds: [authorA, authorB],
60
+ perAuthorLimit: 2,
61
+ limit: 3,
62
+ });
63
+ expect(posts).toHaveLength(3);
64
+ expect(posts.slice(0, 2).map((p) => p.id)).toEqual([a[0], a[1]]);
65
+ });
66
+ it('should ignore authorIds when allAuthors is true', async () => {
67
+ await insertPost(randomUUID(), 1);
68
+ await insertPost(randomUUID(), 2);
69
+ const posts = await postRepository.listRecentByAuthors({ authorIds: [], allAuthors: true });
70
+ expect(posts).toHaveLength(2);
71
+ });
72
+ it('should return nothing without authors when allAuthors is false', async () => {
73
+ await insertPost(randomUUID(), 1);
74
+ await expect(postRepository.listRecentByAuthors({ authorIds: [] })).resolves.toEqual([]);
75
+ await expect(postRepository.listRecentByAuthors({ authorIds: ['not-a-uuid'] })).resolves.toEqual([]);
76
+ });
77
+ it('should keep only the posts created since the given date', async () => {
78
+ const author = randomUUID();
79
+ const recent = await insertPost(author, 5);
80
+ await insertPost(author, 600);
81
+ const posts = await postRepository.listRecentByAuthors({
82
+ authorIds: [author],
83
+ since: new Date(Date.now() - 60 * 60 * 1000),
84
+ });
85
+ expect(posts.map((p) => p.id)).toEqual([recent]);
86
+ });
87
+ it('should hide the posts whose media is not ready', async () => {
88
+ const author = randomUUID();
89
+ const visible = await insertPost(author, 1, 'READY');
90
+ await insertPost(author, 2, 'PENDING');
91
+ await insertPost(author, 3, 'REJECTED');
92
+ const posts = await postRepository.listRecentByAuthors({ authorIds: [author] });
93
+ expect(posts.map((p) => p.id)).toEqual([visible]);
94
+ });
95
+ });
96
+ describe('listByIds', () => {
97
+ it('should ignore absent, malformed and hidden ids', async () => {
98
+ const author = randomUUID();
99
+ const first = await insertPost(author, 1);
100
+ const second = await insertPost(author, 2);
101
+ const hidden = await insertPost(author, 3, 'PENDING');
102
+ const posts = await postRepository.listByIds([
103
+ second,
104
+ first,
105
+ hidden,
106
+ randomUUID(),
107
+ 'not-a-uuid',
108
+ ]);
109
+ expect(posts.map((p) => p.id)).toEqual([first, second]);
110
+ });
111
+ it('should read at most the cap of ids', async () => {
112
+ const author = randomUUID();
113
+ const ids = await Promise.all(Array.from({ length: MAX_POSTS_BY_IDS + 5 }, (_, i) => insertPost(author, i)));
114
+ const posts = await postRepository.listByIds(ids);
115
+ expect(posts).toHaveLength(MAX_POSTS_BY_IDS);
116
+ });
117
+ });
118
+ describe('listByAuthor (comments)', () => {
119
+ it('should list the comments of the author newest first and honour since and limit', async () => {
120
+ const author = randomUUID();
121
+ const newest = await insertComment(author, 1);
122
+ const middle = await insertComment(author, 30);
123
+ await insertComment(author, 6000);
124
+ await insertComment(randomUUID(), 1);
125
+ const all = await commentRepository.listByAuthor(author);
126
+ const since = await commentRepository.listByAuthor(author, new Date(Date.now() - 24 * 60 * 60 * 1000));
127
+ const limited = await commentRepository.listByAuthor(author, undefined, 1);
128
+ expect(all).toHaveLength(3);
129
+ expect(since.map((c) => c.id)).toEqual([newest, middle]);
130
+ expect(limited.map((c) => c.id)).toEqual([newest]);
131
+ });
132
+ });
133
+ });
134
+ //# sourceMappingURL=ranking-reads.int.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranking-reads.int.spec.js","sourceRoot":"","sources":["../../../src/test/integration/ranking-reads.int.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ranking-reads.service.unit.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranking-reads.service.unit.spec.d.ts","sourceRoot":"","sources":["../../../src/test/unit/ranking-reads.service.unit.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import { describe, it, expect, beforeEach, afterEach, jest } from '@jest/globals';
2
+ import { createMock } from '@volontariapp/testing';
3
+ import { PostService } from '../../services/post.service.js';
4
+ import { CommentService } from '../../services/comment.service.js';
5
+ import { PostFactory } from '../__test-utils__/factories/post.factory.js';
6
+ import { CommentFactory } from '../__test-utils__/factories/comment.factory.js';
7
+ describe('Ranking reads (Unit)', () => {
8
+ let postRepository;
9
+ let commentRepository;
10
+ let postService;
11
+ let commentService;
12
+ beforeEach(() => {
13
+ postRepository = createMock();
14
+ commentRepository = createMock();
15
+ postService = new PostService(postRepository);
16
+ commentService = new CommentService(commentRepository, postRepository);
17
+ });
18
+ afterEach(() => {
19
+ jest.restoreAllMocks();
20
+ });
21
+ it('should delegate listRecentByAuthors to the repository', async () => {
22
+ const posts = PostFactory.buildMany(2);
23
+ const spy = jest.spyOn(postRepository, 'listRecentByAuthors').mockResolvedValue(posts);
24
+ const options = { authorIds: ['a'], perAuthorLimit: 5, limit: 300 };
25
+ await expect(postService.listRecentByAuthors(options)).resolves.toBe(posts);
26
+ expect(spy).toHaveBeenCalledWith(options);
27
+ });
28
+ it('should wrap a repository failure of listRecentByAuthors', async () => {
29
+ jest.spyOn(postRepository, 'listRecentByAuthors').mockRejectedValue(new Error('boom'));
30
+ await expect(postService.listRecentByAuthors({ authorIds: ['a'] })).rejects.toThrow();
31
+ });
32
+ it('should delegate listByIds to the repository', async () => {
33
+ const posts = PostFactory.buildMany(1);
34
+ const spy = jest.spyOn(postRepository, 'listByIds').mockResolvedValue(posts);
35
+ await expect(postService.listByIds(['p1'])).resolves.toBe(posts);
36
+ expect(spy).toHaveBeenCalledWith(['p1']);
37
+ });
38
+ it('should delegate listByAuthor of the comments to the repository', async () => {
39
+ const comment = CommentFactory.build();
40
+ const since = new Date('2026-10-01T00:00:00Z');
41
+ const spy = jest.spyOn(commentRepository, 'listByAuthor').mockResolvedValue([comment]);
42
+ await expect(commentService.listByAuthor('author-1', since, 50)).resolves.toEqual([comment]);
43
+ expect(spy).toHaveBeenCalledWith('author-1', since, 50);
44
+ });
45
+ it('should wrap a repository failure of listByAuthor', async () => {
46
+ jest.spyOn(commentRepository, 'listByAuthor').mockRejectedValue(new Error('boom'));
47
+ await expect(commentService.listByAuthor('author-1')).rejects.toThrow();
48
+ });
49
+ });
50
+ //# sourceMappingURL=ranking-reads.service.unit.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranking-reads.service.unit.spec.js","sourceRoot":"","sources":["../../../src/test/unit/ranking-reads.service.unit.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volontariapp/domain-post",
3
- "version": "3.8.8",
3
+ "version": "3.9.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -55,12 +55,12 @@
55
55
  "dependencies": {
56
56
  "@nestjs/common": "^11.0.1",
57
57
  "@volontariapp/contracts": "4.8.1",
58
- "@volontariapp/database": "3.10.11",
58
+ "@volontariapp/database": "3.10.12",
59
59
  "@volontariapp/errors": "0.6.5",
60
60
  "@volontariapp/errors-nest": "0.14.0",
61
61
  "@volontariapp/logger": "0.4.0",
62
- "@volontariapp/messaging": "2.27.1",
63
- "@volontariapp/outbox": "0.10.15",
62
+ "@volontariapp/messaging": "2.28.0",
63
+ "@volontariapp/outbox": "0.10.16",
64
64
  "class-transformer": "^0.5.1"
65
65
  }
66
66
  }