29 lines
495 B
Go
29 lines
495 B
Go
package model
|
|
|
|
import (
|
|
sqldriver "database/sql/driver"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type UUID struct {
|
|
payload uuid.UUID
|
|
}
|
|
|
|
func MakeUUID() UUID {
|
|
id, _ := uuid.NewRandom()
|
|
return UUID { payload: id }
|
|
}
|
|
|
|
func (self UUID) Value() (sqldriver.Value, error) {
|
|
return self.payload[:], nil
|
|
}
|
|
|
|
func (self *UUID) Scan(value any) error {
|
|
return self.payload.Scan(value)
|
|
}
|
|
|
|
func (self UUID) String() string {
|
|
return self.payload.String()
|
|
}
|
|
|