@@ -222,7 +222,15 @@ func (c *BackendConfig) UnmarshalYAML(value *yaml.Node) error {
222
222
return err
223
223
}
224
224
* c = BackendConfig (aux )
225
+
225
226
c .KnownUsecases = GetUsecasesFromYAML (c .KnownUsecaseStrings )
227
+ // Make sure the usecases are valid, we rewrite with what we identified
228
+ c .KnownUsecaseStrings = []string {}
229
+ for k , usecase := range GetAllBackendConfigUsecases () {
230
+ if c .HasUsecases (usecase ) {
231
+ c .KnownUsecaseStrings = append (c .KnownUsecaseStrings , k )
232
+ }
233
+ }
226
234
return nil
227
235
}
228
236
@@ -410,15 +418,6 @@ func (cfg *BackendConfig) SetDefaults(opts ...ConfigLoaderOption) {
410
418
cfg .Debug = & trueV
411
419
}
412
420
413
- if len (cfg .KnownUsecaseStrings ) == 0 {
414
- // Infer use case if not provided
415
- for k , usecase := range GetAllBackendConfigUsecases () {
416
- if cfg .HasUsecases (usecase ) {
417
- cfg .KnownUsecaseStrings = append (cfg .KnownUsecaseStrings , k )
418
- }
419
- }
420
- }
421
-
422
421
guessDefaultsFromFile (cfg , lo .modelPath )
423
422
}
424
423
@@ -491,14 +490,18 @@ func GetAllBackendConfigUsecases() map[string]BackendConfigUsecases {
491
490
}
492
491
}
493
492
493
+ func stringToFlag (s string ) string {
494
+ return "FLAG_" + strings .ToUpper (s )
495
+ }
496
+
494
497
func GetUsecasesFromYAML (input []string ) * BackendConfigUsecases {
495
498
if len (input ) == 0 {
496
499
return nil
497
500
}
498
501
result := FLAG_ANY
499
502
flags := GetAllBackendConfigUsecases ()
500
503
for _ , str := range input {
501
- flag , exists := flags ["FLAG_" + strings . ToUpper (str )]
504
+ flag , exists := flags [stringToFlag (str )]
502
505
if exists {
503
506
result |= flag
504
507
}
0 commit comments