profile

package
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2024 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Command = &cobra.Command{
	Use:   "profile",
	Short: "Manage profiles",
	Run: func(cmd *cobra.Command, args []string) {
		fmt.Println("Profile requires a subcommand:")
		for _, command := range cmd.Commands() {
			fmt.Println(command.Name())
		}
	},
}

Command represents this folder's command

View Source
var Profiles profiles

Profiles is the collection of profiles

Functions

func GetAll

func GetAll[T any](context context.Context, cmd *cobra.Command, uripath string) (resources []T, err error)

GetAllResources gets all resources of the given type

The Current profile will be set to the profile of the command

func ValidProfileNames

func ValidProfileNames(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective)

ValidProfileNames gets the valid profile names

Types

type BitBucketError

type BitBucketError struct {
	Type    string              `json:"type"`
	Message string              `json:"-"`
	Detail  string              `json:"-"`
	Fields  map[string][]string `json:"-"`
}

func (*BitBucketError) Error

func (bberr *BitBucketError) Error() string

func (*BitBucketError) UnmarshalJSON

func (bberr *BitBucketError) UnmarshalJSON(data []byte) (err error)

UnmarshalJSON unmarshals the JSON

type PaginatedResources

type PaginatedResources[T any] struct {
	Values   []T    `json:"values"`
	Page     int    `json:"page"`
	PageSize int    `json:"pagelen"`
	Size     int    `json:"size"`
	Next     string `json:"next"`
	Previous string `json:"previous"`
}

type Profile

type Profile struct {
	Name             string                 `json:"name"                       mapstructure:"name"`
	Description      string                 `json:"description,omitempty"      mapstructure:"description,omitempty"  yaml:",omitempty"`
	Default          bool                   `json:"default"                    mapstructure:"default"                yaml:",omitempty"`
	DefaultWorkspace string                 `json:"defaultWorkspace,omitempty" mapstructure:"defaultWorkspace"       yaml:",omitempty"`
	DefaultProject   string                 `json:"defaultProject,omitempty"   mapstructure:"defaultProject"         yaml:",omitempty"`
	ErrorProcessing  common.ErrorProcessing `json:"errorProcessing,omitempty"  mapstructure:"errorProcessing,omitempty" yaml:",omitempty"`
	OutputFormat     string                 `json:"outputFormat,omitempty"     mapstructure:"outputFormat,omitempty" yaml:",omitempty"`
	Progress         bool                   `json:"progress,omitempty"         mapstructure:"progress,omitempty"     yaml:",omitempty"`
	User             string                 `json:"user,omitempty"             mapstructure:"user"                   yaml:",omitempty"`
	Password         string                 `json:"password,omitempty"         mapstructure:"password"               yaml:",omitempty"`
	ClientID         string                 `json:"clientID,omitempty"         mapstructure:"clientID"               yaml:",omitempty"`
	ClientSecret     string                 `json:"clientSecret,omitempty"     mapstructure:"clientSecret"           yaml:",omitempty"`
	AccessToken      string                 `json:"accessToken,omitempty"      mapstructure:"accessToken"            yaml:",omitempty"`
	RefreshToken     string                 `json:"-"                          mapstructure:"refreshToken"           yaml:"-"`
	TokenExpires     time.Time              `json:"-"                          mapstructure:"tokenExpires"           yaml:"-"`
	TokenScopes      []string               `json:"-"                          mapstructure:"tokenScopes"            yaml:"-"`
}

Profile describes the configuration needed to connect to BitBucket

var Current *Profile

Current is the current profile

func GetProfileFromCommand added in v0.11.0

func GetProfileFromCommand(context context.Context, cmd *cobra.Command) (profile *Profile, err error)

GetProfileFromCommand gets the profile from the command line

If the profile is not given, it will use the current profile

func (*Profile) Delete

func (profile *Profile) Delete(context context.Context, cmd *cobra.Command, uripath string, response interface{}) (err error)

Delete deletes a resource

func (*Profile) Download added in v0.4.0

func (profile *Profile) Download(context context.Context, cmd *cobra.Command, uripath, destination string) (err error)

Download downloads a resource to a destination folder

The destination folder is the current folder if not specified

If the profile has its Progress flag set to true, it will show a progress bar. Otherwise, if the command has a flag --progress, it will show a progress bar.

func (*Profile) Get

func (profile *Profile) Get(context context.Context, cmd *cobra.Command, uripath string, response interface{}) (err error)

Get gets a resource

func (Profile) GetHeader added in v0.3.0

func (profile Profile) GetHeader(short bool) []string

GetHeader gets the header for a table

implements common.Tableable

func (Profile) GetRow added in v0.3.0

func (profile Profile) GetRow(headers []string) []string

GetRow gets the row for a table

implements common.Tableable

func (Profile) MarshalJSON added in v0.3.0

func (profile Profile) MarshalJSON() ([]byte, error)

MarshalJSON marshals this profile to JSON

implements json.Marshaler

func (*Profile) Patch

func (profile *Profile) Patch(context context.Context, cmd *cobra.Command, uripath string, body interface{}, response interface{}) (err error)

Patch patches a resource

func (*Profile) Post

func (profile *Profile) Post(context context.Context, cmd *cobra.Command, uripath string, body interface{}, response interface{}) (err error)

Post posts a resource

func (Profile) Print added in v0.3.0

func (profile Profile) Print(context context.Context, cmd *cobra.Command, payload any) error

Print prints the given payload to the console

func (*Profile) Put

func (profile *Profile) Put(context context.Context, cmd *cobra.Command, uripath string, body interface{}, response interface{}) (err error)

Put puts/updates a resource

func (Profile) ShouldIgnoreErrors added in v0.9.0

func (profile Profile) ShouldIgnoreErrors(cmd *cobra.Command) bool

ShouldIgnoreErrors tells if the command should ignore errors

func (Profile) ShouldStopOnError added in v0.9.0

func (profile Profile) ShouldStopOnError(cmd *cobra.Command) bool

ShouldStopOnError tells if the command should stop on error

func (Profile) ShouldWarnOnError added in v0.9.0

func (profile Profile) ShouldWarnOnError(cmd *cobra.Command) bool

ShouldWarnOnError tells if the command should warn on error

func (Profile) String

func (profile Profile) String() string

String gets a string representation of this profile

implements fmt.Stringer

func (*Profile) UnmarshalJSON added in v0.3.0

func (profile *Profile) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals this profile from JSON

implements json.Unmarshaler

func (*Profile) Update added in v0.3.0

func (profile *Profile) Update(other Profile) error

Update updates this profile with the given one

func (*Profile) Upload added in v0.4.0

func (profile *Profile) Upload(context context.Context, cmd *cobra.Command, uripath, source string) (err error)

Upload uploads a resource from a source file

If the profile has its Progress flag set to true, it will show a progress bar. Otherwise, if the command has a flag --progress, it will show a progress bar.

func (*Profile) Validate

func (profile *Profile) Validate() error

Validate validates a Profile

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL