github.com/covergates/covergates@v0.2.2-0.20201009050117-42ef8a19fb95/cmd/server/inject_service.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/covergates/covergates/config"
     5  	"github.com/covergates/covergates/core"
     6  	"github.com/covergates/covergates/modules/charts"
     7  	"github.com/covergates/covergates/modules/git"
     8  	"github.com/covergates/covergates/modules/hook"
     9  	"github.com/covergates/covergates/modules/oauth"
    10  	"github.com/covergates/covergates/modules/repo"
    11  	"github.com/covergates/covergates/modules/report"
    12  	"github.com/covergates/covergates/modules/scm"
    13  	"github.com/covergates/covergates/modules/session"
    14  	"github.com/covergates/covergates/service/coverage"
    15  	"github.com/google/wire"
    16  )
    17  
    18  var serviceSet = wire.NewSet(
    19  	provideSCMService,
    20  	provideSession,
    21  	provideCoverageService,
    22  	provideChartService,
    23  	provideGit,
    24  	provideReportService,
    25  	provideHookService,
    26  	provideOAuthService,
    27  	provideRepoService,
    28  )
    29  
    30  func provideSCMService(
    31  	config *config.Config,
    32  	userStore core.UserStore,
    33  	git core.Git,
    34  ) core.SCMService {
    35  	return &scm.Service{
    36  		Config:    config,
    37  		UserStore: userStore,
    38  		Git:       git,
    39  	}
    40  }
    41  
    42  func provideSession() core.Session {
    43  	return &session.Session{}
    44  }
    45  
    46  func provideCoverageService() core.CoverageService {
    47  	return &coverage.Service{}
    48  }
    49  
    50  func provideChartService() core.ChartService {
    51  	return &charts.ChartService{}
    52  }
    53  
    54  func provideGit() core.Git {
    55  	return &git.Service{}
    56  }
    57  
    58  func provideReportService(
    59  	Config *config.Config,
    60  	RepoStore core.RepoStore,
    61  ) core.ReportService {
    62  	return &report.Service{
    63  		Config:    Config,
    64  		RepoStore: RepoStore,
    65  	}
    66  }
    67  
    68  func provideHookService(
    69  	SCM core.SCMService,
    70  	RepoStore core.RepoStore,
    71  	ReportStore core.ReportStore,
    72  	ReportService core.ReportService,
    73  ) core.HookService {
    74  	return &hook.Service{
    75  		SCM:           SCM,
    76  		RepoStore:     RepoStore,
    77  		ReportService: ReportService,
    78  		ReportStore:   ReportStore,
    79  	}
    80  }
    81  
    82  func provideOAuthService(
    83  	Config *config.Config,
    84  	OAuthStore core.OAuthStore,
    85  	UserStore core.UserStore,
    86  ) core.OAuthService {
    87  	return oauth.NewService(Config, OAuthStore, UserStore)
    88  }
    89  
    90  func provideRepoService(
    91  	config *config.Config,
    92  	scmService core.SCMService,
    93  	userStore core.UserStore,
    94  	repoStore core.RepoStore,
    95  ) core.RepoService {
    96  	return repo.NewService(config, scmService, userStore, repoStore)
    97  
    98  }