1.0.2 • Published 10 months ago

strapi-sdk-ts v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
10 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

10 months ago

1.0.0

10 months ago