package files import ( "os" "forge.redroom.link/yves/meowlib/client" "forge.redroom.link/yves/meowlib/client/invitation/messages" ) // Step1Write creates a pending peer and writes the InvitationInitPayload to a file. // format: "qr" writes a QR-code PNG; anything else writes a compressed binary .mwiv file. func Step1Write(contactName string, myNickname string, invitationMessage string, serverUids []string, format string) (*client.Peer, error) { payload, peer, err := messages.Step1InitiatorCreatesInviteeAndTempKey(contactName, myNickname, invitationMessage, serverUids) if err != nil { return nil, err } c := client.GetConfig() if format == "qr" { filename := c.StoragePath + string(os.PathSeparator) + peer.MyName + "-" + peer.Name + ".png" if err := payload.WriteQr(filename); err != nil { return nil, err } } else { filename := c.StoragePath + string(os.PathSeparator) + peer.MyName + "-" + peer.Name + ".mwiv" if err := payload.WriteCompressed(filename); err != nil { return nil, err } } return peer, nil }