@ndustrial/contxt-sdk
Advanced tools
Comparing version 1.1.0 to 1.2.0
@@ -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 @@ |
@@ -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 @@ * |
{ | ||
"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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2333275
37526