package adminfinance import "errors" var ErrDependencyUnavailable = errors.New("dependency unavailable") type Service struct { repo *Repository } func NewService(repo *Repository) *Service { return &Service{repo: repo} } func (s *Service) Dashboard(query DashboardQuery) (*DashboardDTO, error) { if s.repo == nil { return nil, ErrDependencyUnavailable } return s.repo.Dashboard(query) } func (s *Service) Details(query DetailQuery) (*PaginatedResult, error) { if s.repo == nil { return nil, ErrDependencyUnavailable } if query.Page < 1 { query.Page = 1 } if query.PageSize < 1 { query.PageSize = 20 } if query.PageSize > 100 { query.PageSize = 100 } return s.repo.Details(query) }