Skip to content

Commit 3d28da4

Browse files
committed
feat: ✨ updateAssetURL method added
1 parent 19fdec3 commit 3d28da4

File tree

5 files changed

+37
-5
lines changed

5 files changed

+37
-5
lines changed

.talismanrc

+2
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ fileignoreconfig:
1111
checksum: c88b336f9a271397ffedcf8c5085941ceb0bd1cd7e25ed9ada3acd8ce4f8970c
1212
- filename: test/typescript/stack.test.ts
1313
checksum: bbb3c425f8e1a63d4793f69ee9eaba9559294ff53f163a28f70ae54b1792276a
14+
- filename: src/core/contentstack.js
15+
checksum: 90a3b07300155a34f67dc3df87363107eec202123a21bc0cefda324e477a676d
1416
version: ""

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
## Change log
22

3+
### Version: 3.19.3
4+
#### Date: May-17-2024
5+
##### Enhanncement:
6+
- Update Asset URL method added
7+
38
### Version: 3.19.2
49
#### Date: April-17-2024
510
##### Dependency:

index.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ export function Stack(config: Config): Stack;
161161
*/
162162
export function Stack(api_key: string, access_token: string, environment_name: string, region?: string, fetchOptions?: FetchOptions): Stack;
163163

164+
export function updateAssetURL(entry: object): object;
164165
export class ContentType {
165166
constructor();
166167
content_type_uid: string

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "contentstack",
3-
"version": "3.19.2",
3+
"version": "3.19.3",
44
"description": "Contentstack Javascript SDK",
55
"homepage": "https://www.contentstack.com/",
66
"author": {
@@ -11,7 +11,7 @@
1111
"browser": "dist/web/contentstack.js",
1212
"react-native": "dist/react-native/contentstack.js",
1313
"types": "./index.d.ts",
14-
"_id": "contentstack@3.16.1",
14+
"_id": "contentstack@3.19.3",
1515
"scripts": {
1616
"test": "npm run test:e2e && npm run test:typescript",
1717
"test:e2e": "tape test/index.js | tap-html --out ./tap-html.html",

src/core/contentstack.js

+27-3
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,37 @@ class Contentstack {
2727

2828
this.Utils = require('@contentstack/utils');
2929
}
30-
/**
3130

32-
* @memberOf Contentstack
33-
*/
31+
/**
32+
33+
* @memberOf Contentstack
34+
*/
3435
Stack(...stack_arguments){
3536
return new Stack(...stack_arguments);
3637
}
38+
39+
updateAssetURL(entry) {
40+
// check if entry consist of _embedded_items object
41+
if (entry._embedded_items == undefined) {
42+
throw new Error("_embedded_items not present in entry. Call includeEmbeddedItems() before fetching entry.");
43+
}
44+
45+
// Iterate through each object in _embedded_items and update the asset link
46+
for (let key in entry._embedded_items) {
47+
let embedded_item = entry._embedded_items[key];
48+
if (Array.isArray(embedded_item)) {
49+
50+
embedded_item.forEach((item) => {
51+
52+
if (item._content_type_uid == 'sys_assets' && item.filename) {
53+
54+
const correspondingAsset = entry[key].children.find(child => child.attrs['asset-uid'] === item.uid);
55+
correspondingAsset.attrs['asset-link'] = item.url;
56+
}
57+
});
58+
}
59+
}
60+
}
3761
}
3862

3963
module.exports = new Contentstack();

0 commit comments

Comments
 (0)