mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Merge pull request #3332 from omnivore-app/fix/android-sync-all-folders
Request sync objects for all folders on Android
This commit is contained in:
commit
49fef8ac90
3 changed files with 190 additions and 6 deletions
|
|
@ -1,5 +1,10 @@
|
|||
query UpdatesSince($after: String, $first: Int, $since: Date!) {
|
||||
updatesSince(after: $after, first: $first, since: $since) {
|
||||
query UpdatesSince(
|
||||
$folder: String
|
||||
$after: String
|
||||
$first: Int
|
||||
$since: Date!
|
||||
) {
|
||||
updatesSince(after: $after, first: $first, folder: $folder, since: $since) {
|
||||
... on UpdatesSinceSuccess {
|
||||
edges {
|
||||
cursor
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ type Article {
|
|||
contentReader: ContentReader!
|
||||
createdAt: Date!
|
||||
description: String
|
||||
folder: String!
|
||||
hasContent: Boolean
|
||||
hash: String!
|
||||
highlights(input: ArticleHighlightsInput): [Highlight!]!
|
||||
|
|
@ -154,6 +155,7 @@ union ArticleSavingRequestResult = ArticleSavingRequestError | ArticleSavingRequ
|
|||
|
||||
enum ArticleSavingRequestStatus {
|
||||
ARCHIVED
|
||||
CONTENT_NOT_FETCHED
|
||||
DELETED
|
||||
FAILED
|
||||
PROCESSING
|
||||
|
|
@ -203,6 +205,7 @@ enum BulkActionType {
|
|||
ARCHIVE
|
||||
DELETE
|
||||
MARK_AS_READ
|
||||
MOVE_TO_FOLDER
|
||||
}
|
||||
|
||||
enum ContentReader {
|
||||
|
|
@ -227,8 +230,12 @@ enum CreateArticleErrorCode {
|
|||
|
||||
input CreateArticleInput {
|
||||
articleSavingRequestId: ID
|
||||
folder: String
|
||||
labels: [CreateLabelInput!]
|
||||
preparedDocument: PreparedDocumentInput
|
||||
publishedAt: Date
|
||||
rssFeedUrl: String
|
||||
savedAt: Date
|
||||
skipParsing: Boolean
|
||||
source: String
|
||||
state: ArticleSavingRequestStatus
|
||||
|
|
@ -377,6 +384,12 @@ enum CreateNewsletterEmailErrorCode {
|
|||
UNAUTHORIZED
|
||||
}
|
||||
|
||||
input CreateNewsletterEmailInput {
|
||||
description: String
|
||||
folder: String
|
||||
name: String
|
||||
}
|
||||
|
||||
union CreateNewsletterEmailResult = CreateNewsletterEmailError | CreateNewsletterEmailSuccess
|
||||
|
||||
type CreateNewsletterEmailSuccess {
|
||||
|
|
@ -631,6 +644,20 @@ type DeviceTokensSuccess {
|
|||
deviceTokens: [DeviceToken!]!
|
||||
}
|
||||
|
||||
type EmptyTrashError {
|
||||
errorCodes: [EmptyTrashErrorCode!]!
|
||||
}
|
||||
|
||||
enum EmptyTrashErrorCode {
|
||||
UNAUTHORIZED
|
||||
}
|
||||
|
||||
union EmptyTrashResult = EmptyTrashError | EmptyTrashSuccess
|
||||
|
||||
type EmptyTrashSuccess {
|
||||
success: Boolean
|
||||
}
|
||||
|
||||
type Feature {
|
||||
createdAt: Date!
|
||||
expiresAt: Date
|
||||
|
|
@ -641,6 +668,19 @@ type Feature {
|
|||
updatedAt: Date
|
||||
}
|
||||
|
||||
type Feed {
|
||||
author: String
|
||||
createdAt: Date
|
||||
description: String
|
||||
id: ID
|
||||
image: String
|
||||
publishedAt: Date
|
||||
title: String!
|
||||
type: String
|
||||
updatedAt: Date
|
||||
url: String!
|
||||
}
|
||||
|
||||
type FeedArticle {
|
||||
annotationsCount: Int
|
||||
article: Article!
|
||||
|
|
@ -674,12 +714,56 @@ type FeedArticlesSuccess {
|
|||
pageInfo: PageInfo!
|
||||
}
|
||||
|
||||
type FeedEdge {
|
||||
cursor: String!
|
||||
node: Feed!
|
||||
}
|
||||
|
||||
type FeedsError {
|
||||
errorCodes: [FeedsErrorCode!]!
|
||||
}
|
||||
|
||||
enum FeedsErrorCode {
|
||||
BAD_REQUEST
|
||||
UNAUTHORIZED
|
||||
}
|
||||
|
||||
input FeedsInput {
|
||||
after: String
|
||||
first: Int
|
||||
query: String
|
||||
sort: SortParams
|
||||
}
|
||||
|
||||
union FeedsResult = FeedsError | FeedsSuccess
|
||||
|
||||
type FeedsSuccess {
|
||||
edges: [FeedEdge!]!
|
||||
pageInfo: PageInfo!
|
||||
}
|
||||
|
||||
type FetchContentError {
|
||||
errorCodes: [FetchContentErrorCode!]!
|
||||
}
|
||||
|
||||
enum FetchContentErrorCode {
|
||||
BAD_REQUEST
|
||||
UNAUTHORIZED
|
||||
}
|
||||
|
||||
union FetchContentResult = FetchContentError | FetchContentSuccess
|
||||
|
||||
type FetchContentSuccess {
|
||||
success: Boolean!
|
||||
}
|
||||
|
||||
type Filter {
|
||||
category: String!
|
||||
category: String
|
||||
createdAt: Date!
|
||||
defaultFilter: Boolean
|
||||
description: String
|
||||
filter: String!
|
||||
folder: String
|
||||
id: ID!
|
||||
name: String!
|
||||
position: Int!
|
||||
|
|
@ -901,6 +985,8 @@ type IntegrationsSuccess {
|
|||
integrations: [Integration!]!
|
||||
}
|
||||
|
||||
scalar JSON
|
||||
|
||||
type JoinGroupError {
|
||||
errorCodes: [JoinGroupErrorCode!]!
|
||||
}
|
||||
|
|
@ -925,6 +1011,7 @@ type Label {
|
|||
internal: Boolean
|
||||
name: String!
|
||||
position: Int
|
||||
source: String
|
||||
}
|
||||
|
||||
type LabelsError {
|
||||
|
|
@ -1107,15 +1194,31 @@ type MoveLabelSuccess {
|
|||
label: Label!
|
||||
}
|
||||
|
||||
type MoveToFolderError {
|
||||
errorCodes: [MoveToFolderErrorCode!]!
|
||||
}
|
||||
|
||||
enum MoveToFolderErrorCode {
|
||||
ALREADY_EXISTS
|
||||
BAD_REQUEST
|
||||
UNAUTHORIZED
|
||||
}
|
||||
|
||||
union MoveToFolderResult = MoveToFolderError | MoveToFolderSuccess
|
||||
|
||||
type MoveToFolderSuccess {
|
||||
success: Boolean!
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
addPopularRead(name: String!): AddPopularReadResult!
|
||||
bulkAction(action: BulkActionType!, async: Boolean, expectedCount: Int, labelIds: [ID!], query: String!): BulkActionResult!
|
||||
bulkAction(action: BulkActionType!, arguments: JSON, async: Boolean, expectedCount: Int, labelIds: [ID!], query: String!): BulkActionResult!
|
||||
createArticle(input: CreateArticleInput!): CreateArticleResult!
|
||||
createArticleSavingRequest(input: CreateArticleSavingRequestInput!): CreateArticleSavingRequestResult!
|
||||
createGroup(input: CreateGroupInput!): CreateGroupResult!
|
||||
createHighlight(input: CreateHighlightInput!): CreateHighlightResult!
|
||||
createLabel(input: CreateLabelInput!): CreateLabelResult!
|
||||
createNewsletterEmail: CreateNewsletterEmailResult!
|
||||
createNewsletterEmail(input: CreateNewsletterEmailInput): CreateNewsletterEmailResult!
|
||||
deleteAccount(userID: ID!): DeleteAccountResult!
|
||||
deleteFilter(id: ID!): DeleteFilterResult!
|
||||
deleteHighlight(highlightId: ID!): DeleteHighlightResult!
|
||||
|
|
@ -1124,6 +1227,8 @@ type Mutation {
|
|||
deleteNewsletterEmail(newsletterEmailId: ID!): DeleteNewsletterEmailResult!
|
||||
deleteRule(id: ID!): DeleteRuleResult!
|
||||
deleteWebhook(id: ID!): DeleteWebhookResult!
|
||||
emptyTrash: EmptyTrashResult!
|
||||
fetchContent(id: ID!): FetchContentResult!
|
||||
generateApiKey(input: GenerateApiKeyInput!): GenerateApiKeyResult!
|
||||
googleLogin(input: GoogleLoginInput!): LoginResult!
|
||||
googleSignup(input: GoogleSignupInput!): GoogleSignupResult!
|
||||
|
|
@ -1135,6 +1240,7 @@ type Mutation {
|
|||
mergeHighlight(input: MergeHighlightInput!): MergeHighlightResult!
|
||||
moveFilter(input: MoveFilterInput!): MoveFilterResult!
|
||||
moveLabel(input: MoveLabelInput!): MoveLabelResult!
|
||||
moveToFolder(folder: String!, id: ID!): MoveToFolderResult!
|
||||
optInFeature(input: OptInFeatureInput!): OptInFeatureResult!
|
||||
recommend(input: RecommendInput!): RecommendResult!
|
||||
recommendHighlights(input: RecommendHighlightsInput!): RecommendHighlightsResult!
|
||||
|
|
@ -1161,6 +1267,7 @@ type Mutation {
|
|||
updateFilter(input: UpdateFilterInput!): UpdateFilterResult!
|
||||
updateHighlight(input: UpdateHighlightInput!): UpdateHighlightResult!
|
||||
updateLabel(input: UpdateLabelInput!): UpdateLabelResult!
|
||||
updateNewsletterEmail(input: UpdateNewsletterEmailInput!): UpdateNewsletterEmailResult!
|
||||
updatePage(input: UpdatePageInput!): UpdatePageResult!
|
||||
updateSubscription(input: UpdateSubscriptionInput!): UpdateSubscriptionResult!
|
||||
updateUser(input: UpdateUserInput!): UpdateUserResult!
|
||||
|
|
@ -1173,7 +1280,10 @@ type NewsletterEmail {
|
|||
address: String!
|
||||
confirmationCode: String
|
||||
createdAt: Date!
|
||||
description: String
|
||||
folder: String!
|
||||
id: ID!
|
||||
name: String
|
||||
subscriptionCount: Int!
|
||||
}
|
||||
|
||||
|
|
@ -1292,6 +1402,7 @@ type Query {
|
|||
article(format: String, slug: String!, username: String!): ArticleResult!
|
||||
articleSavingRequest(id: ID, url: String): ArticleSavingRequestResult!
|
||||
deviceTokens: DeviceTokensResult!
|
||||
feeds(input: FeedsInput!): FeedsResult!
|
||||
filters: FiltersResult!
|
||||
getUserPersonalization: GetUserPersonalizationResult!
|
||||
groups: GroupsResult!
|
||||
|
|
@ -1303,11 +1414,12 @@ type Query {
|
|||
recentEmails: RecentEmailsResult!
|
||||
recentSearches: RecentSearchesResult!
|
||||
rules(enabled: Boolean): RulesResult!
|
||||
scanFeeds(input: ScanFeedsInput!): ScanFeedsResult!
|
||||
search(after: String, first: Int, format: String, includeContent: Boolean, query: String): SearchResult!
|
||||
sendInstallInstructions: SendInstallInstructionsResult!
|
||||
subscriptions(sort: SortParams, type: SubscriptionType): SubscriptionsResult!
|
||||
typeaheadSearch(first: Int, query: String!): TypeaheadSearchResult!
|
||||
updatesSince(after: String, first: Int, since: Date!, sort: SortParams): UpdatesSinceResult!
|
||||
updatesSince(after: String, first: Int, folder: String, since: Date!, sort: SortParams): UpdatesSinceResult!
|
||||
user(userId: ID, username: String): UserResult!
|
||||
users: UsersResult!
|
||||
validateUsername(username: String!): Boolean!
|
||||
|
|
@ -1604,6 +1716,7 @@ enum SaveErrorCode {
|
|||
|
||||
input SaveFileInput {
|
||||
clientRequestId: ID!
|
||||
folder: String
|
||||
labels: [CreateLabelInput!]
|
||||
source: String!
|
||||
state: ArticleSavingRequestStatus
|
||||
|
|
@ -1625,6 +1738,7 @@ input SaveFilterInput {
|
|||
category: String
|
||||
description: String
|
||||
filter: String!
|
||||
folder: String
|
||||
name: String!
|
||||
position: Int
|
||||
}
|
||||
|
|
@ -1637,6 +1751,7 @@ type SaveFilterSuccess {
|
|||
|
||||
input SavePageInput {
|
||||
clientRequestId: ID!
|
||||
folder: String
|
||||
labels: [CreateLabelInput!]
|
||||
originalContent: String!
|
||||
parseResult: ParseResult
|
||||
|
|
@ -1658,6 +1773,7 @@ type SaveSuccess {
|
|||
|
||||
input SaveUrlInput {
|
||||
clientRequestId: ID!
|
||||
folder: String
|
||||
labels: [CreateLabelInput!]
|
||||
locale: String
|
||||
publishedAt: Date
|
||||
|
|
@ -1668,6 +1784,25 @@ input SaveUrlInput {
|
|||
url: String!
|
||||
}
|
||||
|
||||
type ScanFeedsError {
|
||||
errorCodes: [ScanFeedsErrorCode!]!
|
||||
}
|
||||
|
||||
enum ScanFeedsErrorCode {
|
||||
BAD_REQUEST
|
||||
}
|
||||
|
||||
input ScanFeedsInput {
|
||||
opml: String
|
||||
url: String
|
||||
}
|
||||
|
||||
union ScanFeedsResult = ScanFeedsError | ScanFeedsSuccess
|
||||
|
||||
type ScanFeedsSuccess {
|
||||
feeds: [Feed!]!
|
||||
}
|
||||
|
||||
type SearchError {
|
||||
errorCodes: [SearchErrorCode!]!
|
||||
}
|
||||
|
|
@ -1686,16 +1821,20 @@ type SearchItem {
|
|||
contentReader: ContentReader!
|
||||
createdAt: Date!
|
||||
description: String
|
||||
folder: String!
|
||||
highlights: [Highlight!]
|
||||
id: ID!
|
||||
image: String
|
||||
isArchived: Boolean!
|
||||
labels: [Label!]
|
||||
language: String
|
||||
links: JSON
|
||||
originalArticleUrl: String
|
||||
ownedByViewer: Boolean
|
||||
pageId: ID
|
||||
pageType: PageType!
|
||||
previewContent: String
|
||||
previewContentType: String
|
||||
publishedAt: Date
|
||||
quote: String
|
||||
readAt: Date
|
||||
|
|
@ -1844,6 +1983,7 @@ input SetIntegrationInput {
|
|||
importItemState: ImportItemState
|
||||
name: String!
|
||||
syncedAt: Date
|
||||
taskName: String
|
||||
token: String!
|
||||
type: IntegrationType
|
||||
}
|
||||
|
|
@ -1874,6 +2014,7 @@ input SetLabelsInput {
|
|||
labelIds: [ID!]
|
||||
labels: [CreateLabelInput!]
|
||||
pageId: ID!
|
||||
source: String
|
||||
}
|
||||
|
||||
union SetLabelsResult = SetLabelsError | SetLabelsSuccess
|
||||
|
|
@ -1963,6 +2104,7 @@ enum SetUserPersonalizationErrorCode {
|
|||
}
|
||||
|
||||
input SetUserPersonalizationInput {
|
||||
fields: JSON
|
||||
fontFamily: String
|
||||
fontSize: Int
|
||||
libraryLayoutType: String
|
||||
|
|
@ -2068,6 +2210,10 @@ enum SubscribeErrorCode {
|
|||
}
|
||||
|
||||
input SubscribeInput {
|
||||
autoAddToLibrary: Boolean
|
||||
fetchContent: Boolean
|
||||
folder: String
|
||||
isPrivate: Boolean
|
||||
subscriptionType: SubscriptionType
|
||||
url: String!
|
||||
}
|
||||
|
|
@ -2079,11 +2225,15 @@ type SubscribeSuccess {
|
|||
}
|
||||
|
||||
type Subscription {
|
||||
autoAddToLibrary: Boolean
|
||||
count: Int!
|
||||
createdAt: Date!
|
||||
description: String
|
||||
fetchContent: Boolean!
|
||||
folder: String!
|
||||
icon: String
|
||||
id: ID!
|
||||
isPrivate: Boolean
|
||||
lastFetchedAt: Date
|
||||
name: String!
|
||||
newsletterEmail: String
|
||||
|
|
@ -2203,6 +2353,7 @@ input UpdateFilterInput {
|
|||
category: String
|
||||
description: String
|
||||
filter: String
|
||||
folder: String
|
||||
id: String!
|
||||
name: String
|
||||
position: Int
|
||||
|
|
@ -2307,6 +2458,28 @@ type UpdateLinkShareInfoSuccess {
|
|||
message: String!
|
||||
}
|
||||
|
||||
type UpdateNewsletterEmailError {
|
||||
errorCodes: [UpdateNewsletterEmailErrorCode!]!
|
||||
}
|
||||
|
||||
enum UpdateNewsletterEmailErrorCode {
|
||||
BAD_REQUEST
|
||||
UNAUTHORIZED
|
||||
}
|
||||
|
||||
input UpdateNewsletterEmailInput {
|
||||
description: String
|
||||
folder: String
|
||||
id: ID!
|
||||
name: String
|
||||
}
|
||||
|
||||
union UpdateNewsletterEmailResult = UpdateNewsletterEmailError | UpdateNewsletterEmailSuccess
|
||||
|
||||
type UpdateNewsletterEmailSuccess {
|
||||
newsletterEmail: NewsletterEmail!
|
||||
}
|
||||
|
||||
type UpdatePageError {
|
||||
errorCodes: [UpdatePageErrorCode!]!
|
||||
}
|
||||
|
|
@ -2397,8 +2570,12 @@ enum UpdateSubscriptionErrorCode {
|
|||
}
|
||||
|
||||
input UpdateSubscriptionInput {
|
||||
autoAddToLibrary: Boolean
|
||||
description: String
|
||||
fetchContent: Boolean
|
||||
folder: String
|
||||
id: ID!
|
||||
isPrivate: Boolean
|
||||
lastFetchedAt: Date
|
||||
lastFetchedChecksum: String
|
||||
name: String
|
||||
|
|
@ -2557,6 +2734,7 @@ enum UserErrorCode {
|
|||
}
|
||||
|
||||
type UserPersonalization {
|
||||
fields: JSON
|
||||
fontFamily: String
|
||||
fontSize: Int
|
||||
id: ID
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ suspend fun Networker.savedItemUpdates(
|
|||
try {
|
||||
val result = authenticatedApolloClient().query(
|
||||
UpdatesSinceQuery(
|
||||
folder = Optional.presentIfNotNull("all"),
|
||||
after = Optional.presentIfNotNull(cursor),
|
||||
first = Optional.presentIfNotNull(limit),
|
||||
since = since
|
||||
|
|
|
|||
Loading…
Reference in a new issue