Trying to use nextresponse instead.

main
Thomas Hintz 2 years ago
parent d788091684
commit 59ac009d7d

@ -1,3 +1,5 @@
import { NextResponse } from "next/server";
import Stripe from 'stripe'; import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY); const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
@ -53,8 +55,7 @@ async function handler(req, res) {
if (email && password && password === passwordagain && (csi || patreon_magic_key)) { if (email && password && password === passwordagain && (csi || patreon_magic_key)) {
// Check for minimum password length // Check for minimum password length
if (password.length < 12) { if (password.length < 12) {
res.status(303).redirect(makeMsg(csi, email, 'Please enter a password that is at least 12 characters long.')); return NextResponse.redirect(makeMsg(csi, email, 'Please enter a password that is at least 12 characters long.'), 303);
return;
} }
// Retrieve Stripe session and email or get verify patreon magic key // Retrieve Stripe session and email or get verify patreon magic key
@ -69,16 +70,14 @@ async function handler(req, res) {
if (!session) { console.error('unable to get session'); } if (!session) { console.error('unable to get session'); }
if (!emailFromSession) { console.error('unable to get email from session'); } if (!emailFromSession) { console.error('unable to get email from session'); }
if (!email === emailFromSession) { console.error('session email does not match form email'); } if (!email === emailFromSession) { console.error('session email does not match form email'); }
res.status(303).redirect('/reactors/create-account?unexpected_error=true'); return NextResponse.redirect('/reactors/create-account?unexpected_error=true', 303);
return;
} }
// Check if user already exists // Check if user already exists
const existingUser = await db.get('select id from users where email=?', email); const existingUser = await db.get('select id from users where email=?', email);
if (existingUser) { if (existingUser) {
console.error('User already exists'); console.error('User already exists');
res.status(303).redirect('/reactors/create-account?unexpected_error=true'); return NextResponse.redirect('/reactors/create-account?unexpected_error=true', 303);
return;
} }
// Create new user and subscription // Create new user and subscription
@ -87,21 +86,18 @@ async function handler(req, res) {
const userId = await createUser(email, salt, hashRes); const userId = await createUser(email, salt, hashRes);
await createSubscription(userId, sessionType); await createSubscription(userId, sessionType);
console.log('User created successfully'); console.log('User created successfully');
res.status(303).redirect('/reactors/account'); return NextResponse.redirect('/reactors/account', 303);
} else { } else {
// Handle missing or invalid form data // Handle missing or invalid form data
if (!email || !csi) { if (!email || !csi) {
console.error('Missing email or csi'); console.error('Missing email or csi');
res.status(303).redirect('/reactors/create-account?unexpected_error=true'); return NextResponse.redirect('/reactors/create-account?unexpected_error=true', 303);
return;
} }
if (!password) { if (!password) {
res.status(303).redirect(makeMsg(csi, email, 'Please enter a password')); return NextResponse.redirect(makeMsg(csi, email, 'Please enter a password'), 303);
return;
} }
if (password !== passwordagain) { if (password !== passwordagain) {
res.status(303).redirect(makeMsg(csi, email, 'Passwords did not match. Please try again.')); return NextResponse.redirect(makeMsg(csi, email, 'Passwords did not match. Please try again.'), 303)
return;
} }
} }
} else { } else {

Loading…
Cancel
Save