From 65a6821593bbc937575be861e521dba57eb7a5eb Mon Sep 17 00:00:00 2001 From: mahmoud Date: Sat, 19 Nov 2022 15:59:09 +0200 Subject: [PATCH 1/7] tracking errors --- server/controllers/student/putParentIdForStudent.ts | 4 ++++ server/routes/student.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/server/controllers/student/putParentIdForStudent.ts b/server/controllers/student/putParentIdForStudent.ts index 0836ba5..c71e16f 100644 --- a/server/controllers/student/putParentIdForStudent.ts +++ b/server/controllers/student/putParentIdForStudent.ts @@ -4,12 +4,16 @@ import {findUserByEmail, putParentIdForStudentQuery }from '../../queries'; const putParentIdForStudent = async (req: Request, res: Response, next: NextFunction) => { try { const { email, parentId } = req.body; + console.log({ email, parentId }); + const studentUser = await findUserByEmail(email); const studentId = studentUser?.getDataValue('id'); await putParentIdForStudentQuery(studentId, parentId); res.json({ msg: 'student updated successfully' }); } catch (error) { + console.log(error); + next(error); } }; diff --git a/server/routes/student.ts b/server/routes/student.ts index 1184962..8de116e 100644 --- a/server/routes/student.ts +++ b/server/routes/student.ts @@ -29,4 +29,5 @@ studentRouter.post('/validate', getIfStudentUserExists); studentRouter.post('/:studentId/reports', userAuth, teacherAuth, postStudentReports); studentRouter.put('/addStudent', userAuth, parentAuth, putParentIdForStudent); + export default studentRouter; From fb4d0b27a3bf59d79fdf91a1f41abcd9701d18a0 Mon Sep 17 00:00:00 2001 From: mahmoud Date: Sat, 19 Nov 2022 17:57:04 +0200 Subject: [PATCH 2/7] fix signup --- server/controllers/auth/signup.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/controllers/auth/signup.ts b/server/controllers/auth/signup.ts index cc9c8b3..591c4cc 100644 --- a/server/controllers/auth/signup.ts +++ b/server/controllers/auth/signup.ts @@ -20,6 +20,8 @@ import { const putParentIdForStudent = async (child: string, parentId: number) => { const studentUser = await findUserByEmail(child); + console.log(studentUser); + const studentId = studentUser?.getDataValue('id'); await putParentIdForStudentQuery(studentId, parentId); @@ -50,9 +52,9 @@ const signup = async (req: Request, res: Response, next: NextFunction) => { name, email, password: hashedPassword, mobile, location, role, }); const parent = await createParent(user.getDataValue('id')); - + children?.forEach((child) => { - putParentIdForStudent(child, parent.getDataValue('id')); + putParentIdForStudent(child, parent.getDataValue('user_id')); }); } else if (role === 'teacher') { user = await createUser({ From bd9dddbd031d4b4c0ffbe9346d461043745233cf Mon Sep 17 00:00:00 2001 From: mahmoud Date: Sat, 19 Nov 2022 18:55:22 +0200 Subject: [PATCH 3/7] fix bugs --- server/controllers/student/putParentIdForStudent.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/controllers/student/putParentIdForStudent.ts b/server/controllers/student/putParentIdForStudent.ts index c71e16f..9d1ea7c 100644 --- a/server/controllers/student/putParentIdForStudent.ts +++ b/server/controllers/student/putParentIdForStudent.ts @@ -1,5 +1,5 @@ import { Request, Response, NextFunction } from 'express'; -import {findUserByEmail, putParentIdForStudentQuery }from '../../queries'; +import {findUserByEmail, putParentIdForStudentQuery,getUserIdFromTableQuery }from '../../queries'; const putParentIdForStudent = async (req: Request, res: Response, next: NextFunction) => { try { @@ -8,12 +8,17 @@ const putParentIdForStudent = async (req: Request, res: Response, next: NextFunc const studentUser = await findUserByEmail(email); const studentId = studentUser?.getDataValue('id'); - await putParentIdForStudentQuery(studentId, parentId); + + const parentData = await getUserIdFromTableQuery('parent', parentId); + + await putParentIdForStudentQuery(studentId, parentData?.getDataValue('id')); res.json({ msg: 'student updated successfully' }); } catch (error) { + console.log('1111111111111111111111111111111'); console.log(error); - + console.log('1111111111111111111111111111111'); + next(error); } }; From ee96b495e3bc200560d90497cd1ad9a2b467a80a Mon Sep 17 00:00:00 2001 From: mahmoud Date: Sat, 19 Nov 2022 19:14:06 +0200 Subject: [PATCH 4/7] fix bugs again --- server/controllers/profiles/getParentStudent.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/controllers/profiles/getParentStudent.ts b/server/controllers/profiles/getParentStudent.ts index 5dbe0b5..aa7ffc8 100644 --- a/server/controllers/profiles/getParentStudent.ts +++ b/server/controllers/profiles/getParentStudent.ts @@ -1,10 +1,12 @@ import { Response, NextFunction } from 'express'; -import { getParentStudentQuery } from '../../queries'; +import { getParentStudentQuery, getUserIdFromTableQuery } from '../../queries'; const getParentStudent = async (req:any, res:Response, next:NextFunction) => { try { const { id } = req.user; - const data = await getParentStudentQuery(id); + const parent = await getUserIdFromTableQuery('parent', id); + + const data = await getParentStudentQuery(parent?.getDataValue('id')); res.json({ msg: 'getting all student successfully', data }); } catch (error) { next(error); From 5a1e8dccb45a9f2134c540a6ef4907bb046ae4ff Mon Sep 17 00:00:00 2001 From: Bas-sheikh Date: Sat, 19 Nov 2022 20:23:15 +0200 Subject: [PATCH 5/7] edited some bugs in signup functionality. --- server/controllers/auth/signup.ts | 9 +++++---- server/controllers/profiles/getParentStudent.ts | 2 +- server/controllers/student/putParentIdForStudent.ts | 11 +++-------- server/queries/profile/getParentStudentQuery.ts | 2 +- server/queries/student/putParentIdForStudentQuery.ts | 2 +- 5 files changed, 11 insertions(+), 15 deletions(-) diff --git a/server/controllers/auth/signup.ts b/server/controllers/auth/signup.ts index 591c4cc..6c261d2 100644 --- a/server/controllers/auth/signup.ts +++ b/server/controllers/auth/signup.ts @@ -9,6 +9,7 @@ import { createStudent, putParentIdForStudentQuery, createStudentHealthQuery, + getUserIdFromTableQuery } from '../../queries'; import { @@ -20,11 +21,11 @@ import { const putParentIdForStudent = async (child: string, parentId: number) => { const studentUser = await findUserByEmail(child); - console.log(studentUser); - + const studentId = studentUser?.getDataValue('id'); + const studentData = await getUserIdFromTableQuery('student', studentId); - await putParentIdForStudentQuery(studentId, parentId); + await putParentIdForStudentQuery(studentData?.getDataValue('id'), parentId); }; const signup = async (req: Request, res: Response, next: NextFunction) => { @@ -54,7 +55,7 @@ const signup = async (req: Request, res: Response, next: NextFunction) => { const parent = await createParent(user.getDataValue('id')); children?.forEach((child) => { - putParentIdForStudent(child, parent.getDataValue('user_id')); + putParentIdForStudent(child, parent.getDataValue('id')); }); } else if (role === 'teacher') { user = await createUser({ diff --git a/server/controllers/profiles/getParentStudent.ts b/server/controllers/profiles/getParentStudent.ts index aa7ffc8..f9ef2e8 100644 --- a/server/controllers/profiles/getParentStudent.ts +++ b/server/controllers/profiles/getParentStudent.ts @@ -5,7 +5,7 @@ const getParentStudent = async (req:any, res:Response, next:NextFunction) => { try { const { id } = req.user; const parent = await getUserIdFromTableQuery('parent', id); - + console.log(parent?.getDataValue('id')); const data = await getParentStudentQuery(parent?.getDataValue('id')); res.json({ msg: 'getting all student successfully', data }); } catch (error) { diff --git a/server/controllers/student/putParentIdForStudent.ts b/server/controllers/student/putParentIdForStudent.ts index 9d1ea7c..99d83a4 100644 --- a/server/controllers/student/putParentIdForStudent.ts +++ b/server/controllers/student/putParentIdForStudent.ts @@ -1,24 +1,19 @@ import { Request, Response, NextFunction } from 'express'; -import {findUserByEmail, putParentIdForStudentQuery,getUserIdFromTableQuery }from '../../queries'; +import { findUserByEmail, putParentIdForStudentQuery, getUserIdFromTableQuery } from '../../queries'; const putParentIdForStudent = async (req: Request, res: Response, next: NextFunction) => { try { const { email, parentId } = req.body; - console.log({ email, parentId }); - const studentUser = await findUserByEmail(email); const studentId = studentUser?.getDataValue('id'); - + const studentData = await getUserIdFromTableQuery('student', studentId); const parentData = await getUserIdFromTableQuery('parent', parentId); - await putParentIdForStudentQuery(studentId, parentData?.getDataValue('id')); + await putParentIdForStudentQuery(studentData?.getDataValue('id'), parentData?.getDataValue('id')); res.json({ msg: 'student updated successfully' }); } catch (error) { - console.log('1111111111111111111111111111111'); console.log(error); - console.log('1111111111111111111111111111111'); - next(error); } }; diff --git a/server/queries/profile/getParentStudentQuery.ts b/server/queries/profile/getParentStudentQuery.ts index bad39c3..ea2bbd6 100644 --- a/server/queries/profile/getParentStudentQuery.ts +++ b/server/queries/profile/getParentStudentQuery.ts @@ -1,6 +1,6 @@ import { Student, User } from '../../models'; -const getParentStudentQuery = (parentId: string) => (Student.findAll({ +const getParentStudentQuery = (parentId: number) => (Student.findAll({ raw: true, where: { parent_id: parentId, diff --git a/server/queries/student/putParentIdForStudentQuery.ts b/server/queries/student/putParentIdForStudentQuery.ts index 93040d7..6eb69d2 100644 --- a/server/queries/student/putParentIdForStudentQuery.ts +++ b/server/queries/student/putParentIdForStudentQuery.ts @@ -5,7 +5,7 @@ const putParentIdForStudentQuery = ( parentId: number, ) => Student.update({ parent_id: parentId }, { where: { - user_id: studentId, + id: studentId, }, }); From b599a8a6fb9d4c351fea4c4706f59ece219abd1d Mon Sep 17 00:00:00 2001 From: Bas-sheikh Date: Sat, 19 Nov 2022 20:24:28 +0200 Subject: [PATCH 6/7] edited some bugs in signup functionality. --- client/src/components/AddStudentModal.tsx | 4 +-- client/src/components/ProfileCard/index.tsx | 31 +++++++++---------- .../src/pages/ParentProfile/ParentProfile.tsx | 2 +- server/app.ts | 1 - server/controllers/auth/signup.ts | 2 +- server/controllers/index.ts | 2 +- server/controllers/student/index.ts | 5 +-- server/routes/student.ts | 3 +- 8 files changed, 23 insertions(+), 27 deletions(-) diff --git a/client/src/components/AddStudentModal.tsx b/client/src/components/AddStudentModal.tsx index 23e697e..1de1be8 100644 --- a/client/src/components/AddStudentModal.tsx +++ b/client/src/components/AddStudentModal.tsx @@ -20,7 +20,7 @@ const AddStudent: React.FC<{ setLoading: Function }> = ({ setLoading }) => { const email = fieldValues.name; try { - setLoading(true) + setLoading(true); const res = await axios.post( "/api/v1/student/validate", @@ -37,7 +37,7 @@ const AddStudent: React.FC<{ setLoading: Function }> = ({ setLoading }) => { message.success(updateParentId.data.msg); } - setLoading(false) + setLoading(false); } catch (error: any) { if (error.response.status === 404) { message.error("The student email you entered does not exist!"); diff --git a/client/src/components/ProfileCard/index.tsx b/client/src/components/ProfileCard/index.tsx index 3a79b56..167db5d 100644 --- a/client/src/components/ProfileCard/index.tsx +++ b/client/src/components/ProfileCard/index.tsx @@ -4,7 +4,7 @@ import { Link } from "react-router-dom"; import { WhatsAppOutlined } from "@ant-design/icons"; import ReactWhatsapp from "react-whatsapp"; import AddClassModal from "../AddClassModal"; -import AddStudentModal from "../AddStudentModal" +import AddStudentModal from "../AddStudentModal"; import "./style.css"; interface DataType { @@ -44,22 +44,19 @@ const ProfileCard: ElementType = ({
-

{ - title === "students" - ? "الطلاب" - : title === "teacher" - ? "المدرسين" - : "الفصول الدراسية" - }

- - { - - _role === "teacher" && type === "classes" - ? ( ) - : _role === "parent" && type === "students" - ? () - : null - } +

+ {title === "students" + ? "الطلاب" + : title === "teacher" + ? "المدرسين" + : "الفصول الدراسية"} +

+ + {_role === "teacher" && type === "classes" ? ( + + ) : _role === "parent" && type === "students" ? ( + + ) : null}

{subtitle1} diff --git a/client/src/pages/ParentProfile/ParentProfile.tsx b/client/src/pages/ParentProfile/ParentProfile.tsx index 2ba092b..6b0ed84 100644 --- a/client/src/pages/ParentProfile/ParentProfile.tsx +++ b/client/src/pages/ParentProfile/ParentProfile.tsx @@ -90,7 +90,7 @@ const ParentProfile: FC<{ fetchData(); fetchChildren(); fetchTeachers(); - + // eslint-disable-next-line react-hooks/exhaustive-deps }, [loading]); diff --git a/server/app.ts b/server/app.ts index f4fde4e..4cccef6 100644 --- a/server/app.ts +++ b/server/app.ts @@ -30,5 +30,4 @@ if (nodeEnv === 'production') { app.use(serverError); app.use(notFound); - export default app; diff --git a/server/controllers/auth/signup.ts b/server/controllers/auth/signup.ts index 6c261d2..a5ce350 100644 --- a/server/controllers/auth/signup.ts +++ b/server/controllers/auth/signup.ts @@ -9,7 +9,7 @@ import { createStudent, putParentIdForStudentQuery, createStudentHealthQuery, - getUserIdFromTableQuery + getUserIdFromTableQuery, } from '../../queries'; import { diff --git a/server/controllers/index.ts b/server/controllers/index.ts index bbdfbb7..22022f5 100644 --- a/server/controllers/index.ts +++ b/server/controllers/index.ts @@ -39,7 +39,7 @@ import { getStudentInfo, getIfStudentUserExists, postStudentReports, - putParentIdForStudent + putParentIdForStudent, } from './student'; import { getTeacherSchedule, getTeacherStudents, teacherInfo } from './teacher'; import getParentTeachers from './getParentTeachers'; diff --git a/server/controllers/student/index.ts b/server/controllers/student/index.ts index 609378c..24db835 100644 --- a/server/controllers/student/index.ts +++ b/server/controllers/student/index.ts @@ -5,7 +5,8 @@ import getStudentGrade from './getStudentGrade'; import getStudentInfo from './getStudentInfo'; import getIfStudentUserExists from './getIfStudentUserExists'; import postStudentReports from './postStudentReports'; -import putParentIdForStudent from './putParentIdForStudent' +import putParentIdForStudent from './putParentIdForStudent'; + export { getStudentClasses, putStudentHealth, @@ -14,5 +15,5 @@ export { getStudentInfo, getIfStudentUserExists, postStudentReports, - putParentIdForStudent + putParentIdForStudent, }; diff --git a/server/routes/student.ts b/server/routes/student.ts index 8de116e..5024456 100644 --- a/server/routes/student.ts +++ b/server/routes/student.ts @@ -8,7 +8,7 @@ import { getIfStudentUserExists, postStudentReports, getStudentHealth, - putParentIdForStudent + putParentIdForStudent, } from '../controllers'; import { userAuth, @@ -29,5 +29,4 @@ studentRouter.post('/validate', getIfStudentUserExists); studentRouter.post('/:studentId/reports', userAuth, teacherAuth, postStudentReports); studentRouter.put('/addStudent', userAuth, parentAuth, putParentIdForStudent); - export default studentRouter; From ca3c65b1118071ee388fef071b63b6f891357ff8 Mon Sep 17 00:00:00 2001 From: Bas-sheikh Date: Sat, 19 Nov 2022 20:40:03 +0200 Subject: [PATCH 7/7] resolved conflict --- server/controllers/profiles/getParentStudent.ts | 1 - server/controllers/student/putParentIdForStudent.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/server/controllers/profiles/getParentStudent.ts b/server/controllers/profiles/getParentStudent.ts index f9ef2e8..b2e4001 100644 --- a/server/controllers/profiles/getParentStudent.ts +++ b/server/controllers/profiles/getParentStudent.ts @@ -5,7 +5,6 @@ const getParentStudent = async (req:any, res:Response, next:NextFunction) => { try { const { id } = req.user; const parent = await getUserIdFromTableQuery('parent', id); - console.log(parent?.getDataValue('id')); const data = await getParentStudentQuery(parent?.getDataValue('id')); res.json({ msg: 'getting all student successfully', data }); } catch (error) { diff --git a/server/controllers/student/putParentIdForStudent.ts b/server/controllers/student/putParentIdForStudent.ts index 99d83a4..910bbf2 100644 --- a/server/controllers/student/putParentIdForStudent.ts +++ b/server/controllers/student/putParentIdForStudent.ts @@ -13,7 +13,6 @@ const putParentIdForStudent = async (req: Request, res: Response, next: NextFunc res.json({ msg: 'student updated successfully' }); } catch (error) { - console.log(error); next(error); } };