From ab032eb36b8303520ec9f5e7ef49bf4192cf398a Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sat, 29 Aug 2020 16:49:18 -0500 Subject: [PATCH] =?UTF-8?q?feat(web):=20=E2=9C=A8=20add=20ListDetails=20in?= =?UTF-8?q?terface=20and=20hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/hooks/index.ts | 2 ++ web/src/hooks/useListDetails.tsx | 6 ++++++ web/src/interfaces/ListDetails.ts | 26 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 web/src/hooks/useListDetails.tsx create mode 100644 web/src/interfaces/ListDetails.ts diff --git a/web/src/hooks/index.ts b/web/src/hooks/index.ts index 56d07702d..44f8849e9 100644 --- a/web/src/hooks/index.ts +++ b/web/src/hooks/index.ts @@ -1,6 +1,7 @@ import { useLanguages } from "./useLanguages"; import { useLicenses } from "./useLicenses"; import { useLists } from "./useLists"; +import { useListDetails } from "./useListDetails"; import { useMaintainers } from "./useMaintainers"; import { useSearchColumnFilter } from "./useSearchColumnFilter"; import { useSoftware } from "./useSoftware"; @@ -12,6 +13,7 @@ export { useLanguages, useLicenses, useLists, + useListDetails, useMaintainers, useSearchColumnFilter, useSoftware, diff --git a/web/src/hooks/useListDetails.tsx b/web/src/hooks/useListDetails.tsx new file mode 100644 index 000000000..0993388f3 --- /dev/null +++ b/web/src/hooks/useListDetails.tsx @@ -0,0 +1,6 @@ +import { ListDetails } from "../interfaces/ListDetails"; +import { useApiData } from "./useApiData"; + +export const useListDetails = (id: number) => { + return useApiData("/api/v1/lists/" + id); +}; diff --git a/web/src/interfaces/ListDetails.ts b/web/src/interfaces/ListDetails.ts new file mode 100644 index 000000000..2208df90e --- /dev/null +++ b/web/src/interfaces/ListDetails.ts @@ -0,0 +1,26 @@ +export interface ListDetails { + id: number; + name: string; + description: string; + licenseId: number; + syntaxIds: number[]; + languageIso6391s: number[]; + tagIds: number[]; + viewUrls: unknown[]; + homeUrl: string; + onionUrl: string; + policyUrl: string; + submissionUrl: string; + issuesUrl: string; + forumUrl: string; + chatUrl: string; + emailAddress: string; + donateUrl: string; + maintainerIds: number[]; + upstreamFilterListIds: number[]; + forkFilterListIds: number[]; + includedInFilterListIds: number[]; + includesFilterListIds: number[]; + dependencyFilterListIds: number[]; + dependentFilterListIds: number[]; +}