Skip to content

Commit 605daf6

Browse files
Added array of values in includereference method (#50)
1 parent 6d62249 commit 605daf6

File tree

8 files changed

+51
-39
lines changed

8 files changed

+51
-39
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
## Change log
22

3+
### Version: 4.3.0
4+
#### Date: Septmber-09-2024
5+
Feat: Include refernce accepts array of values
6+
37
### Version: 4.2.0
48
#### Date: Septmber-04-2024
59
Feat: Variants support added

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@contentstack/delivery-sdk",
3-
"version": "4.2.0",
3+
"version": "4.3.0",
44
"type": "commonjs",
55
"main": "./dist/cjs/src/index.js",
66
"types": "./dist/types/src/index.d.ts",

src/lib/entries.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,17 @@ export class Entries extends EntryQueryable {
111111
* @param {string} referenceFieldUid - UID of the reference field to include.
112112
* @returns {Entries} - Returns the Entries instance for chaining.
113113
*/
114-
includeReference(referenceFieldUid: string): Entries {
115-
this._queryParams['include[]'] = referenceFieldUid;
116-
114+
includeReference(...referenceFieldUid: (string | string[])[]): Entries {
115+
if (referenceFieldUid.length) {
116+
referenceFieldUid.forEach(value => {
117+
if (!Array.isArray(this._queryParams['include[]'])) {
118+
this._queryParams['include[]'] = [];
119+
}
120+
(this._queryParams['include[]'] as string[]).push(...(Array.isArray(value) ? value : [value]));
121+
});
122+
} else {
123+
console.error("Argument should be a String or an Array.");
124+
}
117125
return this;
118126
}
119127

src/lib/entry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export class Entry {
88
private _contentTypeUid: string;
99
private _entryUid: string;
1010
private _urlPath: string;
11-
_queryParams: { [key: string]: string | number } = {};
11+
_queryParams: { [key: string]: string | number | string[] } = {};
1212

1313
constructor(client: AxiosInstance, contentTypeUid: string, entryUid: string) {
1414
this._client = client;

src/lib/internal-types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ export type params = {
33
}
44

55
export type queryParams = {
6-
[key: string]: string | boolean | number
6+
[key: string]: string | boolean | number | string[]
77
}

test/unit/entries.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ describe('Entries class', () => {
3535
it('should set the include parameter to the given reference field UID', () => {
3636
const referenceFieldUid = 'referenceFieldUid';
3737
entry.includeReference(referenceFieldUid);
38+
expect(entry._queryParams['include[]']).toContain(referenceFieldUid);
39+
});
3840

39-
expect(entry._queryParams['include[]']).toBe(referenceFieldUid);
40-
});
4141

4242
it('should add "include_fallback" in _queryParams when includeFallback method is called', () => {
4343
const returnedValue = entry.includeFallback();

test/utils/mocks.ts

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const assetQueryFindResponseDataMock = {
5353
"file_size": "3780",
5454
"tags": [],
5555
"filename": "Samsung_Logo.png",
56-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/blt41cb1c94d363d824/5d5663cc34d39437c37c537e/Samsung_Logo.png",
56+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/blt41cb1c94d363d824/5d5663cc34d39437c37c537e/Samsung_Logo.png",
5757
"ACL": {
5858
"roles": [],
5959
"others": {
@@ -81,7 +81,7 @@ const assetQueryFindResponseDataMock = {
8181
"environment": "blta39a4441696e35e0",
8282
"locale": "en-us",
8383
"time": "2019-08-19T12:28:47.432Z",
84-
"user": "***REMOVED***"
84+
"user": "blt587a89fc7883c56700a95bfe"
8585
}
8686
},
8787
{
@@ -94,7 +94,7 @@ const assetQueryFindResponseDataMock = {
9494
"file_size": "1537",
9595
"tags": [],
9696
"filename": "android-128.png",
97-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/bltaf7230686bd6513c/5d5663ccd1312137ca910e00/android-128.png",
97+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/bltaf7230686bd6513c/5d5663ccd1312137ca910e00/android-128.png",
9898
"ACL": {
9999
"roles": [],
100100
"others": {
@@ -122,7 +122,7 @@ const assetQueryFindResponseDataMock = {
122122
"environment": "blta39a4441696e35e0",
123123
"locale": "en-us",
124124
"time": "2019-08-19T12:28:47.432Z",
125-
"user": "***REMOVED***"
125+
"user": "blt587a89fc7883c56700a95bfe"
126126
}
127127
},
128128
{
@@ -135,7 +135,7 @@ const assetQueryFindResponseDataMock = {
135135
"file_size": "69609",
136136
"tags": [],
137137
"filename": "in-galaxy-note-5-n9208-sm-n9208zdvins-000000003-back-gold.jpg",
138-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/blt19c34e5374418484/5d5663ca9e9032233cab321a/in-galaxy-note-5-n9208-sm-n9208zdvins-000000003-back-gold.jpg",
138+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/blt19c34e5374418484/5d5663ca9e9032233cab321a/in-galaxy-note-5-n9208-sm-n9208zdvins-000000003-back-gold.jpg",
139139
"ACL": {
140140
"roles": [],
141141
"others": {
@@ -163,7 +163,7 @@ const assetQueryFindResponseDataMock = {
163163
"environment": "blta39a4441696e35e0",
164164
"locale": "en-us",
165165
"time": "2019-08-19T12:28:47.432Z",
166-
"user": "***REMOVED***"
166+
"user": "blt587a89fc7883c56700a95bfe"
167167
}
168168
},
169169
{
@@ -176,7 +176,7 @@ const assetQueryFindResponseDataMock = {
176176
"file_size": "2185",
177177
"tags": [],
178178
"filename": "download.png",
179-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/blt6045a4b8db103c2b/5d5663ca1a1b7e3885350f53/download.png",
179+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/blt6045a4b8db103c2b/5d5663ca1a1b7e3885350f53/download.png",
180180
"ACL": {
181181
"roles": [],
182182
"others": {
@@ -204,7 +204,7 @@ const assetQueryFindResponseDataMock = {
204204
"environment": "blta39a4441696e35e0",
205205
"locale": "en-us",
206206
"time": "2019-08-19T12:28:47.432Z",
207-
"user": "***REMOVED***"
207+
"user": "blt587a89fc7883c56700a95bfe"
208208
}
209209
},
210210
{
@@ -217,7 +217,7 @@ const assetQueryFindResponseDataMock = {
217217
"file_size": "1546",
218218
"tags": [],
219219
"filename": "Samsung_Logo.png",
220-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/bltb7851ab3713053d0/5d5663c7cb96683648a7967b/Samsung_Logo.png",
220+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/bltb7851ab3713053d0/5d5663c7cb96683648a7967b/Samsung_Logo.png",
221221
"ACL": {
222222
"roles": [],
223223
"others": {
@@ -245,7 +245,7 @@ const assetQueryFindResponseDataMock = {
245245
"environment": "blta39a4441696e35e0",
246246
"locale": "en-us",
247247
"time": "2019-08-19T12:28:47.432Z",
248-
"user": "***REMOVED***"
248+
"user": "blt587a89fc7883c56700a95bfe"
249249
}
250250
},
251251
{
@@ -258,7 +258,7 @@ const assetQueryFindResponseDataMock = {
258258
"file_size": "5275",
259259
"tags": [],
260260
"filename": "download.jpg",
261-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/blt9c3dff6e3151d374/5d5663c79722fb38d7db52e5/download.jpg",
261+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/blt9c3dff6e3151d374/5d5663c79722fb38d7db52e5/download.jpg",
262262
"ACL": {
263263
"roles": [],
264264
"others": {
@@ -286,7 +286,7 @@ const assetQueryFindResponseDataMock = {
286286
"environment": "blta39a4441696e35e0",
287287
"locale": "en-us",
288288
"time": "2019-08-19T12:28:47.432Z",
289-
"user": "***REMOVED***"
289+
"user": "blt587a89fc7883c56700a95bfe"
290290
}
291291
},
292292
]
@@ -1077,7 +1077,7 @@ const assetFetchDataMock = {
10771077
"environment": "blta39a4441696e35e0",
10781078
"locale": "en-us",
10791079
"time": "2019-08-19T12:28:47.432Z",
1080-
"user": "***REMOVED***"
1080+
"user": "blt587a89fc7883c56700a95bfe"
10811081
}
10821082

10831083
}
@@ -1217,7 +1217,7 @@ const entryFindMock = {
12171217
"file_size": "145200",
12181218
"tags": [],
12191219
"filename": "01.jpg",
1220-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/blt50a7a9dd6866776f/5d5663be34d39437c37c5376/01.jpg",
1220+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/blt50a7a9dd6866776f/5d5663be34d39437c37c5376/01.jpg",
12211221
"ACL": [],
12221222
"is_dir": false,
12231223
"_version": 1,
@@ -1226,7 +1226,7 @@ const entryFindMock = {
12261226
"environment": "blta39a4441696e35e0",
12271227
"locale": "en-us",
12281228
"time": "2019-08-19T12:28:56.964Z",
1229-
"user": "***REMOVED***"
1229+
"user": "blt587a89fc7883c56700a95bfe"
12301230
}
12311231
}
12321232
],
@@ -1291,7 +1291,7 @@ const entryFindMock = {
12911291
"ACL": {},
12921292
"uid": "blt4f1fd991ec80e52f",
12931293
"created_by": "bltcd82b2c6bf913241",
1294-
"updated_by": "***REMOVED***",
1294+
"updated_by": "blt42e55757d70d5f81026a2b9f",
12951295
"created_at": "2019-08-16T08:19:25.397Z",
12961296
"updated_at": "2019-08-23T13:02:21.457Z",
12971297
"_version": 4,
@@ -1300,7 +1300,7 @@ const entryFindMock = {
13001300
"environment": "blta39a4441696e35e0",
13011301
"locale": "en-us",
13021302
"time": "2019-08-23T13:02:25.439Z",
1303-
"user": "***REMOVED***"
1303+
"user": "blt42e55757d70d5f81026a2b9f"
13041304
}
13051305
},
13061306
{
@@ -1319,7 +1319,7 @@ const entryFindMock = {
13191319
"file_size": "5275",
13201320
"tags": [],
13211321
"filename": "download.jpg",
1322-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/blt9c3dff6e3151d374/5d5663c79722fb38d7db52e5/download.jpg",
1322+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/blt9c3dff6e3151d374/5d5663c79722fb38d7db52e5/download.jpg",
13231323
"ACL": [],
13241324
"is_dir": false,
13251325
"_version": 1,
@@ -1328,7 +1328,7 @@ const entryFindMock = {
13281328
"environment": "blta39a4441696e35e0",
13291329
"locale": "en-us",
13301330
"time": "2019-08-19T12:28:47.432Z",
1331-
"user": "***REMOVED***"
1331+
"user": "blt587a89fc7883c56700a95bfe"
13321332
}
13331333
}
13341334
],
@@ -1387,7 +1387,7 @@ const entryFindMock = {
13871387
"ACL": {},
13881388
"uid": "blta278bb5672180c94",
13891389
"created_by": "bltcd82b2c6bf913241",
1390-
"updated_by": "***REMOVED***",
1390+
"updated_by": "blt42e55757d70d5f81026a2b9f",
13911391
"created_at": "2019-08-16T08:19:27.182Z",
13921392
"updated_at": "2019-08-23T13:01:19.866Z",
13931393
"_version": 4,
@@ -1396,7 +1396,7 @@ const entryFindMock = {
13961396
"environment": "blta39a4441696e35e0",
13971397
"locale": "en-us",
13981398
"time": "2019-08-23T13:01:23.290Z",
1399-
"user": "***REMOVED***"
1399+
"user": "blt42e55757d70d5f81026a2b9f"
14001400
}
14011401
},
14021402
{
@@ -1415,7 +1415,7 @@ const entryFindMock = {
14151415
"file_size": "48163",
14161416
"tags": [],
14171417
"filename": "iphone7.jpg",
1418-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/bltc4f54f7ce3155b0e/5d5663bbdf859f364dbe36dd/iphone7.jpg",
1418+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/bltc4f54f7ce3155b0e/5d5663bbdf859f364dbe36dd/iphone7.jpg",
14191419
"ACL": [],
14201420
"is_dir": false,
14211421
"_version": 1,
@@ -1424,7 +1424,7 @@ const entryFindMock = {
14241424
"environment": "blta39a4441696e35e0",
14251425
"locale": "en-us",
14261426
"time": "2019-08-19T12:28:56.964Z",
1427-
"user": "***REMOVED***"
1427+
"user": "blt587a89fc7883c56700a95bfe"
14281428
}
14291429
}
14301430
],
@@ -1476,7 +1476,7 @@ const entryFindMock = {
14761476
"ACL": {},
14771477
"uid": "bltbd92ac498e3d5f96",
14781478
"created_by": "bltcd82b2c6bf913241",
1479-
"updated_by": "***REMOVED***",
1479+
"updated_by": "blt42e55757d70d5f81026a2b9f",
14801480
"created_at": "2019-08-16T08:19:20.072Z",
14811481
"updated_at": "2019-08-23T12:50:53.424Z",
14821482
"_version": 13,
@@ -1485,7 +1485,7 @@ const entryFindMock = {
14851485
"environment": "blta39a4441696e35e0",
14861486
"locale": "en-us",
14871487
"time": "2019-08-23T12:50:56.727Z",
1488-
"user": "***REMOVED***"
1488+
"user": "blt42e55757d70d5f81026a2b9f"
14891489
}
14901490
}
14911491
]
@@ -1508,7 +1508,7 @@ const entryFetchMock = {
15081508
"file_size": "5275",
15091509
"tags": [],
15101510
"filename": "download.jpg",
1511-
"url": "https://images.contentstack.io/v3/assets/***REMOVED***/blt9c3dff6e3151d374/5d5663c79722fb38d7db52e5/download.jpg",
1511+
"url": "https://images.contentstack.io/v3/assets/blt02f7b45378b008ee/blt9c3dff6e3151d374/5d5663c79722fb38d7db52e5/download.jpg",
15121512
"ACL": [],
15131513
"is_dir": false,
15141514
"_version": 1,
@@ -1517,7 +1517,7 @@ const entryFetchMock = {
15171517
"environment": "blta39a4441696e35e0",
15181518
"locale": "en-us",
15191519
"time": "2019-08-19T12:28:47.432Z",
1520-
"user": "***REMOVED***"
1520+
"user": "blt587a89fc7883c56700a95bfe"
15211521
}
15221522
}
15231523
],
@@ -1576,7 +1576,7 @@ const entryFetchMock = {
15761576
"ACL": {},
15771577
"uid": "blta278bb5672180c94",
15781578
"created_by": "bltcd82b2c6bf913241",
1579-
"updated_by": "***REMOVED***",
1579+
"updated_by": "blt42e55757d70d5f81026a2b9f",
15801580
"created_at": "2019-08-16T08:19:27.182Z",
15811581
"updated_at": "2019-08-23T13:01:19.866Z",
15821582
"_version": 4,
@@ -1585,7 +1585,7 @@ const entryFetchMock = {
15851585
"environment": "blta39a4441696e35e0",
15861586
"locale": "en-us",
15871587
"time": "2019-08-23T13:01:23.290Z",
1588-
"user": "***REMOVED***"
1588+
"user": "blt42e55757d70d5f81026a2b9f"
15891589
}
15901590
}
15911591
}

0 commit comments

Comments
 (0)