UNPKG

cos-api4node

Version:
74 lines (57 loc) 3.52 kB
[![Known Vulnerabilities](https://snyk.io/test/github/doublefint/cos-api4node/badge.svg)](https://snyk.io/test/github/doublefint/cos-api4node) # cos-api4node [InterSystems](https://www.intersystems.com/) [Atelier REST API](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_C29114) wrapper for NodeJS. Supports `v1` Atelier API. Installation ------------ Install this package as a dependency using npm: ```bash npm install cos-api4node ``` Usage ----- ```javascript const api4node = require('cos-api4node'); const api = api4node({ host: '127.0.0.1', port: 57772, path: '/api/atelier/', version: 'v1', ns: 'USER', username: '_SYSTEM', password: 'SYS', https: false }); // Get info about server api.getServer((error, server) => { console.log(server); }); ``` Supported API ------------- + [compile](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_ref_compile)`(docs, [callback])` + Compile all docs listed in the given array `docs` (for example, `["My.Class.cls", "Program.mac", ...]`). `docs` also can be a single string meaning one document to compile. + [deleteDocs](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_ref_deletedocs)`(docs, [callback])` + Delete all docs listed in the given array `docs` (for example, `["My.Class.cls", "Program.mac", ...]`). `docs` also can be a single string meaning one document to delete. + [getServer](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_ref_headserver)`(callback)` + Returns information about the server, including Caché Source Code File REST API version and namespaces that are available on the server. + [getDoc](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_ref_getdoc)`(doc, callback)` + Returns the data of the given `doc`. For example, `doc` can be a `'Routine.mac'` or `'Class.Name.cls'`. + [getDocNames](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_ref_getdocnames)`(options, callback)` + Returns a list of source code file names. Following options can be specified: + `options.generated` Specifies that generated source code files should be included. + [headServer](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_ref_headserver)`(callback)` + Returns the HttpHeader for the server. + [putDoc](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_ref_putdoc)`(name, doc, [options], [callback])` + Creates or updates document `name` with data `doc`. Returns the updated document. See official [docs](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCF_ref#GSCF_ref_putdoc) for more info. The following optional `options` can be specified: + `options['If-None-Match']` Specifies the version (`ts`) of the document to overwrite if the document already exists. If the given timestamp (`ts`) does not match server's one, the `409 Conflict` will occur. You can bypass this check with `ignoreConflict` option. + `options['ignoreConflict']` Forces the source code file to be written to the server even if the file has changed since you previously accessed it. Development ----------- After making any changes, run the tests: ```bash npm test ``` License ------- [MIT](license)