kevinmuscara / rxg

API Wrapper adding external enhancements to the rXg controller.

Home Page:https://www.npmjs.com/package/rxg

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rXg-api-wrapper

Simple wrapper with create, read, update, delete, and execute features that interface with rXg's REST API.

Install

install the wrapper with node

npm install rxg

Usage

Show Scaffold by ID

const { rXg } = require('rxg')

let client = new rXg({
  apiKey: 'rxg_api_key'
  domain: 'https://your.rxg.domain'
})

client.show('devices', 'id', 1).then(res => console.log(res))
/** Example Response
[
  {
    id: 1,
    account_id: 1,
    name: 'Example Response',
    mac: '00:11:22:33:44:55',
    ...
  }
]
**/

Show Scaffolds

const { rXg } = require('rxg')

let client = new rXg({
  apiKey: 'rxg_api_key'
  domain: 'https://your.rxg.domain'
})

client.list('devices').then(res => console.log(res))
/** Example Response
[
  {
    id: 1,
    account_id: 1,
    name: 'Example Device One',
    mac: '00:11:22:33:44:55'
  },
  {
    id: 2,
    account_id: 2,
    name: 'Example Device Two',
    mac: '66:77:88:99:00:11'
  }...
]

Create Scaffold

const { rXg } = require('rxg')

let client = new rXg({
  apiKey: 'rxg_api_key'
  domain: 'https://your.rxg.domain'
})

client.create('devices', 
  {
    'utf8': '✓',
    'record[name]': `Example Device One`,
    'record[mac]': `00:11:22:33:44:55`,
    'record[account]': 1,
    'record[static_ip][name]': '',
    'record[static_ip][public_ip]': '',
    'record[static_ip][note]': '',
    'record[static_ip][accounts][]': '',
    'record[static_ip][devices][]': '',
    'record[static_ip][source_ip]': '',
    'record[binat]': 0,
    'record[hidden_from_portal]': 0,
    'record[note]': '',
    'record[scratch]': '',
    'commit': 'Create'
  }
).then(res => console.log(res))
/** Example Response
{ status: 200 }
**/

Update Scaffold

const { rXg } = require('rxg')

let client = new rXg({
  apiKey: 'rxg_api_key'
  domain: 'https://your.rxg.domain'
})

client.update('devices', 1,
  {
    'utf8': '✓',
    'record[name]': `RXGAPITest2`,
    'record[mac]': `00:11:22:33:44:55`,
    'record[account]': 2,
    'record[static_ip][name]': '',
    'record[static_ip][public_ip]': '',
    'record[static_ip][note]': '',
    'record[static_ip][accounts][]': '',
    'record[static_ip][devices][]': '',
    'record[static_ip][source_ip]': '',
    'record[binat]': 0,
    'record[hidden_from_portal]': 0,
    'record[note]': '',
    'record[scratch]': '',
    'commit': 'Create'
  }
).then(res => console.log(res))

/** Example Response
{ status: 200 }
**/

Delete Scaffold

const { rXg } = require('rxg')

let client = new rXg({
  apiKey: 'rxg_api_key'
  domain: 'https://your.rxg.domain'
})

client.delete('devices', 1).then(res => console.log(res))

/** Example Response
{ status: 200 }
**/

Execute

const { rXg } = require('rxg')

let client = new rXg({
  apiKey: 'rxg_api_key',
  domain: 'https://your.rxg.domain'
})

client.execute('accounts', { record_id: 1, method_name: 'quota' }).then(res => console.log(res))

/** Example Response
"\"1000 MB / 1000 MB\""
**/

About

API Wrapper adding external enhancements to the rXg controller.

https://www.npmjs.com/package/rxg

License:MIT License


Languages

Language:JavaScript 100.0%