package f5 import ( "q5" "os" "errors" "gorm.io/gorm" ) const ( ONLINE_ENV = 0 TEST_ENV = iota DEV_ENV = iota ) var serverEnv int32 func IsTestEnv() bool { return serverEnv == TEST_ENV } func IsOnlineEnv() bool { return serverEnv == ONLINE_ENV } func IsDevEnv() bool { return serverEnv == DEV_ENV } func New[T any](cb func(*T)) *T { obj := new(T) cb(obj) return obj } func ExtractRegisterTimeFromSessionId(sessionId string) int32 { strList := q5.StrSplit(sessionId, "_") if len(strList) < 4 { return 0 } return q5.ToInt32(strList[0]) } func IsOrmErrRecordNotFound(err error) bool { return errors.Is(err, gorm.ErrRecordNotFound) } func init() { switch os.Getenv("SERVER_ENV") { case "TEST": serverEnv = TEST_ENV case "DEBUG": serverEnv = DEV_ENV default: serverEnv = ONLINE_ENV } }