Files
uldp-degree-mangement-system/models/qualification.js
2026-04-15 16:55:32 +07:00

36 lines
1.1 KiB
JavaScript

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 images (array of filenames)
degree_image: { type: [String], default: [] }
}, { timestamps: true });
module.exports = mongoose.model('Qualification', qualificationSchema);