more users stuff

This commit is contained in:
2025-01-14 22:47:04 -05:00
parent f8b8f7c819
commit d909bd33a8
5 changed files with 43 additions and 10 deletions

View File

@@ -0,0 +1,35 @@
"use server";
import { eq, not , asc} from "drizzle-orm";
import { revalidatePath } from "next/cache";
import { db } from "@db/index";
import { usersMerged } from "@schemas/schema";
export const getData = async () => {
const data = await db.select().from(usersMerged).orderBy(asc(usersMerged.email));
return data;
};
export const addUser = async ( first_name: string, last_name: string, username: string, email: string, password_hash : string) => {
await db.insert(usersMerged).values({
first_name : first_name, last_name: last_name, username: username, email: email, password_hash : password_hash
});
};
export const deleteUser = async (id: string) => {
await db.delete(usersMerged).where(eq(usersMerged.id, id));
revalidatePath("/");
};
export const editUser = async (id: string, first_name: string, last_name: string, username: string, email : string, password_hash: string) => {
await db
.update(usersMerged)
.set({
first_name : first_name,
last_name: last_name,
username: username,
email: email,
password_hash: password_hash
})
.where(eq(usersMerged.id, id));
revalidatePath("/");
};

View File

@@ -3,7 +3,6 @@ import constants from "@src/lib/constants";
export default function About() {
return (
(
<section id="about" className="bg-gray-200 py-20">
<div className="container mx-auto px-6 text-center">

View File

@@ -1,6 +1,6 @@
import { NextResponse } from 'next/server';
import { db } from '../../../../db';
import { users } from '../../../../drizzle/schema';
import { db } from '@db/index';
import { usersMerged } from '@schemas/schema';
import bcrypt from 'bcryptjs';
import { eq } from 'drizzle-orm';
@@ -14,9 +14,9 @@ export async function POST(request: Request) {
username,
email,
passwordHash: hashedPassword,
} satisfies typeof users.$inferInsert;
} satisfies typeof usersMerged.$inferInsert;
await db.insert(users).values(newUser);
await db.insert(usersMerged).values(newUser);
return NextResponse.json(
{ message: 'User created successfully', redirect: '/' },

View File

@@ -25,7 +25,7 @@ export default function RegistrationForm() {
try {
// Add your registration API call here
console.log('Form submitted:', formData)
router.push('/login') // Redirect to login after successful registration
router.push('/signin') // Redirect to login after successful registration
} catch (err) {
setError('Failed to register user')
}

View File

@@ -31,7 +31,6 @@ export const userskeep = pgTable("users-keep", {
id: bigserial({ mode: "bigint" }).primaryKey().notNull(),
username: varchar({ length: 50 }).notNull(),
email: varchar({ length: 255 }).notNull(),
passwordHash: varchar("password_hash", { length: 255 }).notNull(),
firstName: varchar("first_name", { length: 50 }),
lastName: varchar("last_name", { length: 50 }),
@@ -59,9 +58,9 @@ export const usersMerged = pgTable("users-merged", {
username: varchar({ length: 50 }).notNull(),
email: varchar({ length: 255 }).notNull(),
emailVerifiedOn: timestamp("emailVerified", { mode: "date" }),
passwordHash: varchar("password_hash", { length: 255 }).notNull(),
firstName: varchar("first_name", { length: 50 }),
lastName: varchar("last_name", { length: 50 }),
password_hash: varchar("password_hash", { length: 255 }).notNull(),
first_name: varchar("first_name", { length: 50 }),
last_name: varchar("last_name", { length: 50 }),
profilePicture: varchar("profile_picture", { length: 255 }),
dateOfBirth: date("date_of_birth"),
phoneNumber: varchar("phone_number", { length: 20 }),