storyblok-ts-client
v4.7.0
Published
Typescript library for working with Storyblok management API.
Downloads
9
Maintainers
Readme
Storyblok Management API Typescript Client
typescript library for working with Storyblok management API.
Description
consists of:
- a basic CRUD client "
Storyblok
" with throttling and failure-retry - a wrapper library over the CRUD client "
ApiClient
" - typescript conversion of the original storyblok-js-client - "
StoryblokTS
" - abstraction classes with limited functionalities:
- Space
- Component
- Story
- FolderIndex
- Content
- Folder
- RootFolder
- Subfolder
- Asset
- AssetFolder
- a basic CRUD client "
ApiClient methods are categorized into the following:
API requests are throttled
images are compressed and resized using sharp
jest is setup for testing (not fully tested)
the management API is not fully implemented
Installation
npm install --save storyblok-ts-client
Usage
// Basic CRUD client
const {Storyblok} = require('storyblok-ts-client')
const storyblok = new Storyblok('fake_api_token')
return storyblok.get('/12345')
.then(res => console.log('space id:', res.data.id))
// => space id: 12345
// Management API wrapper
const {ApiClient} = require('storyblok-ts-client')
const apiClient = new ApiClient('fake_api_token', 12345)
return apiClient.spaces.get()
.then(space => console.log('space id:', space.id))
// => space id: 12345
// StoryblokTS
const {StoryblokTS} = require('storyblok-ts-client')
let storyblokTS = new StoryblokTS({oauthToken: 'YOUR_OAUTH_TOKEN'})
const spaceId = 12345
storyblokTS.post(`spaces/${spaceId}/stories`, {story: {name: 'xy', slug: 'xy'}})
storyblokTS.put(`spaces/${spaceId}/stories/1`, {story: {name: 'xy', slug: 'xy'}})
storyblokTS.delete(`spaces/${spaceId}/stories/1`, null)
CLI Scripts
# development and testing
npm run dev # runs typescript transpiler in watch mode
npm start # runs any executable code in the index.js
# test - remember to update .env file with a test Storyblok account api token and test space id
npm run dev:test # runs jest in watch mode
npm test # runs jest
npm run coverage # runs jest and check code coverage stat
# build
npm run build
# tslint
npm run lint
# prettier
npm run format
API Reference - generated with jsdoc2md
Classes
Functions
ApiClient
Kind: global class
Implements: IStoryblokClass
Export:
- ApiClient
- new ApiClient(apiToken, spaceId)
- .assetFolders
- .create ⇒ Promise
- .delete ⇒ Promise
- .deleteExisting ⇒ Promise
- .get ⇒ Promise
- .getByName ⇒ Promise
- .getExisting ⇒ Promise
- .assets
- .count ⇒ Promise
- .createFromImage ⇒ Promise
- .delete ⇒ Promise
- .deleteExisting ⇒ Promise
- .get ⇒ Promise
- .getByPage ⇒ Promise.<Array.<IAsset>>
- .getByUrl ⇒ Promise
- .getExisting ⇒ Promise
- .register ⇒ Promise
- .upload ⇒ Promise
- .components
- .create ⇒ Promise
- .delete ⇒ Promise
- .deleteExisting ⇒ Promise
- .get ⇒ Promise
- .getExisting ⇒ Promise
- .update ⇒ Promise
- .create ⇒ Promise
- .spaces
- .get ⇒ Promise
- .stories
- .count ⇒ Promise
- .countPages ⇒ Promise
- .create ⇒ Promise
- .delete ⇒ Promise
- .deleteExisting ⇒ Promise
- .get ⇒ Promise
- .getByPage ⇒ Promise
- .getExisting ⇒ Promise
- .publish ⇒ Promise
- .publishPendings ⇒ Promise
- .reorder ⇒ Promise
- .update ⇒ Promise
- .publishPendings ⇒ Promise
- .countAssets ⇒ Promise
- .countStories ⇒ Promise
- .countStoryPages ⇒ Promise
- .createAssetFolder ⇒ Promise
- .createAssetFromImage ⇒ Promise
- .createStory ⇒ Promise
- .deleteAsset ⇒ Promise
- .deleteAssetFolder ⇒ Promise
- .deleteComponent ⇒ Promise
- .deleteStory ⇒ Promise
- .deleteExistingAssetFolders ⇒ Promise
- .deleteExistingAssets ⇒ Promise
- .deleteExistingComponents ⇒ Promise
- .deleteExistingStories ⇒ Promise
- .getAsset ⇒ Promise
- .getAssetByUrl ⇒ Promise
- .getAssetFolder ⇒ Promise
- .getAssetFolderByName ⇒ Promise
- .getComponent ⇒ Promise
- .getExistingAssets ⇒ Promise
- .getExistingComponents ⇒ Promise
- .getExistingAssetFolders ⇒ Promise
- .getExistingStories ⇒ Promise
- .getSpace ⇒ Promise
- .getStoriesByPage ⇒ Promise
- .publishStory ⇒ Promise
- .registerAsset ⇒ Promise
- .reorderStory ⇒ Promise
- .updateComponent ⇒ Promise
- .updateStory ⇒ Promise
- .uploadAsset ⇒ Promise
- .getAssetsByPage([page], [perPage]) ⇒ Promise.<Array.<IAsset>>
new ApiClient(apiToken, spaceId)
| Param | Type | Description | | --- | --- | --- | | apiToken | string | API access token. | | spaceId | number | Storyblok working space id. |
Example
const {ApiClient} = require('storyblok-ts-client')
const apiClient = new ApiClient('fake_api_token', 12345)
apiClient.assetFolders
Kind: instance property of ApiClient
Read only: true
- .assetFolders
- .create ⇒ Promise
- .delete ⇒ Promise
- .deleteExisting ⇒ Promise
- .get ⇒ Promise
- .getByName ⇒ Promise
- .getExisting ⇒ Promise
assetFolders.create ⇒ Promise
Kind: instance property of assetFolders
Fulfil: IAssetFolder Details of the asset folder created.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | name | string | Name of asset folder to create. |
assetFolders.delete ⇒ Promise
Kind: instance property of assetFolders
Fulfil: void
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of asset folder to be deleted. |
assetFolders.deleteExisting ⇒ Promise
Kind: instance property of assetFolders
Fulfil: void[]
Reject: AxiosError Axios error.
assetFolders.get ⇒ Promise
Kind: instance property of assetFolders
Fulfil: IAssetFolder Asset folder information.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the target asset folder. |
assetFolders.getByName ⇒ Promise
Kind: instance property of assetFolders
Fulfil: IAssetFolder[] List of matched asset folders.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | searchString | string | String to search by. |
assetFolders.getExisting ⇒ Promise
Kind: instance property of assetFolders
Fulfil: IAssetFolder[] List of existing asset folders.
Reject: AxiosError Axios error.
apiClient.assets
Kind: instance property of ApiClient
Read only: true
- .assets
- .count ⇒ Promise
- .createFromImage ⇒ Promise
- .delete ⇒ Promise
- .deleteExisting ⇒ Promise
- .get ⇒ Promise
- .getByPage ⇒ Promise.<Array.<IAsset>>
- .getByUrl ⇒ Promise
- .getExisting ⇒ Promise
- .register ⇒ Promise
- .upload ⇒ Promise
assets.count ⇒ Promise
Kind: instance property of assets
Fulfil: number A count of existing assets.
Reject: AxiosError Axios error.
assets.createFromImage ⇒ Promise
Kind: instance property of assets
Fulfil: string public access url of the new asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IPendingAsset | Asset information. | | filePath | string | Absolute file path to the image. | | compress | boolean | Flag to compress image. | | sizeLimit | number | Resizing dimension limit value. |
assets.delete ⇒ Promise
Kind: instance property of assets
Fulfil: IAsset Information of the deleted asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the asset to be deleted. |
assets.deleteExisting ⇒ Promise
Kind: instance property of assets
Fulfil: IAsset[] Information on the deleted assets.
Reject: AxiosError Axios error.
assets.get ⇒ Promise
Kind: instance property of assets
Fulfil: IAsset Details of the asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of asset to fetch. |
assets.getByPage ⇒ Promise.<Array.<IAsset>>
Kind: instance property of assets
Fulfil: IAsset[] Assets on the pagination page.
Reject: AxiosError Axios error.
| Param | Type | Default | Description | | --- | --- | --- | --- | | [page] | number | 1 | Pagination page. | | [perPage] | number | 25 | Assets per page. |
assets.getByUrl ⇒ Promise
Kind: instance property of assets
Fulfil: IAsset Matched asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | url | string | Url to match by. |
assets.getExisting ⇒ Promise
Kind: instance property of assets
Fulfil: IAsset[] A list of existing assets.
Reject: AxiosError Axios error.
assets.register ⇒ Promise
Kind: instance property of assets
Fulfil: IRegistration Asset registration info (used for uploading).
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | asset | IPendingAsset | Information to create asset from. | | asset.filename | string | File name to register for. | | [asset.asset_folder_id] | number | (optional) Assign a asset folder. | | [asset.id] | number | (optional) Id of existing asset to replace with this new asset. |
assets.upload ⇒ Promise
Kind: instance property of assets
Fulfil: string Access url of the uploaded asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | buffer | Buffer | Buffered asset data. | | registration | IRegistration | Registration info. |
apiClient.components
Kind: instance property of ApiClient
Read only: true
- .components
- .create ⇒ Promise
- .delete ⇒ Promise
- .deleteExisting ⇒ Promise
- .get ⇒ Promise
- .getExisting ⇒ Promise
- .update ⇒ Promise
- .create ⇒ Promise
components.create ⇒ Promise
Kind: instance property of components
Fulfil: IComponent Details of the component that was created.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IPendingComponent | Info on component to be created. |
components.delete ⇒ Promise
Kind: instance property of components
Fulfil: IComponent Details of the deleted component.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of component to be deleted. |
components.deleteExisting ⇒ Promise
Kind: instance property of components
Fulfil: IComponent[] A list of deleted components details.
Reject: AxiosError Axios error.
components.get ⇒ Promise
Kind: instance property of components
Fulfil: IComponent Details of the component definition.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Component id to fetch by. |
components.getExisting ⇒ Promise
Kind: instance property of components
Fulfil: IComponent[] A list of component definitions.
Reject: AxiosError Axios error.
components.update ⇒ Promise
Kind: instance property of components
Fulfil: IComponent Details of component that was updated.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IComponent | Storyblok component data object with modified info. |
components.create ⇒ Promise
Kind: instance property of components
Fulfil: IComponent Details of the component that was created.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IPendingComponent | Info on component to be created. |
apiClient.spaces
Kind: instance property of ApiClient
Read only: true
spaces.get ⇒ Promise
Kind: instance property of spaces
Fulfil: ISpace Working space information.
Reject: AxiosError Axios error.
apiClient.stories
Kind: instance property of ApiClient
Read only: true
- .stories
- .count ⇒ Promise
- .countPages ⇒ Promise
- .create ⇒ Promise
- .delete ⇒ Promise
- .deleteExisting ⇒ Promise
- .get ⇒ Promise
- .getByPage ⇒ Promise
- .getExisting ⇒ Promise
- .publish ⇒ Promise
- .publishPendings ⇒ Promise
- .reorder ⇒ Promise
- .update ⇒ Promise
- .publishPendings ⇒ Promise
stories.count ⇒ Promise
Kind: instance property of stories
Fulfil: number A count of existing stories.
Reject: AxiosError Axios error.
stories.countPages ⇒ Promise
Kind: instance property of stories
Fulfil: number Total story pagination page count.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | [perPage] | number | (optional) How many stories per page. Defaults to 25. |
stories.create ⇒ Promise
Kind: instance property of stories
Fulfil: IStory Details of story that was created.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IPendingStory | Storyblok story data object. |
stories.delete ⇒ Promise
Kind: instance property of stories
Fulfil: IStory Details of the story that was deleted.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | IStory | Id of the story to be deleted. |
stories.deleteExisting ⇒ Promise
Kind: instance property of stories
Fulfil: IStory[] A list of deleted stories details.
Reject: AxiosError Axios error.
stories.get ⇒ Promise
Kind: instance property of stories
Fulfil: IStory Details of content story.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the content story. |
stories.getByPage ⇒ Promise
Kind: instance property of stories
Fulfil: IStory[] A page of stories.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | page | number | Pagination page number. | | [perPage] | number | (optional) How many stories per page. Defaults to 25. |
stories.getExisting ⇒ Promise
Kind: instance property of stories
Fulfil: IStory[] A list of existing content stories.
Reject: AxiosError Axios error.
stories.publish ⇒ Promise
Kind: instance property of stories
Fulfil: IStory Details of the published story
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the story to publish |
stories.publishPendings ⇒ Promise
Kind: instance property of stories
Fulfil: IStory[] List of published stories.
Reject: AxiosError Axios error.
stories.reorder ⇒ Promise
Kind: instance property of stories
Fulfil: IStory Details of the moved story.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the story to be moved. | | afterId | number | Id of reference story to position after. |
stories.update ⇒ Promise
Kind: instance property of stories
Fulfil: IStory Details of story that was updated.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IStory | Modified story info. |
stories.publishPendings ⇒ Promise
Kind: instance property of stories
Fulfil: IStory[] List of published stories.
Reject: AxiosError Axios error.
apiClient.countAssets ⇒ Promise
Kind: instance property of ApiClient
Fulfil: number A count of existing assets.
Reject: AxiosError Axios error.
apiClient.countStories ⇒ Promise
Kind: instance property of ApiClient
Fulfil: number A count of existing stories.
Reject: AxiosError Axios error.
apiClient.countStoryPages ⇒ Promise
Kind: instance property of ApiClient
Fulfil: number Total story pagination page count.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | [perPage] | number | (optional) How many stories per page. Defaults to 25. |
apiClient.createAssetFolder ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAssetFolder Details of the asset folder created.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | name | string | Name of asset folder to create. |
apiClient.createAssetFromImage ⇒ Promise
Kind: instance property of ApiClient
Fulfil: string Public access url of the new asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IPendingAsset | Asset information. | | filePath | string | Absolute file path to the image. | | compress | boolean | Flag to compress image. | | sizeLimit | number | Resizing dimension limit value. |
apiClient.createStory ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IStory Details of story that was created.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IPendingStory | Storyblok story data object. |
apiClient.deleteAsset ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAsset Information of the deleted asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the asset to be deleted. |
apiClient.deleteAssetFolder ⇒ Promise
Kind: instance property of ApiClient
Fulfil: void
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of asset folder to be deleted. |
apiClient.deleteComponent ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IComponent Details of the deleted component.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of component to be deleted. |
apiClient.deleteStory ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IStory Details of the story that was deleted.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | IStory | Id of the story to be deleted. |
apiClient.deleteExistingAssetFolders ⇒ Promise
Kind: instance property of ApiClient
Fulfil: void[]
Reject: AxiosError Axios error.
apiClient.deleteExistingAssets ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAsset[] Information on the deleted assets.
Reject: AxiosError Axios error.
apiClient.deleteExistingComponents ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IComponent[] A list of deleted components details.
Reject: AxiosError Axios error.
apiClient.deleteExistingStories ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IStory[] A list of deleted stories details.
Reject: AxiosError Axios error.
apiClient.getAsset ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAsset Details of the asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of asset to fetch. |
apiClient.getAssetByUrl ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAsset Matched asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | url | string | Url to match by. |
apiClient.getAssetFolder ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAssetFolder Asset folder information.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the target asset folder. |
apiClient.getAssetFolderByName ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAssetFolder[] List of matched asset folders.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | searchString | string | String to search by. |
apiClient.getComponent ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IComponent Details of the component definition.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Component id to fetch by. |
apiClient.getExistingAssets ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAsset[] A list of existing assets.
Reject: AxiosError Axios error.
apiClient.getExistingComponents ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IComponent[] A list of component definitions.
Reject: AxiosError Axios error.
apiClient.getExistingAssetFolders ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IAssetFolder[] List of existing asset folders.
Reject: AxiosError Axios error.
apiClient.getExistingStories ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IStory[] A list of existing content stories.
Reject: AxiosError Axios error.
apiClient.getSpace ⇒ Promise
Kind: instance property of ApiClient
Fulfil: ISpace Working space information.
Reject: AxiosError Axios error.
apiClient.getStoriesByPage ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IStory[] A page of stories.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | page | number | Pagination page number. | | [perPage] | number | (optional) How many stories per page. Defaults to 25. |
apiClient.publishStory ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IStory Details of the published story
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the story to publish |
apiClient.registerAsset ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IRegistration Asset registration info (used for uploading).
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | asset | IPendingAsset | Information to create asset from. | | asset.filename | string | File name to register for. | | [asset.asset_folder_id] | number | (optional) Assign a asset folder. | | [asset.id] | number | (optional) Id of existing asset to replace with this new asset. |
apiClient.reorderStory ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IStory Details of the moved story.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | id | number | Id of the story to be moved. | | afterId | number | Reference story to position after. |
apiClient.updateComponent ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IComponent Details of component that was updated.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IComponent | Storyblok component data object with modified info. |
apiClient.updateStory ⇒ Promise
Kind: instance property of ApiClient
Fulfil: IStory Details of story that was updated.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | data | IStory | Storyblok story data object with modified info. |
apiClient.uploadAsset ⇒ Promise
Kind: instance property of ApiClient
Fulfil: string Access url of the uploaded asset.
Reject: AxiosError Axios error.
| Param | Type | Description | | --- | --- | --- | | buffer | Buffer | Buffered asset data. | | registration | IRegistration | Registration info. |
apiClient.getAssetsByPage([page], [perPage]) ⇒ Promise.<Array.<IAsset>>
Kind: instance method of ApiClient
Fulfil: IAsset[] Assets on the pagination page.
Reject: AxiosError Axios error.
| Param | Type | Default | Description | | --- | --- | --- | --- | | [page] | number | 1 | Pagination page. | | [perPage] | number | 25 | Assets per page. |
Storyblok
Kind: global class
Implements: IStoryblokClass
Export:
- Storyblok
- new Storyblok(apiToken)
- .delete ⇒ Promise.<any>
- .get ⇒ Promise.<any>
- .post ⇒ Promise.<any>
- .put ⇒ Promise.<any>
new Storyblok(apiToken)
| Param | Type | Description | | --- | --- | --- | | apiToken | string | API access token. |
Example
const {Storyblok} = require('storyblok-ts-client')
const storyblok = new Storyblok('fake_api_token')
storyblok.delete ⇒ Promise.<any>
Kind: instance property of Storyblok
| Param | Type | Default | Description | | --- | --- | --- | --- | | [url] | string | "'/'" | Request url. | | [config] | ICustomAxiosRequestConfig | | Request config. |
Example
const {Storyblok} = require('storyblok-ts-client')
const storyblok = new Storyblok('fake_api_token')
const spaceId = 12345
const storyId = 123456
const url = `/${spaceId}/stories/${storyId}`
storyblok.delete(url, {retries: 3, retryDelay: 1000})
.then(res => console.log('deleted story id:', res.story.id))
// => deleted story id: 123456
storyblok.get ⇒ Promise.<any>
Kind: instance property of Storyblok
| Param | Type | Default | Description | | --- | --- | --- | --- | | [url] | string | "'/'" | Request url. | | [config] | ICustomAxiosRequestConfig | | Request config. |
Example
const {Storyblok} = require('storyblok-ts-client')
const storyblok = new Storyblok('fake_api_token')
const spaceId = 12345
const url = `/${spaceId}`
storyblok.get(url, {retries: 3, retryDelay: 1000})
.then(res => console.log('space id:', res.space.id))
// => space id: 12345
storyblok.post ⇒ Promise.<any>
Kind: instance property of Storyblok
| Param | Type | Default | Description | | --- | --- | --- | --- | | [url] | string | "'/'" | Request url. | | [data] | any | | Request data body. | | [config] | ICustomAxiosRequestConfig | | Request config. |
Example
const {Storyblok} = require('storyblok-ts-client')
const storyblok = new Storyblok('fake_api_token')
const spaceId = 12345
const url = `/${spaceId}/stories`
const story = {
name: 'test',
slug: 'test',
}
storyblok.post(url, {story}, {retries: 3, retryDelay: 1000})
.then(res => console.log('new story id:', res.story.id))
// => new story id: 123456
storyblok.put ⇒ Promise.<any>
Kind: instance property of Storyblok
| Param | Type | Default | Description | | --- | --- | --- | --- | | [url] | string | "'/'" | Request url. | | [data] | any | | Request data body. | | [config] | ICustomAxiosRequestConfig | | Request config. |
Example
const {Storyblok} = require('storyblok-ts-client')
const storyblok = new Storyblok('fake_api_token')
const spaceId = 12345
const url = `/${spaceId}/stories`
const story = {name: 'test', slug: 'test'}
storyblok.post(url, {story}, {retries: 3, retryDelay: 1000})
.then(res => {
const newStoryId = res.story.id
console.log('new story id:', newStoryId)
console.log('new story name:', res.story.name)
const updateContent = {name: 'new test', slug: 'test'}
return storyblok.put(
url + `/${newStoryId}`,
{story: updateContent},
{retries: 3, retryDelay: 1000}
)
})
.then(res => console.log('updated story name:', res.story.name))
.catch(e => console.log(e.config))
// => new story id: 123456
// => new story name: test
// => updated story name: new test
StoryblokTS
Kind: global class
Export:
new StoryblokTS(config, [rateLimit], [endpoint])
| Param | Type | Description | | --- | --- | --- | | config | any | Configurations. | | config.accessToken | string | The preview token you can find in your space dashboard at https://app.storyblok.com. | | [config.cache] | any | Cache types. | | config.cache.type | string | 'none' or 'memory'. | | config.cache.clear | string | 'auto' or 'manual'. | | [config.headers] | any | Request headers. | | [config.region] | string | Region. | | [config.https] | boolean | Switch for https. | | [config.oauthToken] | string | Management API key. | | [rateLimit] | number | Throttle value (defaults to 3 for management api and 5 for cdn api). | | [endpoint] | string | API endpoint. |
Example
// Example for using the content delivery api
// 1. Require the Storyblok client
const {StoryblokTS} = require('storyblok-ts-client')
// 2. Initialize the client with the preview
// token from your space dashboard at
// https://app.storyblok.com
let Storyblok = new StoryblokClient({
accessToken: 'your_access_token'
})
// Example for using the content management api
// 1. Require the Storyblok client
const {StoryblokTS} = require('storyblok-ts-client')
const spaceId = 12345
// 2. Initialize the client with the oauth token
// from the my account area at
// https://app.storyblok.com
let Storyblok = new StoryblokClient({
oauthToken: 'YOUR_OAUTH_TOKEN'
})
Storyblok.post(`spaces/${spaceId}/stories`, {story: {name: 'xy', slug: 'xy'}})
Storyblok.put(`spaces/${spaceId}/stories/1`, {story: {name: 'xy', slug: 'xy'}})
Storyblok.delete(`spaces/${spaceId}/stories/1`, null)
imageToBuffer(filePath, [compress], [sizeLimit], [forceFormat]) ⇒ Promise
Kind: global function
Fulfil: Buffer Buffered image data.
Reject: Error Error value.
| Param | Type | Description | | --- | --- | --- | | filePath | string | Absolute path to image file. | | [compress] | boolean | Flag to compress image. | | [sizeLimit] | number | Resizing dimension limit value. | | [forceFormat] | string | Force convert to a particular format. |
resizeImage(image, sizeLimit) ⇒ Promise
Kind: global function
Fulfil: Sharp Resized sharp object.
Reject: Error Error value.
| Param | Type | Default | Description | | --- | --- | --- | --- | | image | Sharp | | sharp object. | | sizeLimit | number | 640 | Size (in pixels) to limit image dimension. |
© 2018 juniorCitizen