ManagementSystem/modules/utils/utils.go

47 lines
1.2 KiB
Go

package utils
import (
"encoding/json"
"time"
"clickandjoin.app/managementsystem/modules/structs"
gocnjhelper "git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper"
"git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper/cnjglobals"
"git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper/cnjvalidator"
)
func MarshalMessage(message any) (marshaledMessage []byte, err error) {
marshaledMessage, err = json.Marshal(message)
if err != nil {
gocnjhelper.LogErrorf("Failed to marshal send message, err: %s", err)
return nil, err
}
return marshaledMessage, nil
}
func UnmarshalReceivedMessage(body []byte, message any) error {
gocnjhelper.LogDebugf("UnmarshalReceivedMessage %s", string(body))
err := json.Unmarshal(body, &message)
if err != nil {
gocnjhelper.LogDebugf("Failed to unmarshal received message, err: %s", err)
return err
}
return nil
}
func GetCurrentTimestamp() int64 {
return time.Now().Unix()
}
func ValidatorInit() {
cnjvalidator.Validate.RegisterStructValidationMapRules(cnjglobals.GeneralRules,
structs.UpdateUserRequest{},
structs.UserIdParam{})
cnjvalidator.Validate.RegisterValidation("regexp", cnjglobals.RegexTag)
}