From 676d54280d3b4fd359312db867ae3ad4c48f7d56 Mon Sep 17 00:00:00 2001 From: Gift Egwuenu Date: Fri, 19 Jun 2020 13:07:41 +0100 Subject: [PATCH] [home][s] - add mock data for recent datasets --- components/home/Recent.tsx | 45 ++++------------------ mocks/index.js | 76 ++++++++++++++++++++++++++++++++++++++ pages/index.tsx | 24 +++++++++++- 3 files changed, 106 insertions(+), 39 deletions(-) diff --git a/components/home/Recent.tsx b/components/home/Recent.tsx index fc02cd50..821904b8 100644 --- a/components/home/Recent.tsx +++ b/components/home/Recent.tsx @@ -1,49 +1,16 @@ import Link from 'next/link'; -export default function Recent() { +function Recent() { return (

Recent Datasets

-
+
-

Our World in Data - COVID 19

-

Dataset

-

- data collected and managed by Our World in Data - COVID 19 pulled - from GitHub on 06/10/2020 https://ourworldindata.org/coronavirus -

+

Title

+

Description

- {' '} - View Dataset{' '} - - -
-
-

Our World in Data - COVID 19

-

Dataset

-

- data collected and managed by Our World in Data - COVID 19 pulled - from GitHub on 06/10/2020 https://ourworldindata.org/coronavirus -

- - - {' '} - View Dataset{' '} - - -
-
-

Our World in Data - COVID 19

-

Dataset

-

- data collected and managed by Our World in Data - COVID 19 pulled - from GitHub on 06/10/2020 https://ourworldindata.org/coronavirus -

- - - {' '} - View Dataset{' '} + View Dataset
@@ -51,3 +18,5 @@ export default function Recent() {
); } + +export default Recent; diff --git a/mocks/index.js b/mocks/index.js index 17c11e04..d894908a 100644 --- a/mocks/index.js +++ b/mocks/index.js @@ -58,6 +58,64 @@ const population = { }, }; +const recentDataset = { + license_title: 'Creative Commons Attribution', + maintainer: '', + relationships_as_object: [], + private: false, + maintainer_email: '', + num_tags: 0, + id: '9b960530-728c-4a07-8f96-c5f89b545d05', + metadata_created: '2020-06-19T07:30:03.796668', + metadata_modified: '2020-06-19T07:30:11.392832', + author: '', + author_email: '', + state: 'active', + version: '', + creator_user_id: '0d23e029-ddd5-4909-a2cd-5af7fe8d6e9c', + type: 'dataset', + resources: [ + { + mimetype: null, + cache_url: null, + hash: '', + description: '', + name: 'gettyimages-954867550.jpg', + format: 'JPEG', + url: + 'https://demo.ckan.org/pl/dataset/9b960530-728c-4a07-8f96-c5f89b545d05/resource/ac28179c-023e-4c17-af3c-00cbb81f5dcb/download/gettyimages-954867550.jpg', + datastore_active: false, + cache_last_updated: null, + package_id: '9b960530-728c-4a07-8f96-c5f89b545d05', + created: '2020-06-19T07:30:10.786597', + state: 'active', + mimetype_inner: null, + last_modified: null, + position: 0, + revision_id: 'a810e134-79ba-4ab7-a7c4-f60e2fb21d40', + url_type: 'upload', + id: 'ac28179c-023e-4c17-af3c-00cbb81f5dcb', + resource_type: null, + size: null, + }, + ], + num_resources: 1, + tags: [], + groups: [], + license_id: 'cc-by', + relationships_as_subject: [], + organization: null, + name: 'sdfasdasda', + isopen: true, + url: '', + notes: 'sdf', + owner_org: null, + extras: [], + license_url: 'http://www.opendefinition.org/licenses/cc-by', + title: 'sdf', + revision_id: 'a810e134-79ba-4ab7-a7c4-f60e2fb21d40', +}; + module.exports.initMocks = function () { // Uncomment this line if you want to record API calls // nock.recorder.rec() @@ -108,6 +166,24 @@ module.exports.initMocks = function () { result: population, }); + // recent datapackages + nock('http://mock.ckan/api/3/action', { encodedQueryParams: true }) + .persist() + .get('/package_search?sort=metadata_created%20desc') + .reply(200, { + success: true, + result: { + success: true, + result: { + count: 1923, + sort: 'metadata_created desc', + facets: {}, + results: [recentDataset], + search_facets: {}, + }, + }, + }); + // "datastore_search" mocks nock('http://mock.ckan/api/3/action', { encodedQueryParams: true }) .persist() diff --git a/pages/index.tsx b/pages/index.tsx index 01cfe020..b4224ece 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,9 +1,13 @@ import Head from 'next/head'; +import { GetServerSideProps } from 'next'; import Nav from '../components/home/Nav'; import Recent from '../components/home/Recent'; import Input from '../components/search/Input'; +import config from '../config/'; +import utils from '../utils'; +import { util } from 'prettier'; -export default function Home() { +function Home() { return (
@@ -32,3 +36,21 @@ export default function Home() {
); } + +export const getServerSideProps: GetServerSideProps = async (context) => { + const res = await fetch( + `${config.get( + 'DMS' + )}/api/3/action/package_search?sort=metadata_created%20desc` + ); + const ckanResult = (await res.json()).result; + const datapackages = ckanResult; + console.log(datapackages); + return { + props: { + datapackages, + }, + }; +}; + +export default Home;