ente/pkg/cli.go
2023-10-16 21:57:31 +05:30

32 lines
557 B
Go

package pkg
import (
"cli-go/internal/api"
"cli-go/pkg/secrets"
"fmt"
bolt "go.etcd.io/bbolt"
"os"
)
type ClICtrl struct {
Client *api.Client
DB *bolt.DB
KeyHolder *secrets.KeyHolder
tempFolder string
}
func (c *ClICtrl) Init() error {
dir, err := os.MkdirTemp("", "ente-cli-download")
if err != nil {
return err
}
c.tempFolder = dir
return c.DB.Update(func(tx *bolt.Tx) error {
_, err := tx.CreateBucketIfNotExists([]byte(AccBucket))
if err != nil {
return fmt.Errorf("create bucket: %s", err)
}
return nil
})
}