1.0.3 • Published 2 years ago

guacbui v1.0.3

Weekly downloads
1
License
ISC
Repository
github
Last release
2 years ago

GUACBUI?

guacbui aids in importing users, and groups (and their associations) at bulk, on guacamole instances. It also assigns permissions as specified, to users, and groups.

Usage

$ npm install guacbui

guacbui exposes three functions:

const {
	convertXlsxToObj,
	importer,
	rollback
} = require('guacbui');

convertXlsxToObj: (excelFilePathWithImportData) => importData

  • Please look at the template.xlsx file inside the example folder in this repo, to know how the data in the excel file should be structured.

importer: (baseURL, authToken, data) => void

  • This function imports all entities (users, groups), associations (users of a group); and approriately assign perms as specified in the data object, which can be computed using a corresponding excel file, as follows:
const data = convertXlsxToObj(excelFilePathWithImportData);
  • baseURL is the base URL of the Guacamole instance
  • authToken is the JSON token of a logged in user with enough administrator privileges to enable guacbui in doing what it does
  • importer can be safely run even if some of the entities, and associations from data have already been imported; importer will just update these

rollback: (baseURL, authToken, data) => void

  • This function does the opposite of what importer does — it deletes all entities (users, groups), and associations as specified in the data object

Example

  • The code inside example folder can be perused, to gain a better understanding on consuming guacbui's api.
  • Ensure appropriate values are populated inside example/config.js, before running the following:
$ cd example
$ node index.js

TODO

  • Fix the bug at race condition step in login.js due to incorrect username/password
  • Fix DATA CONVERSION ERROR bug due to wrong (incorrect template) excel file imports