From 96bd7e5b47b7d990e77bf987c71d848886b187ed Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 17 Sep 2020 22:52:20 -0700 Subject: [PATCH] Use token authentication for API requests. --- components/WebsiteDetails.js | 20 +++++++--- components/WebsiteDetails.module.css | 4 ++ components/common/RefreshButton.js | 2 +- components/metrics/ActiveUsers.js | 4 +- components/metrics/BrowsersTable.js | 3 +- components/metrics/CountriesTable.js | 9 ++++- components/metrics/DevicesTable.js | 3 +- components/metrics/EventsChart.js | 5 ++- components/metrics/EventsTable.js | 3 +- components/metrics/MetricsBar.js | 5 ++- components/metrics/MetricsTable.js | 4 +- components/metrics/OSTable.js | 3 +- components/metrics/PagesTable.js | 3 +- components/metrics/QuickButtons.js | 30 --------------- components/metrics/QuickButtons.module.css | 33 ---------------- components/metrics/ReferrersTable.js | 9 ++++- components/metrics/WebsiteChart.js | 10 +++-- components/metrics/WebsiteHeader.js | 10 ++--- components/settings/ProfileSettings.js | 2 +- hooks/useDateRange.js | 2 +- lib/auth.js | 44 +++++++++++++++++++++- lib/crypto.js | 2 +- lib/middleware.js | 14 ++----- lib/session.js | 6 +-- pages/api/share/[id].js | 6 ++- pages/api/website/[id]/active.js | 14 +++++-- pages/api/website/[id]/events.js | 7 +++- pages/api/website/[id]/index.js | 28 +++++++------- pages/api/website/[id]/metrics.js | 8 +++- pages/api/website/[id]/pageviews.js | 15 +++++--- pages/api/website/[id]/rankings.js | 8 +++- pages/api/website/index.js | 26 ++++++------- pages/api/websites.js | 5 ++- pages/share/[...id].js | 4 +- 34 files changed, 198 insertions(+), 153 deletions(-) delete mode 100644 components/metrics/QuickButtons.js delete mode 100644 components/metrics/QuickButtons.module.css diff --git a/components/WebsiteDetails.js b/components/WebsiteDetails.js index 520c339f..e3a7e2c2 100644 --- a/components/WebsiteDetails.js +++ b/components/WebsiteDetails.js @@ -30,16 +30,19 @@ const views = { event: EventsTable, }; -export default function WebsiteDetails({ websiteId, shareId }) { +export default function WebsiteDetails({ websiteId, token }) { const router = useRouter(); - const { data } = useFetch(`/api/website/${websiteId}`, { share_id: shareId }); + const { data } = useFetch(`/api/website/${websiteId}`, { token }); const [chartLoaded, setChartLoaded] = useState(false); const [countryData, setCountryData] = useState(); const [eventsData, setEventsData] = useState(); const { query: { id, view }, + basePath, + asPath, } = router; - const path = `/website/${id.join('/')}`; + + const path = `${basePath}/${asPath.split('/')[1]}/${id.join('/')}`; const BackButton = () => (