* fix(sync)_: Improve EnableInstallationAndSync and add EnableInstallationV2
- Refactor EnableInstallationAndSync for better error handling and response merging
- Add new EnableInstallationV2 method returning the installation
- Update tests to check for installation in response
- Deprecate old EnableInstallation method
* chore_: remove EnableInstallationV2
* fix(sync)_: create/delete AC notification only when targetInstallationID match
- Add targetInstallationID parameter to SendPairInstallation function
- Update protobuf SyncPairInstallation struct with TargetInstallationId field
- Modify method calls across multiple test files to include new parameter
- Update pairing.proto and pairing.pb.go with new field for local pairing
* chore_: rename stubEnableInstallationAndPair
chore_: move InstallationIDProvider
chore_: revert endpoints.go
test_: check AC with resp
chore_: rename ModifiedInstallationsTargetedToThisDevice
test_: add InstallationIDProvider
chore_: revert endpoints.go
chore_: remove comment
test_: add TestNewInstallationCreatedIsNotDeleted
If user followed onboarding flow to recover his account using seed phrase or keycard,
then `ProcessBackedupMessages` property of node config json object should be set to
`true`, otherwise it should be set to `false` or be omitted.
- old `accounts` table is moved/mapped to `keypairs` and `keypairs_accounts`
- `keycards` table has foreign key which refers to `keypairs.key_uid`
- `Keypair` introduced as a new type
- api endpoints updated according to this change
Additionally to allow this process flow I refactored RawMessagePayloadReceiver and InstallationPayloadHandler to use a dedicated Marshaller type. Also added a fix to struct extention functionality, we want to ignore the process if there is no public key because that will key encoding. Seems an unnecessary bug to have to handle when you know there is no key.
This uses Load, MarshalProtobuf and encrypt process flow for any PayloadMounter type. In fact the concept of a PayloadMounter type is only useful now in the instantiation context.
* Moved all configs into config.go
* Completed build out of new config structures
* Completed SenderClient process flow
* Completed sync data Mounter and client integration
* Completed installation data Mounter and client integration
* House keeping, small refactor to match conventions.
PayloadEncryptor is passed by value and used as a pointer to the instance value and not a shared pointer.
* Reintroduced explicit Mounter field type
* Completed ReceiverClient structs and flows
* Finished BaseClient function parity with old acc
* Integrated new Clients into tests
Solved some test breaks caused by encryptors sharing pointers to their managed payloads
* Built out SenderServer and ReceiverServer structs
With all associated functions and integrated with endpoints.
* Updated tests to handle new Server types
* Added docs and additional refinement
* Renamed some files to better match the content of those files
* Added json tags to config fields that were missing explicit tags.
* fix tests relating to payload locking
* Addressing feedback from @ilmotta
* Addressed feedback from @qfrank