47 lines
1.2 KiB
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)
|
|
}
|