diff options
author | Niall Sheridan <nsheridan@gmail.com> | 2018-08-06 00:25:26 +0100 |
---|---|---|
committer | Niall Sheridan <nsheridan@gmail.com> | 2018-08-07 15:43:39 +0100 |
commit | d0e5f62cf27d3e5c81385342c63d9f42c2eb7e2f (patch) | |
tree | 756c8c9e12fd57923ad571d05423598050570629 /server/store/types/string_slice.go | |
parent | 4f2385db4b3d4171fff841594f8c591703e84b0f (diff) |
Move StringSlice into the store package
Diffstat (limited to 'server/store/types/string_slice.go')
-rw-r--r-- | server/store/types/string_slice.go | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/server/store/types/string_slice.go b/server/store/types/string_slice.go deleted file mode 100644 index 81b38c3..0000000 --- a/server/store/types/string_slice.go +++ /dev/null @@ -1,37 +0,0 @@ -package types - -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 - if v, err := driver.String.ConvertValue(value); err == nil { - if v, ok := v.([]byte); ok { - err = json.Unmarshal(v, s) - } - } - return err -} |