forked from Cutlery/immich
* feat: add admin config module for user configured config, uses it for ffmpeg * feat: add api endpoint to retrieve admin config settings and values * feat: add settings panel to admin page on web (wip) * feat: add api endpoint to update the admin config * chore: re-generate openapi spec after rebase * refactor: move from admin config to system config naming * chore: move away from UseGuards to new @Authenticated decorator * style: dark mode styling for lists and fix conflicting colors * wip: 2 column design, no edit button * refactor: system config * chore: generate open api * chore: rm broken test * chore: cleanup types * refactor: config module names Co-authored-by: Zack Pollard <zackpollard@ymail.com> Co-authored-by: Zack Pollard <zack.pollard@moonpig.com>
21 lines
550 B
TypeScript
21 lines
550 B
TypeScript
import { SystemConfigKey, SystemConfigValue } from '@app/database/entities/system-config.entity';
|
|
import { ApiProperty } from '@nestjs/swagger';
|
|
import { IsEnum, IsNotEmpty, ValidateNested } from 'class-validator';
|
|
|
|
export class UpdateSystemConfigDto {
|
|
@IsNotEmpty()
|
|
@ValidateNested({ each: true })
|
|
config!: SystemConfigItem[];
|
|
}
|
|
|
|
export class SystemConfigItem {
|
|
@IsNotEmpty()
|
|
@IsEnum(SystemConfigKey)
|
|
@ApiProperty({
|
|
enum: SystemConfigKey,
|
|
enumName: 'SystemConfigKey',
|
|
})
|
|
key!: SystemConfigKey;
|
|
value!: SystemConfigValue;
|
|
}
|