summaryrefslogtreecommitdiff
path: root/internal/vote
diff options
context:
space:
mode:
Diffstat (limited to 'internal/vote')
-rw-r--r--internal/vote/vote.go12
-rw-r--r--internal/vote/vote_test.go4
2 files changed, 10 insertions, 6 deletions
diff --git a/internal/vote/vote.go b/internal/vote/vote.go
index 137beed..8ad5a37 100644
--- a/internal/vote/vote.go
+++ b/internal/vote/vote.go
@@ -26,16 +26,20 @@ func New(ids []string) (Vote, error) {
return v, nil
}
-func NewFromJSON(bytes []byte) (v Vote, err error) {
- if err = json.Unmarshal(bytes, &v); err != nil {
+func NewFromJSON(jsonStr string) (v Vote, err error) {
+ if err = json.Unmarshal([]byte(jsonStr), &v); err != nil {
return
}
v.ExpiresAt = time.Now().Add(Expiry)
return
}
-func (v Vote) ToJSON() ([]byte, error) {
- return json.Marshal(v)
+func (v Vote) ToJSON() (string, error) {
+ bytes, err := json.Marshal(v)
+ if err != nil {
+ return "", err
+ }
+ return string(bytes), nil
}
func (v Vote) Expired() bool {
diff --git a/internal/vote/vote_test.go b/internal/vote/vote_test.go
index 02c4af0..a2a851b 100644
--- a/internal/vote/vote_test.go
+++ b/internal/vote/vote_test.go
@@ -45,12 +45,12 @@ func TestVoteExpiry(t *testing.T) {
func TestMarshalling(t *testing.T) {
v, _ := New([]string{"foo", "bar", "baz", "bay"})
- bytes, err := v.ToJSON()
+ jsonStr, err := v.ToJSON()
if err != nil {
t.Errorf("unable to serialize vote to json: %v", err)
}
- v2, err := NewFromJSON(bytes)
+ v2, err := NewFromJSON(jsonStr)
if err != nil {
t.Errorf("unable to deserialize json to vote: %v", err)
}