@@ 1,5 1,11 @@
package gobwebs
+import (
+ "database/sql/driver"
+ "encoding/json"
+ "errors"
+)
+
const (
// LoginTypeAuth use normal email/password auth
LoginTypeAuth int = iota
@@ 9,3 15,17 @@ const (
// Map is a global mapping type
type Map map[string]any
+
+// Value for sql integration
+func (m Map) Value() (driver.Value, error) {
+ return json.Marshal(m)
+}
+
+// Scan for sql integration
+func (m *Map) Scan(value interface{}) error {
+ b, ok := value.([]byte)
+ if !ok {
+ return errors.New("type assertion to []byte failed")
+ }
+ return json.Unmarshal(b, &m)
+}