* Add mongodb reader service
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add tests for mongodb reader service
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add documentation for mongodb reader service
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix test function name
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update comment in docker-compose for mongodb-reader service
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* MF-216 - Integrate Bashflux into monorepo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename clients -> things
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix FormatResLog
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Initialize Channels commands in channels.go
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Mv bashflux to cmd/ repertory
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Mv API commands files to bashflux repertory
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Initialize Users commands in users.go
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Initialize Version command in version.go
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Initialize Messages command in messages.go
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm bashflux .gitignore and mv commands to root .gitignore
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename API commands vars
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix certificates paths
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm test logs
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Remove get channels cmd without arguments
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix connect and disconnect commands
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix messages endpoint
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm useless comments and dead code
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use contentTypeSenml var
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename cmdCobra -> cmd
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm else statments
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename SetServerAddr function vars
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename conf parameters
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename main with proper name
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix Update channel comment
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix README
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm .DS_Store from .gitignore
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename hhtp_client.go -> http.go
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm DeleteAllChannels and DeleteAllThings funcs
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix BF users usage log
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Improve bashflux logs
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Share types in funcs
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Typo fix
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix BF version cmd
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Set certs paths via env variables
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix package
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm not direct dependencies from Gopkg.toml
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix README
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add def prefix to certificates paths
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* User thiings service for version cmd
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename GetReqResp -> SendRequest
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix version help
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Return directly the pointer in NewVersionCmd
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Define endpoints names as consts and be consistent with naming
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use Spintf for string concatenation
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* typo fix
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix README
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix version endpoint
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix serverAddr
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Update WS tests
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Use require in all writer tests
Refactor code.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Ignore Mainflux generated pb.go files
Ignore *.pb.go files generated by Mainflux, but don't ignore vendored generated code.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Return an exported ErrNotFound instead of the unexported one
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update mocks to match the actual behaviour
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update mocks error message
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add auth service unavailable error test
Since this error is caused by gRPC server returning codes.Internal,
this behaviour is simulated using specific token. When that token is
passed as an auth header, the mock gRPC client returns aforementioned error.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Use require package for postgres tests
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Remove redundant error checks in tests
Refactor tests.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Rename error flag token
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add Cassandra writer implementation
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add cassandra service with version and metrics endpoints
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add test for cassandra writer
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Exclude api.go files from code coverage
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add readme file for cassandra writer
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add docker compose configuration for cassandra writer
Add README file. Add docker compose configuration.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add gocql as project dependency
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix init script for cassandra in docker-compose
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add testifies require subpackage
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add websocket adapter
Add websocket adapter with basic logging and metrics middleware.
Add publish and subscribe to NATS subjects using websocket.
Add websocket handshake authorization over mainflux manager.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add test for websocket publish
Add test for websocket adapter's publish method. Add dependecy
injected logger to adapter. Remove unnecessary manager client
dependency from adapter.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add websocket library in dependencies
Add gorilla/websocket dependency in dep toml and lock file.
Add dependency in vendor dir.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add direct websocket connection
Add direct websocket connection. While messages are still beeing
published over NATS, they are not received over src.ws subject
in WebSocket adapter. Instead messages are sent directly over
websocket connection.
Add swagger file for WebSocket handshake endpoint. Update ReadMe
to reference new swagger file.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Refactore websocket adapter code
Extract listen part from handshake. Update WebSocket adapter code.
Fix subscribe to NATS subject, so that it is independent from other
adapters. Remove message base64 encoding from response..
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Remove connection management from websocket adapter
Align notion of channel with NATS topic. Remove connection
management from adapter logic. Add log messages to adapter's
transport layer.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update NATS subjects and add subscriber interface
Update NATS subject name to channel.<channel_id>. Add and implement
subscriber interface. Implement subscriber interface in adapter.
Update readme to use new make <service_name> command. Refactor code.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add basic tests for broadcast and subscribe
Improve mock implementation of NATS pubsub. Add multiple basic test
cases for broadcast and subscribe methods. Add logging for subscribe.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add listen method test
Add listen method test and refactor existing tests. Refactor listen
method in adapter.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Move broadcast method to message broker interface
Refactor broadcast method to receive send message callback and message
that needs to be sent. Update tests accordingly.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update pubsub API
Remove listen method from public API. Move listen call to subscribe
implementation. Update domain pubsub API in project root.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add connection error handlers to adapter API
Update publish and subscribe API to receive connection error handler.
Update tests accordingly. Handle NATS connection error.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update logs
Replace go-kit logger with custom mainflux logger. Update log messages
where needed..
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Refactor web socket adapter
Remove MessagePubSub interface. Remove unnecessary callbacks. Add
channels to web socket adapter implementation.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add API layer tests
Update existing tests and add API layer tests.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update docs with web socket related data
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Refactor web socket adapter
Update subscription struct, and refactor listen and broadcast methods.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add version and metrics endpoint to ws adapter
Update version to 0.2.0.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Fix race condition bug in ws adapter test
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Rename listen to broadcast and broadcast to listen
Switch names between listen and broadcast methods. Move channel
structure to service.go.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
All validation has been moved to the API resources layer, i.e. the
domain objects provide validation method, but the service itself assumes
no corrupted values are passed to it.
Signed-off-by: Dejan Mijic <dejan@mainflux.com>
Setup top-level glide dependencies file. Migrated all of the manager
service code into this repository. Fixed docker build procedure.
Extracted executable to the top-level.
Signed-off-by: Dejan Mijic <dejan@mainflux.com>