package options import ( "errors" "fmt" "bunker/client/internal/services/core" "bunker/client/internal/services/core/options/dto" "bunker/client/internal/services/core/options/models" ) var errWidgetPaneAlreadyRegistered = errors.New("widget pane already registered") func (o *options) RegisterOptionsWidget(widgetData *dto.OptionPane) error { if _, found := o.widgets[widgetData.Name]; found { return fmt.Errorf( "%w: RegisterOptionsWidget: '%s': %w", core.ErrOptions, widgetData.Name, errWidgetPaneAlreadyRegistered, ) } o.widgets[widgetData.Name] = models.OptionPaneFromDTO(widgetData) o.widgetsItems = append(o.widgetsItems, widgetData.Name) return nil }