cloud-ide-lms-model
Version:
Package for Model management of Cloud IDEsys LMS
71 lines (70 loc) • 2.04 kB
JavaScript
;
/**
* Admission Confirmation Types
* Purpose: Type definitions for admission confirmation functionality
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.isPopulatedObject = isPopulatedObject;
exports.extractIdFromField = extractIdFromField;
exports.extractTitleFromGeneralMaster = extractTitleFromGeneralMaster;
exports.extractTitleFromClassProgram = extractTitleFromClassProgram;
exports.extractTitleFromAcademicYear = extractTitleFromAcademicYear;
/**
* Type guard to check if a value is a populated object
*/
function isPopulatedObject(value) {
return typeof value === 'object' && value !== null && '_id' in value && typeof value._id === 'string';
}
/**
* Extract ID from a populated field or string
*/
function extractIdFromField(field) {
if (!field)
return '';
if (typeof field === 'string')
return field;
if (isPopulatedObject(field))
return field._id;
return '';
}
/**
* Extract title from a populated general master field
*/
function extractTitleFromGeneralMaster(field) {
if (!field)
return 'N/A';
if (typeof field === 'string')
return 'N/A';
if (isPopulatedObject(field)) {
return field.sygms_title || 'N/A';
}
return 'N/A';
}
/**
* Extract title from a populated class program field
*/
function extractTitleFromClassProgram(field) {
if (!field)
return 'N/A';
if (typeof field === 'string')
return 'N/A';
if (isPopulatedObject(field)) {
const program = field;
return program.acacpm_alise_title || program.acacpm_name || program.acacpm_title || 'N/A';
}
return 'N/A';
}
/**
* Extract title from a populated academic year field
*/
function extractTitleFromAcademicYear(field) {
if (!field)
return 'N/A';
if (typeof field === 'string')
return 'N/A';
if (isPopulatedObject(field)) {
const year = field;
return year.acayr_name || year.acayr_title || year.acayr_code || 'N/A';
}
return 'N/A';
}