package service import ( "nex/backend/internal/domain" "nex/backend/internal/repository" ) type providerService struct { providerRepo repository.ProviderRepository } func NewProviderService(providerRepo repository.ProviderRepository) ProviderService { return &providerService{providerRepo: providerRepo} } func (s *providerService) Create(provider *domain.Provider) error { provider.Enabled = true return s.providerRepo.Create(provider) } func (s *providerService) Get(id string, maskKey bool) (*domain.Provider, error) { provider, err := s.providerRepo.GetByID(id) if err != nil { return nil, err } if maskKey { provider.MaskAPIKey() } return provider, nil } func (s *providerService) List() ([]domain.Provider, error) { providers, err := s.providerRepo.List() if err != nil { return nil, err } for i := range providers { providers[i].MaskAPIKey() } return providers, nil } func (s *providerService) Update(id string, updates map[string]interface{}) error { return s.providerRepo.Update(id, updates) } func (s *providerService) Delete(id string) error { return s.providerRepo.Delete(id) }