58 lines
822 B
Go
58 lines
822 B
Go
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
|
|
}
|
|
}
|