mirror of
https://github.com/UniversityOfHelsinkiCS/oodikone.git
synced 2026-10-12 19:03:39 +03:00
Fix backend/updater import order
The rule previously did not properly take into account the hierarchy
This commit is contained in:
+23
-4
@@ -25,11 +25,30 @@
|
||||
"error",
|
||||
{
|
||||
"alphabetize": { "order": "asc", "caseInsensitive": true },
|
||||
"groups": [
|
||||
["builtin", "external"],
|
||||
["internal", "parent", "sibling", "index"]
|
||||
"groups": [["builtin", "external"], ["internal"], ["parent"], ["sibling", "index"]],
|
||||
"pathGroups": [
|
||||
{
|
||||
"pattern": "../../../**",
|
||||
"group": "internal",
|
||||
"position": "before"
|
||||
},
|
||||
{
|
||||
"pattern": "../../**",
|
||||
"group": "internal",
|
||||
"position": "after"
|
||||
},
|
||||
{
|
||||
"pattern": "../**",
|
||||
"group": "parent",
|
||||
"position": "before"
|
||||
},
|
||||
{
|
||||
"pattern": "./**",
|
||||
"group": "sibling",
|
||||
"position": "before"
|
||||
}
|
||||
],
|
||||
"newlines-between": "always"
|
||||
"pathGroupsExcludedImportTypes": ["builtin", "external"]
|
||||
}
|
||||
],
|
||||
"no-async-promise-executor": "off",
|
||||
|
||||
+1
-1
@@ -50,4 +50,4 @@ jspm_packages/
|
||||
# Cypress
|
||||
cypress/downloads
|
||||
cypress/screenshots
|
||||
cypress/videos
|
||||
cypress/videos
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* eslint-disable no-console */
|
||||
const _ = require('lodash')
|
||||
|
||||
const { parseCsv } = require('./helpers')
|
||||
const { computeCreditsProduced } = require('../services/providerCredits')
|
||||
const { parseCsv } = require('./helpers')
|
||||
|
||||
const diffs = []
|
||||
const noDiffCounter = 0
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
const axios = require('axios').default
|
||||
const _ = require('lodash')
|
||||
|
||||
const { rapoToken, tokenImporterApi, importerDbApiUrl, nodeproxyUrl } = require('./conf')
|
||||
const { Student, Transfer, StudyrightElement, Studyright } = require('../models')
|
||||
const { Student, Studyright, StudyrightElement, Transfer } = require('../models')
|
||||
const { optimizedStatisticsOf } = require('../services/populations')
|
||||
const { importerDbApiUrl, nodeproxyUrl, rapoToken, tokenImporterApi } = require('./conf')
|
||||
|
||||
const getFromRapo = async (urlStart, urlEnd) => {
|
||||
console.log({ urlStart, urlEnd })
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { Course, Credit, Enrollment, Organization } = require('../../models')
|
||||
const { sortMainCode } = require('../../util/utils')
|
||||
const { CourseYearlyStatsCounter } = require('./course_yearly_stats_counter')
|
||||
const { byNameAndOrCodeLike, byCodes } = require('./courseFinders')
|
||||
const { byCodes, byNameAndOrCodeLike } = require('./courseFinders')
|
||||
const {
|
||||
enrollmentsForCourses,
|
||||
creditsForCourses,
|
||||
enrollmentsForCourses,
|
||||
getStudentNumberToSrElementsMap,
|
||||
} = require('./creditsAndEnrollmentsOfCourse')
|
||||
const { parseCredit } = require('./parseCredits')
|
||||
const { parseEnrollment } = require('./parseEnrollments')
|
||||
const { Credit, Course, Organization, Enrollment } = require('../../models')
|
||||
const { sortMainCode } = require('../../util/utils')
|
||||
|
||||
const isOpenUniCourseCode = code => code.match(/^AY?(.+?)(?:en|fi|sv)?$/)
|
||||
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
const { uniqBy } = require('lodash')
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const {
|
||||
facultyFormatStudyright,
|
||||
facultyFormatProgramme,
|
||||
formatFacultyTransfer,
|
||||
formatFacultyThesisWriter,
|
||||
formatOrganization,
|
||||
isNewProgramme,
|
||||
mapCodesToIds,
|
||||
facultyProgrammeStudents,
|
||||
} = require('./facultyHelpers')
|
||||
const {
|
||||
dbConnections: { sequelize },
|
||||
} = require('../../database/connection')
|
||||
const {
|
||||
Course,
|
||||
Credit,
|
||||
ElementDetail,
|
||||
Organization,
|
||||
ProgrammeModule,
|
||||
Studyright,
|
||||
StudyrightElement,
|
||||
SemesterEnrollment,
|
||||
Student,
|
||||
Studyright,
|
||||
StudyrightElement,
|
||||
Transfer,
|
||||
Credit,
|
||||
Course,
|
||||
} = require('../../models')
|
||||
const {
|
||||
facultyFormatProgramme,
|
||||
facultyFormatStudyright,
|
||||
facultyProgrammeStudents,
|
||||
formatFacultyThesisWriter,
|
||||
formatFacultyTransfer,
|
||||
formatOrganization,
|
||||
isNewProgramme,
|
||||
mapCodesToIds,
|
||||
} = require('./facultyHelpers')
|
||||
|
||||
const transferredFaculty = async (programmeCodeIn, programmeCodeOut, start, end) =>
|
||||
(
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
const { indexOf, isArray } = require('lodash')
|
||||
const moment = require('moment')
|
||||
|
||||
const {
|
||||
startedStudyrights,
|
||||
graduatedStudyrights,
|
||||
transferredInsideFaculty,
|
||||
transferredAway,
|
||||
transferredTo,
|
||||
getTransferredToAndAway,
|
||||
getTransferredInside,
|
||||
studyrightsByRightStartYear,
|
||||
getTransfersIn,
|
||||
} = require('./faculty')
|
||||
const { findRightProgramme, isNewProgramme, checkTransfers, getExtentFilter } = require('./facultyHelpers')
|
||||
const { codes } = require('../../../config/programmeCodes')
|
||||
const { getStatsBasis, getYearsArray, defineYear } = require('../studyprogramme/studyprogrammeHelpers')
|
||||
const { defineYear, getStatsBasis, getYearsArray } = require('../studyprogramme/studyprogrammeHelpers')
|
||||
const {
|
||||
getTransferredInside,
|
||||
getTransferredToAndAway,
|
||||
getTransfersIn,
|
||||
graduatedStudyrights,
|
||||
startedStudyrights,
|
||||
studyrightsByRightStartYear,
|
||||
transferredAway,
|
||||
transferredInsideFaculty,
|
||||
transferredTo,
|
||||
} = require('./faculty')
|
||||
const { checkTransfers, findRightProgramme, getExtentFilter, isNewProgramme } = require('./facultyHelpers')
|
||||
|
||||
const filterDuplicateStudyrights = studyrights => {
|
||||
// bachelor+master students have two studyrights (separated by two last digits in studyrightid)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const { getProgrammes } = require('./facultyService')
|
||||
const { getCreditsProduced } = require('../providerCredits')
|
||||
const { getProgrammes } = require('./facultyService')
|
||||
|
||||
/*
|
||||
Returns credits produced by the programmes of the faculty but also the credits where the provider is the faculty itself.
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
const moment = require('moment')
|
||||
|
||||
const { graduatedStudyrights, studyrightsByRightStartYear, hasMasterRight } = require('./faculty')
|
||||
const { findRightProgramme, isNewProgramme } = require('./facultyHelpers')
|
||||
const { getProgrammes } = require('./facultyService')
|
||||
const { codes } = require('../../../config/programmeCodes')
|
||||
const { bachelorStudyright, countTimeCategories, getStatutoryAbsences } = require('../graduationHelpers')
|
||||
const { getYearsArray, getYearsObject, getMedian, defineYear } = require('../studyprogramme/studyprogrammeHelpers')
|
||||
const { defineYear, getMedian, getYearsArray, getYearsObject } = require('../studyprogramme/studyprogrammeHelpers')
|
||||
const { graduatedStudyrights, hasMasterRight, studyrightsByRightStartYear } = require('./faculty')
|
||||
const { findRightProgramme, isNewProgramme } = require('./facultyHelpers')
|
||||
const { getProgrammes } = require('./facultyService')
|
||||
|
||||
const sortProgrammes = data => {
|
||||
const check = name => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const moment = require('moment')
|
||||
|
||||
const { findFacultyProgrammeCodes } = require('./faculty')
|
||||
const { redisClient } = require('../redis')
|
||||
const { findFacultyProgrammeCodes } = require('./faculty')
|
||||
|
||||
const createRedisKeyForFacultyProgrammes = (id, programmeFilter) => `FACULTY_PROGRAMMES_${id}_${programmeFilter}`
|
||||
const createRedisKeyForBasicStats = (id, yearType, programmeFilter, specialGroups) =>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
const { indexOf, inRange } = require('lodash')
|
||||
const moment = require('moment')
|
||||
|
||||
const { getStudyRightsByExtent, getStudyRightsByBachelorStart, getTransfersIn, getTransfersOut } = require('./faculty')
|
||||
const { checkTransfers } = require('./facultyHelpers')
|
||||
const { getAcademicYearDates } = require('../../util/semester')
|
||||
const { studytrackStudents } = require('../studyprogramme/studentGetters')
|
||||
const { getCreditThresholds, getYearsArray } = require('../studyprogramme/studyprogrammeHelpers')
|
||||
const { getStudyRightsByExtent, getStudyRightsByBachelorStart, getTransfersIn, getTransfersOut } = require('./faculty')
|
||||
const { checkTransfers } = require('./facultyHelpers')
|
||||
|
||||
const getStudentData = (
|
||||
startDate,
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
const { getStudyRightsByExtent, getStudentsByStudentnumbers, getTransfersIn } = require('./faculty')
|
||||
const { checkTransfers } = require('./facultyHelpers')
|
||||
const { getAcademicYearDates } = require('../../util/semester')
|
||||
const { enrolledStudents, absentStudents } = require('../studyprogramme/studentGetters')
|
||||
const { absentStudents, enrolledStudents } = require('../studyprogramme/studentGetters')
|
||||
const {
|
||||
getPercentage,
|
||||
getStartDate,
|
||||
getYearsArray,
|
||||
getPercentage,
|
||||
getYearsObject,
|
||||
tableTitles,
|
||||
} = require('../studyprogramme/studyprogrammeHelpers')
|
||||
const { inactiveStudyrights, graduatedStudyRights } = require('../studyprogramme/studyrightFinders')
|
||||
const { getStudyRightsByExtent, getStudentsByStudentnumbers, getTransfersIn } = require('./faculty')
|
||||
const { checkTransfers } = require('./facultyHelpers')
|
||||
|
||||
const emptyTotals = () => {
|
||||
return {
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
const { indexOf } = require('lodash')
|
||||
|
||||
const { thesisWriters } = require('./faculty')
|
||||
const { mapToProviders } = require('../../util/utils')
|
||||
const {
|
||||
getStatsBasis,
|
||||
getYearsArray,
|
||||
defineYear,
|
||||
getCorrectStudentnumbers,
|
||||
alltimeEndDate,
|
||||
alltimeStartDate,
|
||||
defineYear,
|
||||
getCorrectStudentnumbers,
|
||||
getStatsBasis,
|
||||
getYearsArray,
|
||||
} = require('../studyprogramme/studyprogrammeHelpers')
|
||||
const { thesisWriters } = require('./faculty')
|
||||
|
||||
const getFacultyThesisWriters = async ({ since, years, isAcademicYear, facultyProgrammes, includeAllSpecials }) => {
|
||||
const thesisTypes = ['urn:code:course-unit-type:bachelors-thesis', 'urn:code:course-unit-type:masters-thesis']
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
const logger = require('../../util/logger')
|
||||
const { setCreditStats } = require('../analyticsService')
|
||||
const { computeCreditsProduced } = require('../providerCredits')
|
||||
const { findFacultyProgrammeCodes } = require('./faculty')
|
||||
const { combineFacultyBasics } = require('./facultyBasics')
|
||||
const { countGraduationTimes } = require('./facultyGraduationTimes')
|
||||
const {
|
||||
setFacultyProgrammes,
|
||||
setBasicStats,
|
||||
setThesisWritersStats,
|
||||
setGraduationStats,
|
||||
setFacultyProgrammes,
|
||||
setFacultyProgressStats,
|
||||
setFacultyStudentStats,
|
||||
setGraduationStats,
|
||||
setThesisWritersStats,
|
||||
} = require('./facultyService')
|
||||
const { combineFacultyStudentProgress } = require('./facultyStudentProgress')
|
||||
const { combineFacultyStudents } = require('./facultyStudents')
|
||||
const { combineFacultyThesisWriters } = require('./facultyThesisWriters')
|
||||
const logger = require('../../util/logger')
|
||||
const { setCreditStats } = require('../analyticsService')
|
||||
const { computeCreditsProduced } = require('../providerCredits')
|
||||
|
||||
const updateFacultyOverview = async (faculty, statsType) => {
|
||||
const calendarNewSpecial = {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const { orderBy } = require('lodash')
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { Course, Credit, Enrollment, Studyright, StudyrightElement } = require('../models')
|
||||
const { redisClient } = require('./redis')
|
||||
const { Course, Credit, Enrollment, StudyrightElement, Studyright } = require('../models')
|
||||
|
||||
const LANGUAGE_CENTER_REDIS_KEY = 'LANGUAGE_CENTER_DATA'
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ const mapOpenCredits = credit => {
|
||||
}
|
||||
}
|
||||
|
||||
const mapStundentInfo = student => {
|
||||
const mapStudentInfo = student => {
|
||||
const { email, secondary_email, studentnumber } = student
|
||||
return {
|
||||
studentnumber,
|
||||
@@ -43,4 +43,4 @@ const mapCourseInfo = course => {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { mapOpenCredits, mapOpenEnrollments, mapStundentInfo, mapStudyRights, mapCourseInfo }
|
||||
module.exports = { mapOpenCredits, mapOpenEnrollments, mapStudentInfo, mapStudyRights, mapCourseInfo }
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
const logger = require('../../util/logger')
|
||||
const {
|
||||
getOpenUniSearchesByUser,
|
||||
createOpenUniPopulationSearch,
|
||||
updateOpenUniPopulationSearch,
|
||||
deleteOpenUniSearch,
|
||||
} = require('./openUniSearches')
|
||||
const logger = require('../../util/logger')
|
||||
|
||||
const getOpenUniSearches = async userId => {
|
||||
const savedSearches = await getOpenUniSearchesByUser(userId)
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { Course, Credit, Enrollment, Student, Studyright } = require('../../models')
|
||||
const { OpenUniPopulationSearch } = require('../../models/models_kone')
|
||||
const {
|
||||
mapCourseInfo,
|
||||
mapOpenCredits,
|
||||
mapOpenEnrollments,
|
||||
mapStundentInfo,
|
||||
mapStudentInfo,
|
||||
mapStudyRights,
|
||||
mapCourseInfo,
|
||||
} = require('./openUniHelpers')
|
||||
const { Credit, Enrollment, Studyright, Student, Course } = require('../../models')
|
||||
const { OpenUniPopulationSearch } = require('../../models/models_kone')
|
||||
|
||||
const getCredits = async (courseCodes, startdate) =>
|
||||
(
|
||||
@@ -34,7 +34,7 @@ const getStudentInfo = async students =>
|
||||
},
|
||||
},
|
||||
})
|
||||
).map(mapStundentInfo)
|
||||
).map(mapStudentInfo)
|
||||
|
||||
const getEnrollments = async (courseCodes, startdate, enddate) =>
|
||||
(
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
const { keyBy } = require('lodash')
|
||||
|
||||
const { dateMonthsFromNow, findCourses, findCourseEnrollments, parseCreditInfo, parseQueryParams } = require('./shared')
|
||||
const { studentnumbersWithAllStudyrightElements } = require('./studentnumbersWithAllStudyrightElements')
|
||||
const { getPassingSemester } = require('../../util/semester')
|
||||
const { CourseStatsCounter } = require('../courses/course_stats_counter')
|
||||
const { encrypt } = require('../encrypt')
|
||||
const { dateMonthsFromNow, findCourses, findCourseEnrollments, parseCreditInfo, parseQueryParams } = require('./shared')
|
||||
const { studentnumbersWithAllStudyrightElements } = require('./studentnumbersWithAllStudyrightElements')
|
||||
|
||||
const getStudentsAndCourses = async (params, selectedStudents, studentnumberlist, courseCodes) => {
|
||||
if (!studentnumberlist) {
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
const { Op, col } = require('sequelize')
|
||||
|
||||
const { getCurriculumVersion } = require('./shared')
|
||||
const {
|
||||
Course,
|
||||
Credit,
|
||||
ElementDetail,
|
||||
Organization,
|
||||
Student,
|
||||
Studyplan,
|
||||
Studyright,
|
||||
StudyrightElement,
|
||||
Credit,
|
||||
Course,
|
||||
Organization,
|
||||
} = require('../../models')
|
||||
const { mapToProviders } = require('../../util/utils')
|
||||
const { redisClient } = require('../redis')
|
||||
const { getCurriculumVersion } = require('./shared')
|
||||
|
||||
const CLOSE_TO_GRADUATION_REDIS_KEY = 'CLOSE_TO_GRADUATION_DATA'
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
const moment = require('moment')
|
||||
|
||||
const { getCriteria } = require('../studyprogramme/studyProgrammeCriteria')
|
||||
const { getStudentsIncludeCoursesBetween } = require('./getStudentsIncludeCoursesBetween')
|
||||
const {
|
||||
parseQueryParams,
|
||||
formatQueryParamArrays,
|
||||
getOptionsForStudents,
|
||||
dateMonthsFromNow,
|
||||
formatQueryParamArrays,
|
||||
formatStudentsForApi,
|
||||
getOptionsForStudents,
|
||||
parseQueryParams,
|
||||
} = require('./shared')
|
||||
const { studentnumbersWithAllStudyrightElements } = require('./studentnumbersWithAllStudyrightElements')
|
||||
const { getCriteria } = require('../studyprogramme/studyProgrammeCriteria')
|
||||
|
||||
const optimizedStatisticsOf = async (query, studentnumberlist) => {
|
||||
const formattedQueryParams = formatQueryParamArrays(query, ['semesters', 'studentStatuses'])
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
const { sortBy } = require('lodash')
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { count } = require('./shared')
|
||||
const {
|
||||
dbConnections: { sequelize },
|
||||
} = require('../../database/connection')
|
||||
const { StudyrightElement, ElementDetail, Studyright, Transfer, Student } = require('../../models')
|
||||
const { ElementDetail, Student, Studyright, StudyrightElement, Transfer } = require('../../models')
|
||||
const { TagStudent } = require('../../models/models_kone')
|
||||
const { count } = require('./shared')
|
||||
|
||||
const studentnumbersWithAllStudyrightElements = async ({
|
||||
studyRights,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { combinedStudyprogrammes } = require('./studyprogramme/studyprogrammeHelpers')
|
||||
const { dbConnections } = require('../database/connection')
|
||||
const { ProgrammeModule } = require('../models')
|
||||
const { ExcludedCourse } = require('../models/models_kone')
|
||||
const logger = require('../util/logger')
|
||||
const { combinedStudyprogrammes } = require('./studyprogramme/studyprogrammeHelpers')
|
||||
|
||||
const getCurriculumVersions = async code => {
|
||||
try {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
const { mapToProviders } = require('../util/utils')
|
||||
const { getCreditStats, setCreditStats } = require('./analyticsService')
|
||||
const { getCourseCodesOfProvider } = require('./providers')
|
||||
const { allTransfers } = require('./studyprogramme')
|
||||
const { getCreditsForProvider, getTransferredCredits } = require('./studyprogramme/creditGetters')
|
||||
const { defineYear, getCorrectStartDate } = require('./studyprogramme/studyprogrammeHelpers')
|
||||
const { getStudyRights } = require('./studyprogramme/studyrightFinders')
|
||||
const { mapToProviders } = require('../util/utils')
|
||||
|
||||
/**
|
||||
* Rapo-kategoriat 9.2.2024, joiden perusteella tämä koodi on tehty. Numerot täsmäävät vain 2022 alkaen, koska sisu/oodi ero.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { whereStudents } = require('.')
|
||||
const { Course, CourseProvider, Credit, Organization } = require('../../models')
|
||||
const { formatCredit } = require('./studyprogrammeHelpers')
|
||||
const { Credit, Course, Organization, CourseProvider } = require('../../models')
|
||||
const { whereStudents } = require('.')
|
||||
|
||||
const getCreditsForProvider = async (provider, codes, since) => {
|
||||
const credits = await Credit.findAll({
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
const _ = require('lodash')
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { formatTransfer } = require('./studyprogrammeHelpers')
|
||||
const {
|
||||
dbConnections: { sequelize },
|
||||
} = require('../../database/connection')
|
||||
const { Credit, Course, Organization, ProgrammeModule, Transfer, Enrollment } = require('../../models')
|
||||
const { Course, Credit, Enrollment, Organization, ProgrammeModule, Transfer } = require('../../models')
|
||||
const logger = require('../../util/logger')
|
||||
const { formatTransfer } = require('./studyprogrammeHelpers')
|
||||
|
||||
const whereStudents = studentnumbers => {
|
||||
return studentnumbers || { [Op.not]: null }
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { formatStudent } = require('./studyprogrammeHelpers')
|
||||
const {
|
||||
dbConnections: { sequelize },
|
||||
} = require('../../database/connection')
|
||||
const { Student, Credit, Studyright, StudyrightElement, SemesterEnrollment, Semester } = require('../../models')
|
||||
const { Credit, Semester, SemesterEnrollment, Student, Studyright, StudyrightElement } = require('../../models')
|
||||
const logger = require('../../util/logger')
|
||||
const { getCurrentSemester } = require('../semesters')
|
||||
const { formatStudent } = require('./studyprogrammeHelpers')
|
||||
|
||||
const studytrackStudents = async studentnumbers =>
|
||||
(
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
const { indexOf } = require('lodash')
|
||||
|
||||
const { transfersAway, transfersTo } = require('.')
|
||||
const { getYearStartAndEndDates } = require('../../util/semester')
|
||||
const {
|
||||
getCorrectStudentnumbers,
|
||||
getStatsBasis,
|
||||
defineYear,
|
||||
getYearsArray,
|
||||
getStartDate,
|
||||
tableTitles,
|
||||
alltimeStartDate,
|
||||
alltimeEndDate,
|
||||
alltimeStartDate,
|
||||
defineYear,
|
||||
getCorrectStudentnumbers,
|
||||
getStartDate,
|
||||
getStatsBasis,
|
||||
getYearsArray,
|
||||
tableTitles,
|
||||
} = require('./studyprogrammeHelpers')
|
||||
const { startedStudyrights, graduatedStudyRights } = require('./studyrightFinders')
|
||||
const { getYearStartAndEndDates } = require('../../util/semester')
|
||||
const { transfersAway, transfersTo } = require('.')
|
||||
|
||||
const getStartedStats = async ({ studyprogramme, years, isAcademicYear }) => {
|
||||
const { graphStats, tableStats } = getStatsBasis(years)
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
const _ = require('lodash')
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { getCurrentStudyYearStartDate, getNotCompletedForProgrammeCourses, getAllProgrammeCourses } = require('.')
|
||||
const {
|
||||
getOwnStudentsForProgrammeCourses,
|
||||
getStudentsForProgrammeCourses,
|
||||
getStudentsWithoutStudyrightForProgrammeCourses,
|
||||
getOtherStudentsForProgrammeCourses,
|
||||
getTransferStudentsForProgrammeCourses,
|
||||
} = require('./studentGetters')
|
||||
const { Credit, Enrollment } = require('../../models')
|
||||
const { mapToProviders } = require('../../util/utils')
|
||||
const { createArrayOfCourses } = require('../languageCenterData')
|
||||
const {
|
||||
getOtherStudentsForProgrammeCourses,
|
||||
getOwnStudentsForProgrammeCourses,
|
||||
getStudentsForProgrammeCourses,
|
||||
getStudentsWithoutStudyrightForProgrammeCourses,
|
||||
getTransferStudentsForProgrammeCourses,
|
||||
} = require('./studentGetters')
|
||||
const { getCurrentStudyYearStartDate, getNotCompletedForProgrammeCourses, getAllProgrammeCourses } = require('.')
|
||||
|
||||
const getCurrentYearStartDate = () => {
|
||||
return new Date(new Date().getFullYear(), 0, 1)
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
const { indexOf, uniqBy } = require('lodash')
|
||||
const moment = require('moment')
|
||||
|
||||
const { allTransfers } = require('.')
|
||||
const { getThesisCredits } = require('./creditGetters')
|
||||
const {
|
||||
getCorrectStudentnumbers,
|
||||
getStatsBasis,
|
||||
defineYear,
|
||||
getYearsObject,
|
||||
getYearsArray,
|
||||
getMedian,
|
||||
getStartDate,
|
||||
getThesisType,
|
||||
alltimeStartDate,
|
||||
alltimeEndDate,
|
||||
getId,
|
||||
getGoal,
|
||||
} = require('./studyprogrammeHelpers')
|
||||
const {
|
||||
graduatedStudyRights,
|
||||
allStudyrights,
|
||||
previousStudyrights,
|
||||
followingStudyrights,
|
||||
} = require('./studyrightFinders')
|
||||
const { mapToProviders } = require('../../util/utils')
|
||||
const { countTimeCategories, bachelorStudyright, getStatutoryAbsences } = require('../graduationHelpers')
|
||||
const { getAllProgrammes } = require('../studyrights')
|
||||
const { getThesisCredits } = require('./creditGetters')
|
||||
const {
|
||||
alltimeEndDate,
|
||||
alltimeStartDate,
|
||||
defineYear,
|
||||
getCorrectStudentnumbers,
|
||||
getGoal,
|
||||
getId,
|
||||
getMedian,
|
||||
getStartDate,
|
||||
getStatsBasis,
|
||||
getThesisType,
|
||||
getYearsArray,
|
||||
getYearsObject,
|
||||
} = require('./studyprogrammeHelpers')
|
||||
const {
|
||||
allStudyrights,
|
||||
followingStudyrights,
|
||||
graduatedStudyRights,
|
||||
previousStudyrights,
|
||||
} = require('./studyrightFinders')
|
||||
const { allTransfers } = require('.')
|
||||
|
||||
const checkStartdate = async (id, startdate) => {
|
||||
if (id.slice(-2) === '-1') {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const { getBasicStatsForStudytrack } = require('./studyprogrammeBasics')
|
||||
const { getGraduationStatsForStudytrack } = require('./studyprogrammeGraduations')
|
||||
const { getStudytrackStatsForStudyprogramme } = require('./studytrackStats')
|
||||
const logger = require('../../util/logger')
|
||||
const { setBasicStats, setCreditStats, setGraduationStats, setStudytrackStats } = require('../analyticsService')
|
||||
const { computeCreditsProduced } = require('../providerCredits')
|
||||
const { getBasicStatsForStudytrack } = require('./studyprogrammeBasics')
|
||||
const { getGraduationStatsForStudytrack } = require('./studyprogrammeGraduations')
|
||||
const { getStudytrackStatsForStudyprogramme } = require('./studytrackStats')
|
||||
|
||||
const updateBasicView = async (code, combinedProgramme) => {
|
||||
const specialCalendar = {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { whereStudents, sinceDate } = require('.')
|
||||
const { formatStudyright } = require('./studyprogrammeHelpers')
|
||||
const {
|
||||
dbConnections: { sequelize },
|
||||
} = require('../../database/connection')
|
||||
const { ElementDetail, Studyright, SemesterEnrollment } = require('../../models')
|
||||
const { StudyrightElement, Student } = require('../../models')
|
||||
const { ElementDetail, SemesterEnrollment, Studyright } = require('../../models')
|
||||
const { Student, StudyrightElement } = require('../../models')
|
||||
const { getCurrentSemester } = require('../semesters')
|
||||
const { formatStudyright } = require('./studyprogrammeHelpers')
|
||||
const { whereStudents, sinceDate } = require('.')
|
||||
|
||||
const allStudyrights = async (studytrack, studentnumbers) =>
|
||||
(
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
const moment = require('moment')
|
||||
|
||||
const { getAcademicYearDates } = require('../../util/semester')
|
||||
const { countTimeCategories, getStatutoryAbsences } = require('../graduationHelpers')
|
||||
const { studytrackStudents, enrolledStudents, absentStudents } = require('./studentGetters')
|
||||
const {
|
||||
getCorrectStudentnumbers,
|
||||
getGoal,
|
||||
getMedian,
|
||||
getPercentage,
|
||||
getStartDate,
|
||||
getYearsArray,
|
||||
getPercentage,
|
||||
getYearsObject,
|
||||
getCorrectStudentnumbers,
|
||||
tableTitles,
|
||||
getGoal,
|
||||
} = require('./studyprogrammeHelpers')
|
||||
const {
|
||||
allStudyrights,
|
||||
startedStudyrights,
|
||||
inactiveStudyrights,
|
||||
graduatedStudyRightsByStartDate,
|
||||
graduatedStudyRights,
|
||||
graduatedStudyRightsByStartDate,
|
||||
inactiveStudyrights,
|
||||
startedStudyrights,
|
||||
} = require('./studyrightFinders')
|
||||
const { getAcademicYearDates } = require('../../util/semester')
|
||||
const { countTimeCategories, getStatutoryAbsences } = require('../graduationHelpers')
|
||||
|
||||
const getUnique = studentnumbers => [...new Set(studentnumbers)]
|
||||
const getStudentData = (startDate, students) => {
|
||||
|
||||
@@ -2,12 +2,12 @@ const _ = require('lodash')
|
||||
const moment = require('moment')
|
||||
const { Op, col, where, fn } = require('sequelize')
|
||||
|
||||
const { redisClient } = require('./redis')
|
||||
const {
|
||||
dbConnections: { sequelize },
|
||||
} = require('../database/connection')
|
||||
const { Studyright, StudyrightElement, ElementDetail, Transfer } = require('../models')
|
||||
const { ElementDetail, Studyright, StudyrightElement, Transfer } = require('../models')
|
||||
const logger = require('../util/logger')
|
||||
const { redisClient } = require('./redis')
|
||||
|
||||
const REDIS_KEY = 'STUDYRIGHT_ASSOCIATIONS_V2'
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { redisClient } = require('./redis')
|
||||
const { getSemestersAndYears, getCurrentSemester } = require('./semesters')
|
||||
const { Teacher, Semester, Credit, Course } = require('../models')
|
||||
const { Course, Credit, Semester, Teacher } = require('../models')
|
||||
const logger = require('../util/logger')
|
||||
const { redisClient } = require('./redis')
|
||||
const { getCurrentSemester, getSemestersAndYears } = require('./semesters')
|
||||
|
||||
const category = (name, rediskey) => ({ name, rediskey })
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
const _ = require('lodash')
|
||||
const { LRUCache } = require('lru-cache')
|
||||
|
||||
const { sequelizeUser } = require('../database/connection')
|
||||
const { User } = require('../models/models_user')
|
||||
const { getAllUserAccess, getUserIams, getUserIamAccess } = require('../util/jami')
|
||||
const { createLocaleComparator, getFullStudyProgrammeRights, hasFullAccessToStudentData } = require('../util/utils')
|
||||
const { sendNotificationAboutNewUser } = require('./mailservice')
|
||||
const { getStudentnumbersByElementdetails } = require('./students')
|
||||
const { checkStudyGuidanceGroupsAccess, getAllStudentsUserHasInGroups } = require('./studyGuidanceGroups')
|
||||
const { sequelizeUser } = require('../database/connection')
|
||||
const { User } = require('../models/models_user')
|
||||
const { getUserIams, getAllUserAccess, getUserIamAccess } = require('../util/jami')
|
||||
const { createLocaleComparator, getFullStudyProgrammeRights, hasFullAccessToStudentData } = require('../util/utils')
|
||||
|
||||
const courseStatisticsGroup = 'grp-oodikone-basic-users'
|
||||
const facultyStatisticsGroup = 'grp-oodikone-users'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const axios = require('axios')
|
||||
|
||||
const logger = require('./logger')
|
||||
const { importerUrl, importerToken } = require('../conf-backend')
|
||||
const logger = require('./logger')
|
||||
|
||||
const importerClient = axios.create({
|
||||
headers: {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const Sentry = require('@sentry/node')
|
||||
const axios = require('axios')
|
||||
|
||||
const logger = require('./logger')
|
||||
const { importerToken, jamiUrl } = require('../conf-backend')
|
||||
const logger = require('./logger')
|
||||
|
||||
const jamiClient = axios.create({
|
||||
baseURL: jamiUrl,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const { dbConnections } = require('./connection')
|
||||
const { getLatestSnapshot, isActive, getActiveSnapshot } = require('../utils')
|
||||
const { logger } = require('../utils/logger')
|
||||
const { dbConnections } = require('./connection')
|
||||
|
||||
const selectFromByIds = async (table, ids, col = 'id') => dbConnections.knex(table).whereIn(col, ids)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
const { selectFromByIds, selectFromSnapshotsByIds } = require('../db')
|
||||
const { creditTypeIdsToCreditTypes } = require('./shared')
|
||||
const {
|
||||
updateOrganisations,
|
||||
@@ -9,7 +10,6 @@ const {
|
||||
} = require('./updateMeta')
|
||||
const { updateProgrammeModules } = require('./updateProgrammeModules/updateProgrammeModules')
|
||||
const { updateStudents } = require('./updateStudents')
|
||||
const { selectFromByIds, selectFromSnapshotsByIds } = require('../db')
|
||||
|
||||
const idToHandler = {
|
||||
students: updateStudents,
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
const { sortBy, flatten, uniqBy } = require('lodash')
|
||||
|
||||
const { getMinMaxDate } = require('../utils')
|
||||
const {
|
||||
educationTypeToExtentcode,
|
||||
getSemesterByDate,
|
||||
getCountry,
|
||||
getCreditTypeCodeFromAttainment,
|
||||
getGrade,
|
||||
getUniOrgId,
|
||||
getSemester,
|
||||
getCountry,
|
||||
getSemesterByDate,
|
||||
getUniOrgId,
|
||||
} = require('./shared')
|
||||
const { getMinMaxDate } = require('../utils')
|
||||
|
||||
// Keeping previous oodi logic:
|
||||
// 0 = Not known 'urn:code:gender:not-known'
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const { uniqBy, flatten, groupBy } = require('lodash')
|
||||
const _ = require('lodash')
|
||||
|
||||
const { courseProviderMapper, courseMapper, mapCourseType, mapStudyrightExtent } = require('./mapper')
|
||||
const { selectFromByIdsOrderBy, bulkCreate } = require('../db')
|
||||
const { Organization, Course, CourseType, CourseProvider, CreditType, StudyrightExtent } = require('../db/models')
|
||||
const { bulkCreate, selectFromByIdsOrderBy } = require('../db')
|
||||
const { Course, CourseProvider, CourseType, CreditType, Organization, StudyrightExtent } = require('../db/models')
|
||||
const { courseMapper, courseProviderMapper, mapCourseType, mapStudyrightExtent } = require('./mapper')
|
||||
|
||||
const updateOrganisations = async organisations => {
|
||||
await bulkCreate(Organization, organisations)
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
const { chunk } = require('lodash')
|
||||
|
||||
const ModuleResolver = require('./resolver')
|
||||
const { selectFromByIds, bulkCreate } = require('../../db')
|
||||
const { bulkCreate, selectFromByIds } = require('../../db')
|
||||
const { dbConnections } = require('../../db/connection')
|
||||
const { ProgrammeModule, ProgrammeModuleChild } = require('../../db/models')
|
||||
const ModuleResolver = require('./resolver')
|
||||
|
||||
const resolveProgramme = async programme => {
|
||||
const responsibleOrg = programme.organisations
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
const { flatten, groupBy, orderBy, has, get, uniq } = require('lodash')
|
||||
const { Op } = require('sequelize')
|
||||
|
||||
const { updateAttainments } = require('./attainments')
|
||||
const { getAttainmentsToBeExcluded } = require('./excludedPartialAttainments')
|
||||
const { updateStudyplans, findStudentsToReupdate } = require('./studyPlans')
|
||||
const { updateStudyRights, updateStudyRightElements, updateElementDetails } = require('./studyRightUpdaters')
|
||||
const { selectFromByIds, selectFromSnapshotsByIds, bulkCreate, selectFromActiveSnapshotsByIds } = require('../../db')
|
||||
const { Course, Student, SemesterEnrollment, Transfer, Enrollment } = require('../../db/models')
|
||||
const { bulkCreate, selectFromActiveSnapshotsByIds, selectFromByIds, selectFromSnapshotsByIds } = require('../../db')
|
||||
const { Course, Enrollment, SemesterEnrollment, Student, Transfer } = require('../../db/models')
|
||||
const { isBaMa } = require('../../utils')
|
||||
const { logger } = require('../../utils/logger')
|
||||
const { studentMapper, semesterEnrollmentMapper, enrollmentMapper } = require('../mapper')
|
||||
const { getEducation, getUniOrgId, loadMapsIfNeeded } = require('../shared')
|
||||
const { updateAttainments } = require('./attainments')
|
||||
const { getAttainmentsToBeExcluded } = require('./excludedPartialAttainments')
|
||||
const { updateStudyplans, findStudentsToReupdate } = require('./studyPlans')
|
||||
const { updateStudyRights, updateStudyRightElements, updateElementDetails } = require('./studyRightUpdaters')
|
||||
|
||||
// Accepted selection path is not available when degree programme doesn't have
|
||||
// studytrack or major subject. This is a known bug on SIS and has been reported
|
||||
|
||||
Reference in New Issue
Block a user