Pod Point AUTH SERVICE API SDK (JS)
A JavaScript wrapper for the Pod Point Auth Service API (v1) built with TypeScript.
Installation
To install this package, run the following command:
npm install --save @pod-point/auth-api-js'
Usage
This package contains a client, repositories, services, models and factories.
Client
First, you will want to create a new client instance.
import { Client } from '@pod-point/auth-api-js';
const client = new Client(accessKey, secretKey, userAgent, domain, prefix);
Repositories & Services
Next, you can start creating and using repository and service instances with the client you have just created.
import { UserRepository } from '@pod-point/auth-api-js';
import client from 'path/to/client';
const userRepository = new UserRepository(client);
### Models & Factories
Lastly, you can use the model factories to create:
- fake model instances
- fake objects representing a models attributes
- fake objects representing a models payload
```js
import { UserFactory } from '@pod-point/auth-api-js';
const userFactory = new UserFactory();
const fakeUserPayload = userFactory.payload();
const fakeUserAttributes = userFactory.attributes();
const fakeUser = userFactory.model();
Overrides can be passed into all of these methods, and there is also a method available to generate any of these objects in a pre-defined "state".
This is styled on the Laravel factories.
Example:
import { UserFactory } from '@pod-point/auth-api-js';
const userFactory = new UserFactory();
const user = userFactory.model();
In the example above we have applied the "single" state before generating the model, this basically applies some pre-defined overrides to the fake payload/attributes.
Development
Testing
This package uses jest. To run the test suites for this project, run the following command:
npm run test
Releases
This package is distributed via NPM and published automatically by Travis when creating a tagged commit. This can be done in one of 2 ways:
1. Pre-merge via the CLI
Before merging your PR following code review & QA, run the following commands to update the package version and create a new release/tag.
npm version <major|minor|patch|prerelease>
git push && git push --tags
If you forget to do this before merging, this is not a problem, just create a new branch from master and run these same commands, remembering to open and merge a PR for this branch so that the package.json
file is updated, alternatively, see option 2.