some api routes

This commit is contained in:
jane 2022-04-10 14:26:47 -04:00
parent 6591e0987f
commit 6e58f59274
39 changed files with 324 additions and 21 deletions

View file

@ -1,11 +1,21 @@
import NextAuth from "next-auth";
import DiscordProvider from "next-auth/providers/discord";
import { PrismaAdapter } from "@next-auth/prisma-adapter";
import prisma from "../../../lib/prisma";
export default NextAuth({
adapter: PrismaAdapter(prisma),
providers: [
DiscordProvider({
clientId: process.env.DISCORD_CLIENT_ID,
clientSecret: process.env.DISCORD_CLIENT_SECRET,
}),
],
callbacks: {
async session({ session, token, user }) {
session.user.id = user.id;
console.log(JSON.stringify(user));
return session;
},
},
});

View file

@ -0,0 +1,11 @@
import { getUserBorders } from "../../../../lib/borders";
export default function handler(req, res) {
getUserBorders(req).then((result) => {
if (result) {
return res.status(200).json(result);
} else {
return res.status(404).json({ error: "Not Found" });
}
});
}

View file

@ -0,0 +1,11 @@
import { getByDiscordId } from "../../../../lib/borders";
export default function handler(req, res) {
const id = req.query.id;
getByDiscordId(id).then((result) => {
const borderUrl = result ?? "0";
return res.status(200).send(borderUrl);
});
}

View file

@ -1,10 +1,9 @@
import { useSession, signIn, signOut } from "next-auth/react";
import Head from "next/head";
import Image from "next/image";
import styles from "../styles/Home.module.css";
import UserInfo from "../components/userInfo";
export default function Home() {
const { data: session } = useSession();
return (
<div className={styles.container}>
<Head>
@ -15,16 +14,7 @@ export default function Home() {
<main className={styles.main}>
<h1 className={styles.title}>Steam Borders</h1>
<p className={styles.description}>
{session ? `Signed in as ${session.user.name}` : "Not signed in"}
<br />
{session ? (
<button onClick={() => signOut()}>Sign Out</button>
) : (
<button onClick={() => signIn()}>Sign In</button>
)}
</p>
<UserInfo />
</main>
</div>
);