Some checks failed
Linting and tests / Linting (push) Failing after 6s
28 lines
646 B
Go
28 lines
646 B
Go
package options
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
|
|
"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",
|
|
errOptions,
|
|
widgetData.Name,
|
|
errWidgetPaneAlreadyRegistered,
|
|
)
|
|
}
|
|
|
|
o.widgets[widgetData.Name] = models.OptionPaneFromDTO(widgetData)
|
|
o.widgetsItems = append(o.widgetsItems, widgetData.Name)
|
|
|
|
return nil
|
|
}
|