From d0e5f62cf27d3e5c81385342c63d9f42c2eb7e2f Mon Sep 17 00:00:00 2001 From: Niall Sheridan Date: Mon, 6 Aug 2018 00:25:26 +0100 Subject: Move StringSlice into the store package --- server/store/types/string_slice.go | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 server/store/types/string_slice.go (limited to 'server/store/types/string_slice.go') 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 -} -- cgit v1.2.3