1
0
mirror of https://github.com/mainflux/mainflux.git synced 2025-04-26 13:48:53 +08:00
Aleksandar Novaković ad5c66fad2 NOISSUE - Refactor SDK and things service (#420)
* Refactor Mainflux go SDK

Add structures instead of string parameters. Add offset and limit
parameters to things and channels methods. Add better configuration
support.

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Add new public errors with better error handling

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Update SDK to use uint instread of string id

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Update cli to use new SDK API

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Remove TLS termination from nginx configuration

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Update SDK documentation and structures

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Refactor things service

Decouple HTTP layer from business logic. Remove ID number validation
check. Remove models from HTTP requests and responses.

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Reformat tests for things service

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>

* Increase test coverage for things service

Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2018-10-24 10:21:03 +01:00
..

Mainflux CLI

Build

From the project root:

make cli

Usage

Service

Get the service verison

mainflux-cli version

User management

Create User

mainflux-cli users create john.doe@email.com password

Login User

mainflux-cli users token john.doe@email.com password

System Provisioning

Provision Device

mainflux-cli things create '{"type":"device", "name":"nyDevice"}' <user_auth_token>

Provision Application

mainflux-cli things create '{"type":"app", "name":"nyDevice"}' <user_auth_token>

Retrieve All Things

mainflux-cli things get all --offset=1 --limit=5 <user_auth_token>

Retrieve Thing By ID

mainflux-cli things get <thing_id> --offset=1 --limit=5 <user_auth_token>

Remove Thing

mainflux-cli things delete <thing_id> <user_auth_token>

Provision Channel

mainflux-cli channels create '{"name":"nyChannel"}' <user_auth_token>

Retrieve All Channels

mainflux-cli channels get all --offset=1 --limit=5 <user_auth_token>

Retrievie Channel By ID

mainflux-cli channels get <channel_id> --offset=1 --limit=5 <user_auth_token>

Remove Channel

mainflux-cli channels delete <channel_id> <user_auth_token>

Access control

Connect Thing to a Channel

mainflux-cli things connect <thing_id> <channel_id> <user_auth_token>

Disconnect Things from a Channel

mainflux-cli things disconnect <thing_id> <channel_id> <user_auth_token>

Messaging

Send a message over HTTP

mainflux-cli msg send <channel_id> '[{"bn":"some-base-name:","bt":1.276020076001e+09, "bu":"A","bver":5, "n":"voltage","u":"V","v":120.1}, {"n":"current","t":-5,"v":1.2}, {"n":"current","t":-4,"v":1.3}]' <thing_auth_token>