As described in
LIBAPP-12 and STRIPES-183 even a simple UI screen to edit/create users requires a non-trivial series of calls to multiple backend modules (in this example: mod-auth, login, perms). This indicates that we need a server-side business-logic module that understand the relationships between the modules and exposes simple endpoints (like edit user) that perform various operations (and error handling) behind the scenes. Thus alleviating the UI from the complex business logic.
- Design a set of operations and schemas for the new business-logic module. Re-use existing schema by creating compound object where possible.
- Implement and expose endpoints required by the UI: create and update User, migrate the UI client (component) over to the new endpoints