From a029620c84c6480fdf413e55d9be56468780e4a7 Mon Sep 17 00:00:00 2001 From: Wesley Finck Date: Thu, 16 Apr 2026 18:16:32 -0700 Subject: [PATCH] reverse chron ordering of follower lists --- .../useCases/queries/GetCollectionFollowersUseCase.ts | 2 +- .../application/useCases/queries/GetFollowersUseCase.ts | 2 +- .../useCases/queries/GetFollowingCollectionsUseCase.ts | 2 +- .../useCases/queries/GetFollowingUsersUseCase.ts | 2 +- .../infrastructure/repositories/DrizzleFollowsRepository.ts | 6 ++++-- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/modules/user/application/useCases/queries/GetCollectionFollowersUseCase.ts b/src/modules/user/application/useCases/queries/GetCollectionFollowersUseCase.ts index 740d3166..b8834e7c 100644 --- a/src/modules/user/application/useCases/queries/GetCollectionFollowersUseCase.ts +++ b/src/modules/user/application/useCases/queries/GetCollectionFollowersUseCase.ts @@ -125,7 +125,7 @@ export class GetCollectionFollowersUseCase const profileMap = profileMapResult.value; - // Build users array in the order of follows (chronological) + // Build users array in the order of follows (reverse chronological) const users: User[] = paginatedFollows .map((follow) => profileMap.get(follow.followerId.value)) .filter((user): user is User => user !== undefined); diff --git a/src/modules/user/application/useCases/queries/GetFollowersUseCase.ts b/src/modules/user/application/useCases/queries/GetFollowersUseCase.ts index 3345543d..046d1891 100644 --- a/src/modules/user/application/useCases/queries/GetFollowersUseCase.ts +++ b/src/modules/user/application/useCases/queries/GetFollowersUseCase.ts @@ -113,7 +113,7 @@ export class GetFollowersUseCase const profileMap = profileMapResult.value; - // Build users array in the order of follows (chronological) + // Build users array in the order of follows (reverse chronological) const users: User[] = paginatedFollows .map((follow) => profileMap.get(follow.followerId.value)) .filter((user): user is User => user !== undefined); diff --git a/src/modules/user/application/useCases/queries/GetFollowingCollectionsUseCase.ts b/src/modules/user/application/useCases/queries/GetFollowingCollectionsUseCase.ts index abb1efc6..c323bcc7 100644 --- a/src/modules/user/application/useCases/queries/GetFollowingCollectionsUseCase.ts +++ b/src/modules/user/application/useCases/queries/GetFollowingCollectionsUseCase.ts @@ -155,7 +155,7 @@ export class GetFollowingCollectionsUseCase }); } - // Build collections array in the order of follows (chronological) + // Build collections array in the order of follows (reverse chronological) const collections = follows .map((follow) => { const collection = collectionsMap.get(follow.targetId); diff --git a/src/modules/user/application/useCases/queries/GetFollowingUsersUseCase.ts b/src/modules/user/application/useCases/queries/GetFollowingUsersUseCase.ts index d2400d92..5843fa87 100644 --- a/src/modules/user/application/useCases/queries/GetFollowingUsersUseCase.ts +++ b/src/modules/user/application/useCases/queries/GetFollowingUsersUseCase.ts @@ -111,7 +111,7 @@ export class GetFollowingUsersUseCase const profileMap = profileMapResult.value; - // Build users array in the order of follows (chronological) + // Build users array in the order of follows (reverse chronological) const users: User[] = follows .map((follow) => profileMap.get(follow.targetId)) .filter((user): user is User => user !== undefined); diff --git a/src/modules/user/infrastructure/repositories/DrizzleFollowsRepository.ts b/src/modules/user/infrastructure/repositories/DrizzleFollowsRepository.ts index 7a8a4239..b267465a 100644 --- a/src/modules/user/infrastructure/repositories/DrizzleFollowsRepository.ts +++ b/src/modules/user/infrastructure/repositories/DrizzleFollowsRepository.ts @@ -30,7 +30,8 @@ export class DrizzleFollowsRepository implements IFollowsRepository { eq(follows.targetId, targetId), eq(follows.targetType, targetType.value), ), - ); + ) + .orderBy(sql`${follows.createdAt} DESC`); const followEntities: Follow[] = []; @@ -96,7 +97,8 @@ export class DrizzleFollowsRepository implements IFollowsRepository { inArray(follows.targetId, collectionIds), eq(follows.targetType, FollowTargetTypeEnum.COLLECTION), ), - ); + ) + .orderBy(sql`${follows.createdAt} DESC`); const followEntities: Follow[] = []; -- 2.51.2