Dušan Borovčanin
d9d9da49a8
MF-715 - Conflict on updating connection with a valid list of channels ( #716 )
...
* Add check if Channels already exist
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update streams tests to use time offset
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
2019-04-17 19:41:37 +02:00
Dušan Borovčanin
fe9f4dca8e
NOISSUE - Update event fields naming ( #713 )
...
* Update event fields naming
Replace `id` with `thing_id`.
Fix typo in `success` field.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
2019-04-16 18:32:05 +02:00
Aleksandar Novaković
5799356b14
MF-549 - Change metadata format from JSON string to JSON object ( #706 )
...
* 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>
2019-04-16 14:58:56 +02:00
Dušan Borovčanin
0bbc4f54ab
Fix Bootstrap service event map keys ( #705 )
...
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
2019-04-11 13:55:21 +02:00
Dušan Borovčanin
6ebc758f89
MF-687 - Add event sourcing to Bootstrap service ( #695 )
...
* 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>
2019-04-08 08:46:07 -07:00
tony-ward
7c4c6109f4
MF-639 Split Content-Type header field on semicolon and evaluate all substrings ( #644 )
...
* Split Content-Type header field on semicolon and evaluate all substrings
Signed-off-by: Tony Ward <tony@lucidtron.com>
* included strings library
Signed-off-by: Tony Ward <tony0ward@hotmail.com>
* simplify code, run gofmt
Signed-off-by: tony <tony0ward@hotmail.com>
Signed-off-by: tony <tony@lucidtron.com>
* allow Content-Type to only contain the required type
Signed-off-by: Tony Ward <tony@lucidtron.com>
2019-03-19 12:00:11 +01:00
Aleksandar Novaković
8c3bff5f4b
MF-656 - Change bootstrap service port to 8200 ( #658 )
...
* Change bootstrap service port to 8200
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix redis streams tests in things service
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
2019-03-18 13:50:44 +01:00
Dušan Borovčanin
2ed1471d5f
MF-539 - Improve Bootstrap Service documentation ( #646 )
...
* Fix infinte loop in Subscribe method
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>
* Update service README
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Add bootstrapping flow gif
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update bootstrapping flow gif
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
2019-03-15 19:11:26 +01:00
Dušan Borovčanin
3300814026
MF-552 - Use event sourcing to keep Bootstrap service in sync with Things service ( #603 )
...
* Use separate table for Channels
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add inital event sourcing subscription
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add Channel update sync
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add Thing remove sync
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add Channel remove sync
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update service add method marshalling metadata
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Make separate methods for connection update
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add diconnect event sync
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Configs repository mock
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix service tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update repository tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update API docs
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Location header
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update README.md
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix tests mutex lock
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix method names in logs
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
2019-03-04 17:41:38 +01:00
Dušan Borovčanin
fa7d638453
MF-540 - Add pagination in API responses for Bootstrap service ( #575 )
...
* Add Page to List response
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add request validation tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update endpoint routes
Update API docs accordingly.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add optional Thing ID to config add request
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Extract literals to constants
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update comments
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix count logs
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
2019-02-22 14:54:09 +01:00
Dušan Borovčanin
1df4dcd7b7
NOISSUE - Add name field for Bootstrap Config ( #564 )
...
* Add name field to Config
Enable search by name.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Create separate response for unknown Configs
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use meaningful names for filters
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add name search tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update API docs
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Break mocks check into multiple lines
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Create new instances in a consistent way
Reformat `return` statements.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
2019-02-06 10:28:54 +01:00
Dušan Borovčanin
bf9e148120
MF-551 - Add metadata fields to Bootstrap Channels ( #563 )
...
* Save MF channel name and metadata to the BS
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove separate Channels table
Use nested JSON field instead.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix tests
Use proper JSON format for Bootstrap response fields.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update API docs
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove unnecessary comments
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Extract Config fields to constants
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Inline if statements
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
2019-01-30 16:40:37 +01:00
Dušan Borovčanin
22fc26b375
MF-513 - Add Bootstrapping service ( #524 )
...
* Introduce Config response for bootstrap procedure
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add inital service implementation
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Enable status change
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix logger import
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update BSS to send config in valid format
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use ConfigReader to create valid format response
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update config retrieval error handle
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Enable Thing deletion API
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add API support for fetching Thing by ID
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add list Things endpoint
Update database schema
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use MF API to update status
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use Channels list
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix reading Thing from the database
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Create Mainflux Thing when adding new Thing to BS
Create MF Thing as soon as Bootstrap service thing is added. There are 2
main reasons to create Thing when adding a new BS Thing over creating
Thing on bootstrapping:
1) On bootstrapping time, user JWT will not be sent as a part of
request, so there is no mechanism to send a valid API call to Mainflux.
2) This way, Bootstrap service will be in sync with Mainlux: each Thing
existing in BS will also be in Mainflux.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add Thing update
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove API key from BS service
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Improve channels update algorithm
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor code
Remove unused fields, comment code and simplfy some method signatures.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove Identity Provider and use gRPC
Update dependencies
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add external auth key
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update BS config reader
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update docker-compose
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update env variable read
Add MQTT password to bootstrap response.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update response fields and tags
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove status check
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Enable BS of active Things
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add NewThing state
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Rename Status to State
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update README.md
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add filterng
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update List endpoint
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix Database query
Remove copyright headers.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add filter type
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Gateway provisioning (1.d)
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update self-bootstrapping feature
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add mocks
Update dependencies to the newest Mainflux version.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add thing service tests
Mocks fix.
Some of the service code intentionally left untested due to possible
changes in future.
Fix copyright headers and update Mainflux and other dependencies.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use name "Config" instead of "Thing"
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor code
Remove commented code.
Fix typo.
Remove unused exported error.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Simplify service tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove Assign method
Raise test coverage.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update database schema
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Store unknown bootstrap attempts
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update unknown bootstrap handling
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update naming
Fix uses of `Thing` in DB and `api` package.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add endpoint tests
Currently, only test for adding a new Config are implemented.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add initialization of DB tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add DB tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update readme file
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add API docs
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove Mainflux from vendor
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add licence headers
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix service and endpoint tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Raise test coverage
Remove unused repsonse type.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update build and deployment
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update API docs
Fix typo.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update imports formatting
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Make state response empty
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Raise test coverage
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update API docs
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update readme file
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use uuid as a primary key
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use Mainflux ID
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Remove `Created` state.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Move State to separate file
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add Things prefix
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update API and API docs
Be consistent in API naming and add some useful comments.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor repository implementation
Cleanup code, make it more readable. Fix missing drop in migrations.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use "cfg" insted of "thing"
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update tables names
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
2019-01-09 15:42:23 +01:00