From 91c22d0df8cbae97f949e643008c1005d3ea9275 Mon Sep 17 00:00:00 2001 From: Eungyeole Date: Wed, 30 Jun 2021 11:03:04 +0900 Subject: [PATCH 1/4] =?UTF-8?q?update:=20url=5Fslug=EB=A5=BC=20=ED=86=B5?= =?UTF-8?q?=ED=95=B4=20=EA=B2=80=EC=83=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/index.js | 5 ++-- src/fetchers/readpost-fetcher.js | 43 ++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 src/fetchers/readpost-fetcher.js diff --git a/api/index.js b/api/index.js index c3e5bec..b325a36 100644 --- a/api/index.js +++ b/api/index.js @@ -1,13 +1,14 @@ const createCard = require('../src/cards/new-log'); const createCardDark = require('../src/cards/new-log-black'); const fetchPost = require('../src/fetchers/post-fetcher'); +const fetchReadPost = require('../src/fetchers/readpost-fetcher'); module.exports = async (req, res) => { - const { name, tag, color } = req.query; + const { name, tag, color, slug } = req.query; res.setHeader('Content-Type', 'image/svg+xml'); try{ - const post = await fetchPost(name, tag); + const post = !slug ? await fetchPost(name, tag) : await fetchReadPost(name, slug); return res.send(color==='dark' ? createCardDark(post) : createCard(post)) } catch(e){ return res.send(e.message) diff --git a/src/fetchers/readpost-fetcher.js b/src/fetchers/readpost-fetcher.js new file mode 100644 index 0000000..fbcf477 --- /dev/null +++ b/src/fetchers/readpost-fetcher.js @@ -0,0 +1,43 @@ +const { request } = require("../utils") + +const fetcher = (variables) => { + return request( + { + query: ` + query ReadPost($username: String, $url_slug: String) { + post(username: $username, url_slug: $url_slug) { + id + title + short_description + thumbnail + user { + username + profile { + thumbnail + } + } + url_slug + released_at + updated_at + comments_count + tags + likes + } + } + `, + variables + } + ) +} + +async function fetchReadPost(name, slug) { + try{ + const { data } = await fetcher({"username": name, "url_slug" : slug}); + return data.data.posts[0]; + }catch(e){ + throw new Error(e) + } + +} + +module.exports=fetchReadPost; \ No newline at end of file From 12a49d0db29c6aeff625eb223b2fae1b0cbc3bae Mon Sep 17 00:00:00 2001 From: Eungyeole Date: Wed, 30 Jun 2021 11:07:33 +0900 Subject: [PATCH 2/4] fix: index Error --- src/fetchers/readpost-fetcher.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fetchers/readpost-fetcher.js b/src/fetchers/readpost-fetcher.js index fbcf477..a440246 100644 --- a/src/fetchers/readpost-fetcher.js +++ b/src/fetchers/readpost-fetcher.js @@ -33,7 +33,7 @@ const fetcher = (variables) => { async function fetchReadPost(name, slug) { try{ const { data } = await fetcher({"username": name, "url_slug" : slug}); - return data.data.posts[0]; + return data.data.posts; }catch(e){ throw new Error(e) } From e842593e15b00e6123baa78d5494794919a41190 Mon Sep 17 00:00:00 2001 From: Eungyeole Date: Wed, 30 Jun 2021 11:11:11 +0900 Subject: [PATCH 3/4] log --- api/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/index.js b/api/index.js index b325a36..9c4d610 100644 --- a/api/index.js +++ b/api/index.js @@ -7,8 +7,10 @@ const fetchReadPost = require('../src/fetchers/readpost-fetcher'); module.exports = async (req, res) => { const { name, tag, color, slug } = req.query; res.setHeader('Content-Type', 'image/svg+xml'); + console.log(slug) try{ const post = !slug ? await fetchPost(name, tag) : await fetchReadPost(name, slug); + console.log(post); return res.send(color==='dark' ? createCardDark(post) : createCard(post)) } catch(e){ return res.send(e.message) From 1a3a8c9196d4899457f3f602cec4a851673013ba Mon Sep 17 00:00:00 2001 From: Eungyeole Date: Wed, 30 Jun 2021 11:14:28 +0900 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20ReadPost=20=EA=B0=9D=EC=B2=B4=20?= =?UTF-8?q?=EC=B0=B8=EC=A1=B0=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/index.js | 2 -- src/fetchers/readpost-fetcher.js | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/api/index.js b/api/index.js index 9c4d610..b325a36 100644 --- a/api/index.js +++ b/api/index.js @@ -7,10 +7,8 @@ const fetchReadPost = require('../src/fetchers/readpost-fetcher'); module.exports = async (req, res) => { const { name, tag, color, slug } = req.query; res.setHeader('Content-Type', 'image/svg+xml'); - console.log(slug) try{ const post = !slug ? await fetchPost(name, tag) : await fetchReadPost(name, slug); - console.log(post); return res.send(color==='dark' ? createCardDark(post) : createCard(post)) } catch(e){ return res.send(e.message) diff --git a/src/fetchers/readpost-fetcher.js b/src/fetchers/readpost-fetcher.js index a440246..a470c39 100644 --- a/src/fetchers/readpost-fetcher.js +++ b/src/fetchers/readpost-fetcher.js @@ -33,7 +33,7 @@ const fetcher = (variables) => { async function fetchReadPost(name, slug) { try{ const { data } = await fetcher({"username": name, "url_slug" : slug}); - return data.data.posts; + return data.data.post; }catch(e){ throw new Error(e) }