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

[Feature Request] Store + SqlDelight + Paging3 Guidance #250

Closed
JvmName opened this issue Dec 1, 2020 · 7 comments · Fixed by #550
Closed

[Feature Request] Store + SqlDelight + Paging3 Guidance #250

JvmName opened this issue Dec 1, 2020 · 7 comments · Fixed by #550
Labels
discussion we are discussing what to do, usually based on some feature request or comment enhancement New feature or request
Milestone

Comments

@JvmName
Copy link

JvmName commented Dec 1, 2020

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 JvmName added the enhancement New feature or request label Dec 1, 2020
@digitalbuddha digitalbuddha added the discussion we are discussing what to do, usually based on some feature request or comment label Nov 16, 2021
@digitalbuddha
Copy link
Contributor

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

@Saurabh-Mokashi
Copy link

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

@digitalbuddha
Copy link
Contributor

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

@CEO-CGS
Copy link

CEO-CGS commented Mar 14, 2022

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.

@Sohailshah20
Copy link

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.

@changusmc
Copy link
Collaborator

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

@Kshitij09
Copy link

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 🙂

@matt-ramotar matt-ramotar linked a pull request Sep 6, 2022 that will close this issue
@matt-ramotar matt-ramotar moved this to 🏗 In progress in Store Roadmap Feb 25, 2023
@matt-ramotar matt-ramotar added this to the Store 5 milestone Apr 18, 2023
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Store Roadmap Jan 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion we are discussing what to do, usually based on some feature request or comment enhancement New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

8 participants