From 4d7351d5e9398ff8b53a0cebb26676d281b0ad3f Mon Sep 17 00:00:00 2001 From: Woosik Kim Date: Sat, 10 Apr 2021 23:35:20 +0900 Subject: [PATCH 1/3] Remove the old 'Contributors' api --- api/src/app/controllers/contributors/index.ts | 40 ------------------- api/src/app/routes/api/contributors/index.ts | 9 ----- api/src/app/routes/api/index.ts | 2 - .../main/redux/actions/articles-page/index.ts | 2 +- .../redux/actions/documentation-page/index.ts | 2 +- 5 files changed, 2 insertions(+), 53 deletions(-) delete mode 100644 api/src/app/controllers/contributors/index.ts delete mode 100644 api/src/app/routes/api/contributors/index.ts diff --git a/api/src/app/controllers/contributors/index.ts b/api/src/app/controllers/contributors/index.ts deleted file mode 100644 index 17e067206..000000000 --- a/api/src/app/controllers/contributors/index.ts +++ /dev/null @@ -1,40 +0,0 @@ -import * as Github from "../../services/github"; - -import { GithubUser } from "@dzcode.io/common/dist/types"; -import { RequestHandler } from "express"; - -export const listContributors: RequestHandler = async (req, res) => { - const slug = req.query.articleSlug || req.query.documentSlug; - const modelType = req.query.articleSlug ? "articles" : "documentation"; - try { - const responses = await Promise.all([ - Github.listContributors({ - owner: "dzcode-io", - repo: "dzcode.io", - path: `data/models/${modelType}/${slug}`, - }), - Github.listContributors({ - owner: "dzcode-io", - repo: "dzcode.io", - path: `data/${modelType}/${slug}`, - }), - ]); - const uniqUsernames: Record = {}; - const contributors = [...(responses[0] || []), ...(responses[1] || [])] - .reduce((pV, cV) => { - if (uniqUsernames[cV.login]) { - uniqUsernames[cV.login]++; - return pV; - } else { - uniqUsernames[cV.login] = 1; - return [...pV, cV]; - } - }, []) - .sort((a, b) => uniqUsernames[b.login] - uniqUsernames[a.login]); - - return res.status(200).json(contributors); - } catch (e) { - console.error(e); - return res.sendStatus(400); - } -}; diff --git a/api/src/app/routes/api/contributors/index.ts b/api/src/app/routes/api/contributors/index.ts deleted file mode 100644 index 7883f3112..000000000 --- a/api/src/app/routes/api/contributors/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -import express, { Router } from "express"; - -import { listContributors } from "../../../controllers/contributors"; - -const router: Router = express.Router(); - -router.get("/", listContributors); - -export default router; diff --git a/api/src/app/routes/api/index.ts b/api/src/app/routes/api/index.ts index 9339751f6..5457cf109 100644 --- a/api/src/app/routes/api/index.ts +++ b/api/src/app/routes/api/index.ts @@ -1,6 +1,5 @@ import express, { Router } from "express"; -import contributors from "./contributors"; import { getRoot } from "../../controllers/etc"; import github from "./github"; @@ -8,6 +7,5 @@ const router: Router = express.Router(); router.get("/", getRoot); router.use("/github", github); -router.use("/contributors", contributors); export default router; diff --git a/web/src/apps/main/redux/actions/articles-page/index.ts b/web/src/apps/main/redux/actions/articles-page/index.ts index eacbe9e18..fa4e75d8e 100644 --- a/web/src/apps/main/redux/actions/articles-page/index.ts +++ b/web/src/apps/main/redux/actions/articles-page/index.ts @@ -61,7 +61,7 @@ export const fetchCurrentArticleContributors = (): ThunkResult< if (!currentArticle || Array.isArray(currentArticle.contributors)) return; const response = await Axios.get( - apiURL + `/contributors?articleSlug=${currentArticle.slug}`, + apiURL + `/v2/contributors?articleSlug=${currentArticle.slug}`, ); if (response.data.hasOwnProperty("error")) { diff --git a/web/src/apps/main/redux/actions/documentation-page/index.ts b/web/src/apps/main/redux/actions/documentation-page/index.ts index d0db6859e..795393946 100644 --- a/web/src/apps/main/redux/actions/documentation-page/index.ts +++ b/web/src/apps/main/redux/actions/documentation-page/index.ts @@ -61,7 +61,7 @@ const fetchCurrentDocumentContributors = (): ThunkResult< if (!currentDocument || Array.isArray(currentDocument.contributors)) return; const response = await Axios.get( - apiURL + `/contributors?documentSlug=${currentDocument.slug}`, + apiURL + `/v2/contributors?documentSlug=${currentDocument.slug}`, ); if (response.data.hasOwnProperty("error")) { From 3773af291d8fb80d02f49b2d1424e4a59dfac1a7 Mon Sep 17 00:00:00 2001 From: Woosik Kim Date: Sun, 11 Apr 2021 01:39:49 +0900 Subject: [PATCH 2/3] Update web/src/apps/main/redux/actions/articles-page/index.ts Co-authored-by: Zakaria Mansouri --- web/src/apps/main/redux/actions/articles-page/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/apps/main/redux/actions/articles-page/index.ts b/web/src/apps/main/redux/actions/articles-page/index.ts index fa4e75d8e..86d6ad015 100644 --- a/web/src/apps/main/redux/actions/articles-page/index.ts +++ b/web/src/apps/main/redux/actions/articles-page/index.ts @@ -61,7 +61,7 @@ export const fetchCurrentArticleContributors = (): ThunkResult< if (!currentArticle || Array.isArray(currentArticle.contributors)) return; const response = await Axios.get( - apiURL + `/v2/contributors?articleSlug=${currentArticle.slug}`, + apiURL + `/v2/contributors?path=articles/${currentArticle.slug}`, ); if (response.data.hasOwnProperty("error")) { From c1bfe11165273bce58c21097a71b478f87fad1c8 Mon Sep 17 00:00:00 2001 From: Woosik Kim Date: Sun, 11 Apr 2021 01:39:55 +0900 Subject: [PATCH 3/3] Update web/src/apps/main/redux/actions/documentation-page/index.ts Co-authored-by: Zakaria Mansouri --- web/src/apps/main/redux/actions/documentation-page/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/apps/main/redux/actions/documentation-page/index.ts b/web/src/apps/main/redux/actions/documentation-page/index.ts index 795393946..f93db5df6 100644 --- a/web/src/apps/main/redux/actions/documentation-page/index.ts +++ b/web/src/apps/main/redux/actions/documentation-page/index.ts @@ -61,7 +61,7 @@ const fetchCurrentDocumentContributors = (): ThunkResult< if (!currentDocument || Array.isArray(currentDocument.contributors)) return; const response = await Axios.get( - apiURL + `/v2/contributors?documentSlug=${currentDocument.slug}`, + apiURL + `/v2/contributors?path=documentation/${currentDocument.slug}`, ); if (response.data.hasOwnProperty("error")) {