Store icon indicating copy to clipboard operation
Store copied to clipboard

[Feature Request] Store + SqlDelight + Paging3 Guidance

Open JvmName opened this issue 4 years ago • 7 comments

Specifically, I'm looking for guidance on how to tie Store, Paging3, and SqlDelight together.

In a perfect world, Store wouldn't need to be part of the equation -- I should just be able to use Paging3+SqlDelight. However, that puts me in a weird situation: when I need paging, I use use Some Repository Pattern Type 1, and when I don't need paging, I use Store/Some Other Repository Pattern. In essence, it seems to me that Paging is an implementation detail, and that Store (or whatever my Repo layer is) should abstract over that.

Suggestion 1 - Paging-specific artifact Store adds a new *-paging3 artifact that pegs a new withPaging(androidx.paging.PagingSource) builder method onto the StoreBuilder. The builder then provides a standard Store object that also happens to implement the RemoteMediator interface. (As an aside, if you squint, RemoteMediator looks pretty similar to the Store signature). Using this Store|RemoteMediator, I can then wire the downstream paging dependencies as necessary -- the Repository (i.e. Store) papers over the DB+Network (as Store already does) and handles the request of new info as the viewport changes (as Paging does).

Suggestion 2 - Code Sample Something like the above could be a PITA to maintain, especially since Paging3 is still in alpha...I'd also be happy with guidance on how to tie a non-Room DB to Paging using Store as an intermediary. That could be in the form of a sample, or a wiki...dealer's choice!

BTW Store is a super cool library, thanks for all the time and effort y'all spent on it 😄

JvmName avatar Dec 01 '20 04:12 JvmName

Hello just checking in, I don't have a good answer/solution as of yet.

digitalbuddha avatar Nov 16 '21 15:11 digitalbuddha

Hi @digitalbuddha , Im interested to work on this issue as a part of GSoC2022. Kindly guide me through the next steps

Saurabh-Mokashi avatar Mar 13 '22 15:03 Saurabh-Mokashi

Hi folks hold tight, there will be some messaging from dropbox coming along with how to join the google summer of code projects

digitalbuddha avatar Mar 14 '22 18:03 digitalbuddha

Hi folks hold tight, there will be some messaging from dropbox coming along with how to join the google summer of code projects

Ok thanks.

CEO-CGS avatar Mar 14 '22 21:03 CEO-CGS

Hello @digitalbuddha, I'm very interested in working on this project as a part of GSoC 2022. Further guidance for the onboarding process would be much appriciated.

Sohailshah20 avatar Mar 30 '22 06:03 Sohailshah20

Hi @digitalbuddha , Im interested to work on this issue as a part of GSoC2022. Kindly guide me through the next steps

Hi folks hold tight, there will be some messaging from dropbox coming along with how to join the google summer of code projects

Ok thanks.

Hello @digitalbuddha, I'm very interested in working on this project as a part of GSoC 2022. Further guidance for the onboarding process would be much appriciated.

Due to some personnel transitions, we unfortunately had to pull Store from GSOC2022. We sincerely apologize for the inconvenience

changusmc avatar Mar 30 '22 18:03 changusmc

paging3 integration with Store is something I'm interested to explore. Should I go ahead with the same or is there any other high-priority issue currently being worked upon that I could contribute to?

Store is an excellent Library and am looking forward to contributing 🙂

Kshitij09 avatar May 04 '22 15:05 Kshitij09