Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dojo Data Middleware #524

Closed
13 tasks
agubler opened this issue Sep 10, 2019 · 1 comment
Closed
13 tasks

Dojo Data Middleware #524

agubler opened this issue Sep 10, 2019 · 1 comment
Labels
area: core Core area: stores Stores enhancement New feature or request next Issue/Pull Request for the next major version

Comments

@agubler
Copy link
Member

agubler commented Sep 10, 2019

One of the most common uses of application state or application state store is working with CRUD style resources, managing the status of resource requests, fetching resources, creating resources, updating resources and more. This is currently possible using a solution such as @dojo/framework/stores but requires significant investment on the user to model data, manage statuses, fetch/update/create resources and enabling the application to provide feedback to the user (loading, failed etc).

Proposal

Create a first class API built for working with resources throughout Dojo applications. The idea is that the user would not need any intimate knowledge about how the resource data is stored.

This would use the new middleware for function-based and allow users to customise the API for the specific resource type and use this as normal within application. The "data" middleware should be able to support the complete range of CRUD related scenarios when working with resources:

  • Fully typed, customisable API
  • Fetching and caching resource items
  • Return resource items from the cache
  • Creation of new resource items
  • Update existing resource items
  • Remove existing resource items
  • Support optimistic updates for all operations
  • Pagination Support
  • Automatic reverting of changes for failed operations
  • Resource loading support
  • Expose statuses of specific operations based on action type i.e. read, create, update and resource identifier
  • Management of changes/operations when there are one or more in-flight requests
  • Provide customisable Restful configuration for working with remote REST resources
@agubler agubler added enhancement New feature or request next Issue/Pull Request for the next major version area: core Core area: stores Stores labels Sep 10, 2019
@agubler agubler mentioned this issue Sep 10, 2019
@agubler
Copy link
Member Author

agubler commented Apr 17, 2020

Partially landed with the introduction of Dojo Resources (#672), closing and will create new issues to deal with future enhancements.

@agubler agubler closed this as completed Apr 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: core Core area: stores Stores enhancement New feature or request next Issue/Pull Request for the next major version
Projects
None yet
Development

No branches or pull requests

1 participant