package files import ( "os" "forge.redroom.link/yves/meowlib" "forge.redroom.link/yves/meowlib/client" "forge.redroom.link/yves/meowlib/client/invitation/messages" "google.golang.org/protobuf/proto" ) // 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) error { payloadBytes, err := messages.Step1InitiatorCreatesInviteeAndTempKey(contactName, myNickname, invitationMessage, serverUids) if err != nil { return err } var payload meowlib.InvitationInitPayload if err := proto.Unmarshal(payloadBytes, &payload); err != nil { return err } mynick := myNickname if mynick == "" { mynick = client.GetConfig().GetIdentity().Nickname } c := client.GetConfig() if format == "qr" { filename := c.StoragePath + string(os.PathSeparator) + mynick + "-" + contactName + ".png" return payload.WriteQr(filename) } filename := c.StoragePath + string(os.PathSeparator) + mynick + "-" + contactName + ".mwiv" return payload.WriteCompressed(filename) }