2023-07-07 16:38:53 +00:00
|
|
|
import axios from '@nextcloud/axios'
|
|
|
|
import { generateUrl } from '@nextcloud/router'
|
|
|
|
|
|
|
|
export const subscriptions = {
|
|
|
|
namespaced: true,
|
|
|
|
state: {
|
|
|
|
subscriptions: [],
|
|
|
|
},
|
|
|
|
mutations: {
|
2023-07-09 22:25:32 +00:00
|
|
|
set: (state, subscriptions) => {
|
|
|
|
state.subscriptions = subscriptions
|
2023-07-07 16:38:53 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
actions: {
|
2023-07-08 22:07:21 +00:00
|
|
|
fetch: async (context) => {
|
2024-04-29 22:48:47 +00:00
|
|
|
const metrics = await axios.get(
|
|
|
|
generateUrl('/apps/gpoddersync/personal_settings/metrics'),
|
|
|
|
)
|
|
|
|
const subs = [...metrics.data.subscriptions].sort(
|
|
|
|
(a, b) => b.listenedSeconds - a.listenedSeconds,
|
|
|
|
)
|
|
|
|
context.commit(
|
|
|
|
'set',
|
|
|
|
subs.map((sub) => sub.url),
|
|
|
|
)
|
2023-07-07 16:38:53 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|