@kontent-ai/delivery-sdk 16.4.3 → 16.4.5

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.
Files changed (113) hide show
  1. package/.npmignore +15 -15
  2. package/LICENSE.md +9 -9
  3. package/dist/bundles/kontent-delivery.umd.js +5076 -4619
  4. package/dist/bundles/kontent-delivery.umd.js.map +1 -1
  5. package/dist/bundles/kontent-delivery.umd.min.js +1 -1
  6. package/dist/bundles/kontent-delivery.umd.min.js.map +1 -1
  7. package/dist/bundles/report.json +1 -1
  8. package/dist/bundles/report.min.json +1 -1
  9. package/dist/bundles/stats.json +7015 -5766
  10. package/dist/bundles/stats.min.json +11376 -10250
  11. package/dist/cjs/query/element/element-query.class.js +1 -1
  12. package/dist/cjs/query/element/element-query.class.js.map +1 -1
  13. package/dist/cjs/query/item/single-item-query.class.js +1 -1
  14. package/dist/cjs/query/item/single-item-query.class.js.map +1 -1
  15. package/dist/cjs/query/taxonomy/taxonomy-query.class.js +1 -1
  16. package/dist/cjs/query/taxonomy/taxonomy-query.class.js.map +1 -1
  17. package/dist/cjs/query/type/single-type-query.class.js +1 -1
  18. package/dist/cjs/query/type/single-type-query.class.js.map +1 -1
  19. package/dist/cjs/query/used-in/used-in-query.class.js +1 -1
  20. package/dist/cjs/query/used-in/used-in-query.class.js.map +1 -1
  21. package/dist/cjs/sdk-info.generated.js +1 -1
  22. package/dist/es6/query/element/element-query.class.js +1 -1
  23. package/dist/es6/query/element/element-query.class.js.map +1 -1
  24. package/dist/es6/query/item/single-item-query.class.js +1 -1
  25. package/dist/es6/query/item/single-item-query.class.js.map +1 -1
  26. package/dist/es6/query/taxonomy/taxonomy-query.class.js +1 -1
  27. package/dist/es6/query/taxonomy/taxonomy-query.class.js.map +1 -1
  28. package/dist/es6/query/type/single-type-query.class.js +1 -1
  29. package/dist/es6/query/type/single-type-query.class.js.map +1 -1
  30. package/dist/es6/query/used-in/used-in-query.class.js +1 -1
  31. package/dist/es6/query/used-in/used-in-query.class.js.map +1 -1
  32. package/dist/es6/sdk-info.generated.js +1 -1
  33. package/dist/esnext/query/element/element-query.class.js +1 -1
  34. package/dist/esnext/query/element/element-query.class.js.map +1 -1
  35. package/dist/esnext/query/item/single-item-query.class.js +1 -1
  36. package/dist/esnext/query/item/single-item-query.class.js.map +1 -1
  37. package/dist/esnext/query/taxonomy/taxonomy-query.class.js +1 -1
  38. package/dist/esnext/query/taxonomy/taxonomy-query.class.js.map +1 -1
  39. package/dist/esnext/query/type/single-type-query.class.js +1 -1
  40. package/dist/esnext/query/type/single-type-query.class.js.map +1 -1
  41. package/dist/esnext/query/used-in/used-in-query.class.js +1 -1
  42. package/dist/esnext/query/used-in/used-in-query.class.js.map +1 -1
  43. package/dist/esnext/sdk-info.generated.js +1 -1
  44. package/lib/client/delivery-client.factory.ts +9 -9
  45. package/lib/client/delivery-client.ts +163 -163
  46. package/lib/client/idelivery-client.interface.ts +110 -110
  47. package/lib/client/index.ts +3 -3
  48. package/lib/config/delivery-configs.ts +98 -98
  49. package/lib/config/index.ts +1 -1
  50. package/lib/contracts/contracts.ts +265 -265
  51. package/lib/contracts/index.ts +1 -1
  52. package/lib/elements/element-models.ts +89 -89
  53. package/lib/elements/element-resolver.ts +3 -3
  54. package/lib/elements/element-type.ts +16 -16
  55. package/lib/elements/elements.ts +70 -70
  56. package/lib/elements/index.ts +4 -4
  57. package/lib/images/image-url-transformation-builder.factory.ts +5 -5
  58. package/lib/images/image-url-transformation-builder.ts +181 -181
  59. package/lib/images/image.models.ts +4 -4
  60. package/lib/images/index.ts +3 -3
  61. package/lib/index.ts +12 -12
  62. package/lib/mappers/element.mapper.ts +504 -504
  63. package/lib/mappers/generic-element.mapper.ts +20 -20
  64. package/lib/mappers/index.ts +8 -8
  65. package/lib/mappers/item.mapper.ts +181 -181
  66. package/lib/mappers/language.mapper.ts +24 -24
  67. package/lib/mappers/sync.mapper.ts +32 -32
  68. package/lib/mappers/taxonomy.mapper.ts +77 -77
  69. package/lib/mappers/type.mapper.ts +76 -76
  70. package/lib/mappers/used-in.mapper.ts +20 -20
  71. package/lib/models/common/base-responses.ts +13 -13
  72. package/lib/models/common/common-models.ts +118 -118
  73. package/lib/models/common/filters.ts +280 -280
  74. package/lib/models/common/headers.ts +5 -5
  75. package/lib/models/common/index.ts +7 -7
  76. package/lib/models/common/pagination.class.ts +7 -7
  77. package/lib/models/common/parameters.ts +189 -189
  78. package/lib/models/common/sort-order.ts +1 -1
  79. package/lib/models/content-type-models.ts +42 -42
  80. package/lib/models/element-models.ts +51 -51
  81. package/lib/models/index.ts +9 -9
  82. package/lib/models/item-models.ts +192 -192
  83. package/lib/models/language-models.ts +17 -17
  84. package/lib/models/responses.ts +137 -137
  85. package/lib/models/sync-models.ts +18 -18
  86. package/lib/models/taxonomy-models.ts +25 -25
  87. package/lib/query/common/base-item-listing-query.class.ts +274 -274
  88. package/lib/query/common/base-listing-query.class.ts +95 -95
  89. package/lib/query/common/base-query.class.ts +148 -148
  90. package/lib/query/element/element-query.class.ts +47 -45
  91. package/lib/query/index.ts +13 -13
  92. package/lib/query/item/multiple-items-query.class.ts +183 -183
  93. package/lib/query/item/single-item-query.class.ts +106 -106
  94. package/lib/query/items-feed/items-feed-query.class.ts +191 -191
  95. package/lib/query/language/languages-query.class.ts +91 -91
  96. package/lib/query/sync/initialize-sync-query.class.ts +83 -83
  97. package/lib/query/sync/sync-changes-query.class.ts +56 -56
  98. package/lib/query/taxonomy/taxonomies-query.class.ts +82 -82
  99. package/lib/query/taxonomy/taxonomy-query.class.ts +50 -50
  100. package/lib/query/type/multiple-type-query.class.ts +95 -95
  101. package/lib/query/type/single-type-query.class.ts +45 -45
  102. package/lib/query/used-in/used-in-query.class.ts +128 -126
  103. package/lib/sdk-info.generated.ts +1 -1
  104. package/lib/services/base-delivery-query.service.ts +375 -375
  105. package/lib/services/delivery-query.service.ts +336 -336
  106. package/lib/services/index.ts +2 -2
  107. package/lib/services/mapping.service.ts +223 -223
  108. package/lib/utilities/codename.helper.ts +10 -10
  109. package/lib/utilities/delivery-url.helper.ts +11 -11
  110. package/lib/utilities/enum.helper.ts +38 -38
  111. package/lib/utilities/index.ts +3 -3
  112. package/package.json +96 -96
  113. package/readme.md +531 -531
@@ -1,163 +1,163 @@
1
- import { HttpService } from '@kontent-ai/core-sdk';
2
- import { IDeliveryClientConfig } from '../config';
3
- import { ClientTypes, IContentItem } from '../models';
4
- import {
5
- ElementQuery,
6
- ItemsFeedQuery,
7
- MultipleItemsQuery,
8
- MultipleTypeQuery,
9
- SingleItemQuery,
10
- SingleTypeQuery,
11
- TaxonomiesQuery,
12
- TaxonomyQuery,
13
- LanguagesQuery,
14
- InitializeSyncQuery,
15
- SyncChangesQuery,
16
- UsedInQuery
17
- } from '../query';
18
- import { sdkInfo } from '../sdk-info.generated';
19
- import { IMappingService, MappingService, QueryService } from '../services';
20
- import { IDeliveryClient } from './idelivery-client.interface';
21
-
22
- export class DeliveryClient<TClientTypes extends ClientTypes = ClientTypes> implements IDeliveryClient {
23
- private queryService: QueryService<TClientTypes>;
24
- public mappingService: IMappingService<TClientTypes>;
25
-
26
- /**
27
- * Delivery client used to fetch data from Kontent.ai
28
- * @constructor
29
- * @param {IDeliveryClientConfig} config - The client configuration
30
- */
31
- constructor(protected config: IDeliveryClientConfig) {
32
- if (!config) {
33
- throw Error(`Delivery client configuration is not set`);
34
- }
35
-
36
- this.mappingService = new MappingService(config);
37
- this.queryService = new QueryService(
38
- config,
39
- config.httpService ? config.httpService : new HttpService(),
40
- {
41
- host: sdkInfo.host,
42
- name: sdkInfo.name,
43
- version: sdkInfo.version
44
- },
45
- this.mappingService
46
- );
47
- }
48
-
49
- /**
50
- * Gets query for multiple languages
51
- */
52
- languages(): LanguagesQuery<TClientTypes> {
53
- return new LanguagesQuery(this.config, this.queryService);
54
- }
55
-
56
- /**
57
- * Gets query for multiple types
58
- */
59
- types(): MultipleTypeQuery<TClientTypes> {
60
- return new MultipleTypeQuery(this.config, this.queryService);
61
- }
62
-
63
- /**
64
- * Gets query for single type
65
- * @param {string} typeCodename - Codename of the type to fetch
66
- */
67
- type(typeCodename: TClientTypes['contentTypeCodenames']): SingleTypeQuery<TClientTypes> {
68
- return new SingleTypeQuery(this.config, this.queryService, typeCodename);
69
- }
70
-
71
- /**
72
- * Gets query for multiple items
73
- */
74
- items<TContentItem extends IContentItem = TClientTypes['contentItemType']>(): MultipleItemsQuery<
75
- TClientTypes,
76
- TContentItem
77
- > {
78
- return new MultipleItemsQuery<TClientTypes, TContentItem>(this.config, this.queryService);
79
- }
80
-
81
- /**
82
- * Gets query for single item
83
- * @param {string} codename - Codename of item to fetch
84
- */
85
- item<TContentItem extends IContentItem = TClientTypes['contentItemType']>(
86
- codename: string
87
- ): SingleItemQuery<TClientTypes, TContentItem> {
88
- return new SingleItemQuery<TClientTypes, TContentItem>(this.config, this.queryService, codename);
89
- }
90
-
91
- /**
92
- * Gets query for items feed. Executes single HTTP request only
93
- */
94
- itemsFeed<TContentItem extends IContentItem = TClientTypes['contentItemType']>(): ItemsFeedQuery<
95
- TClientTypes,
96
- TContentItem
97
- > {
98
- return new ItemsFeedQuery<TClientTypes, TContentItem>(this.config, this.queryService);
99
- }
100
-
101
- /**
102
- * Gets query for single taxonomy
103
- * @param {string} codename - Codename of taxonomy to fetch
104
- */
105
- taxonomy(codename: TClientTypes['taxonomyCodenames']): TaxonomyQuery<TClientTypes> {
106
- return new TaxonomyQuery(this.config, this.queryService, codename);
107
- }
108
-
109
- /**
110
- * Gets query for multiple taxonomies
111
- */
112
- taxonomies(): TaxonomiesQuery<TClientTypes> {
113
- return new TaxonomiesQuery<TClientTypes>(this.config, this.queryService);
114
- }
115
-
116
- /**
117
- * Gets query for an element within a type
118
- * @param {string} typeCodename - Codename of the type
119
- * @param {string} elementCodename - Codename of the element
120
- */
121
- element(
122
- typeCodename: TClientTypes['contentTypeCodenames'],
123
- elementCodename: TClientTypes['elementCodenames']
124
- ): ElementQuery<TClientTypes> {
125
- return new ElementQuery(this.config, this.queryService, typeCodename, elementCodename);
126
- }
127
-
128
- /**
129
- * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
130
- * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
131
- *
132
- * For migration guidance and full documentation, visit:
133
- * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
134
- */
135
- initializeSync(): InitializeSyncQuery<TClientTypes> {
136
- return new InitializeSyncQuery(this.config, this.queryService);
137
- }
138
-
139
- /**
140
- * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
141
- * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
142
- *
143
- * For migration guidance and full documentation, visit:
144
- * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
145
- */
146
- syncChanges(): SyncChangesQuery<TClientTypes> {
147
- return new SyncChangesQuery(this.config, this.queryService);
148
- }
149
-
150
- /**
151
- * Item listing of where an asset is used
152
- */
153
- assetUsedIn(assetCodename: string): UsedInQuery<TClientTypes> {
154
- return new UsedInQuery(this.config, this.queryService, { entity: 'asset', codename: assetCodename });
155
- }
156
-
157
- /**
158
- * Item listing of where a content item is used
159
- */
160
- itemUsedIn(itemCodename: string): UsedInQuery<TClientTypes> {
161
- return new UsedInQuery(this.config, this.queryService, { entity: 'contentItem', codename: itemCodename });
162
- }
163
- }
1
+ import { HttpService } from '@kontent-ai/core-sdk';
2
+ import { IDeliveryClientConfig } from '../config';
3
+ import { ClientTypes, IContentItem } from '../models';
4
+ import {
5
+ ElementQuery,
6
+ ItemsFeedQuery,
7
+ MultipleItemsQuery,
8
+ MultipleTypeQuery,
9
+ SingleItemQuery,
10
+ SingleTypeQuery,
11
+ TaxonomiesQuery,
12
+ TaxonomyQuery,
13
+ LanguagesQuery,
14
+ InitializeSyncQuery,
15
+ SyncChangesQuery,
16
+ UsedInQuery
17
+ } from '../query';
18
+ import { sdkInfo } from '../sdk-info.generated';
19
+ import { IMappingService, MappingService, QueryService } from '../services';
20
+ import { IDeliveryClient } from './idelivery-client.interface';
21
+
22
+ export class DeliveryClient<TClientTypes extends ClientTypes = ClientTypes> implements IDeliveryClient {
23
+ private queryService: QueryService<TClientTypes>;
24
+ public mappingService: IMappingService<TClientTypes>;
25
+
26
+ /**
27
+ * Delivery client used to fetch data from Kontent.ai
28
+ * @constructor
29
+ * @param {IDeliveryClientConfig} config - The client configuration
30
+ */
31
+ constructor(protected config: IDeliveryClientConfig) {
32
+ if (!config) {
33
+ throw Error(`Delivery client configuration is not set`);
34
+ }
35
+
36
+ this.mappingService = new MappingService(config);
37
+ this.queryService = new QueryService(
38
+ config,
39
+ config.httpService ? config.httpService : new HttpService(),
40
+ {
41
+ host: sdkInfo.host,
42
+ name: sdkInfo.name,
43
+ version: sdkInfo.version
44
+ },
45
+ this.mappingService
46
+ );
47
+ }
48
+
49
+ /**
50
+ * Gets query for multiple languages
51
+ */
52
+ languages(): LanguagesQuery<TClientTypes> {
53
+ return new LanguagesQuery(this.config, this.queryService);
54
+ }
55
+
56
+ /**
57
+ * Gets query for multiple types
58
+ */
59
+ types(): MultipleTypeQuery<TClientTypes> {
60
+ return new MultipleTypeQuery(this.config, this.queryService);
61
+ }
62
+
63
+ /**
64
+ * Gets query for single type
65
+ * @param {string} typeCodename - Codename of the type to fetch
66
+ */
67
+ type(typeCodename: TClientTypes['contentTypeCodenames']): SingleTypeQuery<TClientTypes> {
68
+ return new SingleTypeQuery(this.config, this.queryService, typeCodename);
69
+ }
70
+
71
+ /**
72
+ * Gets query for multiple items
73
+ */
74
+ items<TContentItem extends IContentItem = TClientTypes['contentItemType']>(): MultipleItemsQuery<
75
+ TClientTypes,
76
+ TContentItem
77
+ > {
78
+ return new MultipleItemsQuery<TClientTypes, TContentItem>(this.config, this.queryService);
79
+ }
80
+
81
+ /**
82
+ * Gets query for single item
83
+ * @param {string} codename - Codename of item to fetch
84
+ */
85
+ item<TContentItem extends IContentItem = TClientTypes['contentItemType']>(
86
+ codename: string
87
+ ): SingleItemQuery<TClientTypes, TContentItem> {
88
+ return new SingleItemQuery<TClientTypes, TContentItem>(this.config, this.queryService, codename);
89
+ }
90
+
91
+ /**
92
+ * Gets query for items feed. Executes single HTTP request only
93
+ */
94
+ itemsFeed<TContentItem extends IContentItem = TClientTypes['contentItemType']>(): ItemsFeedQuery<
95
+ TClientTypes,
96
+ TContentItem
97
+ > {
98
+ return new ItemsFeedQuery<TClientTypes, TContentItem>(this.config, this.queryService);
99
+ }
100
+
101
+ /**
102
+ * Gets query for single taxonomy
103
+ * @param {string} codename - Codename of taxonomy to fetch
104
+ */
105
+ taxonomy(codename: TClientTypes['taxonomyCodenames']): TaxonomyQuery<TClientTypes> {
106
+ return new TaxonomyQuery(this.config, this.queryService, codename);
107
+ }
108
+
109
+ /**
110
+ * Gets query for multiple taxonomies
111
+ */
112
+ taxonomies(): TaxonomiesQuery<TClientTypes> {
113
+ return new TaxonomiesQuery<TClientTypes>(this.config, this.queryService);
114
+ }
115
+
116
+ /**
117
+ * Gets query for an element within a type
118
+ * @param {string} typeCodename - Codename of the type
119
+ * @param {string} elementCodename - Codename of the element
120
+ */
121
+ element(
122
+ typeCodename: TClientTypes['contentTypeCodenames'],
123
+ elementCodename: TClientTypes['elementCodenames']
124
+ ): ElementQuery<TClientTypes> {
125
+ return new ElementQuery(this.config, this.queryService, typeCodename, elementCodename);
126
+ }
127
+
128
+ /**
129
+ * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
130
+ * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
131
+ *
132
+ * For migration guidance and full documentation, visit:
133
+ * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
134
+ */
135
+ initializeSync(): InitializeSyncQuery<TClientTypes> {
136
+ return new InitializeSyncQuery(this.config, this.queryService);
137
+ }
138
+
139
+ /**
140
+ * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
141
+ * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
142
+ *
143
+ * For migration guidance and full documentation, visit:
144
+ * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
145
+ */
146
+ syncChanges(): SyncChangesQuery<TClientTypes> {
147
+ return new SyncChangesQuery(this.config, this.queryService);
148
+ }
149
+
150
+ /**
151
+ * Item listing of where an asset is used
152
+ */
153
+ assetUsedIn(assetCodename: string): UsedInQuery<TClientTypes> {
154
+ return new UsedInQuery(this.config, this.queryService, { entity: 'asset', codename: assetCodename });
155
+ }
156
+
157
+ /**
158
+ * Item listing of where a content item is used
159
+ */
160
+ itemUsedIn(itemCodename: string): UsedInQuery<TClientTypes> {
161
+ return new UsedInQuery(this.config, this.queryService, { entity: 'contentItem', codename: itemCodename });
162
+ }
163
+ }
@@ -1,110 +1,110 @@
1
- import { ClientTypes, IContentItem } from '../models';
2
- import {
3
- ElementQuery,
4
- ItemsFeedQuery,
5
- MultipleItemsQuery,
6
- MultipleTypeQuery,
7
- SingleItemQuery,
8
- SingleTypeQuery,
9
- TaxonomiesQuery,
10
- TaxonomyQuery,
11
- LanguagesQuery,
12
- InitializeSyncQuery,
13
- SyncChangesQuery,
14
- UsedInQuery
15
- } from '../query';
16
- import { IMappingService } from '../services';
17
-
18
- export interface IDeliveryClient<TClientTypes extends ClientTypes = ClientTypes> {
19
- /**
20
- * Mapping service - can be used to get strongly typed responses from json result
21
- */
22
- mappingService: IMappingService<TClientTypes>;
23
-
24
- /**
25
- * Gets query for languages
26
- */
27
- languages(): LanguagesQuery<TClientTypes>;
28
-
29
- /**
30
- * Gets query for multiple types
31
- */
32
- types(): MultipleTypeQuery<TClientTypes>;
33
-
34
- /**
35
- * Gets query for single type
36
- * @param {string} typeCodename - Codename of the type to retrieve
37
- */
38
- type(typeCodename: TClientTypes['contentTypeCodenames']): SingleTypeQuery<TClientTypes>;
39
-
40
- /**
41
- * Gets query for multiple items
42
- */
43
- items<TContentItem extends IContentItem = TClientTypes['contentItemType']>(): MultipleItemsQuery<
44
- TClientTypes,
45
- TContentItem
46
- >;
47
-
48
- /**
49
- * Gets query for items feed. Executes single HTTP request only
50
- */
51
- itemsFeed<TContentItem extends IContentItem = TClientTypes['contentItemType']>(): ItemsFeedQuery<
52
- TClientTypes,
53
- TContentItem
54
- >;
55
-
56
- /**
57
- * Gets query for single item
58
- * @param {string} codename - Codename of item to retrieve
59
- */
60
- item<TContentItem extends IContentItem = TClientTypes['contentItemType']>(
61
- codename: string
62
- ): SingleItemQuery<TClientTypes, TContentItem>;
63
-
64
- /**
65
- * Gets query for multiple taxonomies
66
- */
67
- taxonomies(): TaxonomiesQuery<TClientTypes>;
68
-
69
- /**
70
- * Gets query for single item
71
- * @param {string} codename - Codename of taxonomy to retrieve
72
- */
73
- taxonomy(codename: TClientTypes['taxonomyCodenames']): TaxonomyQuery<TClientTypes>;
74
-
75
- /**
76
- * Gets query for an element within a type
77
- */
78
- element(
79
- typeCodename: TClientTypes['contentTypeCodenames'],
80
- elementCodename: TClientTypes['elementCodenames']
81
- ): ElementQuery<TClientTypes>;
82
-
83
- /**
84
- * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
85
- * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
86
- *
87
- * For migration guidance and full documentation, visit:
88
- * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
89
- */
90
- initializeSync(): InitializeSyncQuery<TClientTypes>;
91
-
92
- /**
93
- * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
94
- * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
95
- *
96
- * For migration guidance and full documentation, visit:
97
- * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
98
- */
99
- syncChanges(): SyncChangesQuery<TClientTypes>;
100
-
101
- /**
102
- * Item listing of where an asset is used
103
- */
104
- assetUsedIn(assetCodename: string): UsedInQuery<TClientTypes>;
105
-
106
- /**
107
- * Item listing of where a content item is used
108
- */
109
- itemUsedIn(itemCodename: string): UsedInQuery<TClientTypes>;
110
- }
1
+ import { ClientTypes, IContentItem } from '../models';
2
+ import {
3
+ ElementQuery,
4
+ ItemsFeedQuery,
5
+ MultipleItemsQuery,
6
+ MultipleTypeQuery,
7
+ SingleItemQuery,
8
+ SingleTypeQuery,
9
+ TaxonomiesQuery,
10
+ TaxonomyQuery,
11
+ LanguagesQuery,
12
+ InitializeSyncQuery,
13
+ SyncChangesQuery,
14
+ UsedInQuery
15
+ } from '../query';
16
+ import { IMappingService } from '../services';
17
+
18
+ export interface IDeliveryClient<TClientTypes extends ClientTypes = ClientTypes> {
19
+ /**
20
+ * Mapping service - can be used to get strongly typed responses from json result
21
+ */
22
+ mappingService: IMappingService<TClientTypes>;
23
+
24
+ /**
25
+ * Gets query for languages
26
+ */
27
+ languages(): LanguagesQuery<TClientTypes>;
28
+
29
+ /**
30
+ * Gets query for multiple types
31
+ */
32
+ types(): MultipleTypeQuery<TClientTypes>;
33
+
34
+ /**
35
+ * Gets query for single type
36
+ * @param {string} typeCodename - Codename of the type to retrieve
37
+ */
38
+ type(typeCodename: TClientTypes['contentTypeCodenames']): SingleTypeQuery<TClientTypes>;
39
+
40
+ /**
41
+ * Gets query for multiple items
42
+ */
43
+ items<TContentItem extends IContentItem = TClientTypes['contentItemType']>(): MultipleItemsQuery<
44
+ TClientTypes,
45
+ TContentItem
46
+ >;
47
+
48
+ /**
49
+ * Gets query for items feed. Executes single HTTP request only
50
+ */
51
+ itemsFeed<TContentItem extends IContentItem = TClientTypes['contentItemType']>(): ItemsFeedQuery<
52
+ TClientTypes,
53
+ TContentItem
54
+ >;
55
+
56
+ /**
57
+ * Gets query for single item
58
+ * @param {string} codename - Codename of item to retrieve
59
+ */
60
+ item<TContentItem extends IContentItem = TClientTypes['contentItemType']>(
61
+ codename: string
62
+ ): SingleItemQuery<TClientTypes, TContentItem>;
63
+
64
+ /**
65
+ * Gets query for multiple taxonomies
66
+ */
67
+ taxonomies(): TaxonomiesQuery<TClientTypes>;
68
+
69
+ /**
70
+ * Gets query for single item
71
+ * @param {string} codename - Codename of taxonomy to retrieve
72
+ */
73
+ taxonomy(codename: TClientTypes['taxonomyCodenames']): TaxonomyQuery<TClientTypes>;
74
+
75
+ /**
76
+ * Gets query for an element within a type
77
+ */
78
+ element(
79
+ typeCodename: TClientTypes['contentTypeCodenames'],
80
+ elementCodename: TClientTypes['elementCodenames']
81
+ ): ElementQuery<TClientTypes>;
82
+
83
+ /**
84
+ * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
85
+ * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
86
+ *
87
+ * For migration guidance and full documentation, visit:
88
+ * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
89
+ */
90
+ initializeSync(): InitializeSyncQuery<TClientTypes>;
91
+
92
+ /**
93
+ * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
94
+ * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
95
+ *
96
+ * For migration guidance and full documentation, visit:
97
+ * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
98
+ */
99
+ syncChanges(): SyncChangesQuery<TClientTypes>;
100
+
101
+ /**
102
+ * Item listing of where an asset is used
103
+ */
104
+ assetUsedIn(assetCodename: string): UsedInQuery<TClientTypes>;
105
+
106
+ /**
107
+ * Item listing of where a content item is used
108
+ */
109
+ itemUsedIn(itemCodename: string): UsedInQuery<TClientTypes>;
110
+ }
@@ -1,3 +1,3 @@
1
- export * from './delivery-client';
2
- export * from './idelivery-client.interface';
3
- export * from './delivery-client.factory';
1
+ export * from './delivery-client';
2
+ export * from './idelivery-client.interface';
3
+ export * from './delivery-client.factory';