wms-be/pkg/utils/conv.go

51 lines
856 B
Go

package utils
import (
"strconv"
"github.com/google/uuid"
"golang.org/x/crypto/bcrypt"
)
func HashPassword(password string) (string, error) {
bytes, err := bcrypt.GenerateFromPassword([]byte(password), 14)
return string(bytes), err
}
func CheckPasswordHash(password, hash string) bool {
err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password))
return err == nil
}
func StringToUint(s string) uint {
id, err := strconv.ParseUint(s, 10, 64)
if err != nil {
return 0
}
return uint(id)
}
func ParseInt(s string) int {
i, err := strconv.Atoi(s)
if err != nil {
return 0
}
return i
}
func ParseNullableUUID(s *string) *uuid.UUID {
if s == nil || *s == "" {
return nil
}
id := ParseUUID(*s)
return &id
}
func ParseUUID(s string) uuid.UUID {
id, err := uuid.Parse(s)
if err != nil {
return uuid.Nil
}
return id
}