Files
oodikone/services/shared/util/studyProgramme.ts
T
2026-10-12 15:20:23 +03:00

58 lines
1.6 KiB
TypeScript

import { StudyProgrammeCourse } from '../types'
export type YearStats = StudyProgrammeCourse['years'][number]
// In the object programmes should be {bachelorCode: masterCode}
export const combinedStudyProgrammes = { KH90_001: 'MH90_001' } as const
/** Second programme of a combined programme, eg. the licentiate programme of a combined bachelor programme */
export const getCombinedProgramme = (programmeCode: string): string | undefined =>
combinedStudyProgrammes[programmeCode as keyof typeof combinedStudyProgrammes]
export const createEmptyStats = (isStudyModule = false): YearStats => ({
allCredits: 0,
allStudents: 0,
allPassed: 0,
allNotPassed: 0,
degreeStudents: 0,
degreeStudentsCredits: 0,
exchangeStudents: 0,
exchangeStudentsCredits: 0,
otherUniversityStudents: 0,
otherUniversityCredits: 0,
otherStudents: 0,
otherStudentsCredits: 0,
openStudentsHasHetu: 0,
openStudentsHasHetuCredits: 0,
openStudentsNoHetu: 0,
openStudentsNoHetuCredits: 0,
separateStudents: 0,
separateStudentsCredits: 0,
transferStudents: 0,
transferStudentsCredits: 0,
isStudyModule,
})
export const yearStatNumberKeys = [
'allCredits',
'allStudents',
'allPassed',
'allNotPassed',
'degreeStudents',
'degreeStudentsCredits',
'exchangeStudents',
'exchangeStudentsCredits',
'otherUniversityStudents',
'otherUniversityCredits',
'otherStudents',
'otherStudentsCredits',
'openStudentsHasHetu',
'openStudentsHasHetuCredits',
'openStudentsNoHetu',
'openStudentsNoHetuCredits',
'separateStudents',
'separateStudentsCredits',
'transferStudents',
'transferStudentsCredits',
] as const