add content subcommand
This commit is contained in:
		
							parent
							
								
									cc59c2bfc8
								
							
						
					
					
						commit
						3c4f51e94d
					
				|  | @ -0,0 +1,61 @@ | |||
| /* | ||||
| Copyright © 2024 filifa | ||||
| 
 | ||||
| This program is free software: you can redistribute it and/or modify | ||||
| it under the terms of the GNU General Public License as published by | ||||
| the Free Software Foundation, either version 3 of the License, or | ||||
| (at your option) any later version. | ||||
| 
 | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU General Public License for more details. | ||||
| 
 | ||||
| You should have received a copy of the GNU General Public License | ||||
| along with this program. If not, see <http://www.gnu.org/licenses/>.
 | ||||
| */ | ||||
| package cmd | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"log" | ||||
| 	"strconv" | ||||
| 
 | ||||
| 	"github.com/spf13/cobra" | ||||
| 	"scm.dairydemon.net/filifa/mlblive/cmd/internal/statsapi" | ||||
| ) | ||||
| 
 | ||||
| func content(cmd *cobra.Command, args []string) { | ||||
| 	pkStr := strconv.Itoa(gamePk) | ||||
| 
 | ||||
| 	contentResp, err := statsapi.RequestContent(pkStr) | ||||
| 	if err != nil { | ||||
| 		log.Fatal(err) | ||||
| 	} | ||||
| 
 | ||||
| 	fmt.Println(string(contentResp)) | ||||
| } | ||||
| 
 | ||||
| // contentCmd represents the content command
 | ||||
| var contentCmd = &cobra.Command{ | ||||
| 	Use:   "content -g [gamePk]", | ||||
| 	Short: "Fetch game highlights", | ||||
| 	Long:  `Fetch game highlights`, | ||||
| 	Args:  cobra.NoArgs, | ||||
| 	Run:   content, | ||||
| } | ||||
| 
 | ||||
| func init() { | ||||
| 	rootCmd.AddCommand(contentCmd) | ||||
| 
 | ||||
| 	// Here you will define your flags and configuration settings.
 | ||||
| 
 | ||||
| 	// Cobra supports Persistent Flags which will work for this command
 | ||||
| 	// and all subcommands, e.g.:
 | ||||
| 	// contentCmd.PersistentFlags().String("foo", "", "A help for foo")
 | ||||
| 
 | ||||
| 	// Cobra supports local flags which will only run when this command
 | ||||
| 	// is called directly, e.g.:
 | ||||
| 	contentCmd.Flags().IntVarP(&gamePk, "gamePk", "g", 0, "game PK") | ||||
| 	contentCmd.MarkFlagRequired("gamePk") | ||||
| } | ||||
|  | @ -38,6 +38,10 @@ func RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) (DiffPatchResp | |||
| 	return DefaultClient.RequestDiffPatch(gamePk, startTimecode, pushUpdateId) | ||||
| } | ||||
| 
 | ||||
| func RequestContent(gamePk string) ([]byte, error) { | ||||
| 	return DefaultClient.RequestContent(gamePk) | ||||
| } | ||||
| 
 | ||||
| type DiffPatchResponse []byte | ||||
| 
 | ||||
| type Client struct { | ||||
|  | @ -98,6 +102,11 @@ func (c *Client) RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) (D | |||
| 	return c.get(&endpoint) | ||||
| } | ||||
| 
 | ||||
| func (c *Client) RequestContent(gamePk string) ([]byte, error) { | ||||
| 	endpoint := url.URL{Path: "api/v1/game/" + gamePk + "/content"} | ||||
| 	return c.get(&endpoint) | ||||
| } | ||||
| 
 | ||||
| func (c *Client) get(endpoint *url.URL) ([]byte, error) { | ||||
| 	url := c.baseURL.ResolveReference(endpoint) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue