mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-04 10:13:53 +08:00
fix: prevent duplicate model names
This commit is contained in:
@@ -61,12 +61,7 @@ func (i *imlProviderModelModule) UpdateProviderModel(ctx *gin.Context, provider
|
||||
if modelInfo == nil || modelInfo.Provider != provider {
|
||||
return fmt.Errorf("model not found")
|
||||
}
|
||||
// check model name duplicate
|
||||
if has := i.providerModelService.CheckNameDuplicate(ctx, provider, input.Name, input.Id); has {
|
||||
return fmt.Errorf("model name: `%s` duplicate", input.Name)
|
||||
}
|
||||
if err := i.providerModelService.Save(ctx, input.Id, &ai_model.Model{
|
||||
Name: &input.Name,
|
||||
AccessConfiguration: &input.AccessConfiguration,
|
||||
ModelParameters: &input.ModelParameters,
|
||||
}); err != nil {
|
||||
@@ -115,6 +110,10 @@ func (i *imlProviderModelModule) AddProviderModel(ctx *gin.Context, provider str
|
||||
if has := i.providerModelService.CheckNameDuplicate(ctx, provider, input.Name, ""); has {
|
||||
return nil, fmt.Errorf("model name: `%s` duplicate", input.Name)
|
||||
}
|
||||
// check provider model exist
|
||||
if _, has := p.GetModel(input.Name); has {
|
||||
return nil, fmt.Errorf("provider model already exist")
|
||||
}
|
||||
id := uuid.New().String()
|
||||
typeValue := "chat"
|
||||
if err := i.providerModelService.Save(ctx, id, &ai_model.Model{
|
||||
|
||||
@@ -72,10 +72,13 @@ func (i *imlProviderModelService) CheckNameDuplicate(ctx context.Context, provid
|
||||
v, _ := i.store.First(ctx, map[string]interface{}{"provider": provider, "name": name})
|
||||
if v == nil {
|
||||
return false
|
||||
} else if excludeId != "" && v.UUID != excludeId {
|
||||
return true
|
||||
} else {
|
||||
if excludeId == "" {
|
||||
return true
|
||||
} else {
|
||||
return v.UUID != excludeId
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (i *imlProviderModelService) OnComplete() {
|
||||
|
||||
Reference in New Issue
Block a user