A thin client for accessing Cimpress Customizr service
Install the package:
npm install --save cimpress-customizr
Using the client
import {CustomizrClient} from 'cimpress-customizr'
const client = new CustomizrClient({
// The resource you'd like to get/put the settings from/to.
// You can either provide it here or directly in the get/putSettings methods
resource: undefined,
// The timeout to use for the network call. Default 3000ms
timeout: 3000,
// The address of Cimpress Customizr service
baseUrl: 'https://customizr.at.cimpress.io',
// How many try to retry the request in case of network error or 5xx response
retryAttempts: 2,
// How long to wait between retries in milliseconds
retryDelayInMs: 1000
});
client.getSettings(accessToken, resource).then(data => ...)
client.putSettings(accessToken, newData, resource).then(data => ...)
You can also use directly any of the following convenience functions:
import {
getMcpSettings,
setMcpSettings,
setPreferredMcpSettings,
getPreferredMcpLanguages,
setPreferredMcpLanguage,
getPreferredMcpTimezone,
setPreferredMcpTimezone
getMcpRegionalSettings,
setMcpRegionalSettings
} from 'cimpress-customizr'
setPreferredMcpSettings(accessToken, 'eng', 'en-US', 'Europe/Amsterdam').then(() => {})
getPreferredMcpLanguages(accessToken).then( languageArray => {
/*
languageArray = [language, ... ]
language = {
lang: 'en'
iso639_1: 'en',
iso639_2: 'eng',
iso639_3: 'eng'
}
*/
} )
setPreferredMcpLanguage(accessToken, newLanguage).then( ... )
-
Clone the repository
git clone https://github.com/Cimpress/cimpress-customizr
-
Run the following command to download the language translations files.
npm run build
-
Make sure your code passes the linting rules
npm run code-check
-
Make sure to update package.json with the new version of the package (please follow semantic versioning. After, please also update CHANGELOG.md file with short info for the changes in this new version.
-
Don't forget to enjoy!