aws-user-service
Advanced tools
Comparing version 1.1.17 to 1.2.0
28
index.js
@@ -5,4 +5,5 @@ const AWS = require('aws-sdk') | ||
module.exports = class AwsUserService { | ||
constructor(authIntegrationUserPoolId) { | ||
constructor(authIntegrationUserPoolId, userRepository) { | ||
this.authIntegrationUserPoolId = authIntegrationUserPoolId | ||
this.userRepository = userRepository | ||
this.cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider() | ||
@@ -32,2 +33,27 @@ } | ||
async getOrganisationIdFromRequest(request) { | ||
const realUserId = this.getActualUserIdFromRequest(request) | ||
if (!request.query.impersonatingUserId) { | ||
const user = await this.userRepository.getById(realUserId, realUserId) | ||
if (!user) { | ||
throw new Error('User not found') | ||
} | ||
return user.organisationId | ||
} | ||
// check if current user is Admin | ||
const adminCheckSuccessful = await this.isAdmin(realUserId) | ||
if (adminCheckSuccessful === true) { | ||
// return impersonating user's organisation id | ||
const user = await this.userRepository.getById(request.query.impersonatingUserId, request.query.impersonatingUserId) | ||
if (!user) { | ||
throw new Error('User not found') | ||
} | ||
return user.organisationId | ||
} | ||
console.log('No admin permission to impersonate user', request.query.impersonatingUserId) | ||
throw new Error('Non admin attempt to impersonate'); | ||
} | ||
async getUser(userId) { | ||
@@ -34,0 +60,0 @@ return await this.getUserById(userId) |
{ | ||
"name": "aws-user-service", | ||
"version": "1.1.17", | ||
"version": "1.2.0", | ||
"description": "Contain methods to work with asw user", | ||
@@ -11,3 +11,5 @@ "main": "index.js", | ||
"license": "ISC", | ||
"dependencies": {} | ||
"dependencies": { | ||
"senter-mongo-repository": "^3.2.1" | ||
} | ||
} |
5455
123
1
+ Added@types/node@22.13.4(transitive)
+ Added@types/webidl-conversions@7.0.3(transitive)
+ Added@types/whatwg-url@8.2.2(transitive)
+ Addedbase64-js@1.5.1(transitive)
+ Addedbson@4.7.2(transitive)
+ Addedbuffer@5.7.1(transitive)
+ Addeddenque@2.1.0(transitive)
+ Addedieee754@1.2.1(transitive)
+ Addedip-address@9.0.5(transitive)
+ Addedjsbn@1.1.0(transitive)
+ Addedmemory-pager@1.5.0(transitive)
+ Addedmongodb@4.9.0(transitive)
+ Addedmongodb-connection-string-url@2.6.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedsaslprep@1.0.3(transitive)
+ Addedsenter-mongo-repository@3.3.4(transitive)
+ Addedsmart-buffer@4.2.0(transitive)
+ Addedsocks@2.8.4(transitive)
+ Addedsparse-bitfield@3.0.3(transitive)
+ Addedsprintf-js@1.1.3(transitive)
+ Addedtr46@3.0.0(transitive)
+ Addedundici-types@6.20.0(transitive)
+ Addeduuid@8.3.2(transitive)
+ Addedwebidl-conversions@7.0.0(transitive)
+ Addedwhatwg-url@11.0.0(transitive)