| package model |
|
|
| |
| func GetMissingModels() ([]string, error) { |
| |
| models := GetEnabledModels() |
| if len(models) == 0 { |
| return []string{}, nil |
| } |
|
|
| |
| var existing []string |
| if err := DB.Model(&Model{}).Where("model_name IN ?", models).Pluck("model_name", &existing).Error; err != nil { |
| return nil, err |
| } |
|
|
| existingSet := make(map[string]struct{}, len(existing)) |
| for _, e := range existing { |
| existingSet[e] = struct{}{} |
| } |
|
|
| |
| var missing []string |
| for _, name := range models { |
| if _, ok := existingSet[name]; !ok { |
| missing = append(missing, name) |
| } |
| } |
| return missing, nil |
| } |
|
|