turbasen
v1.8.0
Published
Node.JS-client for Nasjonal Turbase
Downloads
26
Maintainers
Readme
turbasen.js
Node.JS-client for Nasjonal Turbase.
Requirements
- Node.JS >= v4.0.0
Install
npm install turbasen --saveAPI
var turbasen = require('turbasen');Object Types
| Data Type | API object |
|------------|---------------------------|
| Areas | turbasen.områder.… |
| Photos | turbasen.bilder.… |
| Places | turbasen.steder.… |
| Trips | turbasen.turer.… |
| Activities | turbasen.aktiviteter.… |
| Groups | turbasen.grupper.… |
Status Codes
| Code | Explanation |
|-------|--------------------------------|
| 200 | Everything is OK |
| 201 | Object created |
| 204 | As 200 without any body |
| 400 | Body is missing |
| 400 | ObjectId is invalid |
| 401 | Credentials are invalid |
| 403 | Rate limit is exceeded |
| 403 | Request was denied |
| 404 | Resource was not found |
| 404 | Object was not found |
| 405 | HTTP method X is not allowed |
| 422 | Body should be a JSON Hash |
| 422 | Data validation failed |
| 500 | Internal server error |
Configure
The following configurations are read from environment variables when this module is loaded:
NTB_API_KEY- API key for authenticate requestsNTB_API_ENV- API environment (defaultapi, can bedev)NTB_USER_AGENT- User Agent for API requests
These configurations can be overloaded using the turbasen.configure() like
this:
turbasen.configure({
API_KEY: 'my-api-key',
API_ENV: 'dev',
USER_AGENT: 'my-app/1.2.3'
});List Objects
turbasen.områder(query, function(err, res, body) {
if (err) { throw err; }
console.log(body.count);
console.log(body.documents);
});Each Object
Asyncronously featch each object for a given query.
function each(item, next) {
// do something async with the item
next();
};
turbasen.områder.each(query, each, function(err) {
// we are done!
});Create Object
turbasen.bilder.post(object, function(err, res, body) {
if (err) { throw err; }
if (res.statusCode !== 201) {
console.error(body.message);
console.error(body.errors);
} else {
console.log(body);
}
});Get Object
turbasen.bilder.get(id, function(err, res, body) {
if (err) { throw err; }
if (res.statusCode !== 200) {
console.error(body.message);
} else {
console.log(body);
}
});Delete Object
turbasen.bilder.delete(id, function(err, res, body) {
if (err) { throw err; }
if (res.statusCode !== 204) {
console.error(body.message);
} else {
console.log('Document deleted successfully!');
}
});Put Object
turbasen.bilder.put(id, object, function(err, res, body) {
if (err) { throw err; }
if (res.statusCode !== 200) {
console.log(body.errors);
} else {
console.warn(body.warnings);
console.log(body.document);
}
});Patch Object
turbasen.bilder.patch(id, object, function(err, res, body) {
if (err) { throw err; }
if (res.statusCode !== 200) {
console.log(body.errors);
} else {
console.warn(body.warnings);
console.log(body.document);
}
});