27 lines
424 B
Go
27 lines
424 B
Go
package base
|
|
|
|
import (
|
|
"database/sql/driver"
|
|
"encoding/json"
|
|
"fmt"
|
|
)
|
|
|
|
type ResFields []ResField
|
|
|
|
func (c *ResFields) Scan(value any) error {
|
|
if value == nil {
|
|
return nil
|
|
}
|
|
|
|
if err := json.Unmarshal(value.([]byte), c); err != nil {
|
|
return fmt.Errorf("ResFields json.Unmarshal Error, %s", err)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (c ResFields) Value() (driver.Value, error) {
|
|
b, err := json.Marshal(c)
|
|
return string(b), err
|
|
}
|