MCPcopy Create free account
hub / github.com/AndroidPoet/playconsole-cli / runGet

Function runGet

cmd/playconsole-cli/commands/apps/apps.go:122–173  ·  view source on GitHub ↗
(cmd *cobra.Command, args []string)

Source from the content-addressed store, hash-verified

120}
121
122func runGet(cmd *cobra.Command, args []string) error {
123 if err := cli.RequirePackage(cmd); err != nil {
124 return err
125 }
126
127 client, err := api.NewClient(cli.GetPackageName(), 60*time.Second)
128 if err != nil {
129 return err
130 }
131
132 // Create a temporary edit to verify access and get app info
133 edit, err := client.CreateEdit()
134 if err != nil {
135 return err
136 }
137 defer edit.Close()
138 defer func() {
139 _ = edit.Delete() // Don't commit, just checking access
140 }()
141
142 // Get app details
143 ctx := edit.Context()
144 details, err := edit.Details().Get(client.GetPackageName(), edit.ID()).Context(ctx).Do()
145 if err != nil {
146 return err
147 }
148
149 // Get available tracks for additional info
150 tracks, err := edit.Tracks().List(client.GetPackageName(), edit.ID()).Context(ctx).Do()
151 if err != nil {
152 // Non-fatal, just means we can't get track info
153 tracks = nil
154 }
155
156 result := map[string]interface{}{
157 "package_name": client.GetPackageName(),
158 "default_language": details.DefaultLanguage,
159 "contact_email": details.ContactEmail,
160 "contact_phone": details.ContactPhone,
161 "contact_website": details.ContactWebsite,
162 }
163
164 if tracks != nil {
165 trackNames := make([]string, 0, len(tracks.Tracks))
166 for _, t := range tracks.Tracks {
167 trackNames = append(trackNames, t.Track)
168 }
169 result["tracks"] = trackNames
170 }
171
172 return output.Print(result)
173}

Callers

nothing calls this directly

Calls 12

CreateEditMethod · 0.95
GetPackageNameMethod · 0.95
RequirePackageFunction · 0.92
NewClientFunction · 0.92
GetPackageNameFunction · 0.92
PrintFunction · 0.92
CloseMethod · 0.80
DeleteMethod · 0.80
DetailsMethod · 0.80
IDMethod · 0.80
TracksMethod · 0.80
ContextMethod · 0.45

Tested by

no test coverage detected