diff --git a/CHANGELOG.md b/CHANGELOG.md index adabd7d8..8d109585 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [v1.21.1](https://github.com/contentstack/contentstack-management-javascript/tree/v1.21.1) (2025-05-12) + - Fix + - Fixed unexpected fallback_locale behavior during direct locale updates. + ## [v1.21.0](https://github.com/contentstack/contentstack-management-javascript/tree/v1.21.0) (2025-05-05) - Enhancement - Region support added diff --git a/lib/entity.js b/lib/entity.js index 6fcb22ff..5fe29f3a 100644 --- a/lib/entity.js +++ b/lib/entity.js @@ -155,7 +155,12 @@ export const update = (http, type, params = {}) => { delete json.deleted_at delete json.updated_at delete json.updated_by - delete json.updated_at + + // If param has data for this entity type, merge it with the json object + if (param && param[type]) { + Object.assign(json, param[type]) + } + if (type) { updateData[type] = json if (type === 'entry') updateData[type] = cleanAssets(updateData[type]) diff --git a/package-lock.json b/package-lock.json index 50fa7f36..bb6d54f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@contentstack/management", - "version": "1.21.0", + "version": "1.21.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@contentstack/management", - "version": "1.21.0", + "version": "1.21.1", "license": "MIT", "dependencies": { "assert": "^2.1.0", diff --git a/package.json b/package.json index 51587221..7c66afdd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@contentstack/management", - "version": "1.21.0", + "version": "1.21.1", "description": "The Content Management API is used to manage the content of your Contentstack account", "main": "./dist/node/contentstack-management.js", "browser": "./dist/web/contentstack-management.js", diff --git a/sanity-report.mjs b/sanity-report.mjs index 2847a04d..5732fc77 100644 --- a/sanity-report.mjs +++ b/sanity-report.mjs @@ -5,7 +5,7 @@ import fs from 'fs' dotenv.config() -const mochawesomeJsonOutput = fs.readFileSync('./mochawesome-report/mochawesome.json', 'utf-8') +const mochawesomeJsonOutput = fs.readFileSync('./mochawesome-report/mochawesome.json', 'utf8') const mochawesomeReport = JSON.parse(mochawesomeJsonOutput) const report = `./mochawesome-report/sanity-report.html` diff --git a/test/sanity-check/api/locale-test.js b/test/sanity-check/api/locale-test.js index 913a5188..7623c661 100644 --- a/test/sanity-check/api/locale-test.js +++ b/test/sanity-check/api/locale-test.js @@ -94,12 +94,12 @@ describe('Locale api Test', () => { .catch(done) }) - it('should get and update a language Hindi - India', done => { + it('should get and update a language Hindi - India with fallback locale en-at', done => { makeLocale('hi-in') .fetch() .then((locale) => { - locale.fallback_locale = 'en-at' - return locale.update() + // locale.fallback_locale = 'en-at' + return locale.update({ locale: { fallback_locale: 'en-at' } }) }) .then((locale) => { expect(locale.code).to.be.equal('hi-in') @@ -111,6 +111,23 @@ describe('Locale api Test', () => { .catch(done) }) + it('should get and update a language Hindi - India with fallback locale en-us', done => { + makeLocale('hi-in') + .fetch() + .then((locale) => { + locale.fallback_locale = 'en-us' + return locale.update() + }) + .then((locale) => { + expect(locale.code).to.be.equal('hi-in') + expect(locale.name).to.be.equal('Hindi - India') + expect(locale.fallback_locale).to.be.equal('en-us') + expect(locale.uid).to.be.not.equal(null) + done() + }) + .catch(done) + }) + it('should delete language: Hindi - India', done => { makeLocale('mr-in') .delete()