README.md

# Brighterx [![Hex version](https://img.shields.io/hexpm/v/brighterx.svg "Hex version")](https://hex.pm/packages/brighterx) ![Hex downloads](https://img.shields.io/hexpm/dt/brighterx.svg "Hex downloads") [![Build Status](https://semaphoreci.com/api/v1/techgaun/brighterx/branches/master/badge.svg)](https://semaphoreci.com/techgaun/brighterx) [![Coverage Status](https://coveralls.io/repos/github/Brightergy/brighterx/badge.svg?branch=master)](https://coveralls.io/github/Brightergy/brighterx?branch=master)

> Elixir client for BrighterLink API

## Installation

Add brighterx to your list of dependencies in `mix.exs`:

        def deps do
          [{:brighterx, github: "Brightergy/brighterx"}]
        end

Or from hex:

        def deps do
          [{:brighterx, "~> 0.0.3"}]
        end

Ensure you list `brighterx` in application dependency in your mix.exs file.

        [applications: [:brighterx]]

## Usage

You can use the functions in `Brighterx.Api` for making requests to RESTful api of BrighterLink. There are shorthand functions that wrap the common get requests on the Brighterlink resources. Right now, we do not yet offer authentication via username and password so you will need to use jwt token. Please export your jwt token as `JWT` environment variable.

### Examples

```elixir
Brighterx.Api.create(Brighterx.Resources.Device, %{name: "Test Thermostat", identifier: "00:01", facility_id: 1, type: "thermostat"})

Brighterx.Api.find(Brighterx.Resources.Company, [params: %{name: "Brightergy"}])

Brighterx.Api.update(Brighterx.Resources.Device, 1, %{name: "7th floor south"})

Brighterx.Api.get_company(1)

Brighterx.Api.get_company("Brightergy")
```

### Overriding Environment

You can override the default environment by exporting the environment variable `BRIGHTERX_ENV` which can be set one of `dev`, `stage` or `prod`. This takes precedence over the `Mix.env`.