MCPcopy Index your code
hub / github.com/APIParkLab/APIPark / Delete

Method Delete

module/ai/iml.go:157–201  ·  view source on GitHub ↗
(ctx context.Context, id string)

Source from the content-addressed store, hash-verified

155}
156
157func (i *imlProviderModule) Delete(ctx context.Context, id string) error {
158 return i.transaction.Transaction(ctx, func(ctx context.Context) error {
159 // 判断是否有api
160 count, err := i.aiAPIService.CountByProvider(ctx, id)
161 if err != nil {
162 return err
163 }
164 if count > 0 {
165 return fmt.Errorf("provider has api")
166 }
167 keys, err := i.aiKeyService.KeysByProvider(ctx, id)
168 if err != nil {
169 return err
170 }
171 err = i.aiKeyService.DeleteByProvider(ctx, id)
172 if err != nil {
173 return err
174 }
175
176 // delete register customize provider
177 if p, _ := i.providerService.Get(ctx, id); p != nil && p.Type != 0 {
178 model_runtime.Remove(id)
179 }
180 err = i.providerService.Delete(ctx, id)
181 if err != nil {
182 return err
183 }
184 releases := make([]*gateway.DynamicRelease, 0, len(keys))
185 for _, key := range keys {
186 releases = append(releases, newKey(key))
187 }
188 err = i.syncGateway(ctx, cluster.DefaultClusterID, releases, false)
189 if err != nil {
190 return err
191 }
192 return i.syncGateway(ctx, cluster.DefaultClusterID, []*gateway.DynamicRelease{
193 {
194 BasicItem: &gateway.BasicItem{
195 ID: id,
196 Resource: "ai-provider",
197 },
198 },
199 }, false)
200 })
201}
202
203func (i *imlProviderModule) AddProvider(ctx context.Context, input *ai_dto.NewProvider) (*ai_dto.SimpleProvider, error) {
204 _, has := model_runtime.GetProvider(strings.ToLower(input.Name))

Callers

nothing calls this directly

Calls 7

syncGatewayMethod · 0.95
newKeyFunction · 0.70
CountByProviderMethod · 0.65
KeysByProviderMethod · 0.65
DeleteByProviderMethod · 0.65
GetMethod · 0.65
DeleteMethod · 0.65

Tested by

no test coverage detected