@chakadev/sdk

Enterprise SDK for chaka.ng for both browser and nodejs

Usage no npm install needed!

<script type="module">
  import chakadevSdk from 'https://cdn.skypack.dev/@chakadev/sdk';
</script>

README

chaka-react-sdk

Project documentation is currently being developed under the Doc's folder.

Chaka React SDK

Enterprise integration components provided chaka.ng

NPM JavaScript Style Guide

Install

npm install --save @chakadev/sdk

CHAKA JavaScript cross platform SDK

The SDK is designed to be modular for tree shaking for browser usage and in a plug and play architecture. The SDk allows you to import what you need if you choose or rather than importing everything. The SDK requires an APIKEY which is used for authentication with the ChakaAuth Class, the authenticated instance is passed around to other methods and classes which requires interaction with Chaka APIs.

Usage

ACCOUNT MANAGER

The account manager controls the user accounts which include creating account, login and refreshing account token information. The Account manager takes an instance of the ChakaAuth for it's authorization.

// ES6 import style.
import { ChakaAuth } from '@chakadev/sdk/lib/auth/api';
import { Account } from '@chakadev/sdk/lib/auth/account';

// To initialize the account manager you need to first,
// initialize a ChakaAuth instance with your APIKEY.
// NOTE:// for Node.JS and React-Native you should set your APIKEY has enviroment variables
const authorization = ChakaAuth.init('MY-API-KEY');

// To  create an account manager instance, you pass your Chaka Auth Instance.
const manager = new AccountManager(authorization);

The account manager exposes various methods to manage accounts.

Create Account.

Creation of account requires passing the email and password for the new account.

manager.createUserAccount({ email: 'email@c.com', password: '122345' })
    .then(console.log)

The response of the creating account is

{
    "status": true,
    "data": {
    "message": "Sign up Successfu"',
    "user": {
      "chakaID": "1012567811",
      "email": "testuser@testmail.com"
    }
  }
}

Login To Account.

Login to an account requires passing the email and password for the new account.

manager.loginUserAccount({ email: 'email@c.com', password: '122345' })
    .then(console.log)

The response of the login to an account is a new token user

{
    "status": true,
    "data": {
    "refreshToken": "rjbsjbhsbdsdsdsd",
    "token": "shsfjshfjsfhsjfhsjfhsfjh"
  }
}

Refresh User Token.

Refreshing user token allows the user to retreive a new Token to interact securely with chaka APIS.

manager.refreshUserToken({ chakaID: 'random-chaka-ID', email: 'manager@email.com' })
    .then(console.log)

The response of the refreshing for an account is retrieving a new account

{
    "status": true,
    "data": {
    "refreshToken": "refreshtokenRefersstoken",
    "token": "shsfjshfjsfhsjfhsjrefreshtokenRefersstoken"
  }
}

License

MIT © chakadev