{"_id":"@abh121/truiam_rbacc","name":"@abh121/truiam_rbacc","dist-tags":{"latest":"2.0.0"},"versions":{"2.0.0":{"name":"@abh121/truiam_rbacc","version":"2.0.0","description":"[![npm](https://img.shields.io/npm/v/truiam-rbac.svg?style=flat)](https://www.npmjs.com/package/truiam-rbac)\r ![Downloads](https://img.shields.io/npm/dw/truiam-rbac)\r [![License](https://img.shields.io/:license-mit-blue.svg?style=flat)](https://opensource","main":"lib/app.js","types":"lib/app.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1","dev":"NODE_ENV=local PORT=5001 npx ts-node-dev --transpile-only src/app.ts","build":"npx rimraf lib && npx tsc","prepare":"npm run build","build-and-link":"npm-run-all build link","link":"npm link","start":"npm run build-and-link"},"author":{"name":"TRUIAM"},"license":"ISC","dependencies":{"axios":"^1.3.4","redis":"^3.1.2","typescript":"^5.0.3"},"devDependencies":{"@types/node":"^18.15.11","dotenv":"^16.3.1","express":"^4.18.2","jwt-decode":"^3.1.2","npm-run-all":"^4.1.5"},"gitHead":"8ff2f8d6acf3acec55722abef920c75dd06675f9","_id":"@abh121/truiam_rbacc@2.0.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-rb3fn5sMYKdZrHihxo2ewgk7gT4dMoJtSx6yXOl1MS6QfgEZy5hFyGwAZTaNgRKzdwsxYU4UiH8Cqqt6TW1i0g==","shasum":"0ac69596993a34244d6566b7c506fb2f0c21a87e","tarball":"https://registry.npmjs.org/@abh121/truiam_rbacc/-/truiam_rbacc-2.0.0.tgz","fileCount":92,"unpackedSize":378251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1qy0YXv2lELrVyGhe/K6sW0ZrphhIVDA3Kw6GpI5oegIgYIJrCafnZOp/Db2mSLoS2k2FEzXuFcRpk4FG+FbCVRU="}]},"_npmUser":{"name":"abh121","email":"abhishek.srivastava@truminds.com"},"directories":{},"maintainers":[{"name":"abh121","email":"abhishek.srivastava@truminds.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/truiam_rbacc_2.0.0_1709638269762_0.2632070836414848"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-05T11:31:09.665Z","2.0.0":"2024-03-05T11:31:09.995Z","modified":"2024-03-05T11:31:10.534Z"},"maintainers":[{"name":"abh121","email":"abhishek.srivastava@truminds.com"}],"description":"[![npm](https://img.shields.io/npm/v/truiam-rbac.svg?style=flat)](https://www.npmjs.com/package/truiam-rbac)\r ![Downloads](https://img.shields.io/npm/dw/truiam-rbac)\r [![License](https://img.shields.io/:license-mit-blue.svg?style=flat)](https://opensource","author":{"name":"TRUIAM"},"license":"ISC","readme":"# RBAC MODULE\r\n[![npm](https://img.shields.io/npm/v/truiam-rbac.svg?style=flat)](https://www.npmjs.com/package/truiam-rbac)\r\n![Downloads](https://img.shields.io/npm/dw/truiam-rbac)\r\n[![License](https://img.shields.io/:license-mit-blue.svg?style=flat)](https://opensource.org/licenses/MIT)\r\n### Installation\r\n\r\nUsing [npm](https://npmjs.org/)\r\n\r\n```bash\r\nnpm install truiam-rbac\r\n```\r\n\r\n## RBAC Functions\r\n\r\n<ul>\r\n  <li><a href=\"#initialize-user\">Initialize User</a></li>\r\n  <li><a href=\"#check-permission\">Check Permission</a></li>\r\n  <li><a href=\"#user-profile\">User Profile</a></li>\r\n  <li><a href=\"#user-role\">User Role</a></li>\r\n  <li><a href=\"#get-organization-detail\">Get Organization Detail</a></li>\r\n  <li><a href=\"#get-organization-by-token\">Get Organization by Token</a></li>\r\n  <li><a href=\"#get-role-by-id\">Get Role by ID</a></li>\r\n  <li><a href=\"#get-attached-policy\">Get Attached Policy</a></li>\r\n  <li><a href=\"#get-policy-by-id\">Get Policy by ID</a></li>\r\n  <li><a href=\"#get-attached-service\">Get Attached Service</a></li>\r\n  <li><a href=\"#get-service-by-id\">Get Service by ID</a></li>\r\n  <li><a href=\"#get-attached-access\">Get Attached Access</a></li>\r\n  <li><a href=\"#get-access-by-id\">Get Access by ID</a></li>\r\n  <li><a href=\"#get-attached-resource\">Get Attached Resource</a></li>\r\n</ul>\r\n\r\n## TRUIAM Functions\r\n\r\n### Authentication Functions\r\n\r\n<ul>\r\n  <li><a href=\"#confirm-email-sign-up-code\">Confirm Email Sign-Up Code</a></li>\r\n  <li><a href=\"#resend-email-sign-up-code\">Resend Email Sign-Up Code</a></li>\r\n  <li><a href=\"#execute-sign-in\">Sign-In</a></li>\r\n  <li><a href=\"#execute-sign-up\">Sign-Up</a></li>\r\n  <li><a href=\"#execute-logout\">Logout</a></li>\r\n  <li><a href=\"#get-refreshed-access-token\">Refresh Access Token</a></li>\r\n  <li><a href=\"#get-dns-detail\">Get DNS Detail</a></li>\r\n\r\n</ul>\r\n\r\n### Admin Functions\r\n\r\n<ul>\r\n  <li><a href=\"#unlock-user\">Unlock User</a></li>\r\n  <li><a href=\"#delete-user\">Delete User</a></li>\r\n  <li><a href=\"#create-user\">Create User</a></li>\r\n  <li><a href=\"#profile-fields\">Profile Fields</a></li>\r\n  <li><a href=\"#user-account-action\">User Account Action</a></li>\r\n  <li><a href=\"#toggle-mfa\">Toggle MFA</a></li>\r\n  <li><a href=\"#get-user\">Get User</a></li>\r\n  <li><a href=\"#get-all-users\">Get All Users</a></li>\r\n</ul>\r\n\r\n\r\n---\r\n\r\n#### Initialize User <a name=\"initialize-user\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - token: STRING (Token for user initialization)\r\nconst initializeUserParams = {\r\n  token: 'STRING'\r\n};\r\nconst initializeUserResult = await initializeUser(initializeUserParams);\r\n```\r\n\r\n#### Check Permission <a name=\"check-permission\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - resourceName: STRING (Name of the resource)\r\n// - accessType: STRING (Access type defined in TRUIAM ACCESS TYPE)\r\n// - token: STRING (Access token)\r\nconst checkPermissionParams = {\r\n  resourceName: 'STRING',\r\n  accessType: 'STRING',\r\n  token: 'STRING'\r\n};\r\nconst checkPermissionResult = await checkPermission(checkPermissionParams);\r\n```\r\n\r\n#### User Profile <a name=\"user-profile\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - token: STRING (User token)\r\nconst userProfileParams = {\r\n  token: 'STRING'\r\n};\r\nconst userProfileResult = await userProfile(userProfileParams);\r\n```\r\n\r\n#### User Role <a name=\"user-role\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - orgId: STRING (ID of the organization)\r\n// - userId: STRING (ID of the user)\r\nconst userRoleParams = {\r\n  orgId: '38',\r\n  userId: '188'\r\n};\r\nconst userRoleResult = await userRole(userRoleParams);\r\n```\r\n\r\n#### Get Organization Detail <a name=\"get-organization-detail\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - orgId: STRING (ID of the organization)\r\n// - token: STRING (User token)\r\nconst getOrgDetailParams = {\r\n  orgId: '19',\r\n  token: 'STRING'\r\n};\r\nconst getOrgDetailResult = await getOrgDetail(getOrgDetailParams);\r\n```\r\n\r\n#### Get Organization by Token <a name=\"get-organization-by-token\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - token: STRING (User token)\r\nconst getOrgByTokenParams = {\r\n  token: 'STRING'\r\n};\r\nconst getOrgByTokenResult = await getOrgByToken(getOrgByTokenParams);\r\n```\r\n\r\n#### Get Role by ID <a name=\"get-role-by-id\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - roleId: STRING (ID of the role)\r\n// - orgId: STRING (ID of the organization)\r\nconst getRoleByIdParams = {\r\n  roleId: '41',\r\n  orgId: '38'\r\n};\r\nconst getRoleByIdResult = await getRoleById(getRoleByIdParams);\r\n```\r\n\r\n#### Get Attached Policy <a name=\"get-attached-policy\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// -\r\n\r\n roleId: STRING (ID of the role)\r\n// - orgId: STRING (ID of the organization)\r\nconst getAttachedPolicyParams = {\r\n  roleId: '41',\r\n  orgId: '38'\r\n};\r\nconst getAttachedPolicyResult = await getAttachedPolicy(getAttachedPolicyParams);\r\n```\r\n\r\n#### Get Policy by ID <a name=\"get-policy-by-id\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - policyId: STRING (ID of the policy)\r\n// - orgId: STRING (ID of the organization)\r\nconst getPolicyByIdParams = {\r\n  policyId: '11',\r\n  orgId: '38'\r\n};\r\nconst getPolicyByIdResult = await getPolicyById(getPolicyByIdParams);\r\n```\r\n\r\n#### Get Attached Service <a name=\"get-attached-service\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - policyId: STRING (ID of the policy)\r\n// - orgId: STRING (ID of the organization)\r\nconst getAttachedServiceParams = {\r\n  policyId: '11',\r\n  orgId: '38'\r\n};\r\nconst getAttachedServiceResult = await getAttachedService(getAttachedServiceParams);\r\n```\r\n\r\n#### Get Service by ID <a name=\"get-service-by-id\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - serviceId: STRING (ID of the service)\r\nconst getServiceByIdParams = {\r\n  serviceId: 'SERVICE_ID'\r\n};\r\nconst getServiceByIdResult = await getServiceById(getServiceByIdParams);\r\n```\r\n\r\n#### Get Attached Access <a name=\"get-attached-access\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - serviceId: STRING (ID of the service)\r\n// - orgId: STRING (ID of the organization)\r\nconst getAttachedAccessParams = {\r\n  serviceId: 'SERVICE_ID',\r\n  orgId: 'ORG_ID'\r\n};\r\nconst getAttachedAccessResult = await getAttachedAccess(getAttachedAccessParams);\r\n```\r\n\r\n#### Get Access by ID <a name=\"get-access-by-id\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - accessId: STRING (ID of the access)\r\nconst getAccessByIdParams = {\r\n  accessId: 'ACCESS_ID'\r\n};\r\nconst getAccessByIdResult = await getAccessById(getAccessByIdParams);\r\n```\r\n\r\n#### Get Attached Resource <a name=\"get-attached-resource\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - accessId: STRING (ID of the access)\r\n// - orgId: STRING (ID of the organization)\r\nconst getAttachedResourceParams = {\r\n  accessId: 'ACCESS_ID',\r\n  orgId: 'ORG_ID'\r\n};\r\nconst getAttachedResourceResult = await getAttachedResource(getAttachedResourceParams);\r\n```\r\n#### Check Permission <a name=\"check-permission\"></a>\r\n\r\n```javascript\r\n// Parameters:\r\n// - resourceName: STRING (Name of the resource)\r\n// - accessType: STRING (Access type defined in TRUIAM ACCESS TYPE)\r\n// - token: STRING (Access token)\r\nconst checkPermissionParams = {\r\n  resourceName: 'YOUR_RESOURCE_NAME',\r\n  accessType: 'YOUR_ACCESS_TYPE',\r\n  token: 'YOUR_TOKEN'\r\n};\r\nconst checkPermissionResult = await checkPermission(checkPermissionParams);\r\n```\r\n <p align=\"center\"><h1>TRUIAM API'S </h1> </p><a name=\"truiam-apis\"></a>\r\n\r\n#### Confirm Email Sign-Up Code <a name=\"confirm-email-sign-up-code\"></a>\r\n```javascript\r\n// Parameters\r\n\r\n// `email`: STRING (Email address)\r\n// `clientId`: STRING (Client ID)\r\n// `domain`: STRING (Domain)\r\n// `code`: NUMBER (Sign-up code)\r\n\r\nconst confirmEmailSignUpCodeParams = {\r\n  email: 'YOUR_EMAIL',\r\n  clientId: 'YOUR_CLIENT_ID',\r\n  domain: 'YOUR_DOMAIN',\r\n  code: YOUR_CODE\r\n};\r\nconst confirmEmailSignUpCodeResult = await confirmEmailSignUpCode(confirmEmailSignUpCodeParams);\r\n```\r\n\r\n#### Resend Email Sign-Up Code <a name=\"resend-email-sign-up-code\"></a>\r\n```javascript\r\n// ##### Parameters\r\n\r\n// - `email`: STRING (Email address)\r\n// - `clientId`: STRING (Client ID)\r\n// - `domain`: STRING (Domain)\r\n// - `code`: NUMBER (Sign-up code)\r\n\r\n\r\nconst resendEmailSignUpCodeParams = {\r\n  email: 'YOUR_EMAIL',\r\n  clientId: 'YOUR_CLIENT_ID',\r\n  domain: 'YOUR_DOMAIN',\r\n  code: YOUR_CODE\r\n};\r\nconst resendEmailSignUpCodeResult = await resendEmailSignUpCode(resendEmailSignUpCodeParams);\r\n```\r\n\r\n#### Execute Sign-In <a name=\"execute-sign-in\"></a>\r\n\r\n```javascript\r\n// ##### Parameters\r\n\r\n// - `email`: STRING (Email address)\r\n// - `password`: STRING (Password)\r\n// - `clientId`: STRING (Client ID)\r\n// - `callbackurl`: STRING (Callback URL)\r\n// - `domain`: STRING (Domain)\r\n\r\n\r\nconst executeSignInParams = {\r\n  email: 'YOUR_EMAIL',\r\n  password: 'YOUR_PASSWORD',\r\n  clientId: 'YOUR_CLIENT_ID',\r\n  callbackurl: 'YOUR_CALLBACK_URL',\r\n  domain: 'YOUR_DOMAIN'\r\n};\r\nconst executeSignInResult = await executeSignIn(executeSignInParams);\r\n```\r\n\r\n#### Execute Sign-Up <a name=\"execute-sign-up\"></a>\r\n\r\n```javascript\r\n// ##### Parameters\r\n\r\n// - `clientId`: STRING (Client ID)\r\n// - `email`: STRING (Email address)\r\n// - `password`: STRING (Password)\r\n// - `domain`: STRING (Domain)\r\n\r\n\r\nconst executeSignUpParams = {\r\n  clientId: 'YOUR_CLIENT_ID',\r\n  email: 'YOUR_EMAIL',\r\n  password: 'YOUR_PASSWORD',\r\n}\r\n\r\nconst result = await rbac.executeSignUp(executeSignUpParams);\r\n```\r\n\r\n#### Execute Logout <a name=\"execute-logout\"></a>\r\n\r\n```javascript\r\n// ##### Parameters\r\n\r\n// - `clientId`: STRING (Client ID)\r\n// - `refreshToken`: STRING (USER REFRESH TOKEN)\r\n\r\n\r\nconst params = {\r\n  clientId: 'YOUR_CLIENT_ID',\r\n  refreshToken: 'YOUR_REFRESH_TOKEN'\r\n}\r\n\r\nconst result = await rbac.executeLogoutUser(params);\r\n```\r\n\r\n#### Get Refreshed Access Token <a name=\"refresh-Access-Token\"></a>\r\n\r\n```javascript\r\n// ##### Parameters\r\n\r\n// - `clientId`: STRING (Client ID)\r\n// - `domain`: STRING (Domain)\r\n// - `refreshToken`: STRING (USER REFRESH TOKEN)\r\n\r\n\r\n\r\nconst params = {\r\n  clientId: 'YOUR_CLIENT_ID',\r\n  domain: 'YOUR_DOMAIN',\r\n  refreshToken: 'YOUR_REFRESH_TOKEN'\r\n}\r\n\r\nconst result = await rbac.refreshAccessToken(params);\r\n```\r\n\r\n#### Get DNS Detail <a name=\"get-dns-detail\"></a>\r\n```javascript\r\n// ##### Parameters\r\n\r\n// - `clientId`: STRING (Client ID)\r\n// - `domain`: STRING (Domain)\r\n// - `callbackurl`: STRING (Callback URL)\r\n\r\n\r\nconst getDnsDetailParams = {\r\n  clientId: 'YOUR_CLIENT_ID',\r\n  callbackurl: 'YOUR_CALLBACK_URL',\r\n  domain: 'YOUR_DOMAIN'\r\n};\r\nconst getDnsDetailResult = await getDnsDetail(getDnsDetailParams);\r\n\r\n```\r\n\r\n#### Unlock User\r\n\r\n```javascript\r\n// Parameters:\r\n// - domain: STRING (Domain)\r\n// - idp: STRING (IDP)\r\n// - accessToken: STRING (Access token)\r\n// - userId: NUMBER (User ID)\r\nconst params = {\r\n  domain: 'YOUR_DOMAIN',\r\n  idp: 'YOUR_IDP',\r\n  accessToken: 'YOUR_ACCESS_TOKEN',\r\n  userId: USER ID\r\n};\r\nconst result = await rbac.unlockUser(params);\r\n```\r\n\r\n#### Delete User\r\n\r\n```javascript\r\n// Parameters:\r\n// - domain: STRING (Domain)\r\n// - idp: STRING (IDP)\r\n// - accessToken: STRING (Access token)\r\n// - userId: NUMBER (User ID)\r\nconst params = {\r\n  domain: 'YOUR_DOMAIN',\r\n  idp: 'YOUR_IDP',\r\n  accessToken: 'YOUR_ACCESS_TOKEN',\r\n  userId: USER ID\r\n};\r\nconst result = await rbac.deleteUser(params);\r\n```\r\n\r\n#### Create User\r\n\r\n```javascript\r\n// Parameters:\r\n// - domain: STRING (Domain)\r\n// - idp: STRING (IDP)\r\n// - accessToken: STRING (Access token)\r\n// - data: OBJECT (User data containing email and password)\r\nconst params = {\r\n  domain: 'YOUR_DOMAIN',\r\n  idp: 'YOUR_IDP',\r\n  accessToken: 'YOUR_ACCESS_TOKEN',\r\n  data: {\r\n    email: 'user@user',\r\n    password: 'password'\r\n  }\r\n};\r\nconst result = await rbac.createUser(params);\r\n```\r\n\r\n#### Profile Fields\r\n\r\n```javascript\r\n// Parameters:\r\n// - domain: STRING (Domain)\r\n// - idp: STRING (IDP)\r\n// - accessToken: STRING (Access token)\r\nconst params = {\r\n  domain: 'YOUR_DOMAIN',\r\n  idp: 'YOUR_IDP',\r\n  accessToken: 'YOUR_ACCESS_TOKEN'\r\n};\r\nconst result = await rbac.profileFields(params);\r\n```\r\n\r\n#### User Account Action\r\n\r\n```javascript\r\n// Parameters:\r\n// - domain: STRING (Domain)\r\n// - idp: STRING (IDP)\r\n// - accessToken: STRING (Access token)\r\n// - userId: STRING (User ID)\r\n// - action: STRING (Action to perform on user account)\r\nconst params = {\r\n  domain: 'YOUR_DOMAIN',\r\n  idp: 'YOUR_IDP',\r\n  accessToken: 'YOUR_ACCESS_TOKEN',\r\n  userId: USER ID,\r\n  action: 'disable' | 'enable'\r\n};\r\nconst result = await rbac.userAccountAction(params);\r\n```\r\n\r\n#### Toggle MFA\r\n\r\n```javascript\r\n// Parameters:\r\n// - domain: STRING (Domain)\r\n// - idp: STRING (IDP)\r\n// - accessToken: STRING (Access token)\r\n// - userId: STRING (User ID)\r\n// - enable: BOOLEAN (Flag to enable/disable MFA)\r\nconst params = {\r\n  domain: 'YOUR_DOMAIN',\r\n  idp: 'YOUR_IDP',\r\n  accessToken: 'YOUR_ACCESS_TOKEN',\r\n  userId: USER ID,\r\n  enable: false|true\r\n};\r\nconst result = await rbac.toggleMfa(params);\r\n```\r\n\r\n#### Get User\r\n\r\n```javascript\r\n// Parameters:\r\n// - domain: STRING (Domain)\r\n// - idp: STRING (IDP)\r\n// - accessToken: STRING (Access token)\r\n// - userId: STRING (User ID)\r\nconst params = {\r\n  domain: 'YOUR_DOMAIN',\r\n  idp: 'YOUR_IDP',\r\n  accessToken: 'YOUR_ACCESS_TOKEN',\r\n  userId: USER ID\r\n};\r\nconst result = await rbac.getUser(params);\r\n```\r\n\r\n#### Get All Users\r\n\r\n```javascript\r\n// Parameters:\r\n// - domain: STRING (Domain)\r\n// - idp: STRING (IDP)\r\n// - accessToken: STRING (Access token)\r\nconst params = {\r\n  domain: 'YOUR_DOMAIN',\r\n  idp: 'YOUR_IDP',\r\n  accessToken: 'YOUR_ACCESS_TOKEN'\r\n};\r\nconst result = await rbac.getAllUser(params);\r\n```\r\n```\r\n\r\n```","readmeFilename":"README.md"}