1.23.0 • Published 10 months ago

@vaporcms/client-sdk-js v1.23.0

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

@vaporcms/client-sdk-js

A JavaScript/TypeScript SDK to interact with the VaporCMS API. This SDK provides a convenient way to access and manage blog data, articles, categories, authors, and locales through the VaporCMS API.

Table of Contents

Installation

Install the SDK using npm or pnpm:

# Using npm
npm install @vaporcms/client-sdk-js

# Using pnpm
pnpm add @vaporcms/client-sdk-js

Usage

Authentication To use this SDK, you need to provide your API token (auth) and blogId when initializing the client. Here's how to get started:

import { V0Client } from "@vaporcms/client-sdk-js";

const client = new V0Client({
  auth: "your-api-token",
  blogId: "your-blog-id",
});

Articles

Get article by slug. You can retrieve a localized article by its slug. Optionally, you can also provide a localeCode to fetch the content in a specific locale. If no localeCode is provided, the default locale will be used.

const articleResponse = await client.articles.get({
  slug: "example-article",
  localeCode: "en", //Optional
});
if (articleResponse.ok) {
  console.log("Localized Article:", articleResponse.data);
} else {
  console.error("Error fetching article:", articleResponse.error);
}

List articles To retrieve a list of articles, you can pass optional pagination options (page and pageSize) along with filtering options like categoryIds and authorIds.

const articlesResponse = await client.articles.list({ page: 1, pageSize: 10 });
if (articlesResponse.ok) {
  console.log("Articles:", articlesResponse.data);
} else {
  console.error("Error fetching articles:", articlesResponse.error);
}

You can also filter the list by categories or authors:

const articlesResponse = await client.articles.list({
  page: 1,
  pageSize: 10,
  categoryIds: ["category-1-id"],
  authorIds: ["author-1-id"],
});
if (articlesResponse.ok) {
  console.log("Filtered Articles:", articlesResponse.data);
} else {
  console.error("Error fetching filtered articles:", articlesResponse.error);
}

Blog

Retrieve details about your blog using the blog.get() method:

const blogResponse = await client.blog.get();
if (blogResponse.ok) {
  console.log("Blog Data:", blogResponse.data);
} else {
  console.error("Error fetching blog:", blogResponse.error);
}

Locales

List all available locales for the blog using the locales.list() method:

const localesResponse = await client.locales.list();
if (localesResponse.ok) {
  console.log("Locales:", localesResponse.data);
} else {
  console.error("Error fetching locales:", localesResponse.error);
}

Authors

Retrieve a list of authors for your blog:

const authorsResponse = await client.authors.list();
if (authorsResponse.ok) {
  console.log("Authors:", authorsResponse.data);
} else {
  console.error("Error fetching authors:", authorsResponse.error);
}

Categories

Retrieve a list of categories for your blog:

const categoriesResponse = await client.categories.list();
if (categoriesResponse.ok) {
  console.log("Categories:", categoriesResponse.data);
} else {
  console.error("Error fetching categories:", categoriesResponse.error);
}

Error Handling

Each API call returns an object with the following structure:

  • ok: true if the request was successful, false otherwise.
  • data: Contains the response data when the request is successful.
  • error: A string message describing the error if the request failed.

License

This SDK is licensed under the MIT License. See the LICENSE file for more information.

1.23.0

10 months ago

1.19.0

10 months ago

1.18.0

10 months ago

1.17.0

10 months ago

1.16.0

10 months ago

1.22.0

10 months ago

1.20.0

10 months ago

1.15.0

10 months ago

1.14.0

10 months ago

1.13.0

10 months ago

1.12.0

10 months ago

1.11.0

10 months ago

1.10.0

10 months ago

1.9.0

10 months ago

1.8.0

10 months ago

1.7.0

10 months ago

1.6.0

10 months ago