cloud-ide-lms-model
Version:
Package for Model management of Cloud IDEsys LMS
81 lines (80 loc) • 2.25 kB
TypeScript
/**
* Admission Confirmation Types
* Purpose: Type definitions for admission confirmation functionality
*/
import { FeeStructure } from '../../schema/fees/fee_structure';
/**
* Fee structure item with populated fields for admission confirmation
*/
export interface AdmissionConfirmationFeeItem extends FeeStructure {
fees_structure_name?: string;
fees_category_name?: string;
fees_total_amount?: number;
fees_amount?: number;
}
/**
* Helper type for extracting ID from populated or string fields
*/
export type PopulatedField<T> = T | {
_id: string;
[key: string]: unknown;
} | null | undefined;
/**
* Helper type for general master populated fields
*/
export interface PopulatedGeneralMaster {
_id: string;
sygms_title?: string;
sygms_code?: string;
}
/**
* Helper type for class program populated fields
*/
export interface PopulatedClassProgram {
_id: string;
acacpm_alise_title?: string;
acacpm_name?: string;
acacpm_title?: string;
}
/**
* Helper type for academic year populated fields
*/
export interface PopulatedAcademicYear {
_id: string;
acayr_name?: string;
acayr_code?: string;
acayr_title?: string;
}
/**
* Helper type for entity populated fields
*/
export interface PopulatedEntity {
_id: string;
syen_name?: string;
}
/**
* Type guard to check if a value is a populated object
*/
export declare function isPopulatedObject(value: unknown): value is {
_id: string;
[key: string]: unknown;
};
/**
* Extract ID from a populated field or string
*/
export declare function extractIdFromField(field: string | {
_id: string;
[key: string]: unknown;
} | null | undefined): string;
/**
* Extract title from a populated general master field
*/
export declare function extractTitleFromGeneralMaster(field: string | PopulatedGeneralMaster | null | undefined): string;
/**
* Extract title from a populated class program field
*/
export declare function extractTitleFromClassProgram(field: string | PopulatedClassProgram | null | undefined): string;
/**
* Extract title from a populated academic year field
*/
export declare function extractTitleFromAcademicYear(field: string | PopulatedAcademicYear | null | undefined): string;