aboutsummaryrefslogtreecommitdiff
path: root/server/store/string_slice.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/store/string_slice.go')
-rw-r--r--server/store/string_slice.go38
1 files changed, 0 insertions, 38 deletions
diff --git a/server/store/string_slice.go b/server/store/string_slice.go
deleted file mode 100644
index a443cdd..0000000
--- a/server/store/string_slice.go
+++ /dev/null
@@ -1,38 +0,0 @@
-package store
-
-import (
- "database/sql/driver"
- "encoding/json"
-)
-
-// StringSlice is a []string which will be stored in a database as a JSON array.
-type StringSlice []string
-
-var _ driver.Valuer = (*StringSlice)(nil)
-
-// Value implements the driver.Valuer interface, marshalling the raw value to
-// a JSON array.
-func (s StringSlice) Value() (driver.Value, error) {
- v, err := json.Marshal(s)
- if err != nil {
- return nil, err
- }
- return string(v), err
-}
-
-// Scan implements the sql.Scanner interface, unmarshalling the value coming
-// off the wire and storing the result in the StringSlice.
-func (s *StringSlice) Scan(value interface{}) error {
- if value == nil {
- s = &StringSlice{}
- return nil
- }
- var err error
- v, err := driver.String.ConvertValue(value)
- if err == nil {
- if v, ok := v.([]byte); ok {
- err = json.Unmarshal(v, s)
- }
- }
- return err
-}