From 49dabe5e4db5a8c388d1624f834a55a63aecea92 Mon Sep 17 00:00:00 2001 From: mgabor <> Date: Tue, 23 Apr 2024 18:41:50 +0200 Subject: [PATCH] use lodash for sort --- server/src/dtos/album.dto.ts | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/server/src/dtos/album.dto.ts b/server/src/dtos/album.dto.ts index 276c1b9560..0f1183e381 100644 --- a/server/src/dtos/album.dto.ts +++ b/server/src/dtos/album.dto.ts @@ -1,5 +1,6 @@ import { ApiProperty } from '@nestjs/swagger'; import { ArrayNotEmpty, IsEnum, IsString } from 'class-validator'; +import _ from 'lodash'; import { AssetResponseDto, mapAsset } from 'src/dtos/asset-response.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { UserResponseDto, mapUser } from 'src/dtos/user.dto'; @@ -137,15 +138,7 @@ export const mapAlbum = (entity: AlbumEntity, withAssets: boolean, auth?: AuthDt } } - albumUsers.sort((a, b) => { - if (a.role === AlbumUserRole.VIEWER && b.role === AlbumUserRole.EDITOR) { - return 1; - } - if (a.role === AlbumUserRole.EDITOR && b.role === AlbumUserRole.VIEWER) { - return -1; - } - return a.user.name.localeCompare(b.user.name); - }); + const albumUsersSorted = _.orderBy(albumUsers, ['role', 'user.name']); const assets = entity.assets || []; @@ -169,7 +162,7 @@ export const mapAlbum = (entity: AlbumEntity, withAssets: boolean, auth?: AuthDt ownerId: entity.ownerId, owner: mapUser(entity.owner), sharedUsers, - albumUsers, + albumUsers: albumUsersSorted, shared: hasSharedUser || hasSharedLink, hasSharedLink, startDate,