students fked up
This commit is contained in:
46
apps/student/app/signup/action.ts
Normal file
46
apps/student/app/signup/action.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
'use server'
|
||||
import { db, students } from '@workspace/db';
|
||||
import { eq } from '@workspace/db/drizzle';
|
||||
import { studentSignupSchema } from './schema';
|
||||
import { auth } from '@/auth';
|
||||
|
||||
export async function signupAction(data: FormData) {
|
||||
const session = await auth();
|
||||
const studentId = session?.user?.studentId;
|
||||
if (!studentId) {
|
||||
return { error: 'Student ID not found in session.' };
|
||||
}
|
||||
|
||||
const formData = Object.fromEntries(data.entries());
|
||||
const parsedData = await studentSignupSchema.safeParseAsync(formData);
|
||||
|
||||
if (!parsedData.success) {
|
||||
return { error: parsedData.error.issues };
|
||||
}
|
||||
|
||||
const student = parsedData.data;
|
||||
|
||||
await db.update(students).set({
|
||||
rollNumber: student.rollNumber,
|
||||
firstName: student.firstName,
|
||||
middleName: student.middleName,
|
||||
lastName: student.lastName,
|
||||
mothersName: student.mothersName,
|
||||
gender: student.gender,
|
||||
dob: student.dob,
|
||||
personalGmail: student.personalGmail,
|
||||
phoneNumber: student.phoneNumber,
|
||||
address: student.address,
|
||||
degree: student.degree,
|
||||
branch: student.branch,
|
||||
year: student.year,
|
||||
skills: student.skills,
|
||||
linkedin: student.linkedin,
|
||||
github: student.github,
|
||||
ssc: String(student.ssc),
|
||||
hsc: String(student.hsc),
|
||||
isDiploma: student.isDiploma,
|
||||
}).where(eq(students.id, studentId));
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user