Auth and session middleware.

This commit is contained in:
Mike Cao 2020-07-27 23:52:14 -07:00
parent 590a70c2ff
commit d81ee3932d
14 changed files with 142 additions and 73 deletions

View file

@ -1,13 +1,12 @@
import { savePageView, saveEvent } from 'lib/db';
import { useCors } from 'lib/middleware';
import checkSession from 'lib/session';
import { useCors, useSession } from 'lib/middleware';
import { createToken } from 'lib/crypto';
export default async (req, res) => {
await useCors(req, res);
await useSession(req, res);
const session = await checkSession(req);
const { session } = req;
const token = await createToken(session);
const { website_id, session_id } = session;
const { type, payload } = req.body;

12
pages/api/website.js Normal file
View file

@ -0,0 +1,12 @@
import { getWebsites } from 'lib/db';
import { useAuth } from 'lib/middleware';
export default async (req, res) => {
await useAuth(req, res);
const { user_id } = req.auth;
const websites = await getWebsites(user_id);
res.status(200).json({ websites });
};

View file

@ -1,10 +1,15 @@
import { getPageviews } from 'lib/db';
import { getPageviewData } from 'lib/db';
import { useAuth } from 'lib/middleware';
export default async (req, res) => {
console.log(req.query);
const { id, start_at, end_at } = req.query;
await useAuth(req, res);
const pageviews = await getPageviews(+id, new Date(+start_at), new Date(+end_at));
const { id, start_at, end_at, tz } = req.query;
res.status(200).json({ pageviews });
const [pageviews, uniques] = await Promise.all([
getPageviewData(+id, new Date(+start_at), new Date(+end_at), tz, 'day', '*'),
getPageviewData(+id, new Date(+start_at), new Date(+end_at), tz, 'day', 'distinct session_id'),
]);
res.status(200).json({ pageviews, uniques });
};

View file

@ -0,0 +1,13 @@
import { getPageviews } from 'lib/db';
import { useAuth } from 'lib/middleware';
export default async (req, res) => {
await useAuth(req, res);
console.log(req.query);
const { id, start_at, end_at } = req.query;
const pageviews = await getPageviews(+id, new Date(+start_at), new Date(+end_at));
res.status(200).json({ pageviews });
};