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 }