github.com/defanghe/fabric@v2.1.1+incompatible/discovery/support/support.go (about) 1 /* 2 Copyright IBM Corp. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package support 8 9 import ( 10 "github.com/hyperledger/fabric/common/channelconfig" 11 "github.com/hyperledger/fabric/common/configtx" 12 "github.com/hyperledger/fabric/common/policies" 13 "github.com/hyperledger/fabric/discovery" 14 "github.com/hyperledger/fabric/discovery/support/acl" 15 "github.com/hyperledger/fabric/discovery/support/config" 16 "github.com/hyperledger/fabric/msp" 17 ) 18 19 //go:generate mockery -dir . -name GossipSupport -case underscore -output mocks/ 20 21 // GossipSupport is the local interface used to generate mocks for foreign interface. 22 type GossipSupport interface { 23 discovery.GossipSupport 24 } 25 26 //go:generate mockery -dir . -name ChannelPolicyManagerGetter -case underscore -output mocks/ 27 28 // ChannelPolicyManagerGetter is the local interface used to generate mocks for foreign interface. 29 type ChannelPolicyManagerGetter interface { 30 acl.ChannelPolicyManagerGetter 31 } 32 33 //go:generate mockery -dir . -name PolicyManager -case underscore -output mocks/ 34 35 type PolicyManager interface { 36 policies.Manager 37 } 38 39 //go:generate counterfeiter -o mocks/channel_config_getter.go --fake-name ChannelConfigGetter . channelConfigGetter 40 type channelConfigGetter interface { 41 acl.ChannelConfigGetter 42 } 43 44 //go:generate counterfeiter -o mocks/config_block_getter.go --fake-name ConfigBlockGetter . configBlockGetter 45 type configBlockGetter interface { 46 config.CurrentConfigBlockGetter 47 } 48 49 //go:generate counterfeiter -o mocks/configtx_validator.go --fake-name ConfigtxValidator . configtxValidator 50 type configtxValidator interface { 51 configtx.Validator 52 } 53 54 //go:generate counterfeiter -o mocks/evaluator.go --fake-name Evaluator . evaluator 55 type evaluator interface { 56 acl.Evaluator 57 } 58 59 //go:generate counterfeiter -o mocks/identity.go --fake-name Identity . identity 60 type identity interface { 61 msp.Identity 62 } 63 64 //go:generate counterfeiter -o mocks/msp_manager.go --fake-name MSPManager . mspManager 65 type mspManager interface { 66 msp.MSPManager 67 } 68 69 //go:generate counterfeiter -o mocks/resources.go --fake-name Resources . resources 70 type resources interface { 71 channelconfig.Resources 72 } 73 74 //go:generate counterfeiter -o mocks/verifier.go --fake-name Verifier . verifier 75 type verifier interface { 76 acl.Verifier 77 } 78 79 // DiscoverySupport aggregates all the support needed for the discovery service 80 type DiscoverySupport struct { 81 discovery.AccessControlSupport 82 discovery.GossipSupport 83 discovery.EndorsementSupport 84 discovery.ConfigSupport 85 discovery.ConfigSequenceSupport 86 } 87 88 // NewDiscoverySupport returns an aggregated discovery support 89 func NewDiscoverySupport( 90 access discovery.AccessControlSupport, 91 gossip discovery.GossipSupport, 92 endorsement discovery.EndorsementSupport, 93 config discovery.ConfigSupport, 94 sequence discovery.ConfigSequenceSupport, 95 ) *DiscoverySupport { 96 return &DiscoverySupport{ 97 AccessControlSupport: access, 98 GossipSupport: gossip, 99 EndorsementSupport: endorsement, 100 ConfigSupport: config, 101 ConfigSequenceSupport: sequence, 102 } 103 }