mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
feat(web): add a user setting for default album sort order. (#18950)
* Add a user setting for default album sort order. Add a user setting under "Features" to control the initial sort order when creating an album. Default to the existing behavior of "newest first". * chore: patch openapi --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
parent
55f4e93456
commit
b46e066cc2
18 changed files with 397 additions and 13 deletions
|
|
@ -1,7 +1,7 @@
|
|||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import { Type } from 'class-transformer';
|
||||
import { IsDateString, IsEnum, IsInt, IsPositive, ValidateNested } from 'class-validator';
|
||||
import { UserAvatarColor } from 'src/enum';
|
||||
import { AssetOrder, UserAvatarColor } from 'src/enum';
|
||||
import { UserPreferences } from 'src/types';
|
||||
import { Optional, ValidateBoolean } from 'src/validation';
|
||||
|
||||
|
|
@ -22,6 +22,12 @@ class RatingsUpdate {
|
|||
enabled?: boolean;
|
||||
}
|
||||
|
||||
class AlbumsUpdate {
|
||||
@IsEnum(AssetOrder)
|
||||
@ApiProperty({ enumName: 'AssetOrder', enum: AssetOrder })
|
||||
defaultAssetOrder?: AssetOrder;
|
||||
}
|
||||
|
||||
class FoldersUpdate {
|
||||
@ValidateBoolean({ optional: true })
|
||||
enabled?: boolean;
|
||||
|
|
@ -91,6 +97,11 @@ class CastUpdate {
|
|||
}
|
||||
|
||||
export class UserPreferencesUpdateDto {
|
||||
@Optional()
|
||||
@ValidateNested()
|
||||
@Type(() => AlbumsUpdate)
|
||||
albums?: AlbumsUpdate;
|
||||
|
||||
@Optional()
|
||||
@ValidateNested()
|
||||
@Type(() => FoldersUpdate)
|
||||
|
|
@ -147,6 +158,12 @@ export class UserPreferencesUpdateDto {
|
|||
cast?: CastUpdate;
|
||||
}
|
||||
|
||||
class AlbumsResponse {
|
||||
@IsEnum(AssetOrder)
|
||||
@ApiProperty({ enumName: 'AssetOrder', enum: AssetOrder })
|
||||
defaultAssetOrder: AssetOrder = AssetOrder.DESC;
|
||||
}
|
||||
|
||||
class RatingsResponse {
|
||||
enabled: boolean = false;
|
||||
}
|
||||
|
|
@ -198,6 +215,7 @@ class CastResponse {
|
|||
}
|
||||
|
||||
export class UserPreferencesResponseDto implements UserPreferences {
|
||||
albums!: AlbumsResponse;
|
||||
folders!: FoldersResponse;
|
||||
memories!: MemoriesResponse;
|
||||
people!: PeopleResponse;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue