MCPcopy Create free account
hub / github.com/APIParkLab/APIPark / Save

Method Save

service/ai-model/iml.go:26–69  ·  view source on GitHub ↗
(ctx context.Context, id string, model *Model)

Source from the content-addressed store, hash-verified

24}
25
26func (i *imlProviderModelService) Save(ctx context.Context, id string, model *Model) error {
27 userId := utils.UserId(ctx)
28 now := time.Now()
29 info, err := i.store.First(ctx, map[string]interface{}{"uuid": id})
30 if err != nil {
31 if !errors.Is(err, gorm.ErrRecordNotFound) {
32 return err
33 }
34 if model.Name == nil || model.Provider == nil {
35 return errors.New("invalid params")
36 }
37 info = &ai.ProviderModel{
38 UUID: id,
39 Name: *model.Name,
40 Type: *model.Type,
41 AccessConfiguration: *model.AccessConfiguration,
42 ModelParameters: *model.ModelParameters,
43 Provider: *model.Provider,
44 Creator: userId,
45 Updater: userId,
46 CreateAt: now,
47 UpdateAt: now,
48 }
49 } else {
50 if model.Name != nil {
51 info.Name = *model.Name
52 }
53 if model.Type != nil {
54 info.Type = *model.Type
55 }
56 if model.Provider != nil {
57 info.Provider = *model.Provider
58 }
59 if model.AccessConfiguration != nil {
60 info.AccessConfiguration = *model.AccessConfiguration
61 }
62 if model.ModelParameters != nil {
63 info.AccessConfiguration = *model.ModelParameters
64 }
65 info.Updater = userId
66 info.UpdateAt = now
67 }
68 return i.store.Save(ctx, info)
69}
70
71func (i *imlProviderModelService) CheckNameDuplicate(ctx context.Context, provider string, name string, excludeId string) bool {
72 v, _ := i.store.First(ctx, map[string]interface{}{"provider": provider, "name": name})

Callers

nothing calls this directly

Calls 1

SaveMethod · 0.65

Tested by

no test coverage detected