@@ -39,23 +39,33 @@ type ReferrerUseCase struct {
3939 membershipUseCase * MembershipUseCase
4040 workflowRepo WorkflowRepo
4141 logger * log.Helper
42- indexConfig * conf. ReferrerSharedIndex
42+ indexConfig * IndexConfig
4343}
4444
45- func NewReferrerUseCase (repo ReferrerRepo , wfRepo WorkflowRepo , membershipUseCase * MembershipUseCase , indexCfg * conf.ReferrerSharedIndex , l log.Logger ) (* ReferrerUseCase , error ) {
45+ type IndexConfig struct {
46+ Enabled bool
47+ AllowedOrgs []string
48+ }
49+
50+ func NewIndexConfig (cfg * conf.ReferrerSharedIndex ) (* IndexConfig , error ) {
51+ if err := cfg .ValidateOrgs (); err != nil {
52+ return nil , fmt .Errorf ("invalid shared index config: %w" , err )
53+ }
54+
55+ return & IndexConfig {
56+ Enabled : cfg .Enabled ,
57+ AllowedOrgs : cfg .AllowedOrgs ,
58+ }, nil
59+ }
60+
61+ func NewReferrerUseCase (repo ReferrerRepo , wfRepo WorkflowRepo , membershipUseCase * MembershipUseCase , indexCfg * IndexConfig , l log.Logger ) (* ReferrerUseCase , error ) {
4662 if l == nil {
4763 l = log .NewStdLogger (io .Discard )
4864 }
4965 logger := servicelogger .ScopedHelper (l , "biz/referrer" )
5066
51- if indexCfg != nil {
52- if err := indexCfg .ValidateOrgs (); err != nil {
53- return nil , fmt .Errorf ("invalid shared index config: %w" , err )
54- }
55-
56- if indexCfg .Enabled {
57- logger .Infow ("msg" , "shared index enabled" , "allowedOrgs" , indexCfg .AllowedOrgs )
58- }
67+ if indexCfg != nil && indexCfg .Enabled {
68+ logger .Infow ("msg" , "shared index enabled" , "allowedOrgs" , indexCfg .AllowedOrgs )
5969 }
6070
6171 return & ReferrerUseCase {
0 commit comments