move to postgres, adds user checks to content creation
This commit is contained in:
@@ -2,17 +2,13 @@
|
||||
|
||||
import { auth } from "@/auth";
|
||||
import { prisma } from "@/prisma/prismaClient";
|
||||
import { isEmailVerified } from "@/util/isEmailVerified";
|
||||
|
||||
export const createGameSystem = async (name: string) => {
|
||||
const session = await auth();
|
||||
if (!session?.user?.id) return null;
|
||||
|
||||
const user = await prisma.user.findFirst({
|
||||
where: { id: session.user.id },
|
||||
select: { emailVerified: true },
|
||||
});
|
||||
|
||||
if (!user?.emailVerified) return null;
|
||||
if (!isEmailVerified(session.user.id)) return null;
|
||||
|
||||
const { id } = await prisma.gameSystem.create({
|
||||
data: {
|
||||
|
@@ -1,13 +1,18 @@
|
||||
"use server";
|
||||
|
||||
import { auth } from "@/auth";
|
||||
import { prisma } from "@/prisma/prismaClient";
|
||||
import { isEmailVerified } from "@/util/isEmailVerified";
|
||||
import { redirect } from "next/navigation";
|
||||
|
||||
export const createSchema = async (form: FormData) => {
|
||||
const name = form.get("name")?.toString();
|
||||
const gsId = form.get("gsId")?.toString();
|
||||
|
||||
if (!name || !gsId) return;
|
||||
const session = await auth();
|
||||
|
||||
if (!name || !gsId || !session?.user?.id || !isEmailVerified(session.user.id))
|
||||
return;
|
||||
|
||||
const { id } = await prisma.schema.create({
|
||||
data: {
|
||||
@@ -16,6 +21,7 @@ export const createSchema = async (form: FormData) => {
|
||||
types: "{}",
|
||||
version: 0,
|
||||
gameSystemId: gsId,
|
||||
authorId: session.user.id,
|
||||
},
|
||||
select: { id: true },
|
||||
});
|
||||
|
Reference in New Issue
Block a user