github.com/Ali-iotechsys/sqlboiler/v4@v4.0.0-20221208124957-6aec9a5f1f71/types/pgeo/nullBox.go (about) 1 package pgeo 2 3 import ( 4 "database/sql/driver" 5 ) 6 7 // NullBox allows a box to be null 8 type NullBox struct { 9 Box 10 Valid bool `json:"valid"` 11 } 12 13 // Value for the database 14 func (b NullBox) Value() (driver.Value, error) { 15 if !b.Valid { 16 return nil, nil 17 } 18 19 return valueBox(b.Box) 20 } 21 22 // Scan from sql query 23 func (b *NullBox) Scan(src interface{}) error { 24 if src == nil { 25 b.Box, b.Valid = NewBox(Point{}, Point{}), false 26 return nil 27 } 28 29 b.Valid = true 30 return scanBox(&b.Box, src) 31 } 32 33 // Randomize for sqlboiler 34 func (b *NullBox) Randomize(nextInt func() int64, fieldType string, shouldBeNull bool) { 35 if shouldBeNull { 36 b.Valid = false 37 return 38 } 39 40 b.Valid = true 41 b.Box = randBox(nextInt) 42 }