@studyportals/domain-client 6.0.0-6 → 6.0.0-8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +4 -1
- package/package.json +3 -3
- package/src/domain-client.d.ts +2 -3
- package/src/domain-client.js +15 -1
- package/src/i-api-response.d.ts +1 -1
- package/src/models/bestfit-programme/i-english-requirements.d.ts +51 -0
- package/src/models/bestfit-programme/i-english-requirements.js +1 -0
- package/src/models/bestfit-programme/i-g-p-a-requirement.d.ts +20 -0
- package/src/models/bestfit-programme/i-g-p-a-requirement.js +1 -0
- package/src/models/bestfit-programme/i-tuition-fee.d.ts +50 -0
- package/src/models/bestfit-programme/i-tuition-fee.js +1 -0
- package/src/models/common/i-review-rating.d.ts +26 -0
- package/src/models/common/i-review-rating.js +1 -0
- package/src/models/compare-programme/i-english-requirements.d.ts +51 -0
- package/src/models/compare-programme/i-english-requirements.js +1 -0
- package/src/models/compare-programme/i-g-p-a-requirement.d.ts +20 -0
- package/src/models/compare-programme/i-g-p-a-requirement.js +1 -0
- package/src/models/compare-programme/i-living-cost.d.ts +20 -0
- package/src/models/compare-programme/i-living-cost.js +1 -0
- package/src/models/copilot-programme/i-deadline.d.ts +20 -0
- package/src/models/copilot-programme/i-deadline.js +1 -0
- package/src/models/copilot-programme/i-english-requirements.d.ts +51 -0
- package/src/models/copilot-programme/i-english-requirements.js +1 -0
- package/src/models/copilot-programme/i-g-p-a-requirement.d.ts +20 -0
- package/src/models/copilot-programme/i-g-p-a-requirement.js +1 -0
- package/src/models/copilot-programme/i-geo-targeting-configuration.d.ts +38 -0
- package/src/models/copilot-programme/i-geo-targeting-configuration.js +1 -0
- package/src/models/copilot-programme/i-geo-targeting-values.d.ts +30 -0
- package/src/models/copilot-programme/i-geo-targeting-values.js +1 -0
- package/src/models/copilot-programme/i-internal-link.d.ts +28 -0
- package/src/models/copilot-programme/i-internal-link.js +1 -0
- package/src/models/copilot-programme/i-link.d.ts +22 -0
- package/src/models/copilot-programme/i-link.js +1 -0
- package/src/models/copilot-programme/i-living-cost.d.ts +20 -0
- package/src/models/copilot-programme/i-living-cost.js +1 -0
- package/src/models/copilot-programme/i-start-date.d.ts +33 -0
- package/src/models/copilot-programme/i-start-date.js +1 -0
- package/src/models/copilot-programme/i-timing.d.ts +45 -0
- package/src/models/copilot-programme/i-timing.js +1 -0
- package/src/models/copilot-programme/i-tuition-values.d.ts +50 -0
- package/src/models/copilot-programme/i-tuition-values.js +1 -0
- package/src/models/customerio-organisation/i-city.d.ts +14 -0
- package/src/models/customerio-organisation/i-city.js +1 -0
- package/src/models/customerio-organisation/i-country.d.ts +20 -0
- package/src/models/customerio-organisation/i-country.js +1 -0
- package/src/models/customerio-organisation/i-customer-i-o-organisation.d.ts +35 -0
- package/src/models/customerio-organisation/i-customer-i-o-organisation.js +1 -0
- package/src/models/customerio-programme/i-country.d.ts +20 -0
- package/src/models/customerio-programme/i-country.js +1 -0
- package/src/models/customerio-programme/i-customer-i-o-programme.d.ts +107 -0
- package/src/models/customerio-programme/i-customer-i-o-programme.js +1 -0
- package/src/models/customerio-programme/i-deadline.d.ts +20 -0
- package/src/models/customerio-programme/i-deadline.js +1 -0
- package/src/models/customerio-programme/i-english-requirements.d.ts +51 -0
- package/src/models/customerio-programme/i-english-requirements.js +1 -0
- package/src/models/customerio-programme/i-logo.d.ts +14 -0
- package/src/models/customerio-programme/i-logo.js +1 -0
- package/src/models/customerio-programme/i-start-date.d.ts +33 -0
- package/src/models/customerio-programme/i-start-date.js +1 -0
- package/src/models/customerio-programme/i-timing.d.ts +45 -0
- package/src/models/customerio-programme/i-timing.js +1 -0
- package/src/models/customerio-programme/i-tuition-fee.d.ts +50 -0
- package/src/models/customerio-programme/i-tuition-fee.js +1 -0
- package/src/models/organisation-card/i-organisation-card.d.ts +2 -0
- package/src/models/organisation-card/i-review-rating-domain.d.ts +6 -0
- package/src/models/organisation-card/i-review-rating-domain.js +1 -0
- package/src/models/programme-card/i-english-requirements.d.ts +51 -0
- package/src/models/programme-card/i-english-requirements.js +1 -0
- package/src/models/programme-card/i-g-p-a-requirement.d.ts +20 -0
- package/src/models/programme-card/i-g-p-a-requirement.js +1 -0
- package/src/models/programme-card/i-living-cost.d.ts +20 -0
- package/src/models/programme-card/i-living-cost.js +1 -0
- package/src/models/programme-card/i-programme-card.d.ts +7 -0
- package/src/models/programme-card/i-review-rating-domain.d.ts +6 -0
- package/src/models/programme-card/i-review-rating-domain.js +1 -0
- package/src/models/scholarship-card-v2/i-scholarship-card.d.ts +15 -0
- package/src/models/scholarship-card-v2/i-scholarship-card.js +1 -0
- package/src/models/scholarship-card-v2/scholarship-card-v2-client.d.ts +7 -0
- package/src/models/scholarship-card-v2/scholarship-card-v2-client.js +12 -0
- package/test.d.ts +1 -0
- package/test.js +5 -0
package/index.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ import { IInternalLink } from "./src/models/customerio-programme/i-internal-link
|
|
|
34
34
|
import { ICustomerIOProgramme } from "./src/models/customerio-programme/i-customer-io-programme";
|
|
35
35
|
import { CustomerIOProgrammeClient } from "./src/models/customerio-programme/customerio-programme-client";
|
|
36
36
|
import { IFaqStaticContent } from "./src/models/faq-static-content/i-faq-static-content";
|
|
37
|
+
import { IFaq } from "./src/models/faq-static-content/i-faq";
|
|
38
|
+
import { IStaticContentUrl } from "./src/models/faq-static-content/i-static-content-url";
|
|
37
39
|
import { PublicFaqStaticContentClient } from "./src/models/faq-static-content/public-faq-static-content-client";
|
|
38
40
|
import { ISitemapProgrammeInfo } from "./src/models/sitemap-programme-info/i-sitemap-programme-info";
|
|
39
41
|
import { SitemapProgrammeInfoClient } from "./src/models/sitemap-programme-info/sitemap-programme-info-client";
|
|
@@ -80,6 +82,7 @@ import { CopilotProgrammeClient } from "./src/models/copilot-programme/copilot-p
|
|
|
80
82
|
import { ICopilotCountry } from "./src/models/copilot-country/i-copilot-country";
|
|
81
83
|
import { CopilotCountryClient } from "./src/models/copilot-country/copilot-country-client";
|
|
82
84
|
import { ICopilotRankingCard } from "./src/models/copilot-country/i-copilot-ranking-card";
|
|
83
|
-
|
|
85
|
+
import { IReviewRating } from "./src/models/common/i-review-rating";
|
|
86
|
+
export { BadRequestException, ClientException, InternalServerException, NotFoundException, PropertyNotAvailableException, ICover, ILink, IOptionalLink, ILocation, IClickTrackingData, ITracking, IDuration, IDeadline, IStartDate, ITiming, ITrackedLink, IProgrammeCard, ProgrammeCardClient, ITuitionValues, IPremiumValues, IOrganisationValues, IGeoTargetingConfiguration, IGeoTargetingValues, ISearchProjection, SearchProjectionClient, ILivingCost, IGPARequirement, IBestFitProgramme, BestfitProgrammeClient, ILogo, ITuitionFee, IEnglishRequirements, IInternalLink, ICustomerIOProgramme, CustomerIOProgrammeClient, IFaqStaticContent, PublicFaqStaticContentClient, IFaq, IStaticContentUrl, ISitemapProgrammeInfo, SitemapProgrammeInfoClient, ISitemapCountryInfo, SitemapCountriesInfoClient, IDegreeInfo, ISitemapCountryDegreeInfo, SitemapCountryDegreeInfoClient, ISearchDiscipline, PublicSearchDisciplineClient, ISitemapDisciplineInfo, SitemapDisciplinesInfoClient, ICountry, ICity, IReview, ICustomerIOOrganisation, CustomerIOOrganisationClient, ISitemapOrganisationInfo, SitemapOrganisationsInfoClient, IOrganisationSearchDocument, OrganisationSearchDocumentClient, ISitemapRankingsInfo, SitemapRankingsInfoClient, ISitemapArticleInfo, SitemapArticlesInfoClient, ISitemapCityInfo, SitemapCitiesInfoClient, IScholarshipCard, PublicScholarshipCardClient, ScholarshipCardV2Client, IScholarshipSearchDocument, ScholarshipSearchDocumentClient, IRanking, PortalType, PortalMap, ModelClient, IOrganisationForSearch, PublicOrganisationForSearchClient, IOrganisationCard, IRankingDiscipline, OrganisationCardClient, ICopilotProgramme, ICopilotCountry, CopilotProgrammeClient, CopilotCountryClient, ICopilotRankingCard, IReviewRating };
|
|
84
87
|
export * from './src/clients';
|
|
85
88
|
export * from './protobuf';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@studyportals/domain-client",
|
|
3
|
-
"version": "6.0.0-
|
|
3
|
+
"version": "6.0.0-8",
|
|
4
4
|
"description": "Responsible for fetching data from the Domain API",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "StudyPortals B.V.",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@vitest/coverage-v8": "^3.2.4",
|
|
33
|
-
"typescript": "^5.9.2"
|
|
33
|
+
"typescript": "^5.9.2",
|
|
34
|
+
"fflate": "^0.8.2"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
37
|
"@bufbuild/protobuf": "^2.6.2",
|
|
@@ -43,7 +44,6 @@
|
|
|
43
44
|
"@types/reflect-metadata": "^0.1.0",
|
|
44
45
|
"@typescript-eslint/eslint-plugin": "^4.8.1",
|
|
45
46
|
"@typescript-eslint/parser": "^4.8.1",
|
|
46
|
-
"barrelsby": "^2.8.1",
|
|
47
47
|
"eslint": "^7.13.0",
|
|
48
48
|
"eslint-plugin-import": "^2.22.1",
|
|
49
49
|
"eslint-plugin-mocha": "^10.1.0",
|
package/src/domain-client.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare class DomainClient {
|
|
1
|
+
export declare class DomainClient<T> {
|
|
3
2
|
readonly baseUrl: string;
|
|
4
3
|
readonly apiKey: string | undefined;
|
|
5
4
|
readonly model: string;
|
|
@@ -7,7 +6,7 @@ export declare class DomainClient {
|
|
|
7
6
|
readonly isPublic: boolean;
|
|
8
7
|
readonly seed: number;
|
|
9
8
|
constructor(baseUrl: string, apiKey: string | undefined, model: string, version: string, isPublic: boolean, seed: number);
|
|
10
|
-
doRequest(ids: number[]): Promise<
|
|
9
|
+
doRequest(ids: number[]): Promise<T[]>;
|
|
11
10
|
private handleErrors;
|
|
12
11
|
private buildUrl;
|
|
13
12
|
private shouldAddPublicPrefix;
|
package/src/domain-client.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BadRequestException } from "./exceptions/bad-request-exception";
|
|
2
2
|
import { InternalServerException } from "./exceptions/internal-server-exception";
|
|
3
3
|
import { NotFoundException } from "./exceptions/not-found-exception";
|
|
4
|
+
import { decompressSync } from 'fflate';
|
|
5
|
+
const decoder = new TextDecoder();
|
|
4
6
|
export class DomainClient {
|
|
5
7
|
baseUrl;
|
|
6
8
|
apiKey;
|
|
@@ -30,7 +32,18 @@ export class DomainClient {
|
|
|
30
32
|
}
|
|
31
33
|
const models = [];
|
|
32
34
|
for (const id of ids) {
|
|
33
|
-
|
|
35
|
+
let modelData = data.data[id];
|
|
36
|
+
if (typeof modelData === 'string') {
|
|
37
|
+
try {
|
|
38
|
+
const bytes = Uint8Array.from(Buffer.from(modelData, 'base64'));
|
|
39
|
+
const decompressedBytes = decompressSync(bytes);
|
|
40
|
+
modelData = JSON.parse(decoder.decode(decompressedBytes));
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
console.error(error);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
34
47
|
if (!modelData) {
|
|
35
48
|
continue;
|
|
36
49
|
}
|
|
@@ -39,6 +52,7 @@ export class DomainClient {
|
|
|
39
52
|
return models;
|
|
40
53
|
}
|
|
41
54
|
catch (error) {
|
|
55
|
+
console.error('Error fetching data from API:', error);
|
|
42
56
|
if (error instanceof InternalServerException || error instanceof BadRequestException || error instanceof NotFoundException) {
|
|
43
57
|
throw error;
|
|
44
58
|
}
|
package/src/i-api-response.d.ts
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface IEnglishRequirements {
|
|
2
|
+
/**
|
|
3
|
+
* Required score for Cambridge english
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getCambridgeEnglish(): number;
|
|
8
|
+
canShowCambridgeEnglish(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Required score for Duolingo
|
|
11
|
+
*
|
|
12
|
+
* @return number
|
|
13
|
+
*/
|
|
14
|
+
getDuolingo(): number;
|
|
15
|
+
canShowDuolingo(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Required score for IELTS tests
|
|
18
|
+
*
|
|
19
|
+
* @return number
|
|
20
|
+
*/
|
|
21
|
+
getIELTS(): number;
|
|
22
|
+
canShowIELTS(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Required score for OTE
|
|
25
|
+
*
|
|
26
|
+
* @return number
|
|
27
|
+
*/
|
|
28
|
+
getOte(): number;
|
|
29
|
+
canShowOte(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Required score for PTE
|
|
32
|
+
*
|
|
33
|
+
* @return number
|
|
34
|
+
*/
|
|
35
|
+
getPTE(): number;
|
|
36
|
+
canShowPTE(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Required score for TOEFL internet
|
|
39
|
+
*
|
|
40
|
+
* @return number
|
|
41
|
+
*/
|
|
42
|
+
getTOEFLInternet(): number;
|
|
43
|
+
canShowTOEFLInternet(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Required score for TOEFL paper
|
|
46
|
+
*
|
|
47
|
+
* @return number
|
|
48
|
+
*/
|
|
49
|
+
getTOEFLPaper(): number;
|
|
50
|
+
canShowTOEFLPaper(): boolean;
|
|
51
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface IGPARequirement {
|
|
2
|
+
/**
|
|
3
|
+
* The used GPA scale for this requirement
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
*/
|
|
7
|
+
getScale(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Required minimum score.
|
|
10
|
+
*
|
|
11
|
+
* @return string
|
|
12
|
+
*/
|
|
13
|
+
getScore(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Is GPA recommended or required.
|
|
16
|
+
*
|
|
17
|
+
* @return boolean
|
|
18
|
+
*/
|
|
19
|
+
isRequired(): boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface ITuitionFee {
|
|
2
|
+
/**
|
|
3
|
+
* Get the tuition amount per unit in the provided currency.
|
|
4
|
+
*
|
|
5
|
+
* Note: all transformable units will be converted to yearly amounts. This
|
|
6
|
+
* includes per semester and full programme tuition fees.
|
|
7
|
+
*
|
|
8
|
+
* @return number
|
|
9
|
+
*/
|
|
10
|
+
getAmount(): number;
|
|
11
|
+
/**
|
|
12
|
+
* Get the applicable currency.
|
|
13
|
+
*
|
|
14
|
+
* @return string
|
|
15
|
+
*/
|
|
16
|
+
getCurrency(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Get the original tuition amount before any transformation step.
|
|
19
|
+
*
|
|
20
|
+
* @return number
|
|
21
|
+
*/
|
|
22
|
+
getOriginalAmount(): number;
|
|
23
|
+
/**
|
|
24
|
+
* Get the original tuition unit before any transformation step.
|
|
25
|
+
*
|
|
26
|
+
* @return string
|
|
27
|
+
*/
|
|
28
|
+
getOriginalUnit(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Get targeted audience (national, international, eea, etc).
|
|
31
|
+
*
|
|
32
|
+
* @return string
|
|
33
|
+
*/
|
|
34
|
+
getTarget(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Get the unit the tuition fee applies for.
|
|
37
|
+
*
|
|
38
|
+
* Note: all transformable units will be converted to 'year'. This means
|
|
39
|
+
* this value will be either 'year', 'module' or 'credit'.
|
|
40
|
+
*
|
|
41
|
+
* @return string
|
|
42
|
+
*/
|
|
43
|
+
getUnit(): string;
|
|
44
|
+
/**
|
|
45
|
+
* True if the study is free for this target audience.
|
|
46
|
+
*
|
|
47
|
+
* @return boolean
|
|
48
|
+
*/
|
|
49
|
+
isFree(): boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface IReviewRating {
|
|
2
|
+
/**
|
|
3
|
+
* The average rating of the reviews on 10-point scale.
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getAverage(): number;
|
|
8
|
+
/**
|
|
9
|
+
* The number of reviews that contributed to the average rating.
|
|
10
|
+
*
|
|
11
|
+
* @return number
|
|
12
|
+
*/
|
|
13
|
+
getQuantity(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the rating has enough reviews to be considered valid.
|
|
16
|
+
*
|
|
17
|
+
* @return boolean
|
|
18
|
+
*/
|
|
19
|
+
hasEnoughQuantity(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Gets the average star rating based on the average score on 5-point scale.
|
|
22
|
+
*
|
|
23
|
+
* @return number
|
|
24
|
+
*/
|
|
25
|
+
getAverageStarRating(): number;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface IEnglishRequirements {
|
|
2
|
+
/**
|
|
3
|
+
* Required score for Cambridge english
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getCambridgeEnglish(): number;
|
|
8
|
+
canShowCambridgeEnglish(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Required score for Duolingo
|
|
11
|
+
*
|
|
12
|
+
* @return number
|
|
13
|
+
*/
|
|
14
|
+
getDuolingo(): number;
|
|
15
|
+
canShowDuolingo(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Required score for IELTS tests
|
|
18
|
+
*
|
|
19
|
+
* @return number
|
|
20
|
+
*/
|
|
21
|
+
getIELTS(): number;
|
|
22
|
+
canShowIELTS(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Required score for OTE
|
|
25
|
+
*
|
|
26
|
+
* @return number
|
|
27
|
+
*/
|
|
28
|
+
getOte(): number;
|
|
29
|
+
canShowOte(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Required score for PTE
|
|
32
|
+
*
|
|
33
|
+
* @return number
|
|
34
|
+
*/
|
|
35
|
+
getPTE(): number;
|
|
36
|
+
canShowPTE(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Required score for TOEFL internet
|
|
39
|
+
*
|
|
40
|
+
* @return number
|
|
41
|
+
*/
|
|
42
|
+
getTOEFLInternet(): number;
|
|
43
|
+
canShowTOEFLInternet(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Required score for TOEFL paper
|
|
46
|
+
*
|
|
47
|
+
* @return number
|
|
48
|
+
*/
|
|
49
|
+
getTOEFLPaper(): number;
|
|
50
|
+
canShowTOEFLPaper(): boolean;
|
|
51
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface IGPARequirement {
|
|
2
|
+
/**
|
|
3
|
+
* The used GPA scale for this requirement
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
*/
|
|
7
|
+
getScale(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Required minimum score.
|
|
10
|
+
*
|
|
11
|
+
* @return string
|
|
12
|
+
*/
|
|
13
|
+
getScore(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Is GPA recommended or required.
|
|
16
|
+
*
|
|
17
|
+
* @return boolean
|
|
18
|
+
*/
|
|
19
|
+
isRequired(): boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ILivingCost {
|
|
2
|
+
/**
|
|
3
|
+
* Get the applicable currency.
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
*/
|
|
7
|
+
getCurrency(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Get the maximum living cost in the provided currency.
|
|
10
|
+
*
|
|
11
|
+
* @return number
|
|
12
|
+
*/
|
|
13
|
+
getMax(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Get the minimum living cost in the provided currency.
|
|
16
|
+
*
|
|
17
|
+
* @return number
|
|
18
|
+
*/
|
|
19
|
+
getMin(): number;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface IDeadline {
|
|
2
|
+
/**
|
|
3
|
+
* Get the date this deadline expires on.
|
|
4
|
+
*
|
|
5
|
+
* @return Date
|
|
6
|
+
*/
|
|
7
|
+
getDate(): Date;
|
|
8
|
+
/**
|
|
9
|
+
* Get the deadline type (e.g. general, national, eea, etc).
|
|
10
|
+
*
|
|
11
|
+
* @return string
|
|
12
|
+
*/
|
|
13
|
+
getType(): string;
|
|
14
|
+
/**
|
|
15
|
+
* True if the deadline has passed (e.g. you can't apply anymore).
|
|
16
|
+
*
|
|
17
|
+
* @return boolean
|
|
18
|
+
*/
|
|
19
|
+
isPassed(): boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface IEnglishRequirements {
|
|
2
|
+
/**
|
|
3
|
+
* Required score for Cambridge english
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getCambridgeEnglish(): number;
|
|
8
|
+
canShowCambridgeEnglish(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Required score for Duolingo
|
|
11
|
+
*
|
|
12
|
+
* @return number
|
|
13
|
+
*/
|
|
14
|
+
getDuolingo(): number;
|
|
15
|
+
canShowDuolingo(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Required score for IELTS tests
|
|
18
|
+
*
|
|
19
|
+
* @return number
|
|
20
|
+
*/
|
|
21
|
+
getIELTS(): number;
|
|
22
|
+
canShowIELTS(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Required score for OTE
|
|
25
|
+
*
|
|
26
|
+
* @return number
|
|
27
|
+
*/
|
|
28
|
+
getOte(): number;
|
|
29
|
+
canShowOte(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Required score for PTE
|
|
32
|
+
*
|
|
33
|
+
* @return number
|
|
34
|
+
*/
|
|
35
|
+
getPTE(): number;
|
|
36
|
+
canShowPTE(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Required score for TOEFL internet
|
|
39
|
+
*
|
|
40
|
+
* @return number
|
|
41
|
+
*/
|
|
42
|
+
getTOEFLInternet(): number;
|
|
43
|
+
canShowTOEFLInternet(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Required score for TOEFL paper
|
|
46
|
+
*
|
|
47
|
+
* @return number
|
|
48
|
+
*/
|
|
49
|
+
getTOEFLPaper(): number;
|
|
50
|
+
canShowTOEFLPaper(): boolean;
|
|
51
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface IGPARequirement {
|
|
2
|
+
/**
|
|
3
|
+
* The used GPA scale for this requirement
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
*/
|
|
7
|
+
getScale(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Required minimum score.
|
|
10
|
+
*
|
|
11
|
+
* @return string
|
|
12
|
+
*/
|
|
13
|
+
getScore(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Is GPA recommended or required.
|
|
16
|
+
*
|
|
17
|
+
* @return boolean
|
|
18
|
+
*/
|
|
19
|
+
isRequired(): boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface IGeoTargetingConfiguration {
|
|
2
|
+
/**
|
|
3
|
+
* Bit set 1 of targeted country ID information.
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getBit1(): number;
|
|
8
|
+
/**
|
|
9
|
+
* Bit set 2 of targeted country ID information.
|
|
10
|
+
*
|
|
11
|
+
* @return number
|
|
12
|
+
*/
|
|
13
|
+
getBit2(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Bit set 3 of targeted country ID information.
|
|
16
|
+
*
|
|
17
|
+
* @return number
|
|
18
|
+
*/
|
|
19
|
+
getBit3(): number;
|
|
20
|
+
/**
|
|
21
|
+
* Bit set 4 of targeted country ID information.
|
|
22
|
+
*
|
|
23
|
+
* @return number
|
|
24
|
+
*/
|
|
25
|
+
getBit4(): number;
|
|
26
|
+
/**
|
|
27
|
+
* Bit set 5 of targeted country ID information.
|
|
28
|
+
*
|
|
29
|
+
* @return number
|
|
30
|
+
*/
|
|
31
|
+
getBit5(): number;
|
|
32
|
+
/**
|
|
33
|
+
* List of all configured country IDs.
|
|
34
|
+
*
|
|
35
|
+
* @return number[]
|
|
36
|
+
*/
|
|
37
|
+
getTargetedCountries(): number[];
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IGeoTargetingConfiguration } from "../../..";
|
|
2
|
+
export interface IGeoTargetingValues {
|
|
3
|
+
/**
|
|
4
|
+
* Geo-targeting configuration for "light premium" listing.
|
|
5
|
+
*
|
|
6
|
+
* @return IGeoTargetingConfiguration
|
|
7
|
+
*/
|
|
8
|
+
getLightPremium(): IGeoTargetingConfiguration;
|
|
9
|
+
canShowLightPremium(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Geo-targeting configuration for "premium" listing.
|
|
12
|
+
*
|
|
13
|
+
* @return IGeoTargetingConfiguration
|
|
14
|
+
*/
|
|
15
|
+
getPremium(): IGeoTargetingConfiguration;
|
|
16
|
+
canShowPremium(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Geo-targeting configuration for "super premium" listing.
|
|
19
|
+
*
|
|
20
|
+
* @return IGeoTargetingConfiguration
|
|
21
|
+
*/
|
|
22
|
+
getSuperPremium(): IGeoTargetingConfiguration;
|
|
23
|
+
canShowSuperPremium(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Programme has active geo-targeting settings.
|
|
26
|
+
*
|
|
27
|
+
* @return boolean
|
|
28
|
+
*/
|
|
29
|
+
isGeoTargeted(): boolean;
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface IInternalLink {
|
|
2
|
+
/**
|
|
3
|
+
* Get an optional text describing the link (typically <a>-tags contents).
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
* @throws PropertyNotAvailableException
|
|
7
|
+
*/
|
|
8
|
+
getDescription(): string;
|
|
9
|
+
canShowDescription(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Returns on which portal a this link should link towards.
|
|
12
|
+
*
|
|
13
|
+
* @return string
|
|
14
|
+
*/
|
|
15
|
+
getPortalType(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Get the url to refer to.
|
|
18
|
+
*
|
|
19
|
+
* Note that the url provided is always a relative URL. A base URL is needed
|
|
20
|
+
* to make it a full valid path.
|
|
21
|
+
* The only exception is when an external link is provided (meaning, outside
|
|
22
|
+
* of StudyPortals-maintained domains). In this case a full url will be
|
|
23
|
+
* provided.
|
|
24
|
+
*
|
|
25
|
+
* @return string
|
|
26
|
+
*/
|
|
27
|
+
getUrl(): string;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface ILink {
|
|
2
|
+
/**
|
|
3
|
+
* Get an optional text describing the link (typically <a>-tags contents).
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
* @throws PropertyNotAvailableException
|
|
7
|
+
*/
|
|
8
|
+
getDescription(): string;
|
|
9
|
+
canShowDescription(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Get the url to refer to.
|
|
12
|
+
*
|
|
13
|
+
* Note that the url provided is always a relative URL. A base URL is needed
|
|
14
|
+
* to make it a full valid path.
|
|
15
|
+
* The only exception is when an external link is provided (meaning, outside
|
|
16
|
+
* of StudyPortals-maintained domains). In this case a full url will be
|
|
17
|
+
* provided.
|
|
18
|
+
*
|
|
19
|
+
* @return string
|
|
20
|
+
*/
|
|
21
|
+
getUrl(): string;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ILivingCost {
|
|
2
|
+
/**
|
|
3
|
+
* Get the applicable currency.
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
*/
|
|
7
|
+
getCurrency(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Get the maximum living cost in the provided currency.
|
|
10
|
+
*
|
|
11
|
+
* @return number
|
|
12
|
+
*/
|
|
13
|
+
getMax(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Get the minimum living cost in the provided currency.
|
|
16
|
+
*
|
|
17
|
+
* @return number
|
|
18
|
+
*/
|
|
19
|
+
getMin(): number;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|