forked from DebaucheryLibrarian/traxxx
Moved networks to GraphQL.
This commit is contained in:
@@ -1,27 +1,68 @@
|
||||
import { get } from '../api';
|
||||
import { graphql } from '../api';
|
||||
import { sitesFragment, releasesFragment } from '../fragments';
|
||||
import { curateNetwork } from '../curate';
|
||||
|
||||
function initNetworksActions(store, _router) {
|
||||
async function fetchNetworks({ _commit }, networkId) {
|
||||
const networks = await get(`/networks/${networkId || ''}`, {
|
||||
|
||||
});
|
||||
|
||||
return networks;
|
||||
}
|
||||
|
||||
async function fetchNetworkReleases({ _commit }, networkId) {
|
||||
const releases = await get(`/networks/${networkId}/releases`, {
|
||||
filter: store.state.ui.filter,
|
||||
async function fetchNetworkBySlug(networkSlug, limit = 100) {
|
||||
const { network } = await graphql(`
|
||||
query Network(
|
||||
$networkSlug: String!
|
||||
$limit:Int = 1000,
|
||||
$after:Date = "1900-01-01",
|
||||
$before:Date = "2100-01-01",
|
||||
) {
|
||||
network: networkBySlug(slug: $networkSlug) {
|
||||
id
|
||||
name
|
||||
slug
|
||||
url
|
||||
sites {
|
||||
id
|
||||
name
|
||||
slug
|
||||
url
|
||||
${releasesFragment}
|
||||
network {
|
||||
id
|
||||
name
|
||||
slug
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`, {
|
||||
networkSlug,
|
||||
limit,
|
||||
after: store.getters.after,
|
||||
before: store.getters.before,
|
||||
});
|
||||
|
||||
return releases;
|
||||
return curateNetwork(network);
|
||||
}
|
||||
|
||||
async function fetchNetworks({ _commit }, networkSlug) {
|
||||
if (networkSlug) {
|
||||
return fetchNetworkBySlug(networkSlug);
|
||||
}
|
||||
|
||||
const { networks } = await graphql(`
|
||||
query Networks {
|
||||
networks {
|
||||
id
|
||||
name
|
||||
slug
|
||||
url
|
||||
${sitesFragment}
|
||||
}
|
||||
}
|
||||
`);
|
||||
|
||||
return networks.map(network => curateNetwork(network));
|
||||
}
|
||||
|
||||
return {
|
||||
fetchNetworks,
|
||||
fetchNetworkReleases,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user