UNPKG

24.3 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.cjs.js","sources":["../src/handlers/form-data-factory.js","../src/auth.js","../src/handlers/nodes.js","../src/handlers/workflow.js","../src/handlers/rhcore.js","../src/handlers/members.js","../src/handlers/versions.js","../src/handlers/webreports.js","../src/Session.js","../src/index.js"],"sourcesContent":["module.exports = {\n\tcreateFormData() {\n\t\t if (process.node) {\n\t\t\tconst klass = require('form-data')\n\t\t\treturn new klass\n\t\t} else {\n\t\t\treturn new FormData()\n\t\t}\t\t\n\t}\n}","const axios = require('axios')\nconst get = require('lodash.get')\nconst FormDataFactory = require('./handlers/form-data-factory')\n\nfunction getInstance(baseURL) {\n\n\tconst instance = axios.create({\n\t\tbaseURL\n\t})\n\n\tinstance.interceptors.response.use(response => {\n\t\tconst otcsticket = get(response, 'headers.otcsticket')\n\n\t\tif (otcsticket) {\n\t\t\tinstance.defaults.headers.common['OTCSTicket'] = otcsticket\n\t\t}\n\t\treturn response\n\t}, error => {\n\t\treturn Promise.reject(error)\n\t})\n\n\treturn instance\n}\n\nfunction axiosFactory(options) {\n\tconst instance = getInstance(options.baseURL)\n\n\tconst username = get(options, 'username')\n\tconst password = get(options, 'password')\n\tconst otcsticket = get(options, 'otcsticket')\n\n\tif (otcsticket) {\n\n\t\tinstance.defaults.headers.common['OTCSTicket'] = otcsticket\n\n\t} else if (username && password) {\n\n\t\tinstance.interceptors.request.use(async request => {\n\n\t\t\tif (request.headers.common['OTCSTicket']) {\n\n\t\t\t\treturn request\n\n\t\t\t} else {\n\n\t\t\t\tconst formData = FormDataFactory.createFormData()\n\n\t\t\t\tformData.append('username', username)\n\t\t\t\tformData.append('password', password)\n\n\t\t\t\tlet response = process.node ? await axios.post(`${options.baseURL}/api/v1/auth/`, formData.getBuffer(), { headers: formData.getHeaders() }) : await axios.post(`${options.baseURL}/api/v1/auth/`, formData)\n\n\t\t\t\trequest.headers.common['OTCSTicket'] = get(response, 'data.ticket')\n\n\t\t\t\treturn request\n\t\t\t}\n\t\t})\n\t} else {\n\t\tthrow 'You must provide an otcsticket or username and password.'\n\t}\n\n\treturn instance\n}\n\nmodule.exports = axiosFactory","const FormDataFactory = require('./form-data-factory')\r\n\r\nconst SubTypes = {\r\n\tFOLDER: 0,\r\n\tDOCUMENT: 144\r\n}\r\n\r\nmodule.exports = session => ({\r\n\r\n\taddablenodetypes(dataid) {\r\n\t\treturn session.get(`api/v1/nodes/${dataid}/addablenodetypes`)\r\n\t},\r\n\r\n\tasync addDocument(parent_id, fileHandler, fileName = null) {\r\n\r\n\t\tconst url = 'api/v1/nodes'\r\n\r\n\t\tconst formData = FormDataFactory.createFormData()\r\n\r\n\t\tformData.append('type', SubTypes.DOCUMENT)\r\n\t\tformData.append('parent_id', parent_id)\r\n\r\n\t\tif (process.node) {\r\n\t\t\t// node.js\r\n\r\n\t\t\tconst fsp = require('fs').promises\r\n\t\t\tconst path = require('path')\r\n\r\n\t\t\tlet f = await fsp.readFile(fileHandler)\r\n\t\t\tlet name = fileName || path.basename(fileHandler)\r\n\r\n\t\t\tformData.append('file', f, name)\r\n\t\t\tformData.append('name', name)\r\n\r\n\t\t\treturn session.post(url, formData.getBuffer(), { headers: formData.getHeaders() })\r\n\r\n\t\t} else {\r\n\t\t\t// browser\r\n\r\n\t\t\tlet name = fileName || fileHandler.name\r\n\r\n\t\t\tformData.append('file', fileHandler, name)\r\n\t\t\tformData.append('name', name)\r\n\r\n\t\t\treturn session.post(url, formData)\r\n\t\t}\r\n\t},\r\n\r\n\taddItem(type, parent_id, name, params = {}) {\r\n\t\treturn session.postForm('api/v2/nodes', {\r\n\t\t\ttype,\r\n\t\t\tparent_id,\r\n\t\t\tname,\r\n\t\t\t...params\r\n\t\t})\r\n\t},\r\n\r\n\tnode(dataid, params = {}) {\r\n\t\treturn session.getCached(`api/v2/nodes/${dataid}`, { params })\r\n\t},\r\n\r\n\tancestors(dataid, params = {}) {\r\n\t\treturn session.get(`api/v1/nodes/${dataid}/ancestors`, { params })\r\n\t},\r\n\r\n\tvolumeInfo(objType) {\r\n\t\treturn session.get(`api/v1/volumes/${objType}`)\r\n\t},\r\n\r\n\tvolumes() {\r\n\t\treturn session.get('api/v2/volumes')\r\n\t},\r\n\r\n\taddFolder(parent_id, name, params = {}) {\r\n\t\treturn this.addItem(SubTypes.FOLDER, parent_id, name, params)\r\n\t},\r\n\r\n\tchildren(dataid, params = {}) {\r\n\t\t// https://developer.opentext.com/webaccess/#url=%2Fawd%2Fresources%2Fapis%2Fcs-rest-api-for-cs-16-s%23!%2Fnodes%2FgetSubnodes_get_15&tab=501\r\n\t\treturn session.get(`api/v2/nodes/${dataid}/nodes`, { params })\r\n\t},\r\n\r\n\tdelete(dataid) {\r\n\t\treturn session.delete(`api/v1/nodes/${dataid}`)\r\n\t},\r\n\r\n\tdownload(dataid, version = 'v1', filePath) {\r\n\t\t// session.nodes.download(1267501, 'v2', '/Users/chris/Downloads/test.pdf')\r\n\t\tif (process.node) {\r\n\t\t\treturn session.get(`api/${version}/nodes/${dataid}/content`, { responseType: 'stream' })\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tconst fs = require('fs')\r\n\t\t\t\t\tconst writer = fs.createWriteStream(filePath)\r\n\r\n\t\t\t\t\tresponse.data.pipe(writer)\r\n\r\n\t\t\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\t\t\twriter.on('finish', resolve)\r\n\t\t\t\t\t\twriter.on('error', reject)\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t} else {\r\n\t\t\treturn Promise.reject('Not implemented yet')\r\n\t\t}\r\n\t}\r\n\r\n})","const get = require('lodash.get')\r\n\r\nmodule.exports = session => ({\r\n\r\n\tstart(map_id) {\r\n\t\treturn this.draftprocesses(map_id)\r\n\t\t\t.then(response => get(response, 'data.results.draftprocess_id'))\r\n\t\t\t.then(draftprocess_id => this.draftprocesses_update(draftprocess_id))\r\n\t},\r\n\r\n\tdraftprocesses(workflow_id) {\r\n\t\treturn session.postForm('api/v2/draftprocesses', {workflow_id})\r\n\t},\r\n\r\n\tdraftprocesses_update(draftprocess_id) {\r\n\t\treturn session.get('api/v1/forms/draftprocesses/update', {\r\n\t\t\tparams: {\r\n\t\t\t\tdraftprocess_id\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\r\n\tdraftprocesses_put(draftprocess_id, body) {\r\n\t\treturn session.putForm(`api/v2/draftprocesses/${draftprocess_id}`, { body })\r\n\t}\r\n\r\n\t// draftprocesses_formUpdate(draftprocess_id, values) {\r\n\t// \tconst body = {\r\n\t// \t\taction: \"formUpdate\",\r\n\t// \t\tvalues\r\n\t// \t}\r\n\r\n\t// \treturn this.draftprocesses_put(draftprocess_id, body)\r\n\t// }\r\n\r\n})","module.exports = session => ({\r\n\tscriptNode(id, params = {}) {\r\n\t\treturn session.get(`api/v1/rhcore/${id}`, {\r\n\t\t\tparams\r\n\t\t})\r\n\t}\r\n})","module.exports = session => ({\n\n\tUSER: 0,\n\tGROUP: 1,\n\n\tuserQuery(query, options = {}, version = 'v2') {\n\t\tconst params = {\n\t\t\tlimit: 20,\n\t\t\twhere_type: JSON.stringify([this.USER, this.GROUP]),\n\t\t\tquery,\n\t\t\t...options\n\t\t}\n\n\t\treturn session.get(`api/${version}/members`, { params })\n\t},\n\n\tmember(id, version = 'v2') {\n\t\treturn session.getCached(`api/${version}/members/${id}`)\n\t}\n\n})","const FormDataFactory = require('./form-data-factory')\r\n\r\nmodule.exports = session => ({\r\n\r\n\tasync addVersion(dataid, fileHandler, options = {}) {\r\n\r\n\t\tconst url = `api/v1/nodes/${dataid}/versions`\r\n\r\n\t\t// const formData = FormDataFactory.createFormData()\r\n\r\n\t\tif (process.node) {\r\n\t\t\t// node.js\r\n\t\t\tconst fsp = require('fs').promises\r\n\t\t\tconst path = require('path')\r\n\r\n\t\t\tlet f = await fsp.readFile(fileHandler)\r\n\t\t\t// let name = fileName || path.basename(fileHandler)\r\n\r\n\t\t\tconst params = {\r\n\t\t\t\tfile: {\r\n\t\t\t\t\tfile: f,\r\n\t\t\t\t\tname: path.basename(fileHandler)\r\n\t\t\t\t},\r\n\t\t\t\t...options\r\n\t\t\t}\r\n\r\n\t\t\t// console.log(params)\r\n\r\n\t\t\treturn session.postForm(url, params)\r\n\r\n\t\t} else {\r\n\t\t\t// browser\r\n\t\t\t// let name = fileName || fileHandler.name\r\n\r\n\t\t\tconst params = {\r\n\t\t\t\tfile: {\r\n\t\t\t\t\tfile: fileHandler,\r\n\t\t\t\t\tname: fileHandler.name\r\n\t\t\t\t},\r\n\t\t\t\t...options\r\n\t\t\t}\r\n\r\n\t\t\treturn session.postForm(url, params)\r\n\r\n\t\t\t// formData.append('file', fileHandler, name)\r\n\t\t\t// return session.post(url, formData)\r\n\t\t}\r\n\t},\r\n\r\n\tasync list(dataid) {\r\n\t\tconst url = `api/v1/nodes/${dataid}/versions`\r\n\t\treturn session.get(url)\r\n\t},\r\n\r\n\tasync version(dataid, version_number='latest') {\r\n\t\t// latest not supported in v2\r\n\t\tconst url = `api/v1/nodes/${dataid}/versions/${version_number}`\r\n\t\treturn session.get(url)\r\n\t}\r\n\r\n})","module.exports = session => ({\n\n\trun(dataid, params = {}) {\n\t\tconst url = `api/v1/nodes/${dataid}/output`\n\t\treturn session.get(url, { params })\n\t}\n\n})","const auth = require('./auth')\r\nconst nodes = require('./handlers/nodes')\r\nconst workflow = require('./handlers/workflow')\r\nconst rhcore = require('./handlers/rhcore')\r\nconst members = require('./handlers/members')\r\nconst versions = require('./handlers/versions')\r\nconst webreports = require('./handlers/webreports')\r\nconst FormDataFactory = require('./handlers/form-data-factory')\r\nconst isnil = require('lodash.isnil')\r\n\r\nconst sha1 = require('sha1')\r\n\r\nconst Semaphore = require('@chriscdn/promise-semaphore')\r\nconst semaphore = new Semaphore()\r\n\r\nlet getCache = {}\r\n\r\nmodule.exports = class Session {\r\n\r\n\tconstructor(options) {\r\n\t\tthis.axios = auth(options)\r\n\t}\r\n\r\n\tget nodes() {\r\n\t\t// this creates a circular reference.. bad?\r\n\t\tif (this._nodes == null) {\r\n\t\t\tthis._nodes = nodes(this)\r\n\t\t}\r\n\r\n\t\treturn this._nodes\r\n\t}\r\n\r\n\tget workflow() {\r\n\t\t// this creates a circular reference.. bad?\r\n\t\tif (this._workflow == null) {\r\n\t\t\tthis._workflow = workflow(this)\r\n\t\t}\r\n\r\n\t\treturn this._workflow\r\n\t}\r\n\r\n\tget rhcore() {\r\n\t\t// this creates a circular reference.. bad?\r\n\t\tif (this._rhcore == null) {\r\n\t\t\tthis._rhcore = rhcore(this)\r\n\t\t}\r\n\r\n\t\treturn this._rhcore\r\n\t}\r\n\r\n\tget members() {\r\n\t\t// this creates a circular reference.. bad?\r\n\t\tif (this._members == null) {\r\n\t\t\tthis._members = members(this)\r\n\t\t}\r\n\r\n\t\treturn this._members\r\n\t}\r\n\r\n\tget webreports() {\r\n\t\t// this creates a circular reference.. bad?\r\n\t\tif (this._webreports == null) {\r\n\t\t\tthis._webreports = webreports(this)\r\n\t\t}\r\n\r\n\t\treturn this._webreports\r\n\t}\r\n\r\n\tget versions() {\r\n\t\t// this creates a circular reference.. bad?\r\n\t\tif (this._versions == null) {\r\n\t\t\tthis._versions = versions(this)\r\n\t\t}\r\n\r\n\t\treturn this._versions\r\n\t}\r\n\r\n\t_isObject(value) {\r\n\t\treturn value && typeof value === 'object' && value.constructor === Object\r\n\t}\r\n\r\n\t_objectToForm(obj) {\r\n\r\n\t\tconst formData = FormDataFactory.createFormData()\r\n\r\n\t\tfor (let [key, value] of Object.entries(obj)) {\r\n\t\t\tif (value && value.name && value.file) {\r\n\t\t\t\tformData.append(key, value.file, value.name)\r\n\t\t\t} else if (Array.isArray(value) || this._isObject(value)) {\r\n\t\t\t\tformData.append(key, JSON.stringify(value))\r\n\t\t\t} else if (!isnil(value)) {\r\n\t\t\t\t// should empty strings be sent?\r\n\t\t\t\tformData.append(key, value)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn formData\r\n\t}\r\n\r\n\tget(...args) {\r\n\t\treturn this.axios.get(...args)\r\n\t}\r\n\r\n\tasync getCached(...args) {\r\n\t\tconst key = sha1(JSON.stringify(args))\r\n\r\n\t\ttry {\r\n\t\t\tawait semaphore.acquire(key)\r\n\r\n\t\t\tif (!getCache[key]) {\r\n\t\t\t\tgetCache[key] = this.get(...args)\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tsemaphore.release(key)\r\n\t\t}\r\n\r\n\t\treturn getCache[key]\r\n\t}\r\n\r\n\tputForm(url, params) {\r\n\t\tconst formData = this._objectToForm(params)\r\n\t\treturn process.node ? this.put(url, formData.getBuffer(), {\r\n\t\t\theaders: formData.getHeaders()\r\n\t\t}) : this.put(url, formData)\r\n\t}\r\n\r\n\tpostForm(url, params) {\r\n\t\tconst formData = this._objectToForm(params)\r\n\t\treturn process.node ? this.post(url, formData.getBuffer(), {\r\n\t\t\theaders: formData.getHeaders()\r\n\t\t}) : this.post(url, formData)\r\n\t}\r\n\r\n\tpatchForm(url, params) {\r\n\t\tconst formData = this._objectToForm(params)\r\n\t\treturn process.node ? this.patch(url, formData.getBuffer(), {\r\n\t\t\theaders: formData.getHeaders()\r\n\t\t}) : this.patch(url, formData)\r\n\t}\r\n\r\n\tpost(...args) {\r\n\t\treturn this.axios.post(...args)\r\n\t}\r\n\r\n\tput(...args) {\r\n\t\treturn this.axios.put(...args)\r\n\t}\r\n\r\n\tdelete(...args) {\r\n\t\treturn this.axios.delete(...args)\r\n\t}\r\n\r\n\toptions(...args) {\r\n\t\treturn this.axios.options(...args)\r\n\t}\r\n\r\n\tpatch(...args) {\r\n\t\treturn this.axios.patch(...args)\r\n\t}\r\n\r\n}","const auth = require('./auth')\r\nconst Session = require('./Session')\r\n\r\nmodule.exports.auth = auth\r\nmodule.exports.Session = Session"],"names":["require$$0","axios","get","FormDataFactory","require$$1","Semaphore","isnil","sha1","Session"],"mappings":"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"}
\No newline at end of file