Server side invitation step 3/4 preserve From public key / Client finalize in progress
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
ycc
2024-03-26 23:42:56 +01:00
parent 788512c391
commit e4efff1824
4 changed files with 139 additions and 14 deletions

View File

@ -198,6 +198,36 @@ func (ints *Server) BuildToServerMessageInvitationRequest(shortcode string, pass
return &msg, nil
}
// BuildToServerMessageInvitationAnswer creates an invitation answer to server and returns it as a meowlib.ToServerMessage
// it takes as input a contactcard generated by Identity.InvitePeer
func (ints *Server) BuildToServerMessageInvitationAnswer(invitationAnswer *meowlib.PackedUserMessage, myPublicKeyForThatPeer string, timeout int) (*meowlib.ToServerMessage, error) {
var msg meowlib.ToServerMessage
var inv meowlib.Invitation
invitationPayload, err := proto.Marshal(invitationAnswer)
if err != nil {
return nil, err
}
inv.Step = 3
msg.Type = "1"
msg.From = ints.UserKp.Public
inv.From = myPublicKeyForThatPeer
inv.Payload = invitationPayload
msg.Invitation = &inv
return &msg, nil
}
// BuildToServerMessageInvitationAnswerRequest requests invitation answer with provided id from server and returns it as a meowlib.ToServerMessage
func (ints *Server) BuildToServerMessageInvitationAnswerRequest(invitationId string) (*meowlib.ToServerMessage, error) {
var msg meowlib.ToServerMessage
var inv meowlib.Invitation
msg.Type = "1"
msg.From = ints.UserKp.Public
inv.Step = 4
inv.Uuid = invitationId
msg.Invitation = &inv
return &msg, nil
}
// PackServerMessage
func (ints *Server) PackServerMessage(payload []byte, signature []byte) (protoPackedMessage []byte, err error) {
var msg meowlib.PackedServerMessage