[ckan api + apollo][l]: setup apollo client to connect to actual CKAN API.

This commit is contained in:
anuveyatsu
2020-06-23 10:09:19 +06:00
parent bbea63aae7
commit d3a2a1da8e
6 changed files with 178 additions and 38 deletions

View File

@@ -6,7 +6,27 @@ import Head from 'next/head';
import Nav from '../components/home/Nav';
import Form from '../components/search/Form';
import Total from '../components/search/Total';
import List, { DEFAULT_SEARCH_QUERY } from '../components/search/List';
import List from '../components/search/List';
import gql from 'graphql-tag';
const QUERY = gql`
query search($q: String, $sort: String) {
search(q: $q, sort: $sort)
@rest(type: "Search", path: "package_search?{args}") {
result {
count
results {
name
title
organization {
name
title
}
}
}
}
}
`;
function Search({ variables }) {
return (
@@ -27,15 +47,12 @@ function Search({ variables }) {
export const getServerSideProps: GetServerSideProps = async (context) => {
const query = context.query || {};
const ckanQuery = utils.convertToCkanSearchQuery(query);
const variables = utils.convertToCkanSearchQuery(query);
const apolloClient = initializeApollo();
const variables = {
query: { q: ckanQuery.q || '' },
};
await apolloClient.query({
query: DEFAULT_SEARCH_QUERY,
const { data } = await apolloClient.query({
query: QUERY,
variables,
});