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

Method Edit

module/strategy/iml.go:266–303  ·  view source on GitHub ↗
(ctx context.Context, id string, input *strategy_dto.Edit)

Source from the content-addressed store, hash-verified

264}
265
266func (i *imlStrategyModule) Edit(ctx context.Context, id string, input *strategy_dto.Edit) error {
267 if input.Name != nil && *input.Name == "" {
268 return fmt.Errorf("name required")
269 }
270 info, err := i.strategyService.Get(ctx, id)
271 if err != nil {
272 return err
273 }
274 if input.Priority != nil && *input.Priority < 1 {
275 *input.Priority = 1000
276 }
277 filters := info.Filters
278 if input.Filters != nil {
279 err = strategy_filter.CheckFilters(info.Driver, strategy_dto.Scope(info.Scope), *input.Filters)
280 if err != nil {
281 return err
282 }
283 data, _ := json.Marshal(input.Filters)
284 filters = string(data)
285 }
286 cfg := info.Config
287 if input.Config != nil {
288 err = strategy_driver.CheckConfig(info.Driver, input.Config)
289 if err != nil {
290 return err
291 }
292 data, _ := json.Marshal(input.Config)
293 cfg = string(data)
294 }
295
296 return i.strategyService.Save(ctx, id, &strategy.Edit{
297 Name: input.Name,
298 Priority: input.Priority,
299 Desc: input.Desc,
300 Filters: &filters,
301 Config: &cfg,
302 })
303}
304
305func (i *imlStrategyModule) Enable(ctx context.Context, id string) error {
306 stop := false

Callers

nothing calls this directly

Calls 3

MarshalMethod · 0.80
GetMethod · 0.65
SaveMethod · 0.65

Tested by

no test coverage detected