1.0.2 • Published 9 months ago

strapi-sdk-ts v1.0.2

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

Strapi SDK TS

A simple TypeScript client for interacting with Strapi APIs, built using Axios. This package allows you to easily fetch, create, update, and delete resources from a Strapi backend. It also supports user authentication.

Table of Contents


Installation

Install the package using npm or yarn:

npm install strapi-sdk-ts

To use the Strapi client, initialize an instance by providing optional configurations such as baseUrl, apiKey, or axiosOptions

import Strapi from 'strapi-sdk-ts';

const strapi = new Strapi({
  baseUrl: 'https://your-strapi-instance.com/api',   // Optional, default is 'http://localhost:1337/api'
  // the base url should be added without the /api it will be appended automatically
  apiKey: 'your-api-key',                          // Optional API Key for authentication
  axiosOptions: {timeout: 5000}                   // Optional Axios configurations
});
Methods
strapi.findOne<User>('users', 1)
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
  • resource: The endpoint or resource name.
  • id: The unique identifier of the resource.

strapi.findAll<User>('users')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
  • resource: The endpoint or resource name.

strapi.create<User>('users', {name: 'John Doe', email: 'john@example.com'})
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
  • resource: The endpoint or resource name.
  • body: The data to be sent to the server.

strapi.update<User>('users', 1, {email: 'john.doe@example.com'})
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
  • resource: The endpoint or resource name.
  • id: The unique identifier of the resource.
  • updatedData: The new data for the resource.

strapi.delete('users', 1)
  .then(response => console.log(response.deleted))
  .catch(error => console.error(error));
  • resource: The endpoint or resource name.
  • id: The unique identifier of the resource.

strapi.login({identifier: 'user@example.com', password: 'password123'})
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
  • StrapiClientArgs: Arguments for initializing the Strapi client, such as:

    • baseUrl: The base URL of the Strapi API (optional).
    • apiKey: The API key for authentication (optional).
    • axiosOptions: Additional Axios configurations (optional) check axios library for more details.
  • StrapiResponse<T>: The response object returned by most methods, containing:

    • data: The response data.
    • status: The HTTP status code.
  • StrapiDeleteResponse: The response object for the delete method, containing:

    • deleted: A boolean indicating if the deletion was successful.
    • status: The HTTP status code.
  • StrapiDocument: It contians the default column types provided by strapi.
  • Metadata: It containst the pagination type which would be returned using findAll method.

License

This project is licensed under the MIT License. See the LICENSE file for details.

1.0.2

9 months ago

1.0.0

9 months ago