Socket
Socket
Sign inDemoInstall

@ndustrial/contxt-sdk

Package Overview
Dependencies
Maintainers
16
Versions
123
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ndustrial/contxt-sdk - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

10

CHANGELOG.md

@@ -0,1 +1,11 @@

## [v1.2.0](http://github.com/ndustrialio/contxt-sdk-js/tree/v1.2.0) (2019-05-30)
**Added**
- Added `Coordinator.permissions#getOneByOrganizationId` for getting a single user's permissions within an organization
**Changed**
- Renamed `Coordinator.permissions#getByOrganizationId` to `Coordinator.permissions#getAllByOrganizationId` for getting every user's permissions within an organization.
## [v1.1.0](http://github.com/ndustrialio/contxt-sdk-js/tree/v1.1.0) (2019-05-29)

@@ -2,0 +12,0 @@

33

docs/Permissions.md

@@ -10,3 +10,4 @@ <a name="Permissions"></a>

* [new Permissions(sdk, request, baseUrl)](#new_Permissions_new)
* [.getByOrganizationId(organizationId)](#Permissions+getByOrganizationId) ⇒ <code>Promise</code>
* [.getAllByOrganizationId(organizationId)](#Permissions+getAllByOrganizationId) ⇒ <code>Promise</code>
* [.getOneByOrganizationId(organizationId, userId)](#Permissions+getOneByOrganizationId) ⇒ <code>Promise</code>
* [.getByUserId(userId)](#Permissions+getByUserId) ⇒ <code>Promise</code>

@@ -24,5 +25,5 @@

<a name="Permissions+getByOrganizationId"></a>
<a name="Permissions+getAllByOrganizationId"></a>
### contxtSdk.coordinator.permissions.getByOrganizationId(organizationId) ⇒ <code>Promise</code>
### contxtSdk.coordinator.permissions.getAllByOrganizationId(organizationId) ⇒ <code>Promise</code>
Gets a list of user permissions for each user in an organization

@@ -44,6 +45,30 @@

contxtSdk.coordinator.permissions
.getByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')
.getAllByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')
.then((usersPermissions) => console.log(usersPermissions))
.catch((err) => console.log(err));
```
<a name="Permissions+getOneByOrganizationId"></a>
### contxtSdk.coordinator.permissions.getOneByOrganizationId(organizationId, userId) ⇒ <code>Promise</code>
Gets a single user's permissions within an organization
API Endpoint: '/organizations/:organizationId/users/:userId/permissions'
Method: GET
**Kind**: instance method of [<code>Permissions</code>](#Permissions)
**Fulfill**: [<code>ContxtUserPermissions</code>](./Typedefs.md#ContxtUserPermissions) A single user's permissions
**Reject**: <code>Error</code>
| Param | Type | Description |
| --- | --- | --- |
| organizationId | <code>string</code> | The ID of the organization |
| userId | <code>string</code> | The ID of the user |
**Example**
```js
contxtSdk.coordinator.permissions
.getOneByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b', 'auth0|12345')
.then((usersPermissions) => console.log(usersPermissions))
.catch((err) => console.log(err));
```
<a name="Permissions+getByUserId"></a>

@@ -50,0 +75,0 @@

@@ -51,3 +51,3 @@ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

* contxtSdk.coordinator.permissions
* .getByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')
* .getAllByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')
* .then((usersPermissions) => console.log(usersPermissions))

@@ -59,4 +59,4 @@ * .catch((err) => console.log(err));

_createClass(Permissions, [{
key: 'getByOrganizationId',
value: function getByOrganizationId(organizationId) {
key: 'getAllByOrganizationId',
value: function getAllByOrganizationId(organizationId) {
if (!organizationId) {

@@ -72,2 +72,38 @@ return Promise.reject(new Error('An organization ID is required for getting users permissions for an organization'));

/**
* Gets a single user's permissions within an organization
*
* API Endpoint: '/organizations/:organizationId/users/:userId/permissions'
* Method: GET
*
* @param {string} organizationId The ID of the organization
* @param {string} userId The ID of the user
*
* @returns {Promise}
* @fulfill {ContxtUserPermissions} A single user's permissions
* @reject {Error}
*
* @example
* contxtSdk.coordinator.permissions
* .getOneByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b', 'auth0|12345')
* .then((usersPermissions) => console.log(usersPermissions))
* .catch((err) => console.log(err));
*/
}, {
key: 'getOneByOrganizationId',
value: function getOneByOrganizationId(organizationId, userId) {
if (!organizationId) {
return Promise.reject(new Error("An organization ID is required for getting a user's permissions for an organization"));
}
if (!userId) {
return Promise.reject(new Error("A user ID is required for getting a user's permissions for an organization"));
}
return this._request.get(this._baseUrl + '/organizations/' + organizationId + '/users/' + userId + '/permissions').then(function (userPermissions) {
return toCamelCase(userPermissions);
});
}
/**
* Gets a map of permission scopes to which the user has access

@@ -74,0 +110,0 @@ *

@@ -56,3 +56,3 @@ 'use strict';

* contxtSdk.coordinator.permissions
* .getByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')
* .getAllByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')
* .then((usersPermissions) => console.log(usersPermissions))

@@ -64,4 +64,4 @@ * .catch((err) => console.log(err));

_createClass(Permissions, [{
key: 'getByOrganizationId',
value: function getByOrganizationId(organizationId) {
key: 'getAllByOrganizationId',
value: function getAllByOrganizationId(organizationId) {
if (!organizationId) {

@@ -77,2 +77,38 @@ return Promise.reject(new Error('An organization ID is required for getting users permissions for an organization'));

/**
* Gets a single user's permissions within an organization
*
* API Endpoint: '/organizations/:organizationId/users/:userId/permissions'
* Method: GET
*
* @param {string} organizationId The ID of the organization
* @param {string} userId The ID of the user
*
* @returns {Promise}
* @fulfill {ContxtUserPermissions} A single user's permissions
* @reject {Error}
*
* @example
* contxtSdk.coordinator.permissions
* .getOneByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b', 'auth0|12345')
* .then((usersPermissions) => console.log(usersPermissions))
* .catch((err) => console.log(err));
*/
}, {
key: 'getOneByOrganizationId',
value: function getOneByOrganizationId(organizationId, userId) {
if (!organizationId) {
return Promise.reject(new Error("An organization ID is required for getting a user's permissions for an organization"));
}
if (!userId) {
return Promise.reject(new Error("A user ID is required for getting a user's permissions for an organization"));
}
return this._request.get(this._baseUrl + '/organizations/' + organizationId + '/users/' + userId + '/permissions').then(function (userPermissions) {
return (0, _objects.toCamelCase)(userPermissions);
});
}
/**
* Gets a map of permission scopes to which the user has access

@@ -79,0 +115,0 @@ *

2

package.json
{
"name": "@ndustrial/contxt-sdk",
"version": "1.1.0",
"version": "1.2.0",
"description": "",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -44,7 +44,7 @@ import { toCamelCase } from '../utils/objects';

* contxtSdk.coordinator.permissions
* .getByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')
* .getAllByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')
* .then((usersPermissions) => console.log(usersPermissions))
* .catch((err) => console.log(err));
*/
getByOrganizationId(organizationId) {
getAllByOrganizationId(organizationId) {
if (!organizationId) {

@@ -64,2 +64,47 @@ return Promise.reject(

/**
* Gets a single user's permissions within an organization
*
* API Endpoint: '/organizations/:organizationId/users/:userId/permissions'
* Method: GET
*
* @param {string} organizationId The ID of the organization
* @param {string} userId The ID of the user
*
* @returns {Promise}
* @fulfill {ContxtUserPermissions} A single user's permissions
* @reject {Error}
*
* @example
* contxtSdk.coordinator.permissions
* .getOneByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b', 'auth0|12345')
* .then((usersPermissions) => console.log(usersPermissions))
* .catch((err) => console.log(err));
*/
getOneByOrganizationId(organizationId, userId) {
if (!organizationId) {
return Promise.reject(
new Error(
"An organization ID is required for getting a user's permissions for an organization"
)
);
}
if (!userId) {
return Promise.reject(
new Error(
"A user ID is required for getting a user's permissions for an organization"
)
);
}
return this._request
.get(
`${
this._baseUrl
}/organizations/${organizationId}/users/${userId}/permissions`
)
.then((userPermissions) => toCamelCase(userPermissions));
}
/**
* Gets a map of permission scopes to which the user has access

@@ -66,0 +111,0 @@ *

@@ -52,3 +52,3 @@ import Permissions from './permissions';

describe('getByOrganizationId', function() {
describe('getAllByOrganizationId', function() {
context('when the organization ID is provided', function() {

@@ -89,3 +89,3 @@ let expectedUsersPermissions;

const permissions = new Permissions(baseSdk, request, expectedHost);
promise = permissions.getByOrganizationId(expectedOrganizationId);
promise = permissions.getAllByOrganizationId(expectedOrganizationId);
});

@@ -115,3 +115,3 @@

const permissions = new Permissions(baseSdk, baseRequest, expectedHost);
const promise = permissions.getByOrganizationId();
const promise = permissions.getAllByOrganizationId();

@@ -125,2 +125,92 @@ return expect(promise).to.be.rejectedWith(

describe('getOneByOrganizationId', function() {
context('when the organization ID is provided', function() {
let expectedUserPermissions;
let userPermissionFromServer;
let expectedOrganizationId;
let expectedUserId;
let promise;
let request;
let toCamelCase;
beforeEach(function() {
expectedOrganizationId = fixture.build('contxtOrganization').id;
expectedUserId = fixture.build('contxtUser').id;
expectedUserPermissions = fixture.build('contxtUserPermissions', {
organizationId: expectedOrganizationId
});
userPermissionFromServer = fixture.build(
'contxtUserPermissions',
expectedUserPermissions,
{
fromServer: true
}
);
request = {
...baseRequest,
get: this.sandbox.stub().resolves(userPermissionFromServer)
};
toCamelCase = this.sandbox
.stub(objectUtils, 'toCamelCase')
.returns(expectedUserPermissions);
const permissions = new Permissions(baseSdk, request, expectedHost);
promise = permissions.getOneByOrganizationId(
expectedOrganizationId,
expectedUserId
);
});
it('gets the user permissions from the server', function() {
expect(request.get).to.be.calledWith(
`${expectedHost}/organizations/${expectedOrganizationId}/users/${expectedUserId}/permissions`
);
});
it('formats the of user permissions', function() {
return promise.then(() => {
expect(toCamelCase).to.be.calledWith(userPermissionFromServer);
});
});
it('returns a fulfilled promise with the users permissions', function() {
return expect(promise).to.be.fulfilled.and.to.eventually.deep.equal(
expectedUserPermissions
);
});
});
context('when the organization ID is not provided', function() {
it('throws an error', function() {
const expectedUserId = fixture.build('contxtUser').id;
const permissions = new Permissions(baseSdk, baseRequest, expectedHost);
const promise = permissions.getOneByOrganizationId(
null,
expectedUserId
);
return expect(promise).to.be.rejectedWith(
"An organization ID is required for getting a user's permissions for an organization"
);
});
});
context('when the user ID is not provided', function() {
it('throws an error', function() {
const expectedOrganizationId = fixture.build('contxtOrganization').id;
const permissions = new Permissions(baseSdk, baseRequest, expectedHost);
const promise = permissions.getOneByOrganizationId(
expectedOrganizationId,
null
);
return expect(promise).to.be.rejectedWith(
"A user ID is required for getting a user's permissions for an organization"
);
});
});
});
describe('getByUserId', function() {

@@ -127,0 +217,0 @@ context('the user ID is provided', function() {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc