* MF-1314 - Add value comparison filters for readers
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Check if comparison parameter is valid
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use eq, lt, lte, gt, gte as comparison operator keys
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use consts for comparison operators
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use comparator naming instead of comparison
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix openapi.yml
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* MF-1061 - Add PageMetadata to readers
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix merge conflicts
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Mv Total to MessagesPage
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix review
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix readers mock and add filters tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add Total check and allow combinations of query parameters
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use slices length as Total
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Simplify readers mock
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add empty lines
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* MF-1061 - Implement v, vb, vs, vd and from/to mongodb-reader filters
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm duplicated test parameters
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use pubID2 naming
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix merge
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix merge
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm unecessary *bson.D pointer
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use from >= and to <= conditions and add tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Revert to half open interva
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* NOISSUE - Rename pkg aliases uuidProvider into uuid and fix authn typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add missing error checks
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use global uuidProvider
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use expTime globally
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix user uuid provider
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix review
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use idProvider name
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use idProvider instead of uuidProvider
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use idProvider instead of uuidProvider
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* MF-1061 - Add name, protocol and publisher tests to influxdb-reader
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use short package aliases
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* MF-1061 - Implement InfluxDB filters value, v, vb, vs, vd, from, to
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use time filters as float64 instead of int64
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Remove unnecessary cast
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use a const for limit in tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Revert float64 cast when dividing
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Remove value filter in favour to v
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use v, vb, vs, vd
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use v, vb, vs, vd
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm unecessary cast
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add Transformer tests
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix readers and writers
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix README typo
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Tidy vendor
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Remove link field from docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* NOISSUE - Remove messages limit in influxdb-reader
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm too large limit test
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* 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 pagination response to the readers
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Remove println from influx reader
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Commit for mainflux-596
Modified and tested:
- cli
- http
- mqtt
- normalizer
- all readers
- sdk messages
- all writers
- ws
Missing:
- coap
- lora
Signed-off-by: ale <ale@metaverso.org>
* - fix subtopic name in, when starting with dot, http/ws/mqtt
- add some test on readers
Signed-off-by: ale <ale@metaverso.org>
* - fix string concatenation
- update http/transport regexp to match subtopic names with only \w-
- update ws/transport regexp like http ones with also the wildcard * and >
Signed-off-by: ale <ale@metaverso.org>
* added subtopic support to coap adapter
Signed-off-by: ale <ale@metaverso.org>
* - update replace functions with replaceall when needed
- renamed getDestChannel to fmtSubject
- update api/transport and ws/transport route to be more readable
- fix mqtt syntax
- renamed func andQuery to query as suggested by @anovakovic01
- have a nice we :)
Signed-off-by: ale <ale@metaverso.org>
* - fix error declaration on ws/nat/publisher
- fix regexp added missing allowed chars - and _ on coap/api/transport
- fix subtopic clean suffix / if present on coap/api/transport
- improve regexp on http and ws /api/transport, now does not accept url that do not strictly match
- add some ws subtopic tests
Signed-off-by: ale <ale@metaverso.org>
* - enabled wildcard chars on coap/api/transport
- allow use special chars on http and ws api/transport
Signed-off-by: ale <ale@metaverso.org>
* - use strings.Replace() insted ReplaceAll()
Signed-off-by: ale <ale@metaverso.org>
* - allow every chars on subtopics
- fix replace error on mqtt
Signed-off-by: ale <ale@metaverso.org>
* fix cassandra test
Signed-off-by: ale <ale@metaverso.org>
* fix ws test with invalid subtopic
Signed-off-by: ale <ale@metaverso.org>
* fix invalid GOCACHE in go1.12, replaced by -count 1, see https://golang.org/doc/go1.10#test
Signed-off-by: ale <ale@metaverso.org>
* - improve regexp on http/ws api/transport
- minor changes
Signed-off-by: ale <ale@metaverso.org>
* - add generic function parseSubtopic on ws/http adapters
Signed-off-by: ale <ale@metaverso.org>
* - add generic function fmtSubtopic on coap adapter
Signed-off-by: ale <ale@metaverso.org>
* Update increment ID to UUID in things service
Update increment ID to UUID for things and channels in things
service and proto files. Also, update ID type from uint to string.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update increment ID to UUID in http adapter
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update increment ID to UUID in ws adapter
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update increment ID to UUID in CoAP adapter
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update increment ID to UUID in normalizer service
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update increment ID to UUID in writer services
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update increment ID to UUID in reader services
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update increment ID to UUID in SDK
Update increment ID to UUID in SDK. Update id type to string.
Update tests.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update increment ID to UUID in mqtt adapter
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Remove unnecessary case from influxdb reader
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update tests in order to increase code coverage
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update lora adapter to use string ID instead of unsigned int
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Use message time as Point time in InfluxDB
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use actual message time
Update all Reader and Writer services to use time from the message
instead of time given from the corrseponding Writer service.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove message time check
Messages time less than 2**28 represent time relative to the current time so Writer used to convert this to the correct value, i.e. msg.Time += time.Now(). However, this step is optional and should really be a part of the app on top of Mainflux or could be introduced with minor changes in Normalizer, Reader or Writer services, so there is no need for this to be supported out of box.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use channel and publisher as tag keys
Move all the other Message fields to the field keys.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.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>
* Adding an option to select log level
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* making error default log level
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* removing go-kit/levels and expanding levels wrapper
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* refactoring test cases and using log.fatal
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* logger.new no longer accpets enum and now accepts string for level
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* level_test.go refactor to compare error
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Updating the ws README
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Adding log level for mqtt Adapter
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Add batch of streams
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add env variables for batch point setup
Fix InfluxDB reader tests.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update Compose and Kubernetes config
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update env variables
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 unused const
Refactor code and docs.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Handle NewBatchPoints error
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Reduce wait time in batch save test
Fix typos.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update tests
Use single test with multiple cases to test single point save as well as
a batch of points.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add an explanation for not resetting ticker
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add InfluxDB reader
Summary:
- Add basic reader features
- Update Makefile
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Raise test coverage
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update README.md and docker composition
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix docker-compose.yml
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Remove exposed ports
Ports are already exposed by mapping, so no need to explicity expose them.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>