open-index/open-npm huggingface dataset:
npm package: @ikonintegration/lms-api-client
Description: LMS API client
Author: Ikon Integration
Latest version: 1.0.0-alpha8

# bccsa-program-api-client ![Node.js Package](https://github.com/ikon-integration/BCCSA-Program-API-client/workflows/Node.js%20Package/badge.svg)

BCCSA Program API nodejs API client

### Overall

- ![npm](https://img.shields.io/npm/dy/@ikonintegration/lms-api-program) ![npm](https://img.shields.io/npm/v/@ikonintegration/lms-api-program) ![npm (tag)](https://img.shields.io/npm/v/@ikonintegration/lms-api-program/latest) ![Libraries.io dependency status for latest release, scoped npm package](https://img.shields.io/librariesio/release/npm/@ikonintegration/lms-api-program)
- ![GitHub commit activity](http://sprice.redirectme.net:8555/github/commit-activity/m/ikon-integration/BCCSA-Program-API-client)
- ![GitHub last commit](http://sprice.redirectme.net:8555/github/last-commit/ikon-integration/BCCSA-Program-API-client)

### How to Use

```
import LMSClient from '@ikonintegration/bccsa-program-api-client';

const API = new LMSClient({
  endpoint: LMSAPIEndpoint,
  statsEndpoint: LMSStatsEndpoint,
  authorizationToken: '', -- optional, IDM JWT for shared module admins and user routes -- Accepts a function to be called async and return the token
  tenantID: '', customerID: ''
});

//Do something
const resp = await API.certification.xyz(ID);
if (!resp || resp.statusCode != 200) {
  return ERROR:
} return SUCCESS;

```
### Available API methods

TODO
npm package: @ikonintegration/mod-auditing-client
Description: Shared module auditing API client
Author: Ikon Integration
Latest version: 0.3.1

# module-auditing-client ![Node.js Package](https://github.com/ikon-integration/module-auditing-client/workflows/Node.js%20Package/badge.svg)

Auditing module nodejs API client

### Overall

- ![npm](https://img.shields.io/npm/dy/@ikonintegration/mod-auditing-client) ![npm](https://img.shields.io/npm/v/@ikonintegration/mod-auditing-client) ![npm (tag)](https://img.shields.io/npm/v/@ikonintegration/mod-auditing-client/latest) ![Libraries.io dependency status for latest release, scoped npm package](https://img.shields.io/librariesio/release/npm/@ikonintegration/mod-auditing-client)
- ![GitHub commit activity](http://sprice.redirectme.net:8555/github/commit-activity/m/ikon-integration/module-auditing-client)
- ![GitHub last commit](http://sprice.redirectme.net:8555/github/last-commit/ikon-integration/module-auditing-client)

### How to Use

```
import SMAuditing from '@ikonintegration/mod-auditing-client';

const API = new SMAuditing({
  port: 9090, //isOptional
  endpoint: SharedModules_AuditingEndpoint,
 //Must be specified when using service routes
  apiKey: config.examProvider.key, //API token on IDM.AppID format (generate from APIKey at https://runkit.com/gwdp/idm-appid-v1)
  //Must be specified when using admin or user routes
  authorizationToken: '', -- optional, IDM JWT for shared module admins -- Accepts a function to be called async and return the tokenroutes
  namespace: '' 
});

//Create audit trail
const resp = await API.trail.createTrail({
  'userID': 'string',
  'transactionDate': 'number',
  'eventLevel': 'any',
  'eventType': 'any',
  //Optionals
  'description': 'any?',
  'eventData': 'any?',
  //Externals IDs
  'auditKey': 'any',
  'auditSubKey': 'any?',
  //Identifiers
  'requesterID': 'string'
});
if (!resp || resp.statusCode != 200) {
  return ERROR:
} return SUCCESS;

```

### Headers
The following header must be specified in every request!
- Authorization

### Available API methods

**Trail:**
- API.trail.createOrUpdateUser(userObj) - Admin and services
- API.trail.listTrailByID(trailID) - Admin and services
- API.trail.listTrailByIDs(trailID, trailSubID) - Admin and services

**Client:**
- API.client.createClient(clientName) - Admin only
- API.client.updateClient(clientName, clientID) - Admin only
- API.client.deleteClient(clientID) - Admin only
- API.client.getClient(clientID) - Admin only
- API.client.getAllClient() - Admin only
npm package: @ikonintegration/mod-courses-client
Description: Shared module courses API client
Author: Ikon Integration
Latest version: 1.0.0-alpha5

# module-auditing-client ![Node.js Package](https://github.com/ikon-integration/module-courses-client/workflows/Node.js%20Package/badge.svg)

Courses module nodejs API client


### Overall

- ![npm](https://img.shields.io/npm/dy/@ikonintegration/mod-courses-client) ![npm](https://img.shields.io/npm/v/@ikonintegration/mod-courses-client) ![npm (tag)](https://img.shields.io/npm/v/@ikonintegration/mod-courses-client/latest) ![Libraries.io dependency status for latest release, scoped npm package](https://img.shields.io/librariesio/release/npm/@ikonintegration/mod-courses-client)
- ![GitHub commit activity](http://sprice.redirectme.net:8555/github/commit-activity/m/ikon-integration/module-courses-client)
- ![GitHub last commit](http://sprice.redirectme.net:8555/github/last-commit/ikon-integration/module-courses-client)

### How to Use

```
import SMCourses from '@ikonintegration/mod-courses-client';

const API = new SMCourses({
  //those 3 need to be provided
  endpoint: SharedModules_CoursesEndpoint,
  //Must be specified when using service routes
  apiKey: config.examProvider.key, //API token on IDM.AppID format (generate from APIKey at https://runkit.com/gwdp/idm-appid)
  //Must be specified when using admin or user routes
  authorizationToken: '', -- optional, IDM JWT for shared module admins and user routes -- Accepts a function to be called async and return the token
  namespace: '' 
});

//Create or update user
const resp = API.user.createOrUpdateUser({
          user: {
            firstName: 'Gabriel', lastName: 'Pacheco',
            email: 'gabriel.xx@gmail.com', id: 'IDM-ID'
          }
    }
);
if (!resp || resp.statusCode != 200) {
  return ERROR:
} return SUCCESS;

//Enroll user into course or update user
const resp = API.course.enrollUser(userID, courseID);
if (!resp || resp.statusCode != 200) {
  return ERROR:
} return SUCCESS;

//SSO
const resp = API.course.generateSSO(userID, courseID, optionalCallbackURL);
if (!resp || resp.statusCode != 200) {
  return ERROR:
} return resp.body.url;

```

### Headers
The following 2 headers must be specified in every request!
- ProviderID
- Authorization

### Available API methods
**User:**
- API.user.createOrUpdateUser(userObj)
- API.user.updateUser(userObj)

**Course:**
- API.course.enrollUser(userID, courseID, optionalQuizID)
- API.course.unrollUser(userID, courseID, optionalQuizID)
- API.course.generateSSO(userID, courseID, callbackURL /*optional*/)
- API.course.getGrade(userID, courseID, gradeID)
npm package: @ikonintegration/mod-preview-client
Description: Shared module license API client
Author: Ikon Integration
Latest version: 0.5.6

# module-preview-client ![Node.js Package](https://github.com/ikon-integration/module-preview-client/workflows/Node.js%20Package/badge.svg)

License module nodejs API client

### Overall

- ![npm](https://img.shields.io/npm/dy/@ikonintegration/mod-preview-client) ![npm](https://img.shields.io/npm/v/@ikonintegration/mod-preview-client) ![npm (tag)](https://img.shields.io/npm/v/@ikonintegration/mod-preview-client/latest) ![Libraries.io dependency status for latest release, scoped npm package](https://img.shields.io/librariesio/release/npm/@ikonintegration/mod-preview-client)
- ![GitHub commit activity](http://sprice.redirectme.net:8555/github/commit-activity/m/ikon-integration/module-preview-client)
- ![GitHub last commit](http://sprice.redirectme.net:8555/github/last-commit/ikon-integration/module-preview-client)

### How to Use

```
import SMPreview from '@ikonintegration/mod-preview-client';

const API = new SMPreview({
  port: 9090, //isOptional
  endpoint: SharedModules_PreviewEndpoint,
  shouldLoadLambdaLayer: true
});

```

### Headers
The following header must be specified in every request!
- Authorization

### Available API methods

**PrivateS3:**
- API.privateS3.signedGetFile(URL)
- API.privateS3.signedPutFile(URL, data, type)

**PreviewLamdaLayer:**
- API.lambdaLayer.generateImagePreview(filepath, options)
- API.lambdaLayer.generatePDFPreview(filepath, options)
- API.lambdaLayer.generateOfficePreview(filepath, options)

**PreviewS3 Signed URLS:**
- API.previewS3.generatePreviewFromSignedURLs(from, to, type, options)
npm package: @ikonintegration/mod-resources-tracker-client
Description: Module resources tracker client
Author: Ikon Integration
Latest version: 0.1.1

# module-resources-tracker-client ![Node.js Package](https://github.com/ikon-integration/module-resources-tracker-client/workflows/Node.js%20Package/badge.svg)

Resources tracker module nodejs API client

### Overall

- ![npm](https://img.shields.io/npm/dy/@ikonintegration/mod-resources-tracker-client) ![npm](https://img.shields.io/npm/v/@ikonintegration/mod-resources-tracker-client) ![npm (tag)](https://img.shields.io/npm/v/@ikonintegration/mod-resources-tracker-client/latest) ![Libraries.io dependency status for latest release, scoped npm package](https://img.shields.io/librariesio/release/npm/@ikonintegration/mod-resources-tracker-client)
- ![GitHub commit activity](http://sprice.redirectme.net:8555/github/commit-activity/m/ikon-integration/module-resources-tracker-client)
- ![GitHub last commit](http://sprice.redirectme.net:8555/github/last-commit/ikon-integration/module-resources-tracker-client)

### How to Use

```
import RTClient from '@ikonintegration/mod-resources-tracker-client';

const client = new RTClient({ busName: 'XXXX', region: 'ev-region', source: 'myappname' });
//Appends events
client.appendEvent(RTCClient.newDynamoEvent(tableName, 0, 15));
//drains the pool
await client.drain();

```

### Available Claim Events

**Product:**
- API.newDynamoEvent(tableName, readUnits, writeUnits)
- API.newECSExecutionEvent(taskID, containerInstanceID, moreDetails)
- API.newLambdaInvocationEvent(invocationID)
- API.newSearchEvent(clusterID, queryCount)
- API.newStepFunctionExecutionEvent(invocationID)
npm package: @ikonintegration/orangepiggy-api-client
Description: Orange Piggy API Client
Author: Ikon Integration
Latest version: 2.0.1-alpha1

# orangepiggy-api-client ![Node.js Package](https://github.com/ikon-integration/orangepiggy-api-client/workflows/Node.js%20Package/badge.svg)

Orange Piggy nodejs API client

### Overall

- ![npm](https://img.shields.io/npm/dy/@ikonintegration/orangepiggy-api-client) ![npm](https://img.shields.io/npm/v/@ikonintegration/orangepiggy-api-client) ![npm (tag)](https://img.shields.io/npm/v/@ikonintegration/orangepiggy-api-client/latest) ![Libraries.io dependency status for latest release, scoped npm package](https://img.shields.io/librariesio/release/npm/@ikonintegration/orangepiggy-api-client)
- ![GitHub commit activity](http://sprice.redirectme.net:8555/github/commit-activity/m/ikon-integration/orangepiggy-api-client)
- ![GitHub last commit](http://sprice.redirectme.net:8555/github/last-commit/ikon-integration/orangepiggy-api-client)

### How to Use

```
import OPAPI from '@ikonintegration/orangepiggy-api-client';

const API = new OPAPI({
  port: 9090, //isOptional
  endpoint: SOMETHING,
  endpointB: SOMETHING_OPTIONAL,
  authorizationToken: '', -- required, IDM JWT -- Accepts a function to be called async and return the token
  ipc: IPCObject, -- optional IPC object/function
  disableLogs: false -- optional, default to false
});

```

### Available API methods

TODO
npm package: @ikonintegration/react-slaask
Description: Slaask component for react
Latest version: 0.0.1

# React Slaask

This package is based on react-slaask. This component implements the Slaask widget with the provided properties using react.

## Installation

```
npm install @ikonintegration/react-slaask --save
```

Next, import the component into a React project:

```js
import Slaask from '@ikonintegration/react-slaask';
```

## Usage of the component

```js
render() {
return (
<Slaask widgetKey="your-widget-key" userInfo={object} />
);
}
```

| prop         | description                                       |
| ------------ | ------------------------------------------------- |
| widgetKey    | The widgetKey you can obtain via slaask           |
| userInfo     | Info of the person sending you a message          |

## Example userInfo object
```js
{
  /* Mandatory metadata */
  user_hash: ____,         // Avoid user impersonation
  id: ____,                // User ID (Mandatory)
  name: ____,              // Your user's full name

  /* Recommended metadata */
  email: ____,             // Your user's email address
  avatar: ____,            // Your user's profile picture

  /* You are free to add anything you want */
  super_cool_person: ____, // Boolean (true / false)
  company: {
    created_at: ____       // Use timestamps for date attributes.
  }
}
```
npm package: @ikonintegration/ses-bounce-reporter-client
Description: Shared module email log API client
Author: Ikon Integration
Latest version: 1.0.8

# ses-bounce-reporter-client ![Node.js Package](https://github.com/ikon-integration/ses-bounce-reporter-client/workflows/Node.js%20Package/badge.svg)

### Overall

- ![npm](https://img.shields.io/npm/dy/@ikonintegration/ses-bounce-reporter-client) ![npm](https://img.shields.io/npm/v/@ikonintegration/ses-bounce-reporter-client) ![npm (tag)](https://img.shields.io/npm/v/@ikonintegration/ses-bounce-reporter-client/latest) ![Libraries.io dependency status for latest release, scoped npm package](https://img.shields.io/librariesio/release/npm/@ikonintegration/ses-bounce-reporter-client)
- ![GitHub commit activity](http://sprice.redirectme.net:8555/github/commit-activity/m/ikon-integration/ses-bounce-reporter-client)
- ![GitHub last commit](http://sprice.redirectme.net:8555/github/last-commit/ikon-integration/ses-bounce-reporter-client)

### How to Use

```
import SMEmailLog from '@ikonintegration/ses-bounce-reporter-client';

const API = new EmailLog({
  port: 9090, //isOptional
  endpoint: EmailLogEndpoint,
  //Must be specified when using service routes
  apiKey: config.examProvider.key, //API token on IDM.AppID format (generate from APIKey at https://runkit.com/gwdp/idm-appid-v1)
  //Must be specified when using admin or user routes
  authorizationToken: '', -- optional, IDM JWT for shared module admins and user routes -- Accepts a function to be called async and return the token
  clientID: ''
});

//Revoke License
const resp = await API.messageEvent.search(searchObject);
if (!resp || resp.statusCode != 200) {
  return ERROR:
} return SUCCESS;

```

### Headers

The following header must be specified in every request!

- Authorization

### Available API methods

**MessageEvent:**

- API.product.get(clientid, msgid, email, eventType, timestamp) - Admin only
- API.product.search(searchObject) - Admin only