just-gains-api-sdk
v0.2.2
Published
SDK to connect to the JustGains API
Downloads
33
Readme
Getting Started with JustGains-API
Introduction
API for managing workout programs, exercises, and user accounts. Includes endpoints for creating, updating, and deleting workouts, exercises, and user profiles, as well as managing exercise instructions, videos, and equipment data.
Install the Package
Run the following command from your project directory to install the package from npm:
npm install [email protected]
For additional package details, see the Npm page for the [email protected] npm.
Test the SDK
To validate the functionality of this SDK, you can execute all tests located in the test
directory. This SDK utilizes Jest
as both the testing framework and test runner.
To run the tests, navigate to the root directory of the SDK and execute the following command:
npm run test
Or you can also run tests with coverage report:
npm run test:coverage
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
| --- | --- | --- |
| environment
| Environment
| The API environment. Default: Environment.Testing
|
| timeout
| number
| Timeout for API calls.Default: 0
|
| httpClientOptions
| Partial<HttpClientOptions>
| Stable configurable http client options. |
| unstableHttpClientOptions
| any
| Unstable configurable http client options. |
| bearerAuthCredentials
| BearerAuthCredentials
| The credential object for bearerAuth |
| userRolesCredentials
| UserRolesCredentials
| The credential object for userRoles |
HttpClientOptions
| Parameter | Type | Description |
| --- | --- | --- |
| timeout
| number
| Timeout in milliseconds. |
| httpAgent
| any
| Custom http agent to be used when performing http requests. |
| httpsAgent
| any
| Custom https agent to be used when performing http requests. |
| retryConfig
| Partial<RetryConfiguration>
| Configurations to retry requests. |
RetryConfiguration
| Parameter | Type | Description |
| --- | --- | --- |
| maxNumberOfRetries
| number
| Maximum number of retries. Default: 0
|
| retryOnTimeout
| boolean
| Whether to retry on request timeout. Default: true
|
| retryInterval
| number
| Interval before next retry. Used in calculation of wait time for next request in case of failure. Default: 1
|
| maximumRetryWaitTime
| number
| Overall wait time for the requests getting retried. Default: 0
|
| backoffFactor
| number
| Used in calculation of wait time for next request in case of failure. Default: 2
|
| httpStatusCodesToRetry
| number[]
| Http status codes to retry against. Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
|
| httpMethodsToRetry
| HttpMethod[]
| Http methods to retry against. Default: ['GET', 'PUT']
|
The API client can be initialized as follows:
const client = new Client({
bearerAuthCredentials: {
accessToken: 'AccessToken'
},
userRolesCredentials: {
'X-User-Role': 'X-User-Role'
},
timeout: 0,
environment: Environment.Testing,
});
Environments
The SDK can be configured to use a different environment for making API calls. Available environments are:
Fields
| Name | Description | | --- | --- | | testing | Default | | production | - | | mock | - |
Authorization
This API uses the following authentication schemes.
List of APIs
- Users Creator Profiles
- Users Social Media Accounts
- Exercise Library Exercises
- Exercise Library Exercises Exercise Instructions
- Exercise Library Exercises Exercise Videos
- Exercise Library Exercises Exercise Thumbnails
- Exercise Library Muscles
- Exercise Library Muscles Muscle Groups
- Exercise Library Equipment
- Exercise Library Equipment Equipment Groups
- Exercise Library Exercise Drafts
- Exercise Library Exercise Categories
- Exercise Library Exercise Metrics
- Workouts Workout Data
- Workouts Workout Content
- Workouts Workout Preview
- Common Media Assets
- Common Locales
- Common Published Status
- Status
- Authentication
- Users
- Users Roles
- Workouts