ente/pkg/download.go
Neeraj Gupta 2b2c3f47d8 Rename
2023-09-25 19:12:56 +05:30

48 lines
997 B
Go

package pkg
import (
"cli-go/pkg/model"
"context"
"encoding/json"
"fmt"
"log"
"os"
)
func (c *ClICtrl) initiateDownload(ctx context.Context) error {
files, err := c.getRemoteFiles(ctx)
if err != nil {
return err
}
dir, err := os.MkdirTemp("", "photos-download")
if err != nil {
return err
}
for _, file := range files {
downloadPath := fmt.Sprintf("%s/%d", dir, file.ID)
log.Printf("Downloading file %d to %s", file.ID, downloadPath)
//err = c.Client.DownloadFile(ctx, file.ID, downloadPath)
//if err != nil {
// return err
//}
}
return nil
}
func (c *ClICtrl) getRemoteFiles(ctx context.Context) ([]model.RemoteFile, error) {
files := make([]model.RemoteFile, 0)
fileBytes, err := c.GetAllValues(ctx, model.RemoteFiles)
if err != nil {
return nil, err
}
for _, fileJson := range fileBytes {
file := model.RemoteFile{}
err = json.Unmarshal(fileJson, &file)
if err != nil {
return nil, err
}
files = append(files, file)
}
return files, nil
}