github.com/swisscom/cloudfoundry-cli@v7.1.0+incompatible/cf/configuration/coreconfig/config_data.go (about)

     1  package coreconfig
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	"code.cloudfoundry.org/cli/cf/models"
     7  	"code.cloudfoundry.org/cli/util/configv3"
     8  )
     9  
    10  type AuthPromptType string
    11  
    12  const (
    13  	AuthPromptTypeText     AuthPromptType = "TEXT"
    14  	AuthPromptTypePassword AuthPromptType = "PASSWORD"
    15  )
    16  
    17  type AuthPrompt struct {
    18  	Type        AuthPromptType
    19  	DisplayName string
    20  }
    21  
    22  type Data struct {
    23  	AccessToken              string
    24  	APIVersion               string
    25  	AsyncTimeout             uint
    26  	AuthorizationEndpoint    string
    27  	ColorEnabled             string
    28  	ConfigVersion            int
    29  	DopplerEndPoint          string
    30  	Locale                   string
    31  	LogCacheEndPoint         string
    32  	MinCLIVersion            string
    33  	MinRecommendedCLIVersion string
    34  	OrganizationFields       models.OrganizationFields
    35  	PluginRepos              []models.PluginRepo
    36  	RefreshToken             string
    37  	RoutingAPIEndpoint       string
    38  	SpaceFields              models.SpaceFields
    39  	SSHOAuthClient           string
    40  	SSLDisabled              bool
    41  	Target                   string
    42  	Trace                    string
    43  	UaaEndpoint              string
    44  	UAAGrantType             string
    45  	UAAOAuthClient           string
    46  	UAAOAuthClientSecret     string
    47  }
    48  
    49  func NewData() *Data {
    50  	data := new(Data)
    51  
    52  	data.UAAOAuthClient = "cf"
    53  	data.UAAOAuthClientSecret = ""
    54  
    55  	return data
    56  }
    57  
    58  func (d *Data) JSONMarshalV3() ([]byte, error) {
    59  	d.ConfigVersion = configv3.CurrentConfigVersion
    60  	return json.MarshalIndent(d, "", "  ")
    61  }
    62  
    63  func (d *Data) JSONUnmarshalV3(input []byte) error {
    64  	err := json.Unmarshal(input, d)
    65  	if err != nil {
    66  		return err
    67  	}
    68  
    69  	if d.ConfigVersion != configv3.CurrentConfigVersion {
    70  		*d = Data{}
    71  		return nil
    72  	}
    73  
    74  	return nil
    75  }