* Use Normalizer as a lib
To normalize messages on the consumer side, Normalizer is moved
to the internal pkgs. Writers being message consumers are modified to
do message normalization instead of subscribing to normalized messages
subject.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix logging middleware for readers and writers
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Remove normalizer interface
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Use Normalizer in writers
As we agreed on #919, we'll use normalizer as an interface and provide
the default SenML implementation. Because of that, Normalizer is removed
from `internal` and we'll use the project structure proposed in the
aforementioned issue.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix tests
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Remove unused batch settings from influxDB reader
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update docs
Move Normalizer service to `addons`.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Rename channels input topic
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update Noramlizer docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Remove commented code
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update readers logging
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update addons docker-compose files
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update topcis explanations
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add ES flat to the things service
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add env var for optional ES
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Fix API docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Provide secured bootstrapping
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix test and mock methods signatures
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix tests
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix typos
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add encrypte bootstrap test
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Remove duplicated docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Use secret key to encrypt bootstrap request
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Use secret key for secure bootstrapping
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Move encryption to ConfigReader
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Remove ConfigReader from Service
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix tests
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add reader tests
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update API docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Unset key env variable
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add endpoint test for secure bootstrap
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add open tracing dependencies
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add open tracing to users service
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add open tracing to the things service
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add open tracing to the http adapter
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add open tracing to the ws adapter
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add open tracing to the CoAP adapter
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update LoRa adapter in accordance with changes
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update SDK tests in accordance with changes
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update bootstrap service in accordance with changes
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update reader services with accordance with changes
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update .env and docker-compose file
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add jaeger and timeout env vars
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Fix broken test for can access by id endpoint
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update deps with proto empty package
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add authorization HTTP API to things service
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add new tests and update existing ones
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update swagger documentation
Update swagger documentation for auth endpoints.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update README docs for things service
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update docker-compose and fix endpoint typo
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Remove commented code
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* NOISSUE - Add searchable Things name
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add postgres schema validation and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add namme tests in requests_test
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Typo fix
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm requests_test
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add name in ListThings loggins
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add invalidName var for tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Set maxNameSize to 1024
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix postgres test
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix total when filtering things by name
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix review
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add single user mode to things service
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add tests for things/users package
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update init order in main
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add username, password and port env var
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update existing readme files with new env vars
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add support for channel filtering using config
Add support for channel filtering using yaml configuration files
for writers.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update writers documentation with new env var
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add info comment to configuration file
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix configuration and update yaml dep
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update config from yaml to toml
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update metadata type in things service
Update things service so that metadata has map type. Update repo
implementation by adding sqlx lib.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add sqlx lib to bootstrap service
Add sqlx lib to bootstrap service and update metadata field type.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update metadata in redis streams consumer
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update tests for bootstrap service
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix mongo reader logging and driver version
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix mongo reader and writer
Fix mongo reader and writer by updating driver version.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update SDK with new metadata format
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update LoRa adapter with new metadata format
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update users service in order to use sqlx
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Replace anonymous struct with map
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update docs for LoRa adapter
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix LoRa application metadata format
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix metadata format in LoRa docs
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add metadata2 var to SDK things test
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add initial Bootstrap event producer
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add operation name to events
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add ES path for BS events
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add BS event sourcing tests
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add connections update events
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Extract event XADD to separeate method
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add header comments
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix service docs typo
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update BS service README.md
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update Service method tests
Tests for handler methods are not added.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* NOISSUE - Prevent infinite loop in lora-adapter if Redis init fail
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix line length
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* MF-433 - Add method for reading messages from readers to SDK
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add messages read command on CLI
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix review
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* MF-448 - Add option to connect to DB with verify-ca and verify-full
Adds the option to connect with verify-ca and verify-full
Users can now specify any extra certs and keys they may need.
Signed-off-by: MichaelFinley <Michael.Finley@target.com>
* Passing db config struct rather than seperate parameters
Also updated the tests to use the config
Signed-off-by: MichaelFinley <Michael.Finley@target.com>
* Unexporting fields apart of users config
Also added comments to the newly exported Config in things & users postgres/init.go
Signed-off-by: MichaelFinley <Michael.Finley@target.com>
* MF-166 - Add lora-adapter service (#416)
* MF-166 - Add lora-adapter service
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix NATS connexion and use credentials with gRPC
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Forward lora msgs to nats
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add make cmd and docker-compose
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Define lora conf as private
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename funcs fix nats conn
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Update README and fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm NATS sub
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* MF-166 - Add lora-adapter service (#461)
* MF-166 - Add lora-adapter service
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix NATS connexion and use credentials with gRPC
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Forward lora msgs to nats
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add make cmd and docker-compose
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Define lora conf as private
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename funcs fix nats conn
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Update README and fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm NATS sub
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix lora server topic and logs
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix HTTP port
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* NOISSUE - Add event sourcing client to LoRa adapter (#471)
* Add event sourcing client to LoRa adapter
Signed-off-by: Aleksandar Novaković <anovakovic01@gmail.com>
* Update redis version in docker compose and update env vars
Signed-off-by: Aleksandar Novaković <anovakovic01@gmail.com>
* Add ES subscription to main LoRa function
Signed-off-by: Aleksandar Novaković <anovakovic01@gmail.com>
* Add new env vars to readme file of LoRa adapter
Signed-off-by: Aleksandar Novaković <anovakovic01@gmail.com>
* Add message acknowledgement to LoRa adapter
Signed-off-by: Aleksandar Novaković <anovakovic01@gmail.com>
* Add handling of empty values to event sourcing client (#474)
Signed-off-by: Aleksandar Novaković <anovakovic01@gmail.com>
* Add routemap and handle event sourcing
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix eventStore decoding
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Mv docker-compose in docker/addons
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix routemap and logs
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Update Gopkg.toml
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix route map and typos
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Update README
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add event sourcing middleware for things service
Add event sourcing for write operations over things and channels.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add tests for event sourcing middleware
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update things in tests to contain metadata field
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add TLS support to CoAP adapter and all readers
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add new env vars to README files
Add tls env vars to README files for CoAP adapter, WS adapter
and all readers.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update all services to exit on invalid TLS env var value
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add TLS flag that will turn TLS on or off
Add TLS flag to things, http, ws and mqtt service.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update readme files with new env vars
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* MF-448 - Option for Postgres SSL Mode
Adds an option to choose the ssl mode when connecting to postgres.
Only supporting disable or require for now with verify-ca and verify-full to come after more discussion.
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Changing package name back
Accidentally changed the package name so reverting that!
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Adding section in getting-started for securing pgsql connections
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Fix empty protobuf values
Update Normalizer service and .proto files. Reader and Writer services
needs to be updated due to message format change.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update HTTP adapter to use gogo protobuf
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Reader services API
Update API or Reader services to match Message changes due to switching to gogo/proto.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update InfluxDB services
Update InfluxDB Reader and Writer services to match new Message format.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update MongoDB services
Update MongoDB Reader and Writer services to match new message format.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Cassandra services
Update Cassandra Reader and Writer service to match new Message format.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix InfluxDB Reader test
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Makefile and docs accordingly
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix possible data race in InfluxDB writer
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update InfluxDB Writer tests
Raise test coverage.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix InfluxDB reader
Fix wrong ValueSum readings. Upadete tests and raise coverage.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update MongoDB services tests
Raise test coverage for MongoDB Reader and Writer services.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Readers API tests
Raise test coverage.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Raise test coverage
Update Cassandra Reader and Writer services tests.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use gogo/protobuf in CoAP adapter
Add gogo/protobuf to Gopkg.toml and update dependencies.
Update Dockerfile to run `make proto`.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Cassandra Reader tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor code
Improve code style and comments to improve readability.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Rename Sum to SumValue
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Rename Values to Value
Since message contains only single value (or possibly no value at all),
`Values` name could be misleading. Rename simple double value from
`Value` to `FloatValue` accordingly.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix InfluxDB Reader logging
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Replace exclusive if statements with switch-case
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Cassandra services tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Bring old CoAP code back
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix channel ID formatting due to type change
Uncomment error handling for authorization.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update CoAP adapter docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add copyright headers
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove redundant type declaration
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add CoAP adapter to the list of services
Add CoAp adapter in Makefile services list and fix corresponding documentation.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor CoAP code
Merge multipe `const` block int single and declare consts before vars.
Un-export notFound handler since there is no need to export it.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update http version endpoint
This separates CoAP and HTTP APIs.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor CoAP POST method handling
This PR is a part of CoAP adapter refactoring that will simplify adapter implementation.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor CoAP adapter
Change CoAP message handling to simplify adapter implementation.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add backoff timeout for server ping to client
Update CoAP adapter to provide subset of necessary features from
protocol specification.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix leaking locked goroutine
In case of the stopped ticker, its channel is NOT closed, so pinging might be left stuck waiting for the stopped ticker to send a notification.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Format code
Use more meaningful name for Handlers map.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use and stop ticker from the same goroutine
Stop handler Ticker from ping goroutine rather than the cancel goroutine.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Check if subscription already exists in put method
Fix potential leak of handlers providing check inside of put method.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use MessageID as Observe option
Since MessageID satisfies observe option behaviour, use Message ID
instead of local timestamp. Remove Thicker from handler and use it on
transport layer.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use name Observer insted of Handler
Name `Observer` is used in protocol specification, so this naming makes
code more self-documenting.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add CoAP adapter to docker-compose.yml
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add copyright headers
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove unused constants
Fix service name in startup log message.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add metrics endpoint
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor code
Config fields from main.go should not be exported; minor style changes.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update authorization URI-Query option
Use `authorization` value in URI-Query option instead of `key`. This
mimics Authorization header in some other protocols (e.g. HTTP). Please
note that this value can be replaced with simple `auth` to save space,
due to constrained URI-Query option size.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* 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>