refactor: rename package from gitops_rac to benadis_rac

The package and related files have been renamed to better reflect the project's naming conventions. This change includes:
- Renaming the main package file
- Updating all references in integration tests
- Maintaining all existing functionality without behavior changes
This commit is contained in:
2025-08-04 11:07:42 +03:00
parent b1bde827de
commit ccbe0c669d
2 changed files with 21 additions and 21 deletions

124
benadis_rac.go Normal file
View File

@@ -0,0 +1,124 @@
// Package benadis_rac provides functionality for managing 1C service mode
package benadis_rac
import (
"context"
"fmt"
"git.benadis.ru/gitops/benadis-rac/internal/config"
"git.benadis.ru/gitops/benadis-rac/internal/logger"
"git.benadis.ru/gitops/benadis-rac/internal/service"
)
// ServiceModeManager интерфейс для управления сервисным режимом
type ServiceModeManager interface {
// EnableServiceMode включает сервисный режим
EnableServiceMode(ctx context.Context) error
// DisableServiceMode выключает сервисный режим
DisableServiceMode(ctx context.Context) error
// GetServiceModeStatus получает текущий статус сервисного режима
GetServiceModeStatus(ctx context.Context) (bool, error)
}
// Client клиент для работы с 1C сервисным режимом
type Client struct {
service *service.ServiceModeService
}
// Config конфигурация для создания клиента
type Config struct {
ConfigPath string // Путь к файлу конфигурации
SecretPath string // Путь к файлу с секретами
ProjectPath string // Путь к файлу проекта
LogLevel string // Уровень логирования (Debug, Info, Warn, Error)
}
// NewClient создает новый клиент для управления сервисным режимом
func NewClient(cfg Config) (*Client, error) {
if cfg.ConfigPath == "" {
cfg.ConfigPath = "config.yaml"
}
if cfg.SecretPath == "" {
cfg.SecretPath = "secret.yaml"
}
if cfg.ProjectPath == "" {
cfg.ProjectPath = "project.yaml"
}
if cfg.LogLevel == "" {
cfg.LogLevel = "Info"
}
// Загружаем конфигурацию
appConfig, err := config.LoadConfig(cfg.ConfigPath, cfg.SecretPath, cfg.ProjectPath)
if err != nil {
return nil, fmt.Errorf("failed to load config: %w", err)
}
// Переопределяем уровень логирования если указан
if appConfig.Project != nil && appConfig.Project.ServiceMode != nil {
appConfig.Project.ServiceMode.LogLevel = cfg.LogLevel
}
// Валидируем конфигурацию
if err := appConfig.Validate(); err != nil {
return nil, fmt.Errorf("config validation failed: %w", err)
}
// Создаем логгер
logLevel := "Info"
if appConfig.Project != nil && appConfig.Project.ServiceMode != nil && appConfig.Project.ServiceMode.LogLevel != "" {
logLevel = appConfig.Project.ServiceMode.LogLevel
}
log := logger.NewLogger(logLevel)
// Создаем сервис
svc := service.NewServiceModeService(appConfig, log)
return &Client{
service: svc,
}, nil
}
// EnableServiceMode включает сервисный режим
func (c *Client) EnableServiceMode(ctx context.Context) error {
return c.service.EnableServiceMode(ctx)
}
// DisableServiceMode выключает сервисный режим
func (c *Client) DisableServiceMode(ctx context.Context) error {
return c.service.DisableServiceMode(ctx)
}
// GetServiceModeStatus получает текущий статус сервисного режима
// Возвращает true если сервисный режим включен, false если выключен
func (c *Client) GetServiceModeStatus(ctx context.Context) (bool, error) {
return c.service.GetServiceModeStatus(ctx)
}
// NewClientFromConfig создает клиент из готовой конфигурации
func NewClientFromConfig(appConfig *config.AppConfig, logLevel string) (*Client, error) {
if logLevel != "" && appConfig.Project != nil && appConfig.Project.ServiceMode != nil {
appConfig.Project.ServiceMode.LogLevel = logLevel
}
// Валидируем конфигурацию
if err := appConfig.Validate(); err != nil {
return nil, fmt.Errorf("config validation failed: %w", err)
}
// Создаем логгер
logLevelToUse := "Info"
if appConfig.Project != nil && appConfig.Project.ServiceMode != nil && appConfig.Project.ServiceMode.LogLevel != "" {
logLevelToUse = appConfig.Project.ServiceMode.LogLevel
}
log := logger.NewLogger(logLevelToUse)
// Создаем сервис
svc := service.NewServiceModeService(appConfig, log)
return &Client{
service: svc,
}, nil
}