first commit

This commit is contained in:
2026-04-11 14:08:27 +07:00
parent e86e5d2c46
commit 6b7655aa16
389 changed files with 5387 additions and 60861 deletions

35
models/qualification.js Normal file
View File

@@ -0,0 +1,35 @@
const mongoose = require('mongoose');
const qualificationSchema = new mongoose.Schema({
qualification_number: {
type: String, required: true, unique: true, trim: true
},
student_name: {
type: String, required: true, trim: true
},
program_name: {
type: String, required: true, trim: true
},
department: {
type: mongoose.Schema.Types.ObjectId, ref: 'Department', required: true
},
level: {
type: mongoose.Schema.Types.ObjectId, ref: 'Level', required: true
},
issued_date: {
type: Date, required: true
},
status: {
type: String, enum: ['active', 'revoked'], default: 'active'
},
// Optional personal info
passport_number: { type: String, trim: true },
address: { type: String, trim: true },
// PhD fields — presence of topic_name signals PhD view on frontend
topic_name: { type: String, trim: true },
topic_short_desc: { type: String, trim: true },
// Document image
degree_image: { type: String }
}, { timestamps: true });
module.exports = mongoose.model('Qualification', qualificationSchema);