// Code generated by Wire. DO NOT EDIT. //go:build !wireinject && harness // +build !wireinject,harness package server import ( "context" "github.com/harness/gitness/harness/auth/authn" "github.com/harness/gitness/harness/auth/authz" "github.com/harness/gitness/harness/bootstrap" "github.com/harness/gitness/harness/client" "github.com/harness/gitness/harness/router" types2 "github.com/harness/gitness/harness/types" "github.com/harness/gitness/internal/api/controller/repo" "github.com/harness/gitness/internal/api/controller/service" "github.com/harness/gitness/internal/api/controller/space" "github.com/harness/gitness/internal/api/controller/user" "github.com/harness/gitness/internal/cron" "github.com/harness/gitness/internal/gitrpc" router2 "github.com/harness/gitness/internal/router" "github.com/harness/gitness/internal/server" "github.com/harness/gitness/internal/store/database" "github.com/harness/gitness/internal/store/memory" "github.com/harness/gitness/types" ) // Injectors from harness.wire.go: func initSystem(ctx context.Context, config *types.Config) (*system, error) { typesConfig, err := types2.LoadConfig() if err != nil { return nil, err } serviceJWTProvider, err := client.ProvideServiceJWTProvider(typesConfig) if err != nil { return nil, err } aclClient, err := client.ProvideACLClient(serviceJWTProvider, typesConfig) if err != nil { return nil, err } authorizer := authz.ProvideAuthorizer(typesConfig, aclClient) db, err := database.ProvideDatabase(ctx, config) if err != nil { return nil, err } userStore := database.ProvideUserStore(db) tokenStore := database.ProvideTokenStore(db) controller := user.NewController(authorizer, userStore, tokenStore) serviceStore := database.ProvideServiceStore(db) serviceController := service.NewController(authorizer, serviceStore) bootstrapBootstrap := bootstrap.ProvideBootstrap(config, controller, serviceController) systemStore := memory.New(config) tokenClient, err := client.ProvideTokenClient(serviceJWTProvider, typesConfig) if err != nil { return nil, err } userClient, err := client.ProvideUserClient(serviceJWTProvider, typesConfig) if err != nil { return nil, err } serviceAccountClient, err := client.ProvideServiceAccountClient(serviceJWTProvider, typesConfig) if err != nil { return nil, err } serviceAccountStore := database.ProvideServiceAccountStore(db) authenticator, err := authn.ProvideAuthenticator(userStore, tokenClient, userClient, typesConfig, serviceAccountClient, serviceAccountStore, serviceStore) if err != nil { return nil, err } accountClient, err := client.ProvideAccountClient(serviceJWTProvider, typesConfig) if err != nil { return nil, err } spaceStore := database.ProvideSpaceStore(db) repoStore := database.ProvideRepoStore(db) spaceController := space.NewController(authorizer, spaceStore, repoStore, serviceAccountStore) clientConfig := ProvideGitRPCClientConfig(config) gitrpcInterface, err := gitrpc.ProvideClient(clientConfig) if err != nil { return nil, err } repoController := repo.ProvideController(authorizer, spaceStore, repoStore, serviceAccountStore, gitrpcInterface) apiHandler := router.ProvideAPIHandler(systemStore, authenticator, accountClient, spaceController, repoController) gitHandler := router2.ProvideGitHandler(repoStore, authenticator) webHandler := router2.ProvideWebHandler(systemStore) routerRouter := router2.ProvideRouter(apiHandler, gitHandler, webHandler) serverServer := server.ProvideServer(config, routerRouter) serverConfig := ProvideGitRPCServerConfig(config) gitrpcServer, err := gitrpc.ProvideServer(serverConfig) if err != nil { return nil, err } nightly := cron.NewNightly() serverSystem := newSystem(bootstrapBootstrap, serverServer, gitrpcServer, nightly) return serverSystem, nil }