mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 21:41:55 +00:00
47 lines
1.4 KiB
Go
47 lines
1.4 KiB
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
entity "gitlab.com/mbugroup/lti-api.git/internal/entities"
|
|
repository "gitlab.com/mbugroup/lti-api.git/internal/modules/system-settings/repositories"
|
|
)
|
|
|
|
type SystemSettingService interface {
|
|
GetAll(ctx context.Context) ([]entity.SystemSetting, error)
|
|
GetAllowNegativePakanOVK(ctx context.Context) (bool, error)
|
|
SetAllowNegativePakanOVK(ctx context.Context, allow bool) error
|
|
}
|
|
|
|
type systemSettingService struct {
|
|
Repository repository.SystemSettingRepository
|
|
}
|
|
|
|
func NewSystemSettingService(repo repository.SystemSettingRepository) SystemSettingService {
|
|
return &systemSettingService{Repository: repo}
|
|
}
|
|
|
|
func (s *systemSettingService) GetAll(ctx context.Context) ([]entity.SystemSetting, error) {
|
|
settings, err := s.Repository.List(ctx)
|
|
if err != nil {
|
|
return nil, fiber.NewError(fiber.StatusInternalServerError, "Gagal mengambil system settings")
|
|
}
|
|
return settings, nil
|
|
}
|
|
|
|
func (s *systemSettingService) GetAllowNegativePakanOVK(ctx context.Context) (bool, error) {
|
|
return s.Repository.GetAllowNegativePakanOVK(ctx)
|
|
}
|
|
|
|
func (s *systemSettingService) SetAllowNegativePakanOVK(ctx context.Context, allow bool) error {
|
|
value := "false"
|
|
if allow {
|
|
value = "true"
|
|
}
|
|
if err := s.Repository.Set(ctx, entity.SystemSettingKeyAllowNegativePakanOVK, value); err != nil {
|
|
return fiber.NewError(fiber.StatusInternalServerError, "Gagal mengubah setting allow_negative_pakan_ovk")
|
|
}
|
|
return nil
|
|
}
|