package institutions import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" "github.com/SamuelTariku/FortuneBet-Backend/internal/repository" ) type Service struct { repo repository.BankRepository } func New(repo repository.BankRepository) *Service { return &Service{repo: repo} } func (s *Service) Create(ctx context.Context, bank *domain.Bank) error { return s.repo.CreateBank(ctx, bank) } func (s *Service) Update(ctx context.Context, bank *domain.Bank) error { return s.repo.UpdateBank(ctx, bank) } func (s *Service) GetByID(ctx context.Context, id int64) (*domain.Bank, error) { return s.repo.GetBankByID(ctx, int(id)) } func (s *Service) Delete(ctx context.Context, id int64) error { return s.repo.DeleteBank(ctx, int(id)) } func (s *Service) List(ctx context.Context) ([]*domain.Bank, error) { banks, err := s.repo.GetAllBanks(ctx, nil, nil) if err != nil { return nil, err } result := make([]*domain.Bank, len(banks)) for i := range banks { result[i] = &banks[i] } return result, nil }