summaryrefslogtreecommitdiffstats
path: root/src/store
diff options
context:
space:
mode:
authorDevlin Junker <devlin.junker@gmail.com>2023-09-14 13:56:55 -0700
committerBenjamin Brahmer <info@b-brahmer.de>2023-09-20 17:32:33 +0200
commit4b24d05ec2e58d06785650f527cf1aba74c4855c (patch)
tree19494f9ca11288caa3bea2ec6168bd7971baab2f /src/store
parent9d629b943a683b307c3cfe755792f9a544caca98 (diff)
3 more feed actions
Signed-off-by: Devlin Junker <devlin.junker@gmail.com>
Diffstat (limited to 'src/store')
-rw-r--r--src/store/feed.ts24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/store/feed.ts b/src/store/feed.ts
index adbc9eabf..b6031e4e6 100644
--- a/src/store/feed.ts
+++ b/src/store/feed.ts
@@ -4,7 +4,7 @@ import { ActionParams, AppState } from '../store'
import { Feed } from '../types/Feed'
import { FOLDER_MUTATION_TYPES, FEED_MUTATION_TYPES, FEED_ITEM_MUTATION_TYPES } from '../types/MutationTypes'
import { FolderService } from '../dataservices/folder.service'
-import { FeedService } from '../dataservices/feed.service'
+import { FEED_ORDER, FEED_UPDATE_MODE, FeedService } from '../dataservices/feed.service'
import { ItemService } from '../dataservices/item.service'
export const FEED_ACTION_TYPES = {
@@ -12,6 +12,9 @@ export const FEED_ACTION_TYPES = {
FETCH_FEEDS: 'FETCH_FEEDS',
FEED_MARK_READ: 'FEED_MARK_READ',
FEED_SET_PINNED: 'FEED_SET_PINNED',
+ FEED_SET_ORDERING: 'FEED_SET_ORDERING',
+ FEED_SET_FULL_TEXT: 'FEED_SET_FULL_TEXT',
+ FEED_SET_UPDATE_MODE: 'FEED_SET_UPDATE_MODE',
}
const state = {
@@ -75,6 +78,7 @@ export const actions = {
}
},
async [FEED_ACTION_TYPES.FEED_MARK_READ]({ commit }: ActionParams, { feed }: { feed: Feed }) {
+ // want to fetch feed so that we can retrieve the "highestItemId"
const response = await ItemService.fetchFeedItems(feed.id as number)
await FeedService.markRead({ feedId: feed.id as number, highestItemId: response.data.items[0].id })
@@ -86,6 +90,24 @@ export const actions = {
commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, pinned })
},
+
+ async [FEED_ACTION_TYPES.FEED_SET_ORDERING]({ commit }: ActionParams, { feed, ordering }: { feed: Feed, ordering: FEED_ORDER }) {
+ await FeedService.updateFeed({ feedId: feed.id as number, ordering })
+
+ commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, ordering })
+ },
+
+ async [FEED_ACTION_TYPES.FEED_SET_FULL_TEXT]({ commit }: ActionParams, { feed, fullTextEnabled }: { feed: Feed, fullTextEnabled: boolean }) {
+ await FeedService.updateFeed({ feedId: feed.id as number, fullTextEnabled })
+
+ commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, fullTextEnabled })
+ },
+
+ async [FEED_ACTION_TYPES.FEED_SET_UPDATE_MODE]({ commit }: ActionParams, { feed, updateMode }: { feed: Feed, updateMode: FEED_UPDATE_MODE }) {
+ await FeedService.updateFeed({ feedId: feed.id as number, updateMode })
+
+ commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, updateMode })
+ },
}
export const mutations = {