Files
memberDB/models/person.go
Adrian Zürcher 86a4ef798a fix json error
2025-11-06 16:47:31 +01:00

44 lines
1.0 KiB
Go

package models
import (
"database/sql/driver"
"encoding/json"
"fmt"
)
type Persons []Person
// --- Implement driver.Valuer (for saving to DB)
func (r Persons) Value() (driver.Value, error) {
return json.Marshal(r)
}
// --- Implement sql.Scanner (for reading from DB)
func (r *Persons) Scan(value any) error {
bytes, ok := value.([]byte)
if !ok {
return fmt.Errorf("failed to unmarshal Settings: %v", value)
}
return json.Unmarshal(bytes, r)
}
type Person struct {
Id int `gorm:"primaryKey" json:"id"`
FirstName string `gorm:"column:firstName" json:"firstName"`
LastName string `gorm:"column:lastName" json:"lastName"`
}
// --- Implement driver.Valuer (for saving to DB)
func (r Person) Value() (driver.Value, error) {
return json.Marshal(r)
}
// --- Implement sql.Scanner (for reading from DB)
func (r *Person) Scan(value any) error {
bytes, ok := value.([]byte)
if !ok {
return fmt.Errorf("failed to unmarshal Settings: %v", value)
}
return json.Unmarshal(bytes, r)
}