# turbasen

> Node.JS-client for Nasjonal Turbase

Latest version **1.8.0** (published 2016-06-29) · MIT license · 0 weekly downloads

## Install

```sh
npm install turbasen
pnpm add turbasen
yarn add turbasen
bun add turbasen
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.8.0 |
| Published | 2016-06-29 |
| First published | 2015-07-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=4.0.0 |
| Dependencies | 2 |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Hans Kristian Flaatten |
| Maintainers | turistforeningen |
| Keywords | DNT, Nasjonal Turbase, hiking, trekking, Norge, Norway |

## Links

- npm: https://www.npmjs.com/package/turbasen
- Repository: https://github.com/Turbasen/turbasen.js
- Homepage: https://github.com/Turbasen/turbasen.js#readme
- Issues: https://github.com/Turbasen/turbasen.js/issues
- npm.io page: https://npm.io/package/turbasen

## Dependencies (2)

- [request](https://npm.io/package/request.md) ^2.67.0
- [async-each-map](https://npm.io/package/async-each-map.md) ^1.0.1

## Recent versions

- 1.8.0 (latest) — 2016-06-29
- 1.7.0 — 2016-05-11
- 1.6.1 — 2016-02-15
- 1.6.0 — 2016-02-01
- 1.5.1 — 2016-01-18
- 1.5.0 — 2016-01-18
- 1.4.1 — 2016-01-13
- 1.4.0 — 2016-01-12
- 1.3.0 — 2016-01-12
- 1.2.0 — 2016-01-08
- 1.1.1 — 2015-08-28
- 1.1.0 — 2015-08-28
- 1.0.2 — 2015-08-11
- 1.0.1 — 2015-07-22
- 1.0.0 — 2015-07-09

## README

# turbasen.js

[![Build status](https://img.shields.io/wercker/ci/559c3dd74dacf3c44d27bc68.svg "Build status")](https://app.wercker.com/project/bykey/6f41adbdc47680f39a46b406544bdbe9)
[![NPM downloads](https://img.shields.io/npm/dm/turbasen.svg "NPM downloads")](https://www.npmjs.com/package/turbasen)
[![NPM version](https://img.shields.io/npm/v/turbasen.svg "NPM version")](https://www.npmjs.com/package/turbasen)
[![Node version](https://img.shields.io/node/v/turbasen.svg "Node version")](https://www.npmjs.com/package/turbasen)
[![Dependency status](https://img.shields.io/david/Turbasen/turbasen.js.svg "Dependency status")](https://david-dm.org/Turbasen/turbasen.js)

Node.JS-client for [Nasjonal Turbase](http://www.nasjonalturbase.no).

## Requirements

* Node.JS >= v4.0.0

## Install

```
npm install turbasen --save
```

## API

```js
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 requests
* `NTB_API_ENV` - API environment (default `api`, can be `dev`)
* `NTB_USER_AGENT` - User Agent for API requests

These configurations can be overloaded using the `turbasen.configure()` like
this:

```js
turbasen.configure({
  API_KEY: 'my-api-key',
  API_ENV: 'dev',
  USER_AGENT: 'my-app/1.2.3'
});
```

### List Objects

```js
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.

```js
function each(item, next) {
  // do something async with the item
  next();
};

turbasen.områder.each(query, each, function(err) {
  // we are done!
});
```

### Create Object

```js
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

```js
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

```js
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

```js
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

```js
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);
  }
});
```

## [MIT License](https://github.com/Turistforeningen/turbasen.js/blob/master/LICENSE)

---
_Source: https://npm.io/package/turbasen · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
