3.1.4 • Published 7 months ago

@roadiz/abstract-api-client v3.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

abstract-api-client

Abstract API Typescript client interfaces and SDK.

Based on Axios HTTP client.

Usage

Version 3.x should only be used with Roadiz v2.1+, for older versions use version 2.x

yarn add @roadiz/abstract-api-client

tsconfig.json

{
  "compilerOptions": {
    "types": [
      "@roadiz/abstract-api-client"
    ]
  }
}

Customize Roadiz API client against your own API schema

  • Download latest d.ts definition file from Roadiz backoffice
  • Extend RoadizApi class
export default class MyAwesomeRoadizApi extends RoadizApi {
    /*
     * Page node-type
     */
    getPages(params: RoadizRequestNSParams) {
        return this.get<HydraCollection<NSPage>, RoadizRequestNSParams>('pages', { params })
    }
    
    /*
     * BlogPost node-type
     */
    getBlogPosts(params: RoadizRequestNSParams) {
        // Additional default params…
        params = {
            order: {
                publishedAt: 'DESC'
            },
            ...params,
        }
        return this.get<HydraCollection<NSBlockPost>, RoadizRequestNSParams>('blog_posts', { params })
    }
}

Fetch all URLs for a sitemap

const api = new RoadizApi(process.env.API_BASE_URL,)

return api.fetchAllUrlsForLocale('fr').then((urls: Array<string>) => {
    // build your sitemap
})

Get all alternative URLs for a node-source

Alternative links are useful to build language navigation for each website page. It's based on HTTP response header Link. API getAlternateLinks method will return a Array<AlternateLink> from an AxiosResponse:

const api = new RoadizApi(process.env.API_BASE_URL)

api.getWebResponseByPath('/').then((response) => {
    /*
     * [{
     *     url: '/',
     *     locale: 'en'
     * }, {
     *     url: '/fr',
     *     locale: 'fr'
     * }]
     */
    api.getAlternateLinks(response)
})

Test

Tests use jest and require a working Roadiz headless API to fetch responses from. Copy .env.dist to .env and fill your server credentials.

yarn
cp .env.dist .env
yarn test
3.1.3

8 months ago

3.1.2

9 months ago

3.1.4

7 months ago

3.1.1

11 months ago

3.1.0

1 year ago

3.0.2

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

1.0.3

2 years ago

2.1.4

2 years ago

2.0.14

2 years ago

2.1.2

2 years ago

2.1.1

2 years ago

2.0.13

2 years ago

2.1.3

2 years ago

2.1.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

2.0.11

2 years ago

2.0.12

2 years ago

2.0.10

2 years ago

2.0.9

2 years ago

2.0.7

2 years ago

2.0.6

2 years ago

2.0.8

2 years ago

1.0.0

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

0.2.0

3 years ago

0.1.10

3 years ago

0.1.11

3 years ago

0.1.12

3 years ago

0.1.8

3 years ago

0.1.9

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago