meowlib/servermessage.go
2022-01-15 22:19:29 +01:00

55 lines
1.1 KiB
Go

package meowlib
import (
"encoding/json"
"github.com/rs/zerolog/log"
)
const MessagesType = 1
const PollRequestType = 1
const PollResponseType = 1
const MtrkType = 1
func (msg *ServerMessage) Pack() *PackedServerMessage {
var pck PackedServerMessage
jsonMsg, _ := json.Marshal(msg)
armor, err := Encrypt(msg.ServerPubKey, jsonMsg)
if err != nil {
log.Error().Msg("Message encryption failed")
}
pck.Payload = []byte(armor)
return &pck
}
func (pck *PackedServerMessage) Unpack(privateKey string) *ServerMessage {
var msg *ServerMessage
decrypted, err := Decrypt(privateKey, pck.Payload)
if err != nil {
log.Error().Msg("Message decryption failed")
}
err = json.Unmarshal(decrypted, &msg)
if err != nil {
log.Error().Msg("Message encryption failed")
}
return msg
}
func CreateMtrkChainServerMessage([]Server, []PackedUserMessage) *PackedServerMessage {
var msg PackedServerMessage
return &msg
}
func (msg *ServerMessage) Parse() {
var pck PackedServerMessage
jsonMsg, _ := json.Marshal(msg)
armor, err := Encrypt(msg.ServerPubKey, jsonMsg)
if err != nil {
log.Error().Msg("Message encryption failed")
}
pck.Payload = []byte(armor)
}