Added error handling and logging

This commit is contained in:
Tim Shannon
2016-03-31 22:32:56 -05:00
parent a5660ba38f
commit 6f53ea70c0
3 changed files with 84 additions and 36 deletions

View File

@ -4,7 +4,12 @@
package datastore
import "time"
import (
"encoding/json"
"time"
"github.com/boltdb/bolt"
)
type release struct {
When time.Time `json:"when"`
@ -28,15 +33,17 @@ func (ds *Store) AddRelease(version string, fileData []byte) error {
FileKey: fileKey,
}
err := ds.put(bucketReleases, key, r)
dsValue, err := json.Marshal(r)
if err != nil {
return err
}
err = ds.put(bucketFiles, fileKey, fileData)
if err != nil {
return err
}
return ds.bolt.Update(func(tx *bolt.Tx) error {
err = tx.Bucket([]byte(bucketReleases)).Put(key.Bytes(), dsValue)
if err != nil {
return err
}
return nil
return tx.Bucket([]byte(bucketFiles)).Put(fileKey.Bytes(), fileData)
})
}