Documentation ¶
Index ¶
- Constants
- Variables
- func ApplyUpdate(ctx context.Context, p *UpdatePackage, dryRun bool, pgChan chan float64, ...)
- func AuthenticatedGet(uri string) (*http.Response, error)
- func AuthenticatedRequest(req *http.Request, sdkConfig *cells_sdk.SdkConfig) (*http.Response, error)
- func BuildParams(source []string, targetFolder string, targetParent bool) string
- func CheckKeyring() error
- func CleanURL(input string) (string, error)
- func ClearKeyring(c *CecConfig) error
- func ConfigFromKeyring(conf *CecConfig) error
- func ConfigToKeyring(conf *CecConfig) error
- func CopyJob(jsonParams string) (string, error)
- func CopyParams(source []string, targetFolder string) string
- func CreateSimpleFolderLink(targetNodeUuid, label string) (*models.RestShareLink, error)
- func DefaultConfigDirPath() string
- func DefaultConfigFilePath() string
- func DeleteNode(paths []string) (jobUUIDs []string, e error)
- func GetApiClient(anonymous ...bool) (context.Context, *client.PydioCellsRestAPI, error)
- func GetBulkMetaNode(path string) ([]*models.TreeNode, error)
- func GetConfigFilePath() string
- func GetFile(pathToFile string) (io.Reader, int, error)
- func GetS3Client() (*s3.S3, string, error)
- func GetTaskStatusForJob(jobID string) (status models.JobsTaskStatus, msg string, pg float32, e error)
- func IsForbiddenError(err error) bool
- func ListNodesPath(path string) ([]string, error)
- func MonitorJob(JobID string) (err error)
- func MoveJob(jsonParams string) (string, error)
- func MoveParams(source []string, targetFolder string) string
- func OAuthExchangeCode(c *cells_sdk.SdkConfig, code, callbackUrl string) error
- func OAuthPrepareUrl(serverUrl, state string, browser bool) (redirectUrl string, callbackUrl string, e error)
- func PutFile(pathToFile string, content io.ReadSeeker, checkExists bool, ...) (*s3.PutObjectOutput, error)
- func RandString(n int) string
- func RefreshAndStoreIfRequired(c *CecConfig) bool
- func RefreshIfRequired(cecConfig *CecConfig) (bool, error)
- func RenameParams(source []string, targetFolder string) string
- func RetrieveCurrentSessionLogin() (string, error)
- func RetrieveRemoteServerVersion() (*common.ServerVersion, error)
- func RetryCallback(callback func() error, number int, interval time.Duration) error
- func RunJob(jobName string, jsonParams string) (string, error)
- func SetConfigFilePath(confPath string)
- func StandardizeLink(old string) string
- func StatNode(pathToFile string) (*models.TreeNode, bool)
- func TreeCreateNodes(nodes []*models.TreeNode) error
- func Unique(length int) string
- func UpdateConfig(newConf *CecConfig) error
- func ValidURL(input string) error
- type BarsPool
- type CecConfig
- type ConfigList
- type CrawlNode
- func (c *CrawlNode) Base() string
- func (c *CrawlNode) CopyAll(dd []*CrawlNode, pool *BarsPool) (errs []error)
- func (c *CrawlNode) Dir() string
- func (c *CrawlNode) Join(p ...string) string
- func (c *CrawlNode) MkdirAll(dd []*CrawlNode, pool *BarsPool) error
- func (c *CrawlNode) Walk(current ...string) (children []*CrawlNode, e error)
- type PgReader
- type UpdatePackage
- type UpdateRequest
- type UpdateResponse
Constants ¶
const LetterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
const NoKeyringMsg = "" /* 132-byte string literal not displayed */
NoKeyringMsg warns end user when no keyring is found
Variables ¶
var ( // DefaultConfig stores the current active config. DefaultConfig *CecConfig DefaultContext context.Context DefaultTransport openapiruntime.ClientTransport )
var ( DryRun bool QueueSize = 3 )
Functions ¶
func ApplyUpdate ¶
func AuthenticatedGet ¶
AuthenticatedGet performs an authenticated GET request for the passed URI (that must start with a '/').
func AuthenticatedRequest ¶
func AuthenticatedRequest(req *http.Request, sdkConfig *cells_sdk.SdkConfig) (*http.Response, error)
AuthenticatedRequest performs the passed request after adding an authorization Header.
func CheckKeyring ¶
func CheckKeyring() error
CheckKeyring simply tries a write followed by a read in the local keyring and returns nothing if it works or an error otherwise.
func ClearKeyring ¶
ClearKeyring removes sensitive info from the local keychain, if they are present.
func ConfigFromKeyring ¶
ConfigFromKeyring tries to find sensitive info inside local keychain and feed the conf.
func ConfigToKeyring ¶
ConfigToKeyring stores sensitive information in local keyring if any and removes it from current SDK config.
func CopyParams ¶
func CreateSimpleFolderLink ¶
func CreateSimpleFolderLink(targetNodeUuid, label string) (*models.RestShareLink, error)
func DefaultConfigDirPath ¶
func DefaultConfigDirPath() string
func DefaultConfigFilePath ¶
func DefaultConfigFilePath() string
func DeleteNode ¶
func GetApiClient ¶
GetApiClient connects to the Pydio Cells server defined by this config, by sending an authentication request to the OIDC service to get a valid JWT (or taking the JWT from cache). It also returns a context to be used in subsequent requests.
func GetConfigFilePath ¶
func GetConfigFilePath() string
func GetTaskStatusForJob ¶
func GetTaskStatusForJob(jobID string) (status models.JobsTaskStatus, msg string, pg float32, e error)
GetTaskStatusForJob retrieves the task status, progress and message.
func IsForbiddenError ¶
func ListNodesPath ¶
func MonitorJob ¶
MonitorJob monitors a job status every second.
func MoveParams ¶
func OAuthExchangeCode ¶
OAuthExchangeCode gets an OAuth code and retrieves an AccessToken/RefreshToken pair. It updates the passed Conf
func OAuthPrepareUrl ¶
func OAuthPrepareUrl(serverUrl, state string, browser bool) (redirectUrl string, callbackUrl string, e error)
OAuthPrepareUrl makes a URL that can be opened in browser or copy/pasted by user
func PutFile ¶
func PutFile(pathToFile string, content io.ReadSeeker, checkExists bool, errChan ...chan error) (*s3.PutObjectOutput, error)
func RandString ¶
func RefreshIfRequired ¶
RefreshIfRequired refreshes the token inside the given conf if required.
func RenameParams ¶
func RetrieveCurrentSessionLogin ¶
RetrieveCurrentSessionLogin requests the registry of the current configured server & login and parse the result to get current user login. Typically useful when using PAT auth.
func RetrieveRemoteServerVersion ¶
func RetrieveRemoteServerVersion() (*common.ServerVersion, error)
RetrieveRemoteServerVersion gets the version info from the distant server. User must be authenticated (and admin ?).
func RetryCallback ¶
RetryCallback implements boiler plate code to easily call the same function until it suceeds or a time-out is reached.
func SetConfigFilePath ¶
func SetConfigFilePath(confPath string)
func StandardizeLink ¶
func TreeCreateNodes ¶
func UpdateConfig ¶
Types ¶
type BarsPool ¶
type BarsPool struct { *uiprogress.Progress // contains filtered or unexported fields }
func NewBarsPool ¶
type CecConfig ¶
type CecConfig struct { *cells_sdk.SdkConfig Label string `json:"label"` SkipKeyring bool `json:"skipKeyring"` AuthType string `json:"authType"` CreatedAtVersion string `json:"createdAtVersion"` }
CecConfig extends the default SdkConfig with custom parameters.
func CloneConfig ¶ added in v4.0.1
type ConfigList ¶
func GetConfigList ¶
func GetConfigList() (*ConfigList, error)
GetConfigList retrieves the current configurations stored in the config.json file.
func (*ConfigList) GetActiveConfig ¶
func (list *ConfigList) GetActiveConfig() (*CecConfig, error)
func (*ConfigList) Remove ¶
func (list *ConfigList) Remove(id string) error
Remove removes a config from the list of available configurations by its ID.
func (*ConfigList) SaveConfigFile ¶
func (list *ConfigList) SaveConfigFile() error
SaveConfigFile saves inside the config file.
func (*ConfigList) SetActiveConfig ¶
func (list *ConfigList) SetActiveConfig(id string) error
type CrawlNode ¶
type CrawlNode struct { IsLocal bool IsDir bool FullPath string RelPath string MTime time.Time Size int64 NewFileName string os.FileInfo models.TreeNode }
CrawlNode enables processing the scp command step by step.
func NewLocalNode ¶
NewLocalNode creates the base node for crawling in case of an upload.
func NewRemoteNode ¶
NewRemoteNode creates the base node for crawling in case of a download.
func (*CrawlNode) CopyAll ¶
CopyAll parallely performs the real upload/download of files that have been prepared during the Walk step.
type PgReader ¶
func (*PgReader) CreateErrorChan ¶
type UpdatePackage ¶
type UpdatePackage struct { // Name of the application PackageName string `json:"PackageName,omitempty"` // Version of this new binary Version string `json:"Version,omitempty"` // Release date of the binary ReleaseDate int32 `json:"ReleaseDate,omitempty"` // Short human-readable description Label string `json:"Label,omitempty"` // Long human-readable description (markdown) Description string `json:"Description,omitempty"` // List or public URL of change logs ChangeLog string `json:"ChangeLog,omitempty"` // License of this package License string `json:"License,omitempty"` // Https URL where to download the binary BinaryURL string `json:"BinaryURL,omitempty"` // Checksum of the binary to verify its integrity BinaryChecksum string `json:"BinaryChecksum,omitempty"` // Signature of the binary BinarySignature string `json:"BinarySignature,omitempty"` // Hash type used for the signature BinaryHashType string `json:"BinaryHashType,omitempty"` // Size of the binary to download // BinarySize int64 `json:"BinarySize,omitempty"` BinarySize string `json:"BinarySize,omitempty"` // GOOS value used at build time BinaryOS string `json:"BinaryOS,omitempty"` // GOARCH value used at build time BinaryArch string `json:"BinaryArch,omitempty"` // Not used : if binary is a patch IsPatch bool `json:"IsPatch,omitempty"` // Not used : if a patch, how to patch (bsdiff support) PatchAlgorithm string `json:"PatchAlgorithm,omitempty"` }
func LoadUpdates ¶
func LoadUpdates(ctx context.Context, channel string) ([]*UpdatePackage, error)
type UpdateRequest ¶
type UpdateRequest struct { // Channel name Channel string `json:"Channel,omitempty"` // Name of the currently running application PackageName string `json:"PackageName,omitempty"` // Current version of the application CurrentVersion string `json:"CurrentVersion,omitempty"` // Current GOOS GOOS string `json:"GOOS,omitempty"` // Current GOARCH GOARCH string `json:"GOARCH,omitempty"` // Not Used : specific service to get updates for ServiceName string `json:"ServiceName,omitempty"` // For enterprise version, info about the current license LicenseInfo map[string]string `json:"LicenseInfo,omitempty"` }
type UpdateResponse ¶
type UpdateResponse struct { Channel string `json:"Channel,omitempty"` // List of available binaries AvailableBinaries []*UpdatePackage `json:"AvailableBinaries,omitempty"` }