add custom appid specifying support
This commit is contained in:
parent
cabe4c1b42
commit
9795ee0e4b
|
@ -52,7 +52,7 @@ AUTH_TOKEN=bearer-token-here # Put your token generated from the server .env fil
|
|||
Info: "This is a camera app",
|
||||
Pub: "matu6968",
|
||||
}
|
||||
newApp, err := c.UploadApp(metadata, "./index.js")
|
||||
newApp, err := client.UploadApp(metadata, "./index.js", "123456789011") // custom app id is optional
|
||||
if err != nil {
|
||||
log.Fatal("Failed to upload app:", err)
|
||||
}
|
||||
|
|
|
@ -33,6 +33,12 @@ type AppMetadata struct {
|
|||
Pub string `json:"pub"`
|
||||
}
|
||||
|
||||
// Extended metadata struct to include optional AppID
|
||||
type uploadMetadata struct {
|
||||
AppMetadata
|
||||
AppID string `json:"appid,omitempty"`
|
||||
}
|
||||
|
||||
// NewClient creates a new AppStore client
|
||||
func NewClient(baseURL, authToken string) *AppStoreClient {
|
||||
return &AppStoreClient{
|
||||
|
@ -62,14 +68,20 @@ func (c *AppStoreClient) GetApps() ([]App, error) {
|
|||
return apps, nil
|
||||
}
|
||||
|
||||
// UploadApp uploads a new app to the store
|
||||
func (c *AppStoreClient) UploadApp(metadata AppMetadata, filePath string) (*App, error) {
|
||||
// UploadApp uploads a new app to the store with an optional custom app ID
|
||||
func (c *AppStoreClient) UploadApp(metadata AppMetadata, filePath string, customAppID string) (*App, error) {
|
||||
// Create extended metadata with optional AppID
|
||||
extendedMetadata := uploadMetadata{
|
||||
AppMetadata: metadata,
|
||||
AppID: customAppID, // Will be omitted from JSON if empty
|
||||
}
|
||||
|
||||
// Create multipart form
|
||||
body := &bytes.Buffer{}
|
||||
writer := multipart.NewWriter(body)
|
||||
|
||||
// Add metadata
|
||||
metadataBytes, err := json.Marshal(metadata)
|
||||
metadataBytes, err := json.Marshal(extendedMetadata)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -124,6 +136,11 @@ func (c *AppStoreClient) UploadApp(metadata AppMetadata, filePath string) (*App,
|
|||
return &newApp, nil
|
||||
}
|
||||
|
||||
// Backwards compatibility wrapper
|
||||
func (c *AppStoreClient) UploadAppSimple(metadata AppMetadata, filePath string) (*App, error) {
|
||||
return c.UploadApp(metadata, filePath, "")
|
||||
}
|
||||
|
||||
// EditApp updates an existing app
|
||||
func (c *AppStoreClient) EditApp(appID string, metadata AppMetadata, filePath string) error {
|
||||
body := &bytes.Buffer{}
|
||||
|
|
Loading…
Reference in New Issue
Block a user