@kontent-ai/delivery-sdk 15.1.1 → 16.0.0-0
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/dist/bundles/kontent-delivery.umd.js +188 -2284
- package/dist/bundles/kontent-delivery.umd.js.map +1 -1
- package/dist/bundles/kontent-delivery.umd.min.js +1 -1
- package/dist/bundles/kontent-delivery.umd.min.js.map +1 -1
- package/dist/bundles/report.json +1 -1
- package/dist/bundles/report.min.json +1 -1
- package/dist/bundles/stats.json +4433 -9234
- package/dist/bundles/stats.min.json +2500 -7425
- package/dist/cjs/client/delivery-client.d.ts +14 -14
- package/dist/cjs/client/delivery-client.factory.d.ts +2 -1
- package/dist/cjs/client/delivery-client.factory.js.map +1 -1
- package/dist/cjs/client/delivery-client.js.map +1 -1
- package/dist/cjs/client/idelivery-client.interface.d.ts +14 -14
- package/dist/cjs/mappers/element.mapper.d.ts +4 -4
- package/dist/cjs/mappers/element.mapper.js.map +1 -1
- package/dist/cjs/mappers/item.mapper.d.ts +11 -11
- package/dist/cjs/mappers/item.mapper.js +1 -1
- package/dist/cjs/mappers/item.mapper.js.map +1 -1
- package/dist/cjs/mappers/language.mapper.d.ts +2 -2
- package/dist/cjs/mappers/language.mapper.js +5 -1
- package/dist/cjs/mappers/language.mapper.js.map +1 -1
- package/dist/cjs/mappers/taxonomy.mapper.d.ts +3 -3
- package/dist/cjs/mappers/taxonomy.mapper.js.map +1 -1
- package/dist/cjs/mappers/type.mapper.d.ts +3 -3
- package/dist/cjs/mappers/type.mapper.js.map +1 -1
- package/dist/cjs/models/content-type-models.d.ts +4 -4
- package/dist/cjs/models/item-models.d.ts +15 -4
- package/dist/cjs/models/language-models.d.ts +4 -4
- package/dist/cjs/models/responses.d.ts +29 -29
- package/dist/cjs/models/taxonomy-models.d.ts +4 -4
- package/dist/cjs/query/common/base-item-listing-query.class.d.ts +4 -4
- package/dist/cjs/query/common/base-item-listing-query.class.js.map +1 -1
- package/dist/cjs/query/common/base-listing-query.class.d.ts +4 -4
- package/dist/cjs/query/common/base-listing-query.class.js.map +1 -1
- package/dist/cjs/query/common/base-query.class.d.ts +4 -4
- package/dist/cjs/query/common/base-query.class.js.map +1 -1
- package/dist/cjs/query/element/element-query.class.d.ts +4 -4
- package/dist/cjs/query/element/element-query.class.js.map +1 -1
- package/dist/cjs/query/item/multiple-items-query.class.d.ts +14 -14
- package/dist/cjs/query/item/multiple-items-query.class.js +3 -1
- package/dist/cjs/query/item/multiple-items-query.class.js.map +1 -1
- package/dist/cjs/query/item/single-item-query.class.d.ts +9 -9
- package/dist/cjs/query/item/single-item-query.class.js.map +1 -1
- package/dist/cjs/query/items-feed/items-feed-query.class.d.ts +7 -7
- package/dist/cjs/query/items-feed/items-feed-query.class.js +3 -1
- package/dist/cjs/query/items-feed/items-feed-query.class.js.map +1 -1
- package/dist/cjs/query/language/languages-query.class.d.ts +7 -7
- package/dist/cjs/query/language/languages-query.class.js.map +1 -1
- package/dist/cjs/query/sync/initialize-sync-query.class.d.ts +4 -4
- package/dist/cjs/query/sync/initialize-sync-query.class.js.map +1 -1
- package/dist/cjs/query/sync/sync-changes-query.class.d.ts +4 -4
- package/dist/cjs/query/sync/sync-changes-query.class.js.map +1 -1
- package/dist/cjs/query/taxonomy/taxonomies-query.class.d.ts +7 -7
- package/dist/cjs/query/taxonomy/taxonomies-query.class.js.map +1 -1
- package/dist/cjs/query/taxonomy/taxonomy-query.class.d.ts +6 -6
- package/dist/cjs/query/taxonomy/taxonomy-query.class.js.map +1 -1
- package/dist/cjs/query/type/multiple-type-query.class.d.ts +9 -9
- package/dist/cjs/query/type/multiple-type-query.class.js.map +1 -1
- package/dist/cjs/query/type/single-type-query.class.d.ts +6 -6
- package/dist/cjs/query/type/single-type-query.class.js.map +1 -1
- package/dist/cjs/sdk-info.generated.js +1 -1
- package/dist/cjs/sdk-info.generated.js.map +1 -1
- package/dist/cjs/services/base-delivery-query.service.d.ts +4 -4
- package/dist/cjs/services/base-delivery-query.service.js.map +1 -1
- package/dist/cjs/services/delivery-query.service.d.ts +11 -11
- package/dist/cjs/services/delivery-query.service.js.map +1 -1
- package/dist/cjs/services/mapping.service.d.ts +19 -19
- package/dist/cjs/services/mapping.service.js +1 -1
- package/dist/cjs/services/mapping.service.js.map +1 -1
- package/dist/cjs/utilities/delivery-url.helper.d.ts +1 -1
- package/dist/cjs/utilities/delivery-url.helper.js +3 -6
- package/dist/cjs/utilities/delivery-url.helper.js.map +1 -1
- package/dist/cjs/utilities/index.d.ts +0 -2
- package/dist/cjs/utilities/index.js +0 -2
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/es6/client/delivery-client.d.ts +14 -14
- package/dist/es6/client/delivery-client.factory.d.ts +2 -1
- package/dist/es6/client/delivery-client.factory.js.map +1 -1
- package/dist/es6/client/delivery-client.js.map +1 -1
- package/dist/es6/client/idelivery-client.interface.d.ts +14 -14
- package/dist/es6/mappers/element.mapper.d.ts +4 -4
- package/dist/es6/mappers/element.mapper.js.map +1 -1
- package/dist/es6/mappers/item.mapper.d.ts +11 -11
- package/dist/es6/mappers/item.mapper.js +1 -1
- package/dist/es6/mappers/item.mapper.js.map +1 -1
- package/dist/es6/mappers/language.mapper.d.ts +2 -2
- package/dist/es6/mappers/language.mapper.js +5 -1
- package/dist/es6/mappers/language.mapper.js.map +1 -1
- package/dist/es6/mappers/taxonomy.mapper.d.ts +3 -3
- package/dist/es6/mappers/taxonomy.mapper.js.map +1 -1
- package/dist/es6/mappers/type.mapper.d.ts +3 -3
- package/dist/es6/mappers/type.mapper.js.map +1 -1
- package/dist/es6/models/content-type-models.d.ts +4 -4
- package/dist/es6/models/item-models.d.ts +15 -4
- package/dist/es6/models/language-models.d.ts +4 -4
- package/dist/es6/models/responses.d.ts +29 -29
- package/dist/es6/models/taxonomy-models.d.ts +4 -4
- package/dist/es6/query/common/base-item-listing-query.class.d.ts +4 -4
- package/dist/es6/query/common/base-item-listing-query.class.js.map +1 -1
- package/dist/es6/query/common/base-listing-query.class.d.ts +4 -4
- package/dist/es6/query/common/base-listing-query.class.js.map +1 -1
- package/dist/es6/query/common/base-query.class.d.ts +4 -4
- package/dist/es6/query/common/base-query.class.js.map +1 -1
- package/dist/es6/query/element/element-query.class.d.ts +4 -4
- package/dist/es6/query/element/element-query.class.js.map +1 -1
- package/dist/es6/query/item/multiple-items-query.class.d.ts +14 -14
- package/dist/es6/query/item/multiple-items-query.class.js +3 -1
- package/dist/es6/query/item/multiple-items-query.class.js.map +1 -1
- package/dist/es6/query/item/single-item-query.class.d.ts +9 -9
- package/dist/es6/query/item/single-item-query.class.js.map +1 -1
- package/dist/es6/query/items-feed/items-feed-query.class.d.ts +7 -7
- package/dist/es6/query/items-feed/items-feed-query.class.js +3 -1
- package/dist/es6/query/items-feed/items-feed-query.class.js.map +1 -1
- package/dist/es6/query/language/languages-query.class.d.ts +7 -7
- package/dist/es6/query/language/languages-query.class.js.map +1 -1
- package/dist/es6/query/sync/initialize-sync-query.class.d.ts +4 -4
- package/dist/es6/query/sync/initialize-sync-query.class.js.map +1 -1
- package/dist/es6/query/sync/sync-changes-query.class.d.ts +4 -4
- package/dist/es6/query/sync/sync-changes-query.class.js.map +1 -1
- package/dist/es6/query/taxonomy/taxonomies-query.class.d.ts +7 -7
- package/dist/es6/query/taxonomy/taxonomies-query.class.js.map +1 -1
- package/dist/es6/query/taxonomy/taxonomy-query.class.d.ts +6 -6
- package/dist/es6/query/taxonomy/taxonomy-query.class.js.map +1 -1
- package/dist/es6/query/type/multiple-type-query.class.d.ts +9 -9
- package/dist/es6/query/type/multiple-type-query.class.js.map +1 -1
- package/dist/es6/query/type/single-type-query.class.d.ts +6 -6
- package/dist/es6/query/type/single-type-query.class.js.map +1 -1
- package/dist/es6/sdk-info.generated.js +1 -1
- package/dist/es6/sdk-info.generated.js.map +1 -1
- package/dist/es6/services/base-delivery-query.service.d.ts +4 -4
- package/dist/es6/services/base-delivery-query.service.js.map +1 -1
- package/dist/es6/services/delivery-query.service.d.ts +11 -11
- package/dist/es6/services/delivery-query.service.js.map +1 -1
- package/dist/es6/services/mapping.service.d.ts +19 -19
- package/dist/es6/services/mapping.service.js +1 -1
- package/dist/es6/services/mapping.service.js.map +1 -1
- package/dist/es6/utilities/delivery-url.helper.d.ts +1 -1
- package/dist/es6/utilities/delivery-url.helper.js +3 -6
- package/dist/es6/utilities/delivery-url.helper.js.map +1 -1
- package/dist/es6/utilities/index.d.ts +0 -2
- package/dist/es6/utilities/index.js +0 -2
- package/dist/es6/utilities/index.js.map +1 -1
- package/dist/esnext/client/delivery-client.d.ts +14 -14
- package/dist/esnext/client/delivery-client.factory.d.ts +2 -1
- package/dist/esnext/client/delivery-client.factory.js.map +1 -1
- package/dist/esnext/client/delivery-client.js.map +1 -1
- package/dist/esnext/client/idelivery-client.interface.d.ts +14 -14
- package/dist/esnext/mappers/element.mapper.d.ts +4 -4
- package/dist/esnext/mappers/element.mapper.js.map +1 -1
- package/dist/esnext/mappers/item.mapper.d.ts +11 -11
- package/dist/esnext/mappers/item.mapper.js +1 -1
- package/dist/esnext/mappers/item.mapper.js.map +1 -1
- package/dist/esnext/mappers/language.mapper.d.ts +2 -2
- package/dist/esnext/mappers/language.mapper.js +5 -1
- package/dist/esnext/mappers/language.mapper.js.map +1 -1
- package/dist/esnext/mappers/taxonomy.mapper.d.ts +3 -3
- package/dist/esnext/mappers/taxonomy.mapper.js.map +1 -1
- package/dist/esnext/mappers/type.mapper.d.ts +3 -3
- package/dist/esnext/mappers/type.mapper.js.map +1 -1
- package/dist/esnext/models/content-type-models.d.ts +4 -4
- package/dist/esnext/models/item-models.d.ts +15 -4
- package/dist/esnext/models/language-models.d.ts +4 -4
- package/dist/esnext/models/responses.d.ts +29 -29
- package/dist/esnext/models/taxonomy-models.d.ts +4 -4
- package/dist/esnext/query/common/base-item-listing-query.class.d.ts +4 -4
- package/dist/esnext/query/common/base-item-listing-query.class.js.map +1 -1
- package/dist/esnext/query/common/base-listing-query.class.d.ts +4 -4
- package/dist/esnext/query/common/base-listing-query.class.js.map +1 -1
- package/dist/esnext/query/common/base-query.class.d.ts +4 -4
- package/dist/esnext/query/common/base-query.class.js.map +1 -1
- package/dist/esnext/query/element/element-query.class.d.ts +4 -4
- package/dist/esnext/query/element/element-query.class.js.map +1 -1
- package/dist/esnext/query/item/multiple-items-query.class.d.ts +14 -14
- package/dist/esnext/query/item/multiple-items-query.class.js +3 -1
- package/dist/esnext/query/item/multiple-items-query.class.js.map +1 -1
- package/dist/esnext/query/item/single-item-query.class.d.ts +9 -9
- package/dist/esnext/query/item/single-item-query.class.js.map +1 -1
- package/dist/esnext/query/items-feed/items-feed-query.class.d.ts +7 -7
- package/dist/esnext/query/items-feed/items-feed-query.class.js +3 -1
- package/dist/esnext/query/items-feed/items-feed-query.class.js.map +1 -1
- package/dist/esnext/query/language/languages-query.class.d.ts +7 -7
- package/dist/esnext/query/language/languages-query.class.js.map +1 -1
- package/dist/esnext/query/sync/initialize-sync-query.class.d.ts +4 -4
- package/dist/esnext/query/sync/initialize-sync-query.class.js.map +1 -1
- package/dist/esnext/query/sync/sync-changes-query.class.d.ts +4 -4
- package/dist/esnext/query/sync/sync-changes-query.class.js.map +1 -1
- package/dist/esnext/query/taxonomy/taxonomies-query.class.d.ts +7 -7
- package/dist/esnext/query/taxonomy/taxonomies-query.class.js.map +1 -1
- package/dist/esnext/query/taxonomy/taxonomy-query.class.d.ts +6 -6
- package/dist/esnext/query/taxonomy/taxonomy-query.class.js.map +1 -1
- package/dist/esnext/query/type/multiple-type-query.class.d.ts +9 -9
- package/dist/esnext/query/type/multiple-type-query.class.js.map +1 -1
- package/dist/esnext/query/type/single-type-query.class.d.ts +6 -6
- package/dist/esnext/query/type/single-type-query.class.js.map +1 -1
- package/dist/esnext/sdk-info.generated.js +1 -1
- package/dist/esnext/sdk-info.generated.js.map +1 -1
- package/dist/esnext/services/base-delivery-query.service.d.ts +4 -4
- package/dist/esnext/services/base-delivery-query.service.js.map +1 -1
- package/dist/esnext/services/delivery-query.service.d.ts +11 -11
- package/dist/esnext/services/delivery-query.service.js.map +1 -1
- package/dist/esnext/services/mapping.service.d.ts +19 -19
- package/dist/esnext/services/mapping.service.js +1 -1
- package/dist/esnext/services/mapping.service.js.map +1 -1
- package/dist/esnext/utilities/delivery-url.helper.d.ts +1 -1
- package/dist/esnext/utilities/delivery-url.helper.js +3 -6
- package/dist/esnext/utilities/delivery-url.helper.js.map +1 -1
- package/dist/esnext/utilities/index.d.ts +0 -2
- package/dist/esnext/utilities/index.js +0 -2
- package/dist/esnext/utilities/index.js.map +1 -1
- package/lib/client/delivery-client.factory.ts +4 -1
- package/lib/client/delivery-client.ts +30 -20
- package/lib/client/idelivery-client.interface.ts +25 -14
- package/lib/mappers/element.mapper.ts +14 -14
- package/lib/mappers/item.mapper.ts +29 -20
- package/lib/mappers/language.mapper.ts +8 -4
- package/lib/mappers/taxonomy.mapper.ts +6 -6
- package/lib/mappers/type.mapper.ts +6 -6
- package/lib/models/content-type-models.ts +4 -4
- package/lib/models/item-models.ts +23 -4
- package/lib/models/language-models.ts +4 -4
- package/lib/models/responses.ts +59 -38
- package/lib/models/taxonomy-models.ts +4 -4
- package/lib/query/common/base-item-listing-query.class.ts +4 -2
- package/lib/query/common/base-listing-query.class.ts +5 -3
- package/lib/query/common/base-query.class.ts +15 -3
- package/lib/query/element/element-query.class.ts +5 -8
- package/lib/query/item/multiple-items-query.class.ts +37 -18
- package/lib/query/item/single-item-query.class.ts +23 -9
- package/lib/query/items-feed/items-feed-query.class.ts +23 -11
- package/lib/query/language/languages-query.class.ts +16 -14
- package/lib/query/sync/initialize-sync-query.class.ts +4 -2
- package/lib/query/sync/sync-changes-query.class.ts +4 -3
- package/lib/query/taxonomy/taxonomies-query.class.ts +10 -14
- package/lib/query/taxonomy/taxonomy-query.class.ts +10 -6
- package/lib/query/type/multiple-type-query.class.ts +18 -11
- package/lib/query/type/single-type-query.class.ts +10 -6
- package/lib/sdk-info.generated.ts +1 -1
- package/lib/services/base-delivery-query.service.ts +4 -3
- package/lib/services/delivery-query.service.ts +52 -15
- package/lib/services/mapping.service.ts +50 -30
- package/lib/utilities/delivery-url.helper.ts +3 -9
- package/lib/utilities/index.ts +0 -2
- package/package.json +15 -19
- package/dist/cjs/utilities/guid.helper.d.ts +0 -4
- package/dist/cjs/utilities/guid.helper.js +0 -12
- package/dist/cjs/utilities/guid.helper.js.map +0 -1
- package/dist/cjs/utilities/linked-items.helper.d.ts +0 -5
- package/dist/cjs/utilities/linked-items.helper.js +0 -15
- package/dist/cjs/utilities/linked-items.helper.js.map +0 -1
- package/dist/es6/utilities/guid.helper.d.ts +0 -4
- package/dist/es6/utilities/guid.helper.js +0 -8
- package/dist/es6/utilities/guid.helper.js.map +0 -1
- package/dist/es6/utilities/linked-items.helper.d.ts +0 -5
- package/dist/es6/utilities/linked-items.helper.js +0 -11
- package/dist/es6/utilities/linked-items.helper.js.map +0 -1
- package/dist/esnext/utilities/guid.helper.d.ts +0 -4
- package/dist/esnext/utilities/guid.helper.js +0 -8
- package/dist/esnext/utilities/guid.helper.js.map +0 -1
- package/dist/esnext/utilities/linked-items.helper.d.ts +0 -5
- package/dist/esnext/utilities/linked-items.helper.js +0 -11
- package/dist/esnext/utilities/linked-items.helper.js.map +0 -1
- package/lib/utilities/guid.helper.ts +0 -9
- package/lib/utilities/linked-items.helper.ts +0 -16
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import { Contracts } from '../contracts';
|
|
2
2
|
import { ILanguage } from '../models';
|
|
3
3
|
|
|
4
|
-
export class LanguageMapper {
|
|
5
|
-
mapMultipleLanguages(response: Contracts.IListLanguagesContract): ILanguage[] {
|
|
4
|
+
export class LanguageMapper<TLanguageCodenames extends string> {
|
|
5
|
+
mapMultipleLanguages(response: Contracts.IListLanguagesContract): ILanguage<TLanguageCodenames>[] {
|
|
6
6
|
return response.languages.map((language) => {
|
|
7
7
|
return this.mapLanguage(language);
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
private mapLanguage(language: Contracts.ILanguageContract): ILanguage {
|
|
11
|
+
private mapLanguage(language: Contracts.ILanguageContract): ILanguage<TLanguageCodenames> {
|
|
12
12
|
if (!language) {
|
|
13
13
|
throw Error(`Cannot map language`);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
return {
|
|
17
|
-
system:
|
|
17
|
+
system: {
|
|
18
|
+
codename: language.system.codename as TLanguageCodenames,
|
|
19
|
+
id: language.system.id,
|
|
20
|
+
name: language.system.name
|
|
21
|
+
}
|
|
18
22
|
};
|
|
19
23
|
}
|
|
20
24
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Contracts } from '../contracts';
|
|
2
2
|
import { ITaxonomyGroup, ITaxonomySystemAttributes, ITaxonomyTerms } from '../models';
|
|
3
3
|
|
|
4
|
-
export class TaxonomyMapper {
|
|
4
|
+
export class TaxonomyMapper<TaxonomyCodenames extends string> {
|
|
5
5
|
mapTaxonomy(
|
|
6
6
|
taxonomySystem: Contracts.ITaxonomySystemAttributesContract,
|
|
7
7
|
taxonomyTerms: Contracts.ITaxonomyTermsContract[]
|
|
8
|
-
): ITaxonomyGroup {
|
|
8
|
+
): ITaxonomyGroup<TaxonomyCodenames> {
|
|
9
9
|
if (!taxonomySystem) {
|
|
10
10
|
throw Error(`Cannot map taxonomy due to missing 'system' property`);
|
|
11
11
|
}
|
|
@@ -18,9 +18,9 @@ export class TaxonomyMapper {
|
|
|
18
18
|
throw Error(`Cannot map terms because no terms array was provided`);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
const mappedSystemAttributes: ITaxonomySystemAttributes = {
|
|
21
|
+
const mappedSystemAttributes: ITaxonomySystemAttributes<TaxonomyCodenames> = {
|
|
22
22
|
name: taxonomySystem.name,
|
|
23
|
-
codename: taxonomySystem.codename,
|
|
23
|
+
codename: taxonomySystem.codename as TaxonomyCodenames,
|
|
24
24
|
id: taxonomySystem.id,
|
|
25
25
|
lastModified: taxonomySystem.last_modified
|
|
26
26
|
};
|
|
@@ -33,7 +33,7 @@ export class TaxonomyMapper {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
mapTaxonomies(taxonomies: Contracts.ITaxonomyGroupContract[]): ITaxonomyGroup[] {
|
|
36
|
+
mapTaxonomies(taxonomies: Contracts.ITaxonomyGroupContract[]): ITaxonomyGroup<TaxonomyCodenames>[] {
|
|
37
37
|
if (!taxonomies) {
|
|
38
38
|
throw Error(`Cannot map taxonomy due to missing 'taxonomies' property`);
|
|
39
39
|
}
|
|
@@ -42,7 +42,7 @@ export class TaxonomyMapper {
|
|
|
42
42
|
throw Error(`Cannot map taxonomies because the 'taxonomies' property is not an array `);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
const mappedTaxonomies: ITaxonomyGroup[] = [];
|
|
45
|
+
const mappedTaxonomies: ITaxonomyGroup<TaxonomyCodenames>[] = [];
|
|
46
46
|
|
|
47
47
|
taxonomies.forEach((taxonomy) => {
|
|
48
48
|
mappedTaxonomies.push(this.mapTaxonomy(taxonomy.system, taxonomy.terms));
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { Contracts } from '../contracts';
|
|
2
2
|
import { IContentType, IContentTypeSystemAttributes, IGenericElement } from '../models';
|
|
3
3
|
|
|
4
|
-
export class TypeMapper {
|
|
5
|
-
mapSingleType(response: Contracts.IViewContentTypeContract): IContentType {
|
|
4
|
+
export class TypeMapper<TContentTypeCodenames extends string> {
|
|
5
|
+
mapSingleType(response: Contracts.IViewContentTypeContract): IContentType<TContentTypeCodenames> {
|
|
6
6
|
return this.mapType(response);
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
mapMultipleTypes(response: Contracts.IListContentTypeContract): IContentType[] {
|
|
9
|
+
mapMultipleTypes(response: Contracts.IListContentTypeContract): IContentType<TContentTypeCodenames>[] {
|
|
10
10
|
return response.types.map((type) => {
|
|
11
11
|
return this.mapType(type);
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
private mapType(type: Contracts.IContentTypeContract): IContentType {
|
|
15
|
+
private mapType(type: Contracts.IContentTypeContract): IContentType<TContentTypeCodenames> {
|
|
16
16
|
if (!type) {
|
|
17
17
|
throw Error(`Cannot map type`);
|
|
18
18
|
}
|
|
@@ -21,8 +21,8 @@ export class TypeMapper {
|
|
|
21
21
|
throw Error(`Cannot map type elements`);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
const system: IContentTypeSystemAttributes = {
|
|
25
|
-
codename: type.system.codename,
|
|
24
|
+
const system: IContentTypeSystemAttributes<TContentTypeCodenames> = {
|
|
25
|
+
codename: type.system.codename as TContentTypeCodenames,
|
|
26
26
|
id: type.system.id,
|
|
27
27
|
name: type.system.name,
|
|
28
28
|
lastModified: type.system.last_modified
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IQueryConfig } from './common/common-models';
|
|
2
2
|
import { IGenericElement } from './element-models';
|
|
3
3
|
|
|
4
|
-
export interface IContentTypeSystemAttributes {
|
|
4
|
+
export interface IContentTypeSystemAttributes<TContentTypeCodename extends string> {
|
|
5
5
|
/**
|
|
6
6
|
* Id of the type
|
|
7
7
|
*/
|
|
@@ -15,7 +15,7 @@ export interface IContentTypeSystemAttributes {
|
|
|
15
15
|
/**
|
|
16
16
|
* Codename of the type
|
|
17
17
|
*/
|
|
18
|
-
codename:
|
|
18
|
+
codename: TContentTypeCodename;
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Date of last modification
|
|
@@ -23,11 +23,11 @@ export interface IContentTypeSystemAttributes {
|
|
|
23
23
|
lastModified: Date;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export interface IContentType {
|
|
26
|
+
export interface IContentType<TContentTypeCodename extends string> {
|
|
27
27
|
/**
|
|
28
28
|
* Content type system attributes
|
|
29
29
|
*/
|
|
30
|
-
system: IContentTypeSystemAttributes
|
|
30
|
+
system: IContentTypeSystemAttributes<TContentTypeCodename>;
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Elements (elements) assigned to content type
|
|
@@ -2,9 +2,12 @@ import { Contracts } from '../contracts';
|
|
|
2
2
|
import { ElementModels } from '../elements/element-models';
|
|
3
3
|
import { IQueryConfig } from './common/common-models';
|
|
4
4
|
|
|
5
|
-
export interface IMapElementsResult<
|
|
5
|
+
export interface IMapElementsResult<
|
|
6
|
+
TContentItem extends IContentItem = IContentItem,
|
|
7
|
+
TLinkedItemType extends IContentItem = IContentItem
|
|
8
|
+
> {
|
|
6
9
|
item: TContentItem;
|
|
7
|
-
processedItems: IContentItemsContainer
|
|
10
|
+
processedItems: IContentItemsContainer<TLinkedItemType>;
|
|
8
11
|
preparedItems: IContentItemWithRawDataContainer;
|
|
9
12
|
processingStartedForCodenames: string[];
|
|
10
13
|
}
|
|
@@ -83,6 +86,11 @@ export type IContentItemElements<TElementCodenames extends string = string> = Re
|
|
|
83
86
|
ContentItemElementsIndexer
|
|
84
87
|
>;
|
|
85
88
|
|
|
89
|
+
export type Snippet<
|
|
90
|
+
TElementCodenames extends string,
|
|
91
|
+
TElements extends IContentItemElements<TElementCodenames>
|
|
92
|
+
> = TElements;
|
|
93
|
+
|
|
86
94
|
export interface IContentItem<
|
|
87
95
|
TElements extends IContentItemElements<TTypeElementCodenames> = IContentItemElements,
|
|
88
96
|
TTypeCodename extends string = string,
|
|
@@ -140,8 +148,8 @@ export interface IContentItemWithRawDataContainer {
|
|
|
140
148
|
[key: string]: IContentItemWithRawElements;
|
|
141
149
|
}
|
|
142
150
|
|
|
143
|
-
export interface IContentItemsContainer {
|
|
144
|
-
[key: string]:
|
|
151
|
+
export interface IContentItemsContainer<TContentItem extends IContentItem> {
|
|
152
|
+
[key: string]: TContentItem | undefined;
|
|
145
153
|
}
|
|
146
154
|
|
|
147
155
|
export interface IRichTextImage {
|
|
@@ -157,3 +165,14 @@ export interface IItemQueryConfig extends IQueryConfig {}
|
|
|
157
165
|
export interface IItemFeedQueryConfig extends IQueryConfig {
|
|
158
166
|
disableItemLinking?: boolean;
|
|
159
167
|
}
|
|
168
|
+
|
|
169
|
+
export type ClientTypes = {
|
|
170
|
+
readonly contentItemType: IContentItem;
|
|
171
|
+
readonly contentTypeCodenames: string;
|
|
172
|
+
readonly workflowCodenames: string;
|
|
173
|
+
readonly worfklowStepCodenames: string;
|
|
174
|
+
readonly collectionCodenames: string;
|
|
175
|
+
readonly taxonomyCodenames: string;
|
|
176
|
+
readonly languageCodenames: string;
|
|
177
|
+
readonly elementCodenames: string;
|
|
178
|
+
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { IQueryConfig } from './common';
|
|
2
2
|
|
|
3
|
-
export interface ILanguageSystem {
|
|
3
|
+
export interface ILanguageSystem<TLanguageCodenames extends string> {
|
|
4
4
|
id: string;
|
|
5
5
|
name: string;
|
|
6
|
-
codename:
|
|
6
|
+
codename: TLanguageCodenames;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export interface ILanguage {
|
|
10
|
-
system: ILanguageSystem
|
|
9
|
+
export interface ILanguage<TLanguageCodenames extends string> {
|
|
10
|
+
system: ILanguageSystem<TLanguageCodenames>;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export interface ILanguagesQueryConfig extends IQueryConfig {
|
package/lib/models/responses.ts
CHANGED
|
@@ -10,61 +10,76 @@ import { IContentItemDelta } from './sync-models';
|
|
|
10
10
|
import { ITaxonomyGroup } from './taxonomy-models';
|
|
11
11
|
|
|
12
12
|
export namespace Responses {
|
|
13
|
-
export interface IListContentTypesResponse extends IKontentListResponse {
|
|
14
|
-
items: IContentType[];
|
|
13
|
+
export interface IListContentTypesResponse<TContentTypeCodename extends string> extends IKontentListResponse {
|
|
14
|
+
items: IContentType<TContentTypeCodename>[];
|
|
15
15
|
pagination: IPagination;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export interface IListContentTypesAllResponse extends IKontentListAllResponse {
|
|
19
|
-
items: IContentType[];
|
|
20
|
-
responses: IDeliveryNetworkResponse<
|
|
18
|
+
export interface IListContentTypesAllResponse<TContentTypeCodename extends string> extends IKontentListAllResponse {
|
|
19
|
+
items: IContentType<TContentTypeCodename>[];
|
|
20
|
+
responses: IDeliveryNetworkResponse<
|
|
21
|
+
IListContentTypesResponse<TContentTypeCodename>,
|
|
22
|
+
Contracts.IListContentTypeContract
|
|
23
|
+
>[];
|
|
21
24
|
}
|
|
22
25
|
|
|
23
|
-
export interface IViewContentTypeResponse extends IKontentResponse {
|
|
24
|
-
type: IContentType
|
|
26
|
+
export interface IViewContentTypeResponse<TContentTypeCodename extends string> extends IKontentResponse {
|
|
27
|
+
type: IContentType<TContentTypeCodename>;
|
|
25
28
|
}
|
|
26
29
|
|
|
27
|
-
|
|
28
30
|
export interface IViewContentTypeElementResponse extends IKontentResponse {
|
|
29
|
-
codename?: string
|
|
30
|
-
type: string
|
|
31
|
+
codename?: string;
|
|
32
|
+
type: string;
|
|
31
33
|
name: string;
|
|
32
|
-
taxonomyGroup?: string
|
|
34
|
+
taxonomyGroup?: string;
|
|
33
35
|
options: IGenericElementOption[];
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
export interface IListItemsFeedResponse<
|
|
37
|
-
extends
|
|
38
|
+
export interface IListItemsFeedResponse<
|
|
39
|
+
TContentItem extends IContentItem = IContentItem,
|
|
40
|
+
TLinkedItemType extends IContentItem = IContentItem
|
|
41
|
+
> extends IKontentListResponse {
|
|
38
42
|
items: TContentItem[];
|
|
39
|
-
linkedItems: IContentItemsContainer
|
|
43
|
+
linkedItems: IContentItemsContainer<TLinkedItemType>;
|
|
40
44
|
}
|
|
41
45
|
|
|
42
|
-
export interface IListItemsFeedAllResponse<
|
|
43
|
-
extends
|
|
46
|
+
export interface IListItemsFeedAllResponse<
|
|
47
|
+
TContentItem extends IContentItem = IContentItem,
|
|
48
|
+
TLinkedItemType extends IContentItem = IContentItem
|
|
49
|
+
> extends IKontentListAllResponse {
|
|
44
50
|
items: TContentItem[];
|
|
45
|
-
responses: IDeliveryNetworkResponse<
|
|
51
|
+
responses: IDeliveryNetworkResponse<
|
|
52
|
+
IListItemsFeedResponse<TContentItem, TLinkedItemType>,
|
|
53
|
+
Contracts.IItemsFeedContract
|
|
54
|
+
>[];
|
|
46
55
|
}
|
|
47
56
|
|
|
48
|
-
export interface IListContentItemsResponse<
|
|
49
|
-
extends
|
|
57
|
+
export interface IListContentItemsResponse<
|
|
58
|
+
TContentItem extends IContentItem = IContentItem,
|
|
59
|
+
TLinkedItemType extends IContentItem = IContentItem
|
|
60
|
+
> extends IKontentListResponse {
|
|
50
61
|
items: TContentItem[];
|
|
51
62
|
pagination: IPagination;
|
|
52
|
-
linkedItems: IContentItemsContainer
|
|
63
|
+
linkedItems: IContentItemsContainer<TLinkedItemType>;
|
|
53
64
|
}
|
|
54
65
|
|
|
55
|
-
export interface IListContentItemsAllResponse<
|
|
56
|
-
extends
|
|
66
|
+
export interface IListContentItemsAllResponse<
|
|
67
|
+
TContentItem extends IContentItem = IContentItem,
|
|
68
|
+
TLinkedItemType extends IContentItem = IContentItem
|
|
69
|
+
> extends IKontentListAllResponse {
|
|
57
70
|
items: TContentItem[];
|
|
58
71
|
responses: IDeliveryNetworkResponse<
|
|
59
|
-
IListContentItemsResponse<TContentItem>,
|
|
72
|
+
IListContentItemsResponse<TContentItem, TLinkedItemType>,
|
|
60
73
|
Contracts.IListContentItemsContract
|
|
61
74
|
>[];
|
|
62
75
|
}
|
|
63
76
|
|
|
64
|
-
export interface IViewContentItemResponse<
|
|
65
|
-
extends
|
|
77
|
+
export interface IViewContentItemResponse<
|
|
78
|
+
TContentItem extends IContentItem = IContentItem,
|
|
79
|
+
TLinkedItemType extends IContentItem = IContentItem
|
|
80
|
+
> extends IKontentResponse {
|
|
66
81
|
item: TContentItem;
|
|
67
|
-
linkedItems: IContentItemsContainer
|
|
82
|
+
linkedItems: IContentItemsContainer<TLinkedItemType>;
|
|
68
83
|
}
|
|
69
84
|
|
|
70
85
|
export interface IInitializeSyncResponse extends IKontentResponse {
|
|
@@ -80,27 +95,33 @@ export namespace Responses {
|
|
|
80
95
|
responses: IDeliveryNetworkResponse<ISyncChangesResponse, Contracts.ISyncChangesContract>[];
|
|
81
96
|
}
|
|
82
97
|
|
|
83
|
-
export interface IListLanguagesResponse extends IKontentListResponse {
|
|
84
|
-
items: ILanguage[];
|
|
98
|
+
export interface IListLanguagesResponse<TLanguageCodenames extends string> extends IKontentListResponse {
|
|
99
|
+
items: ILanguage<TLanguageCodenames>[];
|
|
85
100
|
pagination: IPagination;
|
|
86
101
|
}
|
|
87
102
|
|
|
88
|
-
export interface IListLanguagesAllResponse extends IKontentListAllResponse {
|
|
89
|
-
items: ILanguage[];
|
|
90
|
-
responses: IDeliveryNetworkResponse<
|
|
103
|
+
export interface IListLanguagesAllResponse<TLanguageCodenames extends string> extends IKontentListAllResponse {
|
|
104
|
+
items: ILanguage<TLanguageCodenames>[];
|
|
105
|
+
responses: IDeliveryNetworkResponse<
|
|
106
|
+
IListLanguagesResponse<TLanguageCodenames>,
|
|
107
|
+
Contracts.IListLanguagesContract
|
|
108
|
+
>[];
|
|
91
109
|
}
|
|
92
110
|
|
|
93
|
-
export interface IViewTaxonomyResponse extends IKontentResponse {
|
|
94
|
-
taxonomy: ITaxonomyGroup
|
|
111
|
+
export interface IViewTaxonomyResponse<TaxonomyCodename extends string> extends IKontentResponse {
|
|
112
|
+
taxonomy: ITaxonomyGroup<TaxonomyCodename>;
|
|
95
113
|
}
|
|
96
114
|
|
|
97
|
-
export interface IListTaxonomiesResponse extends IKontentListResponse {
|
|
98
|
-
items: ITaxonomyGroup[];
|
|
115
|
+
export interface IListTaxonomiesResponse<TaxonomyCodename extends string> extends IKontentListResponse {
|
|
116
|
+
items: ITaxonomyGroup<TaxonomyCodename>[];
|
|
99
117
|
pagination: IPagination;
|
|
100
118
|
}
|
|
101
119
|
|
|
102
|
-
export interface IListTaxonomiesAllResponse extends IKontentListAllResponse {
|
|
103
|
-
items: ITaxonomyGroup[];
|
|
104
|
-
responses: IDeliveryNetworkResponse<
|
|
120
|
+
export interface IListTaxonomiesAllResponse<TaxonomyCodename extends string> extends IKontentListAllResponse {
|
|
121
|
+
items: ITaxonomyGroup<TaxonomyCodename>[];
|
|
122
|
+
responses: IDeliveryNetworkResponse<
|
|
123
|
+
IListTaxonomiesResponse<TaxonomyCodename>,
|
|
124
|
+
Contracts.IListTaxonomyGroupsContract
|
|
125
|
+
>[];
|
|
105
126
|
}
|
|
106
127
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { IQueryConfig } from './common/common-models';
|
|
2
2
|
|
|
3
|
-
export interface ITaxonomyGroup {
|
|
4
|
-
system: ITaxonomySystemAttributes
|
|
3
|
+
export interface ITaxonomyGroup<TaxonomyCodename extends string> {
|
|
4
|
+
system: ITaxonomySystemAttributes<TaxonomyCodename>;
|
|
5
5
|
terms: ITaxonomyTerms[];
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export interface ITaxonomySystemAttributes {
|
|
8
|
+
export interface ITaxonomySystemAttributes<TaxonomyCodename extends string> {
|
|
9
9
|
id: string;
|
|
10
10
|
name: string;
|
|
11
|
-
codename:
|
|
11
|
+
codename: TaxonomyCodename;
|
|
12
12
|
lastModified: Date;
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IDeliveryClientConfig } from '../../config';
|
|
2
2
|
import {
|
|
3
|
+
ClientTypes,
|
|
3
4
|
Filters,
|
|
4
5
|
IKontentListAllResponse,
|
|
5
6
|
IKontentListResponse,
|
|
@@ -11,12 +12,13 @@ import { QueryService } from '../../services';
|
|
|
11
12
|
import { BaseListingQuery } from './base-listing-query.class';
|
|
12
13
|
|
|
13
14
|
export abstract class BaseItemListingQuery<
|
|
15
|
+
TClientTypes extends ClientTypes,
|
|
14
16
|
TResponse extends IKontentListResponse,
|
|
15
17
|
TAllResponse extends IKontentListAllResponse,
|
|
16
18
|
TQueryConfig extends IQueryConfig,
|
|
17
19
|
TContract
|
|
18
|
-
> extends BaseListingQuery<TResponse, TAllResponse, TQueryConfig, TContract> {
|
|
19
|
-
constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
|
|
20
|
+
> extends BaseListingQuery<TClientTypes, TResponse, TAllResponse, TQueryConfig, TContract> {
|
|
21
|
+
constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
|
|
20
22
|
super(config, queryService);
|
|
21
23
|
}
|
|
22
24
|
|
|
@@ -8,18 +8,20 @@ import {
|
|
|
8
8
|
IDeliveryNetworkResponse,
|
|
9
9
|
IListAllQueryConfig,
|
|
10
10
|
IQueryConfig,
|
|
11
|
-
IContentItem
|
|
11
|
+
IContentItem,
|
|
12
|
+
ClientTypes
|
|
12
13
|
} from '../../models';
|
|
13
14
|
import { QueryService } from '../../services';
|
|
14
15
|
import { BaseQuery } from './base-query.class';
|
|
15
16
|
|
|
16
17
|
export abstract class BaseListingQuery<
|
|
18
|
+
TClientTypes extends ClientTypes,
|
|
17
19
|
TResponse extends IKontentListResponse,
|
|
18
20
|
TAllResponse extends IKontentListAllResponse,
|
|
19
21
|
TQueryConfig extends IQueryConfig,
|
|
20
22
|
TContract
|
|
21
|
-
> extends BaseQuery<TResponse, TQueryConfig, TContract> {
|
|
22
|
-
constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
|
|
23
|
+
> extends BaseQuery<TClientTypes, TResponse, TQueryConfig, TContract> {
|
|
24
|
+
constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
|
|
23
25
|
super(config, queryService);
|
|
24
26
|
}
|
|
25
27
|
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import { IHeader, IQueryParameter } from '@kontent-ai/core-sdk';
|
|
2
2
|
|
|
3
3
|
import { IDeliveryClientConfig } from '../../config';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
ClientTypes,
|
|
6
|
+
Filters,
|
|
7
|
+
IDeliveryNetworkResponse,
|
|
8
|
+
IKontentResponse,
|
|
9
|
+
IQueryConfig,
|
|
10
|
+
Parameters
|
|
11
|
+
} from '../../models';
|
|
5
12
|
import { QueryService } from '../../services';
|
|
6
13
|
|
|
7
|
-
export abstract class BaseQuery<
|
|
14
|
+
export abstract class BaseQuery<
|
|
15
|
+
TClientTypes extends ClientTypes,
|
|
16
|
+
TResponse extends IKontentResponse,
|
|
17
|
+
TQueryConfig extends IQueryConfig,
|
|
18
|
+
TContract
|
|
19
|
+
> {
|
|
8
20
|
protected parameters: IQueryParameter[] = [];
|
|
9
21
|
protected customUrl?: string;
|
|
10
22
|
protected abstract _queryConfig: TQueryConfig;
|
|
11
|
-
constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {}
|
|
23
|
+
constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {}
|
|
12
24
|
|
|
13
25
|
/**
|
|
14
26
|
* Gets URL of the query
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Contracts } from '../../contracts';
|
|
2
2
|
import { IDeliveryClientConfig } from '../../config';
|
|
3
|
-
import { Responses, IElementQueryConfig, IDeliveryNetworkResponse } from '../../models';
|
|
3
|
+
import { Responses, IElementQueryConfig, IDeliveryNetworkResponse, ClientTypes } from '../../models';
|
|
4
4
|
import { QueryService } from '../../services';
|
|
5
5
|
import { BaseQuery } from '../common/base-query.class';
|
|
6
6
|
|
|
7
|
-
export class ElementQuery extends BaseQuery<
|
|
7
|
+
export class ElementQuery<TClientTypes extends ClientTypes> extends BaseQuery<
|
|
8
|
+
TClientTypes,
|
|
8
9
|
Responses.IViewContentTypeElementResponse,
|
|
9
10
|
IElementQueryConfig,
|
|
10
11
|
Contracts.IViewContentTypeElementContract
|
|
11
12
|
> {
|
|
12
|
-
|
|
13
13
|
protected _queryConfig: IElementQueryConfig = {};
|
|
14
14
|
|
|
15
15
|
constructor(
|
|
16
16
|
protected config: IDeliveryClientConfig,
|
|
17
|
-
protected queryService: QueryService
|
|
17
|
+
protected queryService: QueryService<TClientTypes>,
|
|
18
18
|
private typeCodename: string,
|
|
19
19
|
private elementCodename: string
|
|
20
20
|
) {
|
|
@@ -30,10 +30,7 @@ export class ElementQuery extends BaseQuery<
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
toPromise(): Promise<
|
|
33
|
-
IDeliveryNetworkResponse<
|
|
34
|
-
Responses.IViewContentTypeElementResponse,
|
|
35
|
-
Contracts.IViewContentTypeElementContract
|
|
36
|
-
>
|
|
33
|
+
IDeliveryNetworkResponse<Responses.IViewContentTypeElementResponse, Contracts.IViewContentTypeElementContract>
|
|
37
34
|
> {
|
|
38
35
|
return this.queryService.getElementAsync(this.getUrl(), this._queryConfig ?? {});
|
|
39
36
|
}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import { Contracts } from '../../contracts';
|
|
2
2
|
import { IDeliveryClientConfig } from '../../config';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
Filters,
|
|
5
|
+
IContentItem,
|
|
6
|
+
IItemQueryConfig,
|
|
7
|
+
IDeliveryNetworkResponse,
|
|
8
|
+
Responses,
|
|
9
|
+
Parameters,
|
|
10
|
+
ClientTypes
|
|
11
|
+
} from '../../models';
|
|
4
12
|
import { QueryService } from '../../services';
|
|
5
13
|
import { BaseItemListingQuery } from '../common/base-item-listing-query.class';
|
|
6
14
|
|
|
7
|
-
export class MultipleItemsQuery<
|
|
8
|
-
|
|
9
|
-
|
|
15
|
+
export class MultipleItemsQuery<
|
|
16
|
+
TClientTypes extends ClientTypes,
|
|
17
|
+
TContentItem extends IContentItem = IContentItem
|
|
18
|
+
> extends BaseItemListingQuery<
|
|
19
|
+
TClientTypes,
|
|
20
|
+
Responses.IListContentItemsResponse<TContentItem, TClientTypes['contentItemType']>,
|
|
21
|
+
Responses.IListContentItemsAllResponse<TContentItem, TClientTypes['contentItemType']>,
|
|
10
22
|
IItemQueryConfig,
|
|
11
23
|
Contracts.IListContentItemsContract
|
|
12
24
|
> {
|
|
13
25
|
protected _queryConfig: IItemQueryConfig = {};
|
|
14
26
|
|
|
15
|
-
constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
|
|
27
|
+
constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
|
|
16
28
|
super(config, queryService);
|
|
17
29
|
}
|
|
18
30
|
|
|
@@ -30,7 +42,7 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
30
42
|
* Gets only item of given type
|
|
31
43
|
* @param type Codename of type to get
|
|
32
44
|
*/
|
|
33
|
-
type(type:
|
|
45
|
+
type(type: TClientTypes['contentTypeCodenames']): this {
|
|
34
46
|
this.parameters.push(new Filters.TypeFilter(type));
|
|
35
47
|
return this;
|
|
36
48
|
}
|
|
@@ -40,7 +52,7 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
40
52
|
* I.e. get items of either 'Actor' or 'Movie' type
|
|
41
53
|
* @param types Types to get
|
|
42
54
|
*/
|
|
43
|
-
types(types:
|
|
55
|
+
types(types: TClientTypes['contentTypeCodenames'][]): this {
|
|
44
56
|
this.parameters.push(new Filters.TypeFilter(types));
|
|
45
57
|
return this;
|
|
46
58
|
}
|
|
@@ -49,7 +61,7 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
49
61
|
* Gets only item from given collection
|
|
50
62
|
* @param collection Codename of collection to get
|
|
51
63
|
*/
|
|
52
|
-
collection(collection:
|
|
64
|
+
collection(collection: TClientTypes['collectionCodenames']): this {
|
|
53
65
|
this.parameters.push(new Filters.CollectionFilter(collection));
|
|
54
66
|
return this;
|
|
55
67
|
}
|
|
@@ -59,7 +71,7 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
59
71
|
* I.e. get items of either 'default' or 'christmas-campaign' collection
|
|
60
72
|
* @param collections Collections to get
|
|
61
73
|
*/
|
|
62
|
-
collections(collections:
|
|
74
|
+
collections(collections: TClientTypes['collectionCodenames'][]): this {
|
|
63
75
|
this.parameters.push(new Filters.CollectionFilter(collections));
|
|
64
76
|
return this;
|
|
65
77
|
}
|
|
@@ -77,7 +89,7 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
77
89
|
* Language codename
|
|
78
90
|
* @param languageCodename Codename of the language
|
|
79
91
|
*/
|
|
80
|
-
languageParameter(languageCodename:
|
|
92
|
+
languageParameter(languageCodename: TClientTypes['languageCodenames']): this {
|
|
81
93
|
this.parameters.push(new Parameters.LanguageParameter(languageCodename));
|
|
82
94
|
return this;
|
|
83
95
|
}
|
|
@@ -86,7 +98,7 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
86
98
|
* Used to limit the number of elements returned by query.
|
|
87
99
|
* @param elementCodenames Array of element codenames to fetch
|
|
88
100
|
*/
|
|
89
|
-
elementsParameter(elementCodenames:
|
|
101
|
+
elementsParameter(elementCodenames: TClientTypes['elementCodenames'][]): this {
|
|
90
102
|
this.parameters.push(new Parameters.ElementsParameter(elementCodenames));
|
|
91
103
|
return this;
|
|
92
104
|
}
|
|
@@ -95,13 +107,16 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
95
107
|
* Used to exclude elements returned by query.
|
|
96
108
|
* @param elementCodenames Array of element codenames to exclude
|
|
97
109
|
*/
|
|
98
|
-
excludeElementsParameter(elementCodenames:
|
|
110
|
+
excludeElementsParameter(elementCodenames: TClientTypes['elementCodenames'][]): this {
|
|
99
111
|
this.parameters.push(new Parameters.ExcludeElementsParameter(elementCodenames));
|
|
100
112
|
return this;
|
|
101
113
|
}
|
|
102
114
|
|
|
103
115
|
toPromise(): Promise<
|
|
104
|
-
IDeliveryNetworkResponse<
|
|
116
|
+
IDeliveryNetworkResponse<
|
|
117
|
+
Responses.IListContentItemsResponse<TContentItem, TClientTypes['contentItemType']>,
|
|
118
|
+
Contracts.IListContentItemsContract
|
|
119
|
+
>
|
|
105
120
|
> {
|
|
106
121
|
return this.queryService.getMultipleItems(this.getUrl(), this._queryConfig ?? {});
|
|
107
122
|
}
|
|
@@ -118,17 +133,17 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
118
133
|
return super.resolveUrlInternal(action);
|
|
119
134
|
}
|
|
120
135
|
|
|
121
|
-
map(json: any): Responses.IListContentItemsResponse<TContentItem> {
|
|
136
|
+
map(json: any): Responses.IListContentItemsResponse<TContentItem, TClientTypes['contentItemType']> {
|
|
122
137
|
return this.queryService.mappingService.listContentItemsResponse(json);
|
|
123
138
|
}
|
|
124
139
|
|
|
125
140
|
protected allResponseFactory(
|
|
126
141
|
items: any[],
|
|
127
142
|
responses: IDeliveryNetworkResponse<
|
|
128
|
-
Responses.IListContentItemsResponse<TContentItem>,
|
|
143
|
+
Responses.IListContentItemsResponse<TContentItem, TClientTypes['contentItemType']>,
|
|
129
144
|
Contracts.IListContentItemsContract
|
|
130
145
|
>[]
|
|
131
|
-
): Responses.IListContentItemsAllResponse<TContentItem> {
|
|
146
|
+
): Responses.IListContentItemsAllResponse<TContentItem, TClientTypes['contentItemType']> {
|
|
132
147
|
this.linkItems(items, responses);
|
|
133
148
|
|
|
134
149
|
return {
|
|
@@ -140,7 +155,7 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
140
155
|
private linkItems(
|
|
141
156
|
items: IContentItem[],
|
|
142
157
|
responses: IDeliveryNetworkResponse<
|
|
143
|
-
Responses.IListContentItemsResponse<TContentItem>,
|
|
158
|
+
Responses.IListContentItemsResponse<TContentItem, TClientTypes['contentItemType']>,
|
|
144
159
|
Contracts.IListContentItemsContract
|
|
145
160
|
>[]
|
|
146
161
|
): void {
|
|
@@ -149,7 +164,11 @@ export class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem
|
|
|
149
164
|
|
|
150
165
|
// process linked items (modular_content part of the response)
|
|
151
166
|
for (const response of responses) {
|
|
152
|
-
allContentItems.push(
|
|
167
|
+
allContentItems.push(
|
|
168
|
+
...Object.values(response.data.linkedItems)
|
|
169
|
+
.filter((m) => m !== undefined)
|
|
170
|
+
.map((m) => m as TClientTypes['contentItemType'])
|
|
171
|
+
);
|
|
153
172
|
}
|
|
154
173
|
|
|
155
174
|
// add standard items
|