
cos-api4node
InterSystems Atelier REST API
wrapper for NodeJS. Supports v1
Atelier API.
Installation
Install this package as a dependency using npm:
npm install cos-api4node
Usage
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
});
api.getServer((error, server) => {
console.log(server);
});
Supported API
- 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
(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
(callback)
- Returns information about the server, including Caché Source Code File REST API version and namespaces that are available on the server.
- getDoc
(doc, callback)
- Returns the data of the given
doc
. For example, doc
can be a 'Routine.mac'
or 'Class.Name.cls'
.
- 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
(callback)
- Returns the HttpHeader for the server.
- putDoc
(name, doc, [options], [callback])
- Creates or updates document
name
with data doc
. Returns the updated document. See official docs 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:
npm test
License
MIT