github.com/yacovm/fabric@v2.0.0-alpha.0.20191128145320-c5d4087dc723+incompatible/common/channelconfig/consortiums.go (about)

     1  /*
     2  Copyright IBM Corp. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package channelconfig
     8  
     9  import (
    10  	cb "github.com/hyperledger/fabric-protos-go/common"
    11  )
    12  
    13  const (
    14  	// ConsortiumsGroupKey is the group name for the consortiums config
    15  	ConsortiumsGroupKey = "Consortiums"
    16  )
    17  
    18  // ConsortiumsConfig holds the consoritums configuration information
    19  type ConsortiumsConfig struct {
    20  	consortiums map[string]Consortium
    21  }
    22  
    23  // NewConsortiumsConfig creates a new instance of the consoritums config
    24  func NewConsortiumsConfig(consortiumsGroup *cb.ConfigGroup, mspConfig *MSPConfigHandler) (*ConsortiumsConfig, error) {
    25  	cc := &ConsortiumsConfig{
    26  		consortiums: make(map[string]Consortium),
    27  	}
    28  
    29  	for consortiumName, consortiumGroup := range consortiumsGroup.Groups {
    30  		var err error
    31  		if cc.consortiums[consortiumName], err = NewConsortiumConfig(consortiumGroup, mspConfig); err != nil {
    32  			return nil, err
    33  		}
    34  	}
    35  	return cc, nil
    36  }
    37  
    38  // Consortiums returns a map of the current consortiums
    39  func (cc *ConsortiumsConfig) Consortiums() map[string]Consortium {
    40  	return cc.consortiums
    41  }