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