Browse Source

feat(server): allow underscores in ML url (#4517)

Jason Rasmussen 1 year ago
parent
commit
335216f6dd

+ 1 - 1
server/src/domain/system-config/dto/system-config-machine-learning.dto.ts

@@ -6,7 +6,7 @@ export class SystemConfigMachineLearningDto {
   @IsBoolean()
   enabled!: boolean;
 
-  @IsUrl({ require_tld: false })
+  @IsUrl({ require_tld: false, allow_underscores: true })
   @ValidateIf((dto) => dto.enabled)
   url!: string;
 

+ 9 - 0
server/src/domain/system-config/system-config.service.spec.ts

@@ -189,6 +189,15 @@ describe(SystemConfigService.name, () => {
       expect(configMock.readFile).toHaveBeenCalledWith('immich-config.json');
     });
 
+    it('should allow underscores in the machine learning url', async () => {
+      process.env.IMMICH_CONFIG_FILE = 'immich-config.json';
+      const partialConfig = { machineLearning: { url: 'immich_machine_learning' } };
+      configMock.readFile.mockResolvedValue(Buffer.from(JSON.stringify(partialConfig)));
+
+      const config = await sut.getConfig();
+      expect(config.machineLearning.url).toEqual('immich_machine_learning');
+    });
+
     const tests = [
       { should: 'validate numbers', config: { ffmpeg: { crf: 'not-a-number' } } },
       { should: 'validate booleans', config: { oauth: { enabled: 'invalid' } } },