Server invitation step 3/4
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
ycc
2024-03-26 20:22:56 +01:00
parent 6bf6fadaaa
commit 788512c391
5 changed files with 37 additions and 39 deletions

View File

@ -122,12 +122,14 @@ func (r *RedisRouter) Route(msg *meowlib.ToServerMessage) (*meowlib.FromServerMe
panic(err)
}
switch msg.Invitation.Step {
case 1: // create invitation
url, expiry := r.CreateInvitation(msg.Invitation.Payload, int(msg.Invitation.Timeout), msg.Invitation.Password, r.InvitationTimeout, int(msg.Invitation.ShortcodeLen))
// create invitation => provide shortcode and expiry
case 1:
url, expiry := r.StoreInvitation(msg.Invitation.Payload, int(msg.Invitation.Timeout), msg.Invitation.Password, r.InvitationTimeout, int(msg.Invitation.ShortcodeLen))
from_server.Invitation = &meowlib.Invitation{}
from_server.Invitation.Shortcode = url
from_server.Invitation.Expiry = expiry.UTC().Unix()
case 2: // get invitation
// get invitation => retrieve invitation from redis and send
case 2:
from_server.Invitation = &meowlib.Invitation{}
invitation, err := r.GetInvitation(msg.Invitation.Shortcode, msg.Invitation.Password)
@ -141,23 +143,22 @@ func (r *RedisRouter) Route(msg *meowlib.ToServerMessage) (*meowlib.FromServerMe
from_server.Invitation.Payload = invitation // protobuf invitation
}
case 3: // answer invitation
// just propagate the source publickey
from_server.Invitation.From = msg.Invitation.From
// accept invitation => store accepted invitation for initiator
case 3:
expiry := r.StoreAnswerToInvitation(msg.Invitation.Uuid, int(msg.Invitation.Timeout), msg.Invitation.Payload, r.InvitationTimeout)
from_server.Invitation = &meowlib.Invitation{}
from_server.Invitation.Expiry = expiry.UTC().Unix()
// get accepted invitation => send accepted invitation to initiator
case 4:
from_server.Invitation = &meowlib.Invitation{}
answer, err := r.GetAnswerToInvitation(msg.Invitation.Uuid)
if err != nil {
from_server.Invitation.Payload = []byte("invitation answer not found")
} else {
from_server.Invitation.Payload = answer
}
//! store answer !!
from_server.Invitation.Payload = msg.Invitation.Payload
/*
expiry := r.AnswerInvitation(msg.Invitation.Id, int(msg.Invitation.Timeout), msg.Invitation.Payload, r.InvitationTimeout)
from_server.Invitation.Expiry = expiry.UTC().Unix()
case 4: // get answer
answer, err := r.GetInvitationAnswer(msg.Invitation.Id)
if err != nil {
from_server.Invitation.Payload = []byte("invitation expired")
} else {
from_server.Invitation.Payload = answer
}
*/
}
}
/*