39 lines
553 B
Go
39 lines
553 B
Go
|
|
package model
|
||
|
|
|
||
|
|
import (
|
||
|
|
"strconv"
|
||
|
|
|
||
|
|
"github.com/google/uuid"
|
||
|
|
|
||
|
|
"with_you/internal/pkg/utils"
|
||
|
|
)
|
||
|
|
|
||
|
|
func SetUUIDIfEmpty(id *string) {
|
||
|
|
if *id == "" {
|
||
|
|
*id = uuid.New().String()
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func SetSnowflakeStringID(id *string) error {
|
||
|
|
if *id == "" {
|
||
|
|
sid, err := utils.GetSnowflake().GenerateID()
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
*id = strconv.FormatInt(sid, 10)
|
||
|
|
}
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
|
||
|
|
func SetSnowflakeInt64ID(id *int64) error {
|
||
|
|
if *id == 0 {
|
||
|
|
sid, err := utils.GetSnowflake().GenerateID()
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
*id = sid
|
||
|
|
}
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
|