Open gkc opened 1 year ago
Thoughts from an earlier discussion: https://gist.github.com/XavierChanth/f7f92701657db773b5d42158c014d8d4
Meeting minutes 17/11/2022:
To be discussed:
Here is the detailed plan. Idea is to deliver V1 in PR52
In this sprint, we have added end-to-end test, refactored code and unit tests, and added docs. Moving to the next sprint.
Raised a draft collection PR : https://github.com/atsign-foundation/at_client_sdk/pull/906
If testing is good, we can proceed with merging it.
Reducing the SP to 5 for testing.
Is your feature request related to a problem? Please describe.
Currently every app developer has to independently implement the glue code required to join their app's domain objects (and lists of those objects) with put/delete calls to the AtClient API on the one hand, and update/delete notifications from the notification service on the other.
Buzz and the insurance poc app are current examples of this. We have an opportunity now to take the learnings from those apps and implement a set of classes which could be used by any app and which will cover the typical 90% which is usually CRUD (Create, Retrieve, Update & Delete) but which for the atPlatform we will cover as SCRUD (Share, Create, Retrieve, Update & Delete)
This leads to a lot of extra effort on the part of developers, with some concepts being non-obvious (e.g. "sharing" with an atSign means calling
AtClient.put(sharedAtKey, value)
which results in the creation of an entry in the keystore, with the data encrypted specifically for that atSign, and "un-sharing" means callingAtClient.delete(sharedAtKey)
where sharedAtKey is something like@bob:12345.addresses.myapp@alice
)Describe the solution you'd like
Set of (generic) classes which provide glue code which could be used by both Buzz and the insurance poc app
Some initial ideas to seed the design conversation
addresses.myapp@atSign
with individual objects having atKeys like12345.addresses.myapp@alice
(self key)@bob:12345.addresses.myapp@alice
(the copy shared with bob)