package service

import (
	"finance-portal/internal/dataplatform/store"
)

type Service interface {
	HealthCheck() HealthCheckSrv
	OrgOrder() OrgOrderSrv
	Salesforce() SalesforceSrv
	Cloud() CloudSrv
}

type service struct {
	store store.Factory
}

func NewService(store store.Factory) Service {
	return &service{
		store: store,
	}
}

func (s *service) HealthCheck() HealthCheckSrv {
	return newHealthCheck(s)
}

func (s *service) OrgOrder() OrgOrderSrv {
	return newOrgOrder(s)
}

func (s *service) Salesforce() SalesforceSrv {
	return newSalesforce(s)
}

func (s *service) Cloud() CloudSrv {
	return newCloud(s)
}
