controller.go 521 B

1234567891011121314151617181920212223242526
  1. package pkg
  2. import (
  3. "cli-go/internal/api"
  4. "cli-go/pkg/secrets"
  5. "fmt"
  6. bolt "go.etcd.io/bbolt"
  7. )
  8. type ClICtrl struct {
  9. Client *api.Client
  10. DB *bolt.DB
  11. // CliKey is the key used to encrypt/decrypt sensitive data stored in the database
  12. CliKey []byte
  13. KeyHolder *secrets.KeyHolder
  14. }
  15. func (c *ClICtrl) Init() error {
  16. return c.DB.Update(func(tx *bolt.Tx) error {
  17. _, err := tx.CreateBucketIfNotExists([]byte(AccBucket))
  18. if err != nil {
  19. return fmt.Errorf("create bucket: %s", err)
  20. }
  21. return nil
  22. })
  23. }