@studyportals/domain-client 3.6.0-0 → 3.6.0-2
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/.eslintignore +3 -0
- package/.eslintrc.js +12 -0
- package/.github/dependabot.yml +17 -0
- package/.github/stale.yml +10 -0
- package/.mocharc.yml +3 -0
- package/.nycrc +15 -0
- package/README.md +117 -0
- package/{index.d.ts → bin/index.d.ts} +45 -45
- package/{index.js → bin/index.js} +27 -27
- package/{index.js.map → bin/index.js.map} +0 -0
- package/bin/package.json +54 -0
- package/{src → bin/src}/domain-client.d.ts +14 -14
- package/{src → bin/src}/domain-client.js +60 -60
- package/{src → bin/src}/domain-client.js.map +0 -0
- package/{src → bin/src}/exceptions/bad-request-exception.d.ts +2 -2
- package/{src → bin/src}/exceptions/bad-request-exception.js +6 -6
- package/{src → bin/src}/exceptions/bad-request-exception.js.map +0 -0
- package/{src → bin/src}/exceptions/client-exception.d.ts +2 -2
- package/{src → bin/src}/exceptions/client-exception.js +6 -6
- package/{src → bin/src}/exceptions/client-exception.js.map +0 -0
- package/{src → bin/src}/exceptions/internal-server-exception.d.ts +2 -2
- package/{src → bin/src}/exceptions/internal-server-exception.js +6 -6
- package/{src → bin/src}/exceptions/internal-server-exception.js.map +0 -0
- package/{src → bin/src}/exceptions/not-found-exception.d.ts +2 -2
- package/{src → bin/src}/exceptions/not-found-exception.js +6 -6
- package/{src → bin/src}/exceptions/not-found-exception.js.map +0 -0
- package/{src → bin/src}/exceptions/property-not-available-exception.d.ts +2 -2
- package/{src → bin/src}/exceptions/property-not-available-exception.js +6 -6
- package/{src → bin/src}/exceptions/property-not-available-exception.js.map +0 -0
- package/{src → bin/src}/factories/DateFactory.d.ts +5 -5
- package/{src → bin/src}/factories/DateFactory.js +9 -9
- package/{src → bin/src}/factories/DateFactory.js.map +0 -0
- package/{src → bin/src}/factories/InternalLinkFactory.d.ts +9 -9
- package/{src → bin/src}/factories/InternalLinkFactory.js +19 -19
- package/{src → bin/src}/factories/InternalLinkFactory.js.map +0 -0
- package/{src → bin/src}/i-api-response.d.ts +6 -6
- package/{src → bin/src}/i-api-response.js +2 -2
- package/{src → bin/src}/i-api-response.js.map +0 -0
- package/{src → bin/src}/i-class-factory.d.ts +4 -4
- package/{src → bin/src}/i-class-factory.js +2 -2
- package/{src → bin/src}/i-class-factory.js.map +0 -0
- package/{src → bin/src}/i-model-description.d.ts +7 -7
- package/{src → bin/src}/i-model-description.js +9 -9
- package/{src → bin/src}/i-model-description.js.map +0 -0
- package/{src → bin/src}/model-client.d.ts +16 -16
- package/{src → bin/src}/model-client.js +45 -45
- package/{src → bin/src}/model-client.js.map +0 -0
- package/{src → bin/src}/model-factory.d.ts +11 -11
- package/{src → bin/src}/model-factory.js +71 -71
- package/{src → bin/src}/model-factory.js.map +0 -0
- package/{src → bin/src}/models/bestfit-programme/bestfit-programme-client.d.ts +7 -7
- package/{src → bin/src}/models/bestfit-programme/bestfit-programme-client.js +16 -16
- package/{src → bin/src}/models/bestfit-programme/bestfit-programme-client.js.map +0 -0
- package/{src → bin/src}/models/bestfit-programme/i-best-fit-programme.d.ts +82 -82
- package/{src → bin/src}/models/bestfit-programme/i-best-fit-programme.js +2 -2
- package/{src → bin/src}/models/bestfit-programme/i-best-fit-programme.js.map +0 -0
- package/{src → bin/src}/models/bestfit-programme/i-g-p-a-requirement.d.ts +20 -20
- package/{src → bin/src}/models/bestfit-programme/i-g-p-a-requirement.js +2 -2
- package/{src → bin/src}/models/bestfit-programme/i-g-p-a-requirement.js.map +0 -0
- package/{src → bin/src}/models/bestfit-programme/i-living-cost.d.ts +20 -20
- package/{src → bin/src}/models/bestfit-programme/i-living-cost.js +2 -2
- package/{src → bin/src}/models/bestfit-programme/i-living-cost.js.map +0 -0
- package/{src → bin/src}/models/common/i-city.d.ts +14 -14
- package/{src → bin/src}/models/common/i-city.js +2 -2
- package/{src → bin/src}/models/common/i-city.js.map +0 -0
- package/{src → bin/src}/models/common/i-country.d.ts +14 -14
- package/{src → bin/src}/models/common/i-country.js +2 -2
- package/{src → bin/src}/models/common/i-country.js.map +0 -0
- package/{src → bin/src}/models/common/i-english-requirements.d.ts +30 -30
- package/{src → bin/src}/models/common/i-english-requirements.js +2 -2
- package/{src → bin/src}/models/common/i-english-requirements.js.map +0 -0
- package/{src → bin/src}/models/common/i-internal-link.d.ts +28 -28
- package/{src → bin/src}/models/common/i-internal-link.js +2 -2
- package/{src → bin/src}/models/common/i-internal-link.js.map +0 -0
- package/{src → bin/src}/models/common/i-logo.d.ts +14 -14
- package/{src → bin/src}/models/common/i-logo.js +2 -2
- package/{src → bin/src}/models/common/i-logo.js.map +0 -0
- package/{src → bin/src}/models/common/i-tuition-fee.d.ts +50 -50
- package/{src → bin/src}/models/common/i-tuition-fee.js +2 -2
- package/{src → bin/src}/models/common/i-tuition-fee.js.map +0 -0
- package/{src → bin/src}/models/dotdigital-organisation/dotdigital-organisation-client.d.ts +7 -7
- package/{src → bin/src}/models/dotdigital-organisation/dotdigital-organisation-client.js +16 -16
- package/{src → bin/src}/models/dotdigital-organisation/dotdigital-organisation-client.js.map +0 -0
- package/{src → bin/src}/models/dotdigital-organisation/i-dot-digital-organisation.d.ts +32 -30
- package/{src → bin/src}/models/dotdigital-organisation/i-dot-digital-organisation.js +2 -2
- package/{src → bin/src}/models/dotdigital-organisation/i-dot-digital-organisation.js.map +0 -0
- package/{src → bin/src}/models/dotdigital-organisation/i-review.d.ts +7 -7
- package/{src → bin/src}/models/dotdigital-organisation/i-review.js +2 -2
- package/{src → bin/src}/models/dotdigital-organisation/i-review.js.map +0 -0
- package/{src → bin/src}/models/dotdigital-programme/dotdigital-programme-client.d.ts +7 -7
- package/{src → bin/src}/models/dotdigital-programme/dotdigital-programme-client.js +16 -16
- package/{src → bin/src}/models/dotdigital-programme/dotdigital-programme-client.js.map +0 -0
- package/{src → bin/src}/models/dotdigital-programme/i-dot-digital-programme.d.ts +89 -89
- package/{src → bin/src}/models/dotdigital-programme/i-dot-digital-programme.js +2 -2
- package/{src → bin/src}/models/dotdigital-programme/i-dot-digital-programme.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-click-tracking-data.d.ts +5 -5
- package/{src → bin/src}/models/programme-card/i-click-tracking-data.js +2 -2
- package/{src → bin/src}/models/programme-card/i-click-tracking-data.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-cover.d.ts +14 -14
- package/{src → bin/src}/models/programme-card/i-cover.js +2 -2
- package/{src → bin/src}/models/programme-card/i-cover.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-deadline.d.ts +20 -20
- package/{src → bin/src}/models/programme-card/i-deadline.js +2 -2
- package/{src → bin/src}/models/programme-card/i-deadline.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-duration.d.ts +40 -40
- package/{src → bin/src}/models/programme-card/i-duration.js +2 -2
- package/{src → bin/src}/models/programme-card/i-duration.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-link.d.ts +22 -22
- package/{src → bin/src}/models/programme-card/i-link.js +2 -2
- package/{src → bin/src}/models/programme-card/i-link.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-location.d.ts +7 -7
- package/{src → bin/src}/models/programme-card/i-location.js +2 -2
- package/{src → bin/src}/models/programme-card/i-location.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-optional-link.d.ts +23 -23
- package/{src → bin/src}/models/programme-card/i-optional-link.js +2 -2
- package/{src → bin/src}/models/programme-card/i-optional-link.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-programme-card.d.ts +126 -126
- package/{src → bin/src}/models/programme-card/i-programme-card.js +2 -2
- package/{src → bin/src}/models/programme-card/i-programme-card.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-start-date.d.ts +33 -33
- package/{src → bin/src}/models/programme-card/i-start-date.js +2 -2
- package/{src → bin/src}/models/programme-card/i-start-date.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-timing.d.ts +45 -45
- package/{src → bin/src}/models/programme-card/i-timing.js +2 -2
- package/{src → bin/src}/models/programme-card/i-timing.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-tracked-link.d.ts +29 -29
- package/{src → bin/src}/models/programme-card/i-tracked-link.js +2 -2
- package/{src → bin/src}/models/programme-card/i-tracked-link.js.map +0 -0
- package/{src → bin/src}/models/programme-card/i-tracking.d.ts +46 -46
- package/{src → bin/src}/models/programme-card/i-tracking.js +2 -2
- package/{src → bin/src}/models/programme-card/i-tracking.js.map +0 -0
- package/{src → bin/src}/models/programme-card/programme-card-client.d.ts +7 -7
- package/{src → bin/src}/models/programme-card/programme-card-client.js +16 -16
- package/{src → bin/src}/models/programme-card/programme-card-client.js.map +0 -0
- package/{src → bin/src}/models/search-country-faq/i-search-country-faq.d.ts +18 -18
- package/{src → bin/src}/models/search-country-faq/i-search-country-faq.js +2 -2
- package/{src → bin/src}/models/search-country-faq/i-search-country-faq.js.map +0 -0
- package/{src → bin/src}/models/search-country-faq/public-search-country-faq-client.d.ts +7 -7
- package/{src → bin/src}/models/search-country-faq/public-search-country-faq-client.js +16 -16
- package/{src → bin/src}/models/search-country-faq/public-search-country-faq-client.js.map +0 -0
- package/{src → bin/src}/models/search-projection/i-geo-targeting-configuration.d.ts +38 -38
- package/{src → bin/src}/models/search-projection/i-geo-targeting-configuration.js +2 -2
- package/{src → bin/src}/models/search-projection/i-geo-targeting-configuration.js.map +0 -0
- package/{src → bin/src}/models/search-projection/i-geo-targeting-values.d.ts +30 -30
- package/{src → bin/src}/models/search-projection/i-geo-targeting-values.js +2 -2
- package/{src → bin/src}/models/search-projection/i-geo-targeting-values.js.map +0 -0
- package/{src → bin/src}/models/search-projection/i-organisation-values.d.ts +40 -40
- package/{src → bin/src}/models/search-projection/i-organisation-values.js +2 -2
- package/{src → bin/src}/models/search-projection/i-organisation-values.js.map +0 -0
- package/{src → bin/src}/models/search-projection/i-premium-values.d.ts +35 -35
- package/{src → bin/src}/models/search-projection/i-premium-values.js +2 -2
- package/{src → bin/src}/models/search-projection/i-premium-values.js.map +0 -0
- package/{src → bin/src}/models/search-projection/i-search-projection.d.ts +180 -180
- package/{src → bin/src}/models/search-projection/i-search-projection.js +2 -2
- package/{src → bin/src}/models/search-projection/i-search-projection.js.map +0 -0
- package/{src → bin/src}/models/search-projection/i-tuition-values.d.ts +50 -50
- package/{src → bin/src}/models/search-projection/i-tuition-values.js +2 -2
- package/{src → bin/src}/models/search-projection/i-tuition-values.js.map +0 -0
- package/{src → bin/src}/models/search-projection/search-projection-client.d.ts +7 -7
- package/{src → bin/src}/models/search-projection/search-projection-client.js +16 -16
- package/{src → bin/src}/models/search-projection/search-projection-client.js.map +0 -0
- package/{src → bin/src}/types/portal-map.d.ts +2 -2
- package/{src → bin/src}/types/portal-map.js +2 -2
- package/{src → bin/src}/types/portal-map.js.map +0 -0
- package/{src → bin/src}/types/portal-type.d.ts +7 -7
- package/{src → bin/src}/types/portal-type.js +11 -11
- package/{src → bin/src}/types/portal-type.js.map +0 -0
- package/{src → bin/src}/types.d.ts +4 -4
- package/{src → bin/src}/types.js +2 -2
- package/{src → bin/src}/types.js.map +0 -0
- package/index.ts +91 -0
- package/package.json +1 -1
- package/src/domain-client.ts +70 -0
- package/src/exceptions/bad-request-exception.ts +2 -0
- package/src/exceptions/client-exception.ts +2 -0
- package/src/exceptions/internal-server-exception.ts +2 -0
- package/src/exceptions/not-found-exception.ts +2 -0
- package/src/exceptions/property-not-available-exception.ts +2 -0
- package/src/factories/DateFactory.ts +8 -0
- package/src/factories/InternalLinkFactory.ts +27 -0
- package/src/i-api-response.ts +7 -0
- package/src/i-class-factory.ts +5 -0
- package/src/i-model-description.ts +13 -0
- package/src/model-client.ts +77 -0
- package/src/model-factory.ts +94 -0
- package/src/models/bestfit-programme/bestfit-programme-client.ts +16 -0
- package/src/models/bestfit-programme/i-best-fit-programme.ts +102 -0
- package/src/models/bestfit-programme/i-g-p-a-requirement.ts +23 -0
- package/src/models/bestfit-programme/i-living-cost.ts +23 -0
- package/src/models/common/i-city.ts +16 -0
- package/src/models/common/i-country.ts +16 -0
- package/src/models/common/i-english-requirements.ts +38 -0
- package/src/models/common/i-internal-link.ts +32 -0
- package/src/models/common/i-logo.ts +16 -0
- package/src/models/common/i-tuition-fee.ts +57 -0
- package/src/models/dotdigital-organisation/dotdigital-organisation-client.ts +16 -0
- package/src/models/dotdigital-organisation/i-dot-digital-organisation.ts +59 -0
- package/src/models/dotdigital-organisation/i-review.ts +12 -0
- package/src/models/dotdigital-programme/dotdigital-programme-client.ts +16 -0
- package/src/models/dotdigital-programme/i-dot-digital-programme.ts +108 -0
- package/src/models/programme-card/i-click-tracking-data.ts +8 -0
- package/src/models/programme-card/i-cover.ts +16 -0
- package/src/models/programme-card/i-deadline.ts +23 -0
- package/src/models/programme-card/i-duration.ts +46 -0
- package/src/models/programme-card/i-link.ts +25 -0
- package/src/models/programme-card/i-location.ts +12 -0
- package/src/models/programme-card/i-optional-link.ts +27 -0
- package/src/models/programme-card/i-programme-card.ts +152 -0
- package/src/models/programme-card/i-start-date.ts +39 -0
- package/src/models/programme-card/i-timing.ts +53 -0
- package/src/models/programme-card/i-tracked-link.ts +34 -0
- package/src/models/programme-card/i-tracking.ts +55 -0
- package/src/models/programme-card/programme-card-client.ts +16 -0
- package/src/models/search-country-faq/i-search-country-faq.ts +22 -0
- package/src/models/search-country-faq/public-search-country-faq-client.ts +16 -0
- package/src/models/search-projection/i-geo-targeting-configuration.ts +44 -0
- package/src/models/search-projection/i-geo-targeting-values.ts +38 -0
- package/src/models/search-projection/i-organisation-values.ts +46 -0
- package/src/models/search-projection/i-premium-values.ts +43 -0
- package/src/models/search-projection/i-search-projection.ts +216 -0
- package/src/models/search-projection/i-tuition-values.ts +63 -0
- package/src/models/search-projection/search-projection-client.ts +16 -0
- package/src/types/portal-map.ts +3 -0
- package/src/types/portal-type.ts +7 -0
- package/src/types.ts +4 -0
- package/tsconfig.json +39 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { IDeadline, IStartDate } from "../../..";
|
|
2
|
+
|
|
3
|
+
export interface ITiming {
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Get the IDeadline applicable for this type and programme.
|
|
7
|
+
*
|
|
8
|
+
* Note: In case of extendable start dates, all information in the
|
|
9
|
+
* Deadline object has already been extended to the first available start
|
|
10
|
+
* date.
|
|
11
|
+
*
|
|
12
|
+
* @return IDeadline
|
|
13
|
+
* @throws PropertyNotAvailableException
|
|
14
|
+
*/
|
|
15
|
+
getDeadline(): IDeadline;
|
|
16
|
+
|
|
17
|
+
canShowDeadline(): boolean;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Get the IStartDate applicable for this type and programme.
|
|
21
|
+
*
|
|
22
|
+
* Note: In case of extendable start dates, all information in the
|
|
23
|
+
* StartDate objects has already been extended to the first available start
|
|
24
|
+
* date.
|
|
25
|
+
*
|
|
26
|
+
* @return IStartDate
|
|
27
|
+
* @throws PropertyNotAvailableException
|
|
28
|
+
*/
|
|
29
|
+
getStartDate(): IStartDate;
|
|
30
|
+
|
|
31
|
+
canShowStartDate(): boolean;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Type of user the timing is applicable to (e.g. general, eea, national).
|
|
35
|
+
*
|
|
36
|
+
* @return string
|
|
37
|
+
*/
|
|
38
|
+
getType(): string;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* True if the programme allows to apply at any time (rolling application).
|
|
42
|
+
*
|
|
43
|
+
* @return boolean
|
|
44
|
+
*/
|
|
45
|
+
isApplyingAnytime(): boolean;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* True if the programme can start at any time (rolling admission).
|
|
49
|
+
*
|
|
50
|
+
* @return boolean
|
|
51
|
+
*/
|
|
52
|
+
isStartingAnytime(): boolean;
|
|
53
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ITracking } from "../../..";
|
|
2
|
+
|
|
3
|
+
export interface ITrackedLink {
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Get an optional text describing the link (typically <a>-tags contents).
|
|
7
|
+
*
|
|
8
|
+
* @return string
|
|
9
|
+
* @throws PropertyNotAvailableException
|
|
10
|
+
*/
|
|
11
|
+
getDescription(): string;
|
|
12
|
+
|
|
13
|
+
canShowDescription(): boolean;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Get an object containing all information needed to properly track a link.
|
|
17
|
+
*
|
|
18
|
+
* @return ITracking
|
|
19
|
+
*/
|
|
20
|
+
getTracking(): ITracking;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Get the url to refer to.
|
|
24
|
+
*
|
|
25
|
+
* Note that the url provided is always a relative URL. A base URL is needed
|
|
26
|
+
* to make it a full valid path.
|
|
27
|
+
* The only exception is when an external link is provided (meaning, outside
|
|
28
|
+
* of StudyPortals-maintained domains). In this case a full url will be
|
|
29
|
+
* provided.
|
|
30
|
+
*
|
|
31
|
+
* @return string
|
|
32
|
+
*/
|
|
33
|
+
getUrl(): string;
|
|
34
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { IClickTrackingData } from "../../..";
|
|
2
|
+
|
|
3
|
+
export interface ITracking {
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Get the value of the data-action attribute.
|
|
7
|
+
*
|
|
8
|
+
* @return string
|
|
9
|
+
*/
|
|
10
|
+
getAction(): string;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Get all the data that is need to make click tracking possible
|
|
14
|
+
*
|
|
15
|
+
* @return IClickTrackingData
|
|
16
|
+
*/
|
|
17
|
+
getClickTrackingData(): IClickTrackingData;
|
|
18
|
+
|
|
19
|
+
canShowClickTrackingData(): boolean;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Get the value of the data-description attribute.
|
|
23
|
+
*
|
|
24
|
+
* @return string
|
|
25
|
+
*/
|
|
26
|
+
getDescription(): string;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Get the extra information value.
|
|
30
|
+
*
|
|
31
|
+
* @return string
|
|
32
|
+
*/
|
|
33
|
+
getExtra(): string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Get the value of the data-id attribute.
|
|
37
|
+
*
|
|
38
|
+
* @return number
|
|
39
|
+
*/
|
|
40
|
+
getId(): number;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Get the value of the data-label attribute.
|
|
44
|
+
*
|
|
45
|
+
* @return string
|
|
46
|
+
*/
|
|
47
|
+
getLabel(): string;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Get the value of the data-type attribute.
|
|
51
|
+
*
|
|
52
|
+
* @return string
|
|
53
|
+
*/
|
|
54
|
+
getType(): string;
|
|
55
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IProgrammeCard } from "../../..";
|
|
2
|
+
import { ModelClient } from "../../model-client";
|
|
3
|
+
|
|
4
|
+
export class ProgrammeCardClient extends ModelClient<IProgrammeCard> {
|
|
5
|
+
protected getModelName(): string {
|
|
6
|
+
return 'programme-card';
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
protected getVersion(): string {
|
|
10
|
+
return 'v1';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public isPublic(): boolean {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface ISearchCountryFaq {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @return number
|
|
5
|
+
*/
|
|
6
|
+
getId(): number;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @return string
|
|
10
|
+
*/
|
|
11
|
+
getName(): string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @return string
|
|
15
|
+
*/
|
|
16
|
+
getRankingCountryLink(): string;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @return string[]
|
|
20
|
+
*/
|
|
21
|
+
getTopFiveUniversities(): string[];
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ISearchCountryFaq } from "../../..";
|
|
2
|
+
import { ModelClient } from "../../model-client";
|
|
3
|
+
|
|
4
|
+
export class PublicSearchCountryFaqClient extends ModelClient<ISearchCountryFaq> {
|
|
5
|
+
protected getModelName(): string {
|
|
6
|
+
return 'search-country-faq';
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
protected getVersion(): string {
|
|
10
|
+
return 'v1';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public isPublic(): boolean {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface IGeoTargetingConfiguration {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Bit set 1 of targeted country ID information.
|
|
5
|
+
*
|
|
6
|
+
* @return number
|
|
7
|
+
*/
|
|
8
|
+
getBit1(): number;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Bit set 2 of targeted country ID information.
|
|
12
|
+
*
|
|
13
|
+
* @return number
|
|
14
|
+
*/
|
|
15
|
+
getBit2(): number;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Bit set 3 of targeted country ID information.
|
|
19
|
+
*
|
|
20
|
+
* @return number
|
|
21
|
+
*/
|
|
22
|
+
getBit3(): number;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Bit set 4 of targeted country ID information.
|
|
26
|
+
*
|
|
27
|
+
* @return number
|
|
28
|
+
*/
|
|
29
|
+
getBit4(): number;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Bit set 5 of targeted country ID information.
|
|
33
|
+
*
|
|
34
|
+
* @return number
|
|
35
|
+
*/
|
|
36
|
+
getBit5(): number;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* List of all configured country IDs.
|
|
40
|
+
*
|
|
41
|
+
* @return number[]
|
|
42
|
+
*/
|
|
43
|
+
getTargetedCountries(): number[];
|
|
44
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IGeoTargetingConfiguration } from "../../..";
|
|
2
|
+
|
|
3
|
+
export interface IGeoTargetingValues {
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Geo-targeting configuration for "light premium" listing.
|
|
7
|
+
*
|
|
8
|
+
* @return IGeoTargetingConfiguration
|
|
9
|
+
*/
|
|
10
|
+
getLightPremium(): IGeoTargetingConfiguration;
|
|
11
|
+
|
|
12
|
+
canShowLightPremium(): boolean;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Geo-targeting configuration for "premium" listing.
|
|
16
|
+
*
|
|
17
|
+
* @return IGeoTargetingConfiguration
|
|
18
|
+
*/
|
|
19
|
+
getPremium(): IGeoTargetingConfiguration;
|
|
20
|
+
|
|
21
|
+
canShowPremium(): boolean;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Geo-targeting configuration for "super premium" listing.
|
|
25
|
+
*
|
|
26
|
+
* @return IGeoTargetingConfiguration
|
|
27
|
+
*/
|
|
28
|
+
getSuperPremium(): IGeoTargetingConfiguration;
|
|
29
|
+
|
|
30
|
+
canShowSuperPremium(): boolean;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Programme has active geo-targeting settings.
|
|
34
|
+
*
|
|
35
|
+
* @return boolean
|
|
36
|
+
*/
|
|
37
|
+
isGeoTargeted(): boolean;
|
|
38
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface IOrganisationValues {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Country ID of the top level organisation.
|
|
5
|
+
*
|
|
6
|
+
* @return number
|
|
7
|
+
*/
|
|
8
|
+
getCountryId(): number;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* ID of the programme's main organisation.
|
|
12
|
+
*
|
|
13
|
+
* First premium organisation or top level organisation.
|
|
14
|
+
*
|
|
15
|
+
* @return number
|
|
16
|
+
*/
|
|
17
|
+
getId(): number;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Name of the programme's main organisation.
|
|
21
|
+
*
|
|
22
|
+
* First premium organisation or top level organisation.
|
|
23
|
+
*
|
|
24
|
+
* @return string
|
|
25
|
+
*/
|
|
26
|
+
getName(): string;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* List of all organisation IDs attached to the programme (main + sub).
|
|
30
|
+
*
|
|
31
|
+
* @return number[]
|
|
32
|
+
*/
|
|
33
|
+
getOrganisations(): number[];
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Region ID of the top level organisation.
|
|
37
|
+
*
|
|
38
|
+
* Currently only possible region ID is 38 (EEA region). All other regions
|
|
39
|
+
* are ignored for this field.
|
|
40
|
+
*
|
|
41
|
+
* @return number
|
|
42
|
+
*/
|
|
43
|
+
getRegionId(): number;
|
|
44
|
+
|
|
45
|
+
canShowRegionId(): boolean;
|
|
46
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface IPremiumValues {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Bottom of the premium probability range (between 0.0 asn 1.0).
|
|
5
|
+
*
|
|
6
|
+
* @return number
|
|
7
|
+
*/
|
|
8
|
+
getPremiumBottom(): number;
|
|
9
|
+
|
|
10
|
+
canShowPremiumBottom(): boolean;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* CPM value attached to the premium listing.
|
|
14
|
+
*
|
|
15
|
+
* @return number
|
|
16
|
+
*/
|
|
17
|
+
getPremiumCpm(): number;
|
|
18
|
+
|
|
19
|
+
canShowPremiumCpm(): boolean;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Top of the premium probability range (between 0.0 asn 1.0).
|
|
23
|
+
*
|
|
24
|
+
* @return number
|
|
25
|
+
*/
|
|
26
|
+
getPremiumTop(): number;
|
|
27
|
+
|
|
28
|
+
canShowPremiumTop(): boolean;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Short hand premium type (sp, p, lp, slp, sslp, b).
|
|
32
|
+
*
|
|
33
|
+
* @return string
|
|
34
|
+
*/
|
|
35
|
+
getPremiumType(): string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Premium weight value used in Cloudsearch commercial sorting.
|
|
39
|
+
*
|
|
40
|
+
* @return number
|
|
41
|
+
*/
|
|
42
|
+
getPremiumValue(): number;
|
|
43
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { IGeoTargetingValues, IOrganisationValues, IPremiumValues, ITuitionValues } from "../../..";
|
|
2
|
+
|
|
3
|
+
export interface ISearchProjection {
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* List of area IDs where the programme is taught at (through venues).
|
|
7
|
+
*
|
|
8
|
+
* @return number[]
|
|
9
|
+
*/
|
|
10
|
+
getAreas(): number[];
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Current boost value for the programme (campaign automation).
|
|
14
|
+
*
|
|
15
|
+
* @return number
|
|
16
|
+
*/
|
|
17
|
+
getBoost(): number;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Contents text of the programme (stripped of html tags).
|
|
21
|
+
*
|
|
22
|
+
* @return string
|
|
23
|
+
*/
|
|
24
|
+
getContents(): string;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* List of country IDs where the programme is taught at (through venues).
|
|
28
|
+
*
|
|
29
|
+
* @return number[]
|
|
30
|
+
*/
|
|
31
|
+
getCountries(): number[];
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Unformatted degree of the programme.
|
|
35
|
+
*
|
|
36
|
+
* @return string
|
|
37
|
+
*/
|
|
38
|
+
getDegree(): string;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Formatted degree of the programme.
|
|
42
|
+
*
|
|
43
|
+
* @return string
|
|
44
|
+
*/
|
|
45
|
+
getDegreeFormatted(): string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* List of intensity densities of the programme.
|
|
49
|
+
*
|
|
50
|
+
* @return string[]
|
|
51
|
+
*/
|
|
52
|
+
getDensity(): string[];
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Description text of the programme (stripped of html tags).
|
|
56
|
+
*
|
|
57
|
+
* @return string
|
|
58
|
+
*/
|
|
59
|
+
getDescription(): string;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* List of disciplines connected to the programme (includes parent IDs).
|
|
63
|
+
*
|
|
64
|
+
* @return number[]
|
|
65
|
+
*/
|
|
66
|
+
getDisciplines(): number[];
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* List of educational forms.
|
|
70
|
+
*
|
|
71
|
+
* @return string[]
|
|
72
|
+
*/
|
|
73
|
+
getEducationalForms(): string[];
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Full time duration in days.
|
|
77
|
+
*
|
|
78
|
+
* @return number
|
|
79
|
+
*/
|
|
80
|
+
getFullTimeDuration(): number;
|
|
81
|
+
|
|
82
|
+
canShowFullTimeDuration(): boolean;
|
|
83
|
+
|
|
84
|
+
getGeoTargetingValues(): IGeoTargetingValues;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Id of the programme.
|
|
88
|
+
*
|
|
89
|
+
* @return number
|
|
90
|
+
*/
|
|
91
|
+
getId(): number;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* List of language IDs the programme is taught in.
|
|
95
|
+
*
|
|
96
|
+
* @return number[]
|
|
97
|
+
*/
|
|
98
|
+
getLanguages(): number[];
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Study level of the programme.
|
|
102
|
+
*
|
|
103
|
+
* @return string
|
|
104
|
+
*/
|
|
105
|
+
getLevel(): string;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Url of the logo to display (square if available, legacy otherwise).
|
|
109
|
+
*
|
|
110
|
+
* @return string
|
|
111
|
+
*/
|
|
112
|
+
getLogo(): string;
|
|
113
|
+
|
|
114
|
+
canShowLogo(): boolean;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Url of the legacy logo to display.
|
|
118
|
+
*
|
|
119
|
+
* @return string
|
|
120
|
+
*/
|
|
121
|
+
getLogoOld(): string;
|
|
122
|
+
|
|
123
|
+
canShowLogoOld(): boolean;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* List of study methods.
|
|
127
|
+
*
|
|
128
|
+
* @return string[]
|
|
129
|
+
*/
|
|
130
|
+
getMethods(): string[];
|
|
131
|
+
|
|
132
|
+
getOrganisationValues(): IOrganisationValues;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Part time duration in days.
|
|
136
|
+
*
|
|
137
|
+
* @return number
|
|
138
|
+
*/
|
|
139
|
+
getPartTimeDuration(): number;
|
|
140
|
+
|
|
141
|
+
canShowPartTimeDuration(): boolean;
|
|
142
|
+
|
|
143
|
+
getPremiumValues(): IPremiumValues;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* The programme's probability seed value (previously known as 'entropy').
|
|
147
|
+
*
|
|
148
|
+
* Should be a value between 0 and 4095.
|
|
149
|
+
*
|
|
150
|
+
* @return number
|
|
151
|
+
*/
|
|
152
|
+
getProbabilitySeed(): number;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* List of region IDs where the programme is taught at (through venues).
|
|
156
|
+
*
|
|
157
|
+
* Includes both the direct regions as the parent regions.
|
|
158
|
+
*
|
|
159
|
+
* @return number[]
|
|
160
|
+
*/
|
|
161
|
+
getRegions(): number[];
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* List of special programme types (executive, joint, erasmus).
|
|
165
|
+
*
|
|
166
|
+
* @return string[]
|
|
167
|
+
*/
|
|
168
|
+
getSpecialStudy(): string[];
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* List of the start months for the programme.
|
|
172
|
+
*
|
|
173
|
+
* @return number[]
|
|
174
|
+
*/
|
|
175
|
+
getStartDates(): number[];
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Summary text of the programme (stripped of html tags).
|
|
179
|
+
*
|
|
180
|
+
* @return string
|
|
181
|
+
*/
|
|
182
|
+
getSummary(): string;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Title of the programme.
|
|
186
|
+
*
|
|
187
|
+
* @return string
|
|
188
|
+
*/
|
|
189
|
+
getTitle(): string;
|
|
190
|
+
|
|
191
|
+
getTuitionValues(): ITuitionValues;
|
|
192
|
+
|
|
193
|
+
canShowTuitionValues(): boolean;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* List of json encoded venue descriptions.
|
|
197
|
+
*
|
|
198
|
+
* Example of structure:
|
|
199
|
+
* {
|
|
200
|
+
*'city': 'Eindhoven',
|
|
201
|
+
*'country': 'Netherlands',
|
|
202
|
+
*'area': 'North Brabant',
|
|
203
|
+
*'display_area': true
|
|
204
|
+
* }
|
|
205
|
+
*
|
|
206
|
+
* @return string[]
|
|
207
|
+
*/
|
|
208
|
+
getVenues(): string[];
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Public status of the programme.
|
|
212
|
+
*
|
|
213
|
+
* @return boolean
|
|
214
|
+
*/
|
|
215
|
+
isPublic(): boolean;
|
|
216
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface ITuitionValues {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Tuition (converted to per year if possible) for EEA students.
|
|
5
|
+
*
|
|
6
|
+
* @return number
|
|
7
|
+
*/
|
|
8
|
+
getTuitionEea(): number;
|
|
9
|
+
|
|
10
|
+
canShowTuitionEea(): boolean;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Tuition currency.
|
|
14
|
+
*
|
|
15
|
+
* @return number
|
|
16
|
+
*/
|
|
17
|
+
getTuitionEeaCurrency(): number;
|
|
18
|
+
|
|
19
|
+
canShowTuitionEeaCurrency(): boolean;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Tuition (converted to per year if possible) for international students.
|
|
23
|
+
*
|
|
24
|
+
* @return number
|
|
25
|
+
*/
|
|
26
|
+
getTuitionInternational(): number;
|
|
27
|
+
|
|
28
|
+
canShowTuitionInternational(): boolean;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Tuition currency.
|
|
32
|
+
*
|
|
33
|
+
* @return number
|
|
34
|
+
*/
|
|
35
|
+
getTuitionInternationalCurrency(): number;
|
|
36
|
+
|
|
37
|
+
canShowTuitionInternationalCurrency(): boolean;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Tuition (converted to per year if possible) for national students.
|
|
41
|
+
*
|
|
42
|
+
* @return number
|
|
43
|
+
*/
|
|
44
|
+
getTuitionNational(): number;
|
|
45
|
+
|
|
46
|
+
canShowTuitionNational(): boolean;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Tuition currency.
|
|
50
|
+
*
|
|
51
|
+
* @return number
|
|
52
|
+
*/
|
|
53
|
+
getTuitionNationalCurrency(): number;
|
|
54
|
+
|
|
55
|
+
canShowTuitionNationalCurrency(): boolean;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Unit all tuition fees are provided in.
|
|
59
|
+
*
|
|
60
|
+
* @return number
|
|
61
|
+
*/
|
|
62
|
+
getTuitionUnitType(): number;
|
|
63
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ISearchProjection } from "../../..";
|
|
2
|
+
import { ModelClient } from "../../model-client";
|
|
3
|
+
|
|
4
|
+
export class SearchProjectionClient extends ModelClient<ISearchProjection> {
|
|
5
|
+
protected getModelName(): string {
|
|
6
|
+
return 'search-projection';
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
protected getVersion(): string {
|
|
10
|
+
return 'v1';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public isPublic(): boolean {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
package/src/types.ts
ADDED