Fix import bundle for groups to auto accept #58
|
@ -91,7 +91,6 @@ func (gf *GroupFunctionality) GetServerInfo(serverOnion string, profile peer.Rea
|
||||||
|
|
||||||
// HandleImportString handles import strings for groups and servers
|
// HandleImportString handles import strings for groups and servers
|
||||||
func (gf *GroupFunctionality) HandleImportString(peer peer.CwtchPeer, importString string) error {
|
func (gf *GroupFunctionality) HandleImportString(peer peer.CwtchPeer, importString string) error {
|
||||||
|
|
||||||
if strings.HasPrefix(importString, tofuBundlePrefix) {
|
if strings.HasPrefix(importString, tofuBundlePrefix) {
|
||||||
bundle := strings.Split(importString, "||")
|
bundle := strings.Split(importString, "||")
|
||||||
if len(bundle) == 2 {
|
if len(bundle) == 2 {
|
||||||
|
@ -114,10 +113,15 @@ func (gf *GroupFunctionality) HandleImportString(peer peer.CwtchPeer, importStri
|
||||||
return features.ConstructResponse(importBundlePrefix, err.Error())
|
return features.ConstructResponse(importBundlePrefix, err.Error())
|
||||||
} else if strings.HasPrefix(importString, groupPrefix) {
|
} else if strings.HasPrefix(importString, groupPrefix) {
|
||||||
//eg: torv3JFDWkXExBsZLkjvfkkuAxHsiLGZBk0bvoeJID9ItYnU=EsEBCiBhOWJhZDU1OTQ0NWI3YmM2N2YxYTM5YjkzMTNmNTczNRIgpHeNaG+6jy750eDhwLO39UX4f2xs0irK/M3P6mDSYQIaOTJjM2ttb29ibnlnaGoyenc2cHd2N2Q1N3l6bGQ3NTNhdW8zdWdhdWV6enB2ZmFrM2FoYzRiZHlkCiJAdVSSVgsksceIfHe41OJu9ZFHO8Kwv3G6F5OK3Hw4qZ6hn6SiZjtmJlJezoBH0voZlCahOU7jCOg+dsENndZxAA==
|
//eg: torv3JFDWkXExBsZLkjvfkkuAxHsiLGZBk0bvoeJID9ItYnU=EsEBCiBhOWJhZDU1OTQ0NWI3YmM2N2YxYTM5YjkzMTNmNTczNRIgpHeNaG+6jy750eDhwLO39UX4f2xs0irK/M3P6mDSYQIaOTJjM2ttb29ibnlnaGoyenc2cHd2N2Q1N3l6bGQ3NTNhdW8zdWdhdWV6enB2ZmFrM2FoYzRiZHlkCiJAdVSSVgsksceIfHe41OJu9ZFHO8Kwv3G6F5OK3Hw4qZ6hn6SiZjtmJlJezoBH0voZlCahOU7jCOg+dsENndZxAA==
|
||||||
if _, err := peer.ImportGroup(importString); err != nil {
|
if gid, err := peer.ImportGroup(importString); err != nil {
|
||||||
return features.ConstructResponse(importBundlePrefix, err.Error())
|
return features.ConstructResponse(importBundlePrefix, err.Error())
|
||||||
|
} else {
|
||||||
|
// Auto accept the group here.
|
||||||
|
if peer.AcceptInvite(gid) != nil {
|
||||||
|
log.Errorf("Error accepting invite: %v", err)
|
||||||
|
}
|
||||||
|
return features.ConstructResponse(importBundlePrefix, "success")
|
||||||
}
|
}
|
||||||
return features.ConstructResponse(importBundlePrefix, "success")
|
|
||||||
}
|
}
|
||||||
return features.ConstructResponse(importBundlePrefix, "invalid_group_invite_prefix")
|
return features.ConstructResponse(importBundlePrefix, "invalid_group_invite_prefix")
|
||||||
}
|
}
|
||||||
|
|
2
lib.go
2
lib.go
|
@ -665,7 +665,7 @@ func ImportBundle(profileOnion string, bundle string) {
|
||||||
serverListForOnion := groupHandler.GetServerInfoList(profile)
|
serverListForOnion := groupHandler.GetServerInfoList(profile)
|
||||||
serversListBytes, _ := json.Marshal(serverListForOnion)
|
serversListBytes, _ := json.Marshal(serverListForOnion)
|
||||||
eventHandler.Push(event.NewEvent(groups.UpdateServerInfo, map[event.Field]string{"ProfileOnion": profileOnion, groups.ServerList: string(serversListBytes)}))
|
eventHandler.Push(event.NewEvent(groups.UpdateServerInfo, map[event.Field]string{"ProfileOnion": profileOnion, groups.ServerList: string(serversListBytes)}))
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
eventHandler.Push(event.NewEvent(event.AppError, map[event.Field]string{event.Data: response.Error()}))
|
eventHandler.Push(event.NewEvent(event.AppError, map[event.Field]string{event.Data: response.Error()}))
|
||||||
|
|
Loading…
Reference in New Issue