28 lines
431 B
Go
28 lines
431 B
Go
package model
|
|
|
|
import (
|
|
sqldriver "database/sql/driver"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type UUID struct {
|
|
payload uuid.UUID
|
|
}
|
|
|
|
func MakeUUID() UUID {
|
|
id, _ := uuid.NewV7()
|
|
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()
|
|
}
|