From a93ae27d2101120ca4586b8ee04c297601982279 Mon Sep 17 00:00:00 2001 From: "Mahmoud M. Abdalla" Date: Sat, 26 Jul 2025 21:29:59 +0300 Subject: [PATCH] Fix database models: Add missing foreign key fields (trainerId, userId, courseId) --- backend/models/Assignment.js | 16 ++++++++++++++++ backend/models/Attendance.js | 16 ++++++++++++++++ backend/models/Course.js | 8 ++++++++ backend/models/Enrollment.js | 16 ++++++++++++++++ 4 files changed, 56 insertions(+) diff --git a/backend/models/Assignment.js b/backend/models/Assignment.js index 0087559..1c65c60 100644 --- a/backend/models/Assignment.js +++ b/backend/models/Assignment.js @@ -7,6 +7,22 @@ const Assignment = sequelize.define('Assignment', { defaultValue: DataTypes.UUIDV4, primaryKey: true }, + trainerId: { + type: DataTypes.UUID, + allowNull: false, + references: { + model: 'users', + key: 'id' + } + }, + courseId: { + type: DataTypes.UUID, + allowNull: false, + references: { + model: 'courses', + key: 'id' + } + }, title: { type: DataTypes.STRING, allowNull: false, diff --git a/backend/models/Attendance.js b/backend/models/Attendance.js index 392c5c8..8f8a648 100644 --- a/backend/models/Attendance.js +++ b/backend/models/Attendance.js @@ -7,6 +7,22 @@ const Attendance = sequelize.define('Attendance', { defaultValue: DataTypes.UUIDV4, primaryKey: true }, + userId: { + type: DataTypes.UUID, + allowNull: false, + references: { + model: 'users', + key: 'id' + } + }, + courseId: { + type: DataTypes.UUID, + allowNull: false, + references: { + model: 'courses', + key: 'id' + } + }, date: { type: DataTypes.DATEONLY, allowNull: false, diff --git a/backend/models/Course.js b/backend/models/Course.js index 67965af..a65bdf1 100644 --- a/backend/models/Course.js +++ b/backend/models/Course.js @@ -7,6 +7,14 @@ const Course = sequelize.define('Course', { defaultValue: DataTypes.UUIDV4, primaryKey: true }, + trainerId: { + type: DataTypes.UUID, + allowNull: false, + references: { + model: 'users', + key: 'id' + } + }, title: { type: DataTypes.STRING, allowNull: false, diff --git a/backend/models/Enrollment.js b/backend/models/Enrollment.js index 0ea4b74..99a9739 100644 --- a/backend/models/Enrollment.js +++ b/backend/models/Enrollment.js @@ -7,6 +7,22 @@ const Enrollment = sequelize.define('Enrollment', { defaultValue: DataTypes.UUIDV4, primaryKey: true }, + userId: { + type: DataTypes.UUID, + allowNull: false, + references: { + model: 'users', + key: 'id' + } + }, + courseId: { + type: DataTypes.UUID, + allowNull: false, + references: { + model: 'courses', + key: 'id' + } + }, status: { type: DataTypes.ENUM('pending', 'active', 'completed', 'cancelled'), allowNull: false,