Skip to content

Commit 0c0f954

Browse files
fix(KUI-1136): remove kursinfo-api dependency to this repository
1 parent 3215364 commit 0c0f954

23 files changed

+7
-199
lines changed

.azure/prod.parameters.json

-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"APPLICATIONINSIGHTS_CONNECTION_STRING",
1111
"KURSPLAN_API_KEY",
1212
"KURSPLAN_API_URI",
13-
"KURSINFO_API_KEY",
1413
"KURS_PM_DATA_API_KEY",
1514
"REDIS_URI",
1615
"SESSION_KEY",
@@ -22,9 +21,7 @@
2221
"CAS_SSO_URI": "https://login.kth.se",
2322
"CM_HOST_URL": "https://www.kth.se/cm/",
2423
"CONSOLE_ENABLED": "false",
25-
"IMAGE_STORAGE_URI": "https://kursinfostorageprod.blob.core.windows.net/kursinfo-image-container/",
2624
"KOPPS_URI": "https://api.kth.se/api/kopps/v2/?defaultTimeout=60000",
27-
"KURSINFO_API_URI": "https://api.kth.se/api/kursinfo?defaultTimeout=10000",
2825
"KURS_PM_DATA_API_URI": "https://api.kth.se/api/kurs-pm-data?defaultTimeout=10000",
2926
"LOGGING_ACCESS_LOG": "true",
3027
"LOGGING_LEVEL": "INFO",

.azure/ref.parameters.json

-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"APPLICATIONINSIGHTS_CONNECTION_STRING",
1111
"KURSPLAN_API_KEY",
1212
"KURSPLAN_API_URI",
13-
"KURSINFO_API_KEY",
1413
"KURS_PM_DATA_API_KEY",
1514
"REDIS_URI",
1615
"SESSION_KEY",
@@ -22,9 +21,7 @@
2221
"CAS_SSO_URI": "https://login-r.referens.sys.kth.se",
2322
"CM_HOST_URL": "https://www-r.referens.sys.kth.se/cm/",
2423
"CONSOLE_LOG": "true",
25-
"IMAGE_STORAGE_URI": "https://kursinfostoragestage.blob.core.windows.net/kursinfo-image-container/",
2624
"KOPPS_URI": "https://api-r.referens.sys.kth.se/api/kopps/v2/?defaultTimeout=60000",
27-
"KURSINFO_API_URI": "https://app-r.referens.sys.kth.se/api/kursinfo?defaultTimeout=10000",
2825
"KURS_PM_DATA_API_URI": "https://api-r.referens.sys.kth.se/api/kurs-pm-data?defaultTimeout=10000",
2926
"LOGGING_ACCESS_LOG": "true",
3027
"LOGGING_LEVEL": "TRACE",

.env.in

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
KURS_PM_DATA_API_KEY=[Available in Azure KeyVault]
2-
KURSINFO_API_KEY=[Available in Azure KeyVault]
32
KURSPLAN_API_KEY=[Available in Azure KeyVault]
43

54
REDIS_URI=[Available in Azure KeyVault]

README.md

-2
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,13 @@ Kurs-pm-web is a microservice with the public view of course memos. It uses [Rea
2121
Kurs-pm-web fetches data from:
2222

2323
- Course memo API `/api/kurs-pm-data`
24-
- Course information API `/api/kursinfo`
2524
- API to store information about course syllabuses `/api/kursplan`
2625
- API för kurs- och programinformation `/api/kopps/v2/`
2726

2827
### Related projects
2928

3029
- [kurs-pm-data-admin-web](https://github.com/KTH/kurs-pm-data-admin-web)
3130
- [kurs-pm-data-api](https://github.com/KTH/kurs-pm-data-api)
32-
- [kursinfo-api](https://github.com/KTH/kursinfo-api)
3331
- [kursplan-api](https://github.com/KTH/kursplan-api)
3432
- [node-web](https://github.com/KTH/node-web)
3533

config/commonSettings.js

-2
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@
1010
const { getEnv, devDefaults } = require('kth-node-configuration')
1111

1212
const devPrefixPath = devDefaults('/kurs-pm')
13-
const devImageStorageUri = devDefaults('https://kursinfostoragestage.blob.core.windows.net/kursinfo-image-container/')
1413
const devMemoStorageUri = 'https://kursinfostoragestage.blob.core.windows.net/memo-blob-container/'
1514

1615
module.exports = {
1716
// The proxy prefix path if the application is proxied. E.g /places
1817
proxyPrefixPath: {
1918
uri: getEnv('SERVICE_PUBLISH', devPrefixPath),
2019
},
21-
imageStorageUri: getEnv('IMAGE_STORAGE_URI', devImageStorageUri),
2220
memoStorageUri: getEnv('MEMO_STORAGE_URI', devMemoStorageUri),
2321
}

config/serverSettings.js

-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const devPort = devDefaults(3000)
2020
const devSsl = devDefaults(false)
2121
const devUrl = devDefaults('http://localhost:' + devPort)
2222
const devKursPmDataApi = devDefaults('https://api-r.referens.sys.kth.se/api/kurs-pm-data?defaultTimeout=10000')
23-
const devKursInfoApi = devDefaults('https://api-r.referens.sys.kth.se/api/kursinfo?defaultTimeout=10000')
2423
const devKursplanApi = devDefaults('https://api-r.referens.sys.kth.se/api/kursplan?defaultTimeout=10000')
2524
const devKoppsApi = devDefaults('https://api-r.referens.sys.kth.se/api/kopps/v2/?defaultTimeout=10000')
2625
const devSessionKey = devDefaults('kurs-pm-web.sid')
@@ -41,14 +40,12 @@ module.exports = {
4140
// API keys
4241
apiKey: {
4342
kursPmDataApi: getEnv('KURS_PM_DATA_API_KEY', devDefaults('1234')),
44-
kursInfoApi: getEnv('KURSINFO_API_KEY', devDefaults('1234')),
4543
kursplanApi: getEnv('KURSPLAN_API_KEY', devDefaults('5678')),
4644
},
4745

4846
// Service API's
4947
nodeApi: {
5048
kursPmDataApi: unpackNodeApiConfig('KURS_PM_DATA_API_URI', devKursPmDataApi),
51-
kursInfoApi: unpackNodeApiConfig('KURSINFO_API_URI', devKursInfoApi),
5249
kursplanApi: unpackNodeApiConfig('KURSPLAN_API_URI', devKursplanApi),
5350
},
5451

docker-compose-integration-tests-old.yml

-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ services:
2222
- LOGGING_ACCESS_LOG=true
2323
- KURS_PM_DATA_API_URI=http://mock-api:3000/kurs-pm
2424
- KURS_PM_DATA_API_KEY=secretpassword
25-
- KURSINFO_API_URI=http://mock-api:3000/kursinfo
26-
- KURSINFO_API_KEY=secretpassword
2725
- KURSPLAN_API_URI=http://mock-api:3000/kursplan
2826
- KURSPLAN_API_KEY=secretpassword
2927
- REDIS_URI=redis://redis:6379

docker-compose-performance-tests.yml

-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ services:
2525
LOGGING_ACCESS_LOG: 'false'
2626
KURS_PM_DATA_API_URI: 'http://mock-api:3000/kurs-pm'
2727
KURS_PM_DATA_API_KEY: 'secretpassword'
28-
KURSINFO_API_URI: 'http://mock-api:3000/kursinfo'
29-
KURSINFO_API_KEY: 'secretpassword'
3028
KURSPLAN_API_URI: 'http://mock-api:3000/kursplan'
3129
KURSPLAN_API_KEY: 'secretpassword'
3230
REDIS_URI: 'redis://redis:6379'

i18n/messages.en.js

-29
Original file line numberDiff line numberDiff line change
@@ -83,35 +83,6 @@ module.exports = {
8383
default: 'default',
8484
},
8585

86-
courseImage: {
87-
Architecture: 'Picture_by_MainFieldOfStudy_01_Architecture.jpg',
88-
Biotechnology: 'Picture_by_MainFieldOfStudy_02_Biotechnology.jpg',
89-
'Computer Science and Engineering': 'Picture_by_MainFieldOfStudy_03_Computer_Science.jpg',
90-
'Electrical Engineering': 'Picture_by_MainFieldOfStudy_04_Electrical_Engineering.jpg',
91-
Physics: 'Picture_by_MainFieldOfStudy_05_Physics.jpg',
92-
'Industrial Management': 'Picture_by_MainFieldOfStudy_06_Industrial_Management.jpg',
93-
'Information Technology': 'Picture_by_MainFieldOfStudy_07_Information_Technology.jpg',
94-
'Information and Communication Technology': 'Picture_by_MainFieldOfStudy_08_Information_Communication.jpg',
95-
'Chemical Science and Engineering': 'Picture_by_MainFieldOfStudy_09_Chemical_Science.jpg',
96-
'Chemistry and Chemical Engineering': 'Picture_by_MainFieldOfStudy_10_Chemistry_Chemical.jpg',
97-
Mathematics: 'Picture_by_MainFieldOfStudy_11_Mathematics.jpg',
98-
'Environmental Engineering': 'Picture_by_MainFieldOfStudy_12_Environmental_Engineering.jpg',
99-
'Molecular Life Science': 'Picture_by_MainFieldOfStudy_13_Molecular_Life_Science.jpg',
100-
'Mechanical Engineering': 'Picture_by_MainFieldOfStudy_14_Mechanical_Engineering.jpg',
101-
'Materials Science': 'Picture_by_MainFieldOfStudy_15_Materials_Science.jpg',
102-
'Medical Engineering': 'Picture_by_MainFieldOfStudy_16_Medical_Engineering.jpg',
103-
'Materials Science and Engineering': 'Picture_by_MainFieldOfStudy_17_Materials_Engineering.jpg',
104-
'Built Environment': 'Picture_by_MainFieldOfStudy_18_Built_Environment.jpg',
105-
'Engineering Physics': 'Picture_by_MainFieldOfStudy_19_Engineering_Physics.jpg',
106-
'Technology and Economics': 'Picture_by_MainFieldOfStudy_20_Technology_Economics.jpg',
107-
'Technology and Health': 'Picture_by_MainFieldOfStudy_21_Technology_Health.jpg',
108-
'Technology and Management': 'Picture_by_MainFieldOfStudy_22_Technology_Management.jpg',
109-
Technology: 'Picture_by_MainFieldOfStudy_23_Technology.jpg',
110-
'Engineering and Management': 'Picture_by_MainFieldOfStudy_24_Engineering_Management.jpg',
111-
'Technology and Learning': 'Picture_by_MainFieldOfStudy_25_Technology_Learning.jpg',
112-
default: 'Picture_by_MainFieldOfStudy_26_Default_picture.jpg',
113-
},
114-
11586
courseInformationTitle: 'Information',
11687

11788
adminLinkLabel: 'Administer About course',

i18n/messages.se.js

-28
Original file line numberDiff line numberDiff line change
@@ -54,34 +54,6 @@ module.exports = {
5454

5555
mandatoryFieldMissing: 'Obligatoriskt innehåll saknas',
5656

57-
courseImage: {
58-
Arkitektur: 'Picture_by_MainFieldOfStudy_01_Architecture.jpg',
59-
Bioteknik: 'Picture_by_MainFieldOfStudy_02_Biotechnology.jpg',
60-
'Datalogi och datateknik': 'Picture_by_MainFieldOfStudy_03_Computer_Science.jpg',
61-
Elektroteknik: 'Picture_by_MainFieldOfStudy_04_Electrical_Engineering.jpg',
62-
Fysik: 'Picture_by_MainFieldOfStudy_05_Physics.jpg',
63-
'Industriell ekonomi': 'Picture_by_MainFieldOfStudy_06_Industrial_Management.jpg',
64-
Informationsteknik: 'Picture_by_MainFieldOfStudy_07_Information_Technology.jpg',
65-
'Informations- och kommunikationsteknik': 'Picture_by_MainFieldOfStudy_08_Information_Communication.jpg',
66-
Kemiteknik: 'Picture_by_MainFieldOfStudy_09_Chemical_Science.jpg',
67-
'Kemi och kemiteknik': 'Picture_by_MainFieldOfStudy_10_Chemistry_Chemical.jpg',
68-
Matematik: 'Picture_by_MainFieldOfStudy_11_Mathematics.jpg',
69-
Miljöteknik: 'Picture_by_MainFieldOfStudy_12_Environmental_Engineering.jpg',
70-
'Molekylära livsvetenskaper': 'Picture_by_MainFieldOfStudy_13_Molecular_Life_Science.jpg',
71-
Maskinteknik: 'Picture_by_MainFieldOfStudy_14_Mechanical_Engineering.jpg',
72-
Materialvetenskap: 'Picture_by_MainFieldOfStudy_15_Materials_Science.jpg',
73-
'Medicinsk teknik': 'Picture_by_MainFieldOfStudy_16_Medical_Engineering.jpg',
74-
Materialteknik: 'Picture_by_MainFieldOfStudy_17_Materials_Engineering.jpg',
75-
Samhällsbyggnad: 'Picture_by_MainFieldOfStudy_18_Built_Environment.jpg',
76-
'Teknisk fysik': 'Picture_by_MainFieldOfStudy_19_Engineering_Physics.jpg',
77-
'Teknik och ekonomi': 'Picture_by_MainFieldOfStudy_20_Technology_Economics.jpg',
78-
'Teknik och hälsa': 'Picture_by_MainFieldOfStudy_21_Technology_Health.jpg',
79-
'Teknik och management': 'Picture_by_MainFieldOfStudy_22_Technology_Management.jpg',
80-
Teknik: 'Picture_by_MainFieldOfStudy_23_Technology.jpg',
81-
'Teknik och lärande': 'Picture_by_MainFieldOfStudy_25_Technology_Learning.jpg',
82-
default: 'Picture_by_MainFieldOfStudy_26_Default_picture.jpg',
83-
},
84-
8557
courseInformationTitle: 'Information',
8658

8759
adminLinkLabel: 'Administrera Om kursen',

public/js/app/pages/CourseMemo.jsx

-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { Row, Col } from 'reactstrap'
66
import i18n from '../../../../i18n'
77
import { concatMemoName, memoNameWithoutApplicationCode, seasonStr, formatCredits } from '../util/helpers'
88
import { sideMenuBackLink } from '../util/links'
9-
import { resolveCourseImage } from '../util/course-image'
109
import { menuItemsForCurrentMemo } from '../util/menu-memo-items'
1110

1211
import { useWebContext } from '../context/WebContext'
@@ -116,8 +115,6 @@ function CourseMemo() {
116115
return () => (isMounted = false)
117116
}, [])
118117

119-
const courseImage = resolveCourseImage(webContext.imageFromAdmin, webContext.courseMainSubjects, memoLanguage)
120-
const courseImageUrl = `${webContext.browserConfig.imageStorageUri}${courseImage}`
121118
const memoLanguageIndex = getLangIndex(memoLanguage)
122119
const courseTitle = `${courseCode} ${title} ${formatCredits(credits, creditUnitAbbr, language)}`
123120

@@ -206,7 +203,6 @@ function CourseMemo() {
206203
outdatedMemo={isMemoOutdated()}
207204
latestMemoLabel={webContext.latestMemoLabel}
208205
latestMemoUrl={latestMemoUrl}
209-
courseImageUrl={courseImageUrl}
210206
/>
211207
<Row>
212208
<Col id="flexible-content-of-center" lg="8" className="text-break col-print-12 content-center">

public/js/app/pages/__tests__/AboutCourseMemoEN.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe('User language: English. Component <AboutCourseMemo> show all memos: pd
2727
beforeEach(() => {
2828
const context = {
2929
courseCode: 'KIP2720',
30-
browserConfig: { imageStorageUri: 'localhost://', memoStorageUri: 'kursinfostorage/' },
30+
browserConfig: { memoStorageUri: 'kursinfostorage/' },
3131
memoData: {
3232
courseTitle: 'KIP2720 Projektstyrning 7,5 hp',
3333
visibleInMemo: {},

public/js/app/pages/__tests__/AboutCourseMemoSV.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ describe('User language: Swedish. Component <AboutCourseMemo> show all memos: pd
2020
beforeEach(() => {
2121
const context = {
2222
courseCode: 'KIP2720',
23-
browserConfig: { imageStorageUri: 'localhost://', memoStorageUri: 'kursinfostorage/' },
23+
browserConfig: { memoStorageUri: 'kursinfostorage/' },
2424
memoData: {
2525
courseTitle: 'KIP2720 Projektstyrning 7,5 hp',
2626
visibleInMemo: {},

public/js/app/pages/__tests__/AboutCourseMemoWithNoMemoAlert.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const renderWithOptions = (memoDatas, languageSetting, applicationCodes = []) =>
3131
}
3232

3333
const context = {
34-
browserConfig: { imageStorageUri: 'localhost://', memoStorageUri: 'kursinfostorage/' },
34+
browserConfig: { memoStorageUri: 'kursinfostorage/' },
3535
memoData: {
3636
courseTitle: 'DD2380 Artificiell intelligens 6.0 hp',
3737
visibleInMemo: {},

public/js/app/pages/__tests__/CourseMemo.test.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ describe('Redirect function in <CourseMemo>', () => {
6565
describe('Component <CourseMemo>', () => {
6666
test('renders a course memo', () => {
6767
const context = {
68-
browserConfig: { imageStorageUri: 'localhost://' },
68+
browserConfig: {},
6969
memoData: {
7070
courseTitle: '',
7171
visibleInMemo: {},
@@ -167,7 +167,7 @@ describe('Page CourseMemo', () => {
167167
test('renders a side menu and a page structure', done => {
168168
const memoDatas = [spring181, spring1823, spring184, spring1924, spring193, fall190]
169169
const context = {
170-
browserConfig: { imageStorageUri: 'localhost://' },
170+
browserConfig: {},
171171
memoData: { ...spring181, courseTitle: '', visibleInMemo: {} },
172172
memoDatas,
173173
memoLanguageIndex: 0,
@@ -196,7 +196,7 @@ describe('Page CourseMemo', () => {
196196
test('renders a side menu links', done => {
197197
const memoDatas = [spring181, spring1823, spring184, spring1924, spring193, fall190]
198198
const context = {
199-
browserConfig: { imageStorageUri: 'localhost://' },
199+
browserConfig: {},
200200
memoData: { ...spring181, courseTitle: '', visibleInMemo: {} },
201201
memoDatas,
202202
memoLanguageIndex: 0,

public/js/app/pages/__tests__/noCourseMemo.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import CourseMemo from '../CourseMemo'
77
describe('User language: Swedish. Component <CourseMemo> renders <AboutCourseMemo> because no memo exists for some round, f.e., semester 20192, applicationCodes 2', () => {
88
beforeEach(() => {
99
const context = {
10-
browserConfig: { imageStorageUri: 'localhost://', memoStorageUri: 'kursinfostorage/' },
10+
browserConfig: { memoStorageUri: 'kursinfostorage/' },
1111
memoData: {
1212
courseTitle: 'KIP2720 Projektstyrning 7,5 hp',
1313
visibleInMemo: {},

public/js/app/util/course-image.js

-28
This file was deleted.

server/controllers/__tests__/memoCtrlHelpers.test.js

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ jest.mock('../../kursPmDataApi', () => ({
44
getMemoDataById: () => {},
55
getMiniMemosPdfAndWeb: () => {},
66
}))
7-
jest.mock('../../kursInfoApi', () => ({ getCourseInfo: () => {} }))
87

98
jest.mock('@kth/log', () => ({ error: jest.fn(), debug: jest.fn }))
109

server/controllers/memoCtrl.js

-19
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ const apis = require('../api')
1010
const serverPaths = require('../server').getPaths()
1111
const { browser, server: serverConfig } = require('../configuration')
1212
const { getMemoDataById, getMemoVersion, getMiniMemosPdfAndWeb } = require('../kursPmDataApi')
13-
const { getCourseInfo } = require('../kursInfoApi')
1413
const { getDetailedInformation, getCourseRoundTerms } = require('../koppsApi')
1514
const { createBreadcrumbs } = require('../utils/breadcrumbUtil')
1615
const { getServerSideFunctions } = require('../utils/serverSideRendering')
@@ -139,10 +138,6 @@ function resolveMemoEndPoint(potentialMemoEndPoint, memoDatas) {
139138
return memoDatas[0] ? memoDatas[0].memoEndPoint : ''
140139
}
141140

142-
function resolveSellingText(sellingText = {}, recruitmentText, lang) {
143-
return sellingText[lang] ? sellingText[lang] : recruitmentText
144-
}
145-
146141
function resolveLatestMemoLanguage(latestMemoDatas) {
147142
return latestMemoDatas ? latestMemoDatas.memoCommonLangAbbr : null
148143
}
@@ -242,17 +237,10 @@ async function getContent(req, res, next) {
242237
semester: semester || memoWithExtraProps?.semester,
243238
}
244239

245-
const { sellingText, imageInfo } = await getCourseInfo(courseCode)
246-
const courseIntroductionContext = {
247-
sellingText: resolveSellingText(sellingText, recruitmentText, languagesContext.memoLanguage),
248-
imageFromAdmin: imageInfo,
249-
}
250-
251240
const shortDescription = (responseLanguage === 'sv' ? 'Om kursen ' : 'About course ') + courseCode
252241

253242
const webContext = {
254243
...rawContext, // always first
255-
...courseIntroductionContext,
256244
...languagesContext,
257245
...courseContext,
258246
...memoContext,
@@ -354,17 +342,10 @@ async function getOldContent(req, res, next) {
354342
examiners,
355343
}
356344

357-
const { sellingText, imageInfo } = await getCourseInfo(courseCode)
358-
const courseIntroductionContext = {
359-
sellingText: resolveSellingText(sellingText, recruitmentText, languagesContext.memoLanguage),
360-
imageFromAdmin: imageInfo,
361-
}
362-
363345
const shortDescription = (responseLanguage === 'sv' ? 'Om kursen ' : 'About course ') + courseCode
364346

365347
const webContext = {
366348
...rawContext, // always first
367-
...courseIntroductionContext,
368349
...languagesContext,
369350
...courseContext,
370351
...memoContext,

server/kursInfoApi.js

-25
This file was deleted.

0 commit comments

Comments
 (0)