Display page views and unique visitors.

This commit is contained in:
Mike Cao 2020-07-28 19:04:45 -07:00
parent bdcdcd9d13
commit ce92c7897d
16 changed files with 162 additions and 44 deletions

View file

@ -18,8 +18,8 @@ export default async (req, res) => {
res.setHeader('Set-Cookie', [cookie]);
res.status(200).json({ token });
} else {
res.status(401).end();
return res.status(200).json({ token });
}
return res.status(401).end();
};

View file

@ -26,5 +26,5 @@ export default async (req, res) => {
ok = true;
}
res.status(200).json({ ok, session: token });
return res.status(200).json({ ok, session: token });
};

View file

@ -5,8 +5,8 @@ export default async (req, res) => {
try {
const payload = await verifySecureToken(token);
res.status(200).json(payload);
return res.status(200).json(payload);
} catch {
res.status(400).end();
return res.status(400).end();
}
};

View file

@ -8,5 +8,5 @@ export default async (req, res) => {
const websites = await getWebsites(user_id);
res.status(200).json({ websites });
return res.status(200).json({ websites });
};

View file

@ -1,3 +1,4 @@
import moment from 'moment-timezone';
import { getPageviewData } from 'lib/db';
import { useAuth } from 'lib/middleware';
@ -6,10 +7,14 @@ export default async (req, res) => {
const { id, start_at, end_at, unit, tz } = req.query;
if (!moment.tz.zone(tz) || !['hour', 'day'].includes(unit)) {
return res.status(400).end();
}
const [pageviews, uniques] = await Promise.all([
getPageviewData(+id, new Date(+start_at), new Date(+end_at), tz, unit, '*'),
getPageviewData(+id, new Date(+start_at), new Date(+end_at), tz, unit, 'distinct session_id'),
]);
res.status(200).json({ pageviews, uniques });
return res.status(200).json({ pageviews, uniques });
};

View file

@ -9,5 +9,5 @@ export default async (req, res) => {
const pageviews = await getPageviews(+id, new Date(+start_at), new Date(+end_at));
res.status(200).json({ pageviews });
return res.status(200).json({ pageviews });
};