BuyAnything Technical design #12001
Replies: 3 comments
-
BuyAnythingManagerThis component is the one that the UI interacts with. The UI doesn't know anything about
Methods
Data structuresConversation:Depending on whether the context tokens expire or not the conversation identifier is the walletID plus the context token itself or the customer's email + password tuple.
Note: lets use json serialization for this. It sucks but will give us a lot of flexibility to change things, we need that. Workflow during lifetime
TorBecause of the limited time we have have to implement this the first approach if to use .NET 7 WebProxy for socks, routing everything through Tor socks proxy. Ideally we have to change the Challenges!Context Token expirationIf the context tokens expire then we not only need to log in all our customers immediately after creating the LoggingWe need to add logs to |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
ShopWare API client
The
ShopWareApiClient
(WalletWasabi/WebClients/ShopWare/ShopWareClient.cs) is an REST API client to https://shopware.stoplight.io/docs/store-api/ that includes the necessary calls to implement the BuyAnything feature. This is:BuyAnything Client
The
BuyAnythingClient
is a higher level client that abstracts most of the "low-level" details and implements:BuyAnything Manager
This is the guy who really make the magic happen. This should be a periodic runner service which keeps track of the "conversations" buy pulling updates from time to time, saves the news and raise events every time there is something new.
The UI then sends command to the
BuyAnythingManager
and subscribes to the event that it raises.Beta Was this translation helpful? Give feedback.
All reactions