github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/examples/get_array/main.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"log"
     7  	"strings"
     8  
     9  	"github.com/grokify/mogo/fmt/fmtutil"
    10  	"github.com/jessevdk/go-flags"
    11  
    12  	utils "github.com/grokify/go-ringcentral-client/engagedigital/v1/util"
    13  )
    14  
    15  type options struct {
    16  	Site   string `short:"s" long:"site" description:"A site" required:"true"`
    17  	Token  string `short:"t" long:"token" description:"A token" required:"true"`
    18  	Object string `short:"o" long:"object" description:"An object" required:"true"`
    19  	Id     string `short:"i" long:"id" description:"An object id" required:"false"`
    20  }
    21  
    22  func main() {
    23  	opts := options{}
    24  	_, err := flags.Parse(&opts)
    25  	if err != nil {
    26  		log.Fatal(err)
    27  	}
    28  
    29  	client := utils.NewApiClient(opts.Site, opts.Token)
    30  
    31  	opts.Id = strings.TrimSpace(opts.Id)
    32  	opts.Object = strings.ToLower(strings.TrimSpace(opts.Object))
    33  
    34  	switch opts.Object {
    35  
    36  	case "locale":
    37  		info, resp, err := client.LocalesApi.GetAllLocales(context.Background())
    38  		if err != nil {
    39  			log.Fatal(err)
    40  		} else if resp.StatusCode != 200 {
    41  			log.Fatal(resp.StatusCode)
    42  		}
    43  		fmtutil.PrintJSON(info)
    44  	}
    45  
    46  	fmt.Println("DONE")
    47  }