From 90e3fd5048eb10cfa58229b6a5598a9cfcd90269 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Chif=20Gerg=C5=91?= <chif.gergo@cloud.bme.hu>
Date: Fri, 28 Aug 2020 20:46:25 +0200
Subject: [PATCH] Add query to get the news endpoint

---
 package.json                |  3 ++-
 src/core/App.tsx            | 15 ++++++++++++++-
 src/hooks/useGetNewsList.ts | 12 ++++++++++++
 3 files changed, 28 insertions(+), 2 deletions(-)
 create mode 100644 src/hooks/useGetNewsList.ts

diff --git a/package.json b/package.json
index a6c602e..2204cce 100644
--- a/package.json
+++ b/package.json
@@ -82,5 +82,6 @@
     "prettier-plugin-organize-imports": "^1.1.1",
     "prettier-plugin-packagejson": "^2.2.5",
     "prettier-plugin-sh": "^0.5.0"
-  }
+  },
+  "proxy": "http://localhost:8000"
 }
diff --git a/src/core/App.tsx b/src/core/App.tsx
index ebed2ef..dfb1d8d 100644
--- a/src/core/App.tsx
+++ b/src/core/App.tsx
@@ -1,6 +1,7 @@
-import React from 'react';
+import React, { useEffect } from 'react';
 import { BrowserRouter as Router } from 'react-router-dom';
 import styled from 'styled-components';
+import useGetNewsList from '../hooks/useGetNewsList';
 import Footer from './components/Footer';
 import Header from './components/Header';
 import MainRouting from './components/MainRouting';
@@ -17,6 +18,18 @@ const MainContent = styled.div`
 `;
 
 function App() {
+  const [response, getNewsList] = useGetNewsList();
+
+  useEffect(() => {
+    getNewsList();
+  }, [getNewsList]);
+
+  useEffect(() => {
+    if (response.data) {
+      console.log(response.data[0].text);
+    }
+  }, [response.data]);
+
   return (
     <Router>
       <Container>
diff --git a/src/hooks/useGetNewsList.ts b/src/hooks/useGetNewsList.ts
new file mode 100644
index 0000000..98db4a8
--- /dev/null
+++ b/src/hooks/useGetNewsList.ts
@@ -0,0 +1,12 @@
+import { INews, RequestParams } from './types';
+import useRequest from './useRequest';
+import userRestQueries from './useRestQueries';
+
+const useGetNewsList = (params?: RequestParams, data?: INews[]) => {
+  const { get } = userRestQueries();
+  const request = get<INews[]>('/api/v1/news');
+
+  return useRequest<INews[]>({ request, initialParams: params, initialData: data });
+};
+
+export default useGetNewsList;
-- 
GitLab