Skip to content
Snippets Groups Projects
Commit d240d016 authored by Richard T. Carback III's avatar Richard T. Carback III
Browse files

Merge branch 'XX-4220/RestoringBackup' into 'release'

Remove restoring backed up facts from bindings NewUdManagerFromBackup call

See merge request !396
parents 046d5d0c 3ba82085
No related branches found
No related tags found
2 merge requests!510Release,!396Remove restoring backed up facts from bindings NewUdManagerFromBackup call
......@@ -93,6 +93,7 @@ type UpdateBackupFn func(encryptedBackup []byte)
func InitializeBackup(backupPassphrase string, updateBackupCb UpdateBackupFn,
container *xxdk.Container, e2e E2e, session Session, ud UserDiscovery,
kv *versioned.KV, rng *fastRNG.StreamGenerator) (*Backup, error) {
b := &Backup{
updateBackupCb: updateBackupCb,
container: container,
......
......@@ -92,6 +92,7 @@ func NewCmixFromBackup(ndfJSON, storageDir, backupPassphrase string,
phone = f
}
}
err = ud.InitStoreFromBackup(storageSess.GetKV(), username, email, phone)
return backUp.Contacts.Identities, backUp.JSONParams, err
}
......@@ -203,29 +203,23 @@ func NewOrLoadUd(e2eID int, follower UdNetworkStatus, username string,
}
// NewUdManagerFromBackup builds a new user discover manager from a backup. It
// will construct a manager that is already registered and restore already
// registered facts into store.
// will construct a manager that is already registered. Confirmed facts have
// already been restored via the call NewCmixFromBackup.
//
// Parameters:
// - e2eID - e2e object ID in the tracker
// - follower - network follower func wrapped in UdNetworkStatus
// - username - The username this user registered with initially. This should
// not be nullable, and be JSON marshalled as retrieved from
// UserDiscovery.GetFacts().
// - emailFactJson - nullable JSON marshalled email [fact.Fact]
// - phoneFactJson - nullable JSON marshalled phone [fact.Fact]
// - cert - the TLS certificate for the UD server this call will connect with.
// You may use the UD server run by the xx network team by using
// E2e.GetUdCertFromNdf.
// - contactFile - the data within a marshalled contact.Contact. This
// [E2e.GetUdCertFromNdf].
// - contactFile - the data within a marshalled [contact.Contact]. This
// represents the contact file of the server this call will connect with. You
// may use the UD server run by the xx network team by using
// E2e.GetUdContactFromNdf.
// [E2e.GetUdContactFromNdf].
// - address - the IP address of the UD server this call will connect with. You
// may use the UD server run by the xx network team by using
// E2e.GetUdAddressFromNdf.
// [E2e.GetUdAddressFromNdf].
func NewUdManagerFromBackup(e2eID int, follower UdNetworkStatus,
usernameJson, emailFactJson, phoneFactJson,
cert, contactFile []byte, address string) (*UserDiscovery, error) {
// Get user from singleton
......@@ -234,38 +228,12 @@ func NewUdManagerFromBackup(e2eID int, follower UdNetworkStatus,
return nil, err
}
var email, phone, username fact.Fact
// Parse email if non-nil
if emailFactJson != nil {
err = json.Unmarshal(emailFactJson, &email)
if err != nil {
return nil, err
}
}
// Parse phone if non-nil
if phoneFactJson != nil {
err = json.Unmarshal(phoneFactJson, &phone)
if err != nil {
return nil, err
}
}
// Parse username
err = json.Unmarshal(usernameJson, &username)
if err != nil {
return nil, err
}
UdNetworkStatusFn := func() xxdk.Status {
return xxdk.Status(follower.UdNetworkStatus())
}
u, err := ud.NewManagerFromBackup(
user.api, user.api.GetComms(), UdNetworkStatusFn,
username, email, phone,
cert, contactFile, address)
u, err := ud.NewManagerFromBackup(user.api, user.api.GetComms(),
UdNetworkStatusFn, cert, contactFile, address)
if err != nil {
return nil, err
}
......
......@@ -125,12 +125,8 @@ func NewOrLoad(user udE2e, comms Comms, follower udNetworkStatus,
// - user is an interface that adheres to the xxdk.E2e object.
// - comms is an interface that adheres to client.Comms object.
// - follower is a method off of xxdk.Cmix which returns the network follower's status.
// - username is the name of the user as it is registered with UD. This will be what the end user
// provides if through the bindings.
// - networkValidationSig is a signature provided by the network (i.e. the client registrar). This may
// be nil, however UD may return an error in some cases (e.g. in a production level environment).
// - email is a fact.Fact (type Email) which has been registered with UD already.
// - phone is a fact.Fact (type Phone) which has been registered with UD already.
// - cert is the TLS certificate for the UD server this call will connect with.
// - contactFile is the data within a marshalled contact.Contact. This represents the
// contact file of the server this call will connect with.
......@@ -138,9 +134,9 @@ func NewOrLoad(user udE2e, comms Comms, follower udNetworkStatus,
//
// Returns
// - A Manager object which is registered to the specified UD service.
func NewManagerFromBackup(user udE2e, comms Comms, follower udNetworkStatus,
username, email, phone fact.Fact,
cert, contactFile []byte, address string) (*Manager, error) {
func NewManagerFromBackup(user udE2e, comms Comms,
follower udNetworkStatus, cert, contactFile []byte,
address string) (*Manager, error) {
jww.INFO.Println("ud.NewManagerFromBackup()")
if follower() != xxdk.Running {
return nil, errors.New(
......@@ -161,13 +157,6 @@ func NewManagerFromBackup(user udE2e, comms Comms, follower udNetworkStatus,
return nil, err
}
// Put any passed in missing facts into store
err = m.store.BackUpMissingFacts(username, email, phone)
if err != nil {
return nil, errors.WithMessage(err, "Failed to restore UD store "+
"from backup")
}
// Set as registered. Since it's from a backup,
// the user is already registered
if err = setRegistered(m.getKv()); err != nil {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment