linstrom/shared/ids.go
mStar e182949a8d
Remove id autogeneration from db models
Remove automatic uuid v4 ID generation from the models and replace it
with `shared.NewId()`, which generates an Id depending on the config
setting
2025-05-06 14:34:32 +02:00

23 lines
412 B
Go

package shared
import (
"github.com/google/uuid"
"github.com/nrednav/cuid2"
"github.com/rs/xid"
"git.mstar.dev/mstar/linstrom/config"
)
// Generate a new string ID
func NewId() string {
switch config.GlobalConfig.Experimental.IdGenerator {
case "uuid":
return uuid.NewString()
case "cuid":
return cuid2.Generate()
case "xid":
return xid.New().String()
default:
return xid.New().String()
}
}