mirror of
https://github.com/immich-app/immich.git
synced 2025-05-31 20:26:27 -04:00
* 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>
28 lines
695 B
TypeScript
28 lines
695 B
TypeScript
import { Column, Entity, PrimaryColumn } from 'typeorm';
|
|
|
|
@Entity('system_config')
|
|
export class SystemConfigEntity {
|
|
@PrimaryColumn()
|
|
key!: SystemConfigKey;
|
|
|
|
@Column({ type: 'varchar', nullable: true })
|
|
value!: SystemConfigValue;
|
|
}
|
|
|
|
export type SystemConfig = SystemConfigEntity[];
|
|
|
|
export enum SystemConfigKey {
|
|
FFMPEG_CRF = 'ffmpeg_crf',
|
|
FFMPEG_PRESET = 'ffmpeg_preset',
|
|
FFMPEG_TARGET_VIDEO_CODEC = 'ffmpeg_target_video_codec',
|
|
FFMPEG_TARGET_AUDIO_CODEC = 'ffmpeg_target_audio_codec',
|
|
FFMPEG_TARGET_SCALING = 'ffmpeg_target_scaling',
|
|
}
|
|
|
|
export type SystemConfigValue = string | null;
|
|
|
|
export interface SystemConfigItem {
|
|
key: SystemConfigKey;
|
|
value: SystemConfigValue;
|
|
}
|