mirror of
https://github.com/KevinMidboe/immich.git
synced 2025-10-29 17:40:28 +00:00
* add automatic library scan config options * add validation * open api * use CronJob instead of cron-validator * fix tests * catch potential error of the library scan initialization * better description for input field * move library scan job initialization to server app service * fix tests * add comments to all parameters of cronjob contructor * make scan a child of a more general library object * open api * chore: cleanup * move cronjob handling to job repoistory * web: select for common cron expressions * fix open api * fix tests * put scanning settings in nested accordion * fix system config validation * refactor, tests --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
88 lines
2.7 KiB
TypeScript
88 lines
2.7 KiB
TypeScript
import { SystemConfig } from '@app/infra/entities';
|
|
import { Type } from 'class-transformer';
|
|
import { IsObject, ValidateNested } from 'class-validator';
|
|
import { SystemConfigFFmpegDto } from './system-config-ffmpeg.dto';
|
|
import { SystemConfigJobDto } from './system-config-job.dto';
|
|
import { SystemConfigLibraryDto } from './system-config-library.dto';
|
|
import { SystemConfigMachineLearningDto } from './system-config-machine-learning.dto';
|
|
import { SystemConfigMapDto } from './system-config-map.dto';
|
|
import { SystemConfigNewVersionCheckDto } from './system-config-new-version-check.dto';
|
|
import { SystemConfigOAuthDto } from './system-config-oauth.dto';
|
|
import { SystemConfigPasswordLoginDto } from './system-config-password-login.dto';
|
|
import { SystemConfigReverseGeocodingDto } from './system-config-reverse-geocoding.dto';
|
|
import { SystemConfigStorageTemplateDto } from './system-config-storage-template.dto';
|
|
import { SystemConfigThemeDto } from './system-config-theme.dto';
|
|
import { SystemConfigThumbnailDto } from './system-config-thumbnail.dto';
|
|
import { SystemConfigTrashDto } from './system-config-trash.dto';
|
|
|
|
export class SystemConfigDto implements SystemConfig {
|
|
@Type(() => SystemConfigFFmpegDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
ffmpeg!: SystemConfigFFmpegDto;
|
|
|
|
@Type(() => SystemConfigMachineLearningDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
machineLearning!: SystemConfigMachineLearningDto;
|
|
|
|
@Type(() => SystemConfigMapDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
map!: SystemConfigMapDto;
|
|
|
|
@Type(() => SystemConfigNewVersionCheckDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
newVersionCheck!: SystemConfigNewVersionCheckDto;
|
|
|
|
@Type(() => SystemConfigOAuthDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
oauth!: SystemConfigOAuthDto;
|
|
|
|
@Type(() => SystemConfigPasswordLoginDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
passwordLogin!: SystemConfigPasswordLoginDto;
|
|
|
|
@Type(() => SystemConfigReverseGeocodingDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
reverseGeocoding!: SystemConfigReverseGeocodingDto;
|
|
|
|
@Type(() => SystemConfigStorageTemplateDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
storageTemplate!: SystemConfigStorageTemplateDto;
|
|
|
|
@Type(() => SystemConfigJobDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
job!: SystemConfigJobDto;
|
|
|
|
@Type(() => SystemConfigThumbnailDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
thumbnail!: SystemConfigThumbnailDto;
|
|
|
|
@Type(() => SystemConfigTrashDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
trash!: SystemConfigTrashDto;
|
|
|
|
@Type(() => SystemConfigThemeDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
theme!: SystemConfigThemeDto;
|
|
|
|
@Type(() => SystemConfigLibraryDto)
|
|
@ValidateNested()
|
|
@IsObject()
|
|
library!: SystemConfigLibraryDto;
|
|
}
|
|
|
|
export function mapConfig(config: SystemConfig): SystemConfigDto {
|
|
return config;
|
|
}
|