本文整理汇总了Golang中github.com/ParsePlatform/parse-cli/parsecli.Env.ParseAPIClient方法的典型用法代码示例。如果您正苦于以下问题:Golang Env.ParseAPIClient方法的具体用法?Golang Env.ParseAPIClient怎么用?Golang Env.ParseAPIClient使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/ParsePlatform/parse-cli/parsecli.Env
的用法示例。
在下文中一共展示了Env.ParseAPIClient方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: configureSample
func (n *newCmd) configureSample(
add *addCmd,
name string,
appConfig parsecli.AppConfig,
args []string,
e *parsecli.Env,
) error {
if err := add.addSelectedApp(name, appConfig, args, e); err != nil {
return err
}
masterKey, err := appConfig.GetMasterKey(e)
if err != nil {
return err
}
e.ParseAPIClient = e.ParseAPIClient.WithCredentials(
parse.MasterKey{
ApplicationID: appConfig.GetApplicationID(),
MasterKey: masterKey,
},
)
if e.Type == parsecli.ParseFormat {
return parsecmd.UseLatestJSSDK(e)
}
return nil
}
示例2: CloneSampleCloudCode
func CloneSampleCloudCode(
e *parsecli.Env,
isNew, configOnly bool,
appConfig parsecli.AppConfig) (bool, error) {
dumpTemplate := false
if !isNew && !configOnly {
// if parse app was already created try to fetch Cloud Code and populate dir
masterKey, err := appConfig.GetMasterKey(e)
if err != nil {
return false, err
}
e.ParseAPIClient = e.ParseAPIClient.WithCredentials(
parse.MasterKey{
ApplicationID: appConfig.GetApplicationID(),
MasterKey: masterKey,
},
)
d := &downloadCmd{destination: e.Root}
err = d.run(e, nil)
if err != nil {
if err == errNoFiles {
dumpTemplate = true
} else {
fmt.Fprintln(
e.Out,
`
NOTE: If you like to fetch the latest deployed Cloud Code from Parse,
you can use the "parse download" command after finishing the set up.
This will download Cloud Code to a temporary location.
`,
)
}
}
}
dumpTemplate = (isNew || dumpTemplate) && !configOnly
return dumpTemplate, parsecli.CloneSampleCloudCode(e, dumpTemplate)
}
示例3: main
func main() {
// some parts of apps.go are unable to handle
// interrupts, this logic ensures we exit on system interrupts
interrupt := make(chan os.Signal, 1)
signal.Notify(interrupt, os.Interrupt)
go func() {
<-interrupt
os.Exit(1)
}()
e := parsecli.Env{
Root: os.Getenv("PARSE_ROOT"),
Server: os.Getenv("PARSE_SERVER"),
ErrorStack: os.Getenv("PARSE_ERROR_STACK") == "1",
ParserEmail: os.Getenv("PARSER_EMAIL"),
Out: os.Stdout,
Err: os.Stderr,
In: os.Stdin,
Exit: os.Exit,
Clock: clock.New(),
}
if e.Root == "" {
cur, err := os.Getwd()
if err != nil {
fmt.Fprintf(e.Err, "Failed to get current directory:\n%s\n", err)
os.Exit(1)
}
root := parsecli.GetProjectRoot(&e, cur)
if parsecli.IsProjectDir(root) {
e.Root = root
config, err := parsecli.ConfigFromDir(root)
if err != nil {
fmt.Fprintln(e.Err, err)
os.Exit(1)
}
e.Type = config.GetProjectConfig().Type
if e.ParserEmail == "" {
e.ParserEmail = config.GetProjectConfig().ParserEmail
}
} else {
e.Type = parsecli.LegacyParseFormat
e.Root = parsecli.GetLegacyProjectRoot(&e, cur)
}
}
if e.Type != parsecli.LegacyParseFormat && e.Type != parsecli.ParseFormat && e.Type != parsecli.HerokuFormat {
fmt.Fprintf(e.Err, "Unknown project type %d.\n", e.Type)
os.Exit(1)
}
if e.Server == "" {
e.Server = parsecli.DefaultBaseURL
}
apiClient, err := parsecli.NewParseAPIClient(&e)
if err != nil {
fmt.Fprintln(e.Err, err)
os.Exit(1)
}
e.ParseAPIClient = apiClient
if e.Type == parsecli.HerokuFormat {
apiClient, err := parsecli.NewHerokuAPIClient(&e)
if err != nil {
fmt.Fprintln(e.Err, err)
os.Exit(1)
}
e.HerokuAPIClient = apiClient
}
var (
rootCmd *cobra.Command
command []string
)
switch e.Type {
case parsecli.LegacyParseFormat, parsecli.ParseFormat:
command, rootCmd = parseRootCmd(&e)
case parsecli.HerokuFormat:
command, rootCmd = herokuRootCmd(&e)
}
if len(command) == 0 || command[0] != "update" {
message, err := checkIfSupported(&e, parsecli.Version, command...)
if err != nil {
fmt.Fprintln(e.Err, err)
os.Exit(1)
}
if message != "" {
fmt.Fprintln(e.Err, message)
}
}
if err := rootCmd.Execute(); err != nil {
// Error is already printed in Execute()
os.Exit(1)
}
}