| 291 | } |
| 292 | |
| 293 | func (i *imlDynamicModule) PluginInfo(ctx context.Context, module string, clusterIds ...string) (*dynamic_module_dto.PluginInfo, error) { |
| 294 | d, has := driver.Get(module) |
| 295 | if !has { |
| 296 | return nil, fmt.Errorf("module %s not found", module) |
| 297 | } |
| 298 | |
| 299 | fields := make([]*driver.Field, 0, 1) |
| 300 | |
| 301 | fields = append(fields, &driver.Field{ |
| 302 | Name: "status", |
| 303 | Title: fmt.Sprintf("状态"), |
| 304 | Attr: "status", |
| 305 | Enum: []string{ |
| 306 | "已发布", |
| 307 | "待发布", |
| 308 | "未发布", |
| 309 | }, |
| 310 | }) |
| 311 | return &dynamic_module_dto.PluginInfo{ |
| 312 | PluginBasic: &dynamic_module_dto.PluginBasic{ |
| 313 | Id: d.ID(), |
| 314 | Name: d.Name(), |
| 315 | Title: d.Title(), |
| 316 | }, |
| 317 | Drivers: utils.SliceToSlice(d.Define().Drivers(), func(s *driver.Field) *dynamic_module_dto.Field { |
| 318 | return &dynamic_module_dto.Field{ |
| 319 | Name: s.Name, |
| 320 | Title: s.Title, |
| 321 | } |
| 322 | }), |
| 323 | Fields: utils.SliceToSlice(d.Define().Fields(fields...), func(s *driver.Field) *dynamic_module_dto.Field { |
| 324 | return &dynamic_module_dto.Field{ |
| 325 | Name: s.Name, |
| 326 | Title: s.Title, |
| 327 | Attr: s.Attr, |
| 328 | Enum: s.Enum, |
| 329 | } |
| 330 | }), |
| 331 | }, nil |
| 332 | } |
| 333 | |
| 334 | func (i *imlDynamicModule) Create(ctx context.Context, module string, input *dynamic_module_dto.CreateDynamicModule) (*dynamic_module_dto.DynamicModule, error) { |
| 335 | d, has := driver.Get(module) |