2019-10-07 08:14:47 -06:00
|
|
|
// Copyright (c) Mainflux
|
2019-05-16 18:00:19 +02:00
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
package postgres
|
|
|
|
|
|
|
|
import (
|
2020-12-30 15:43:04 +01:00
|
|
|
"encoding/json"
|
2019-05-16 18:00:19 +02:00
|
|
|
"fmt"
|
|
|
|
|
2022-12-13 15:34:01 +01:00
|
|
|
"github.com/jackc/pgerrcode"
|
|
|
|
"github.com/jackc/pgx/v5/pgconn"
|
MF-1556 - Move the most used functions in main.go to internal package (#1601)
* MF-1525 - Add graceful stop for HTTP and GRPC servers (#1548)
* Add : errgroup to cmd/auth
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : Handle graceful stop for auth service
Remove : errgroups from auth service
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : Wait till server shutdown
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Change : instead of waitgroup changed to errgroups
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change : KillSignalHandler return type to error
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Empty Commit
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : Context to http server shutdown
Rename : varaible from proto to protocol
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change : to default log level
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : Sign-off
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: graceful stop of http and grpc server
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Fix: typos and caps
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: Signed-off
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Rename: Func KillSignalHandler to SignalHandler
Add: SIGABRT
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Fix: auth service
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: timeout for grpc gracefulstop
Fix: typos
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: .vscode folder to git ignore
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change: variable name to stopWaitTime
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove: .vscode folder
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove: .vscode from .gitignore
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : logger to handlers
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : New line at end of .gitignore file
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Fix : variable naming
Add : graceful stop for timescale
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Remove : unsued NATS library from import
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Move: "https" and "https" to moved to const var
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Move: "http" and "https" to moved to const var
Signed-off-by: Arvindh <arvindh91@gmail.com>
* update: branch with master
Signed-off-by: Arvindh <arvindh91@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Co-authored-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: httpserver and grpcsever
Signed-off-by: Arvindh <arvindh91@gmail.com>
* MF-1588 - Update Subscriber interface (#1598)
* Initial commit
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Update subscriber interface
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Add tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Add tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* check subscription map
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Check topic id after topic
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* reword description
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Setup empty queue
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change mqtt implementation
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Switch statements
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Simplify
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change mqtt subscriber
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Protect subscription map
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Fix subscription
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Set client id
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Format
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change delete method
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* move http and grpc server functions
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Move Keto and Jaeger
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add metrics and auth
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* MF - 1590 - Fix fetching list of users with a zero limit (#1594)
* Add max and min limit size
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Format
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Format
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* NOISSUE - Retrieve client key on cert issuing (#1607)
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix bug (#1604)
Signed-off-by: zhangchuanfeng <654300242@qq.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Rename service name
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Change metrics method
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Rename
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Rename
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Rename package name
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* :truck: Rename Keto and Jaeger functions
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify grpc service
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* :truck: rename apiutil to initutil
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* :sparkles: coap server
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* :truck: rename
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* :truck: Rename
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* :recycle: rename packages
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* :recycle: remove mf prefix
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* :truck: rename server error
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove dead code
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* MF - 1416 - Queue Abstraction for Mainflux & RabbitMQ Support (#1562)
* MF-1263 - Move repeating errors to the separate package (#1540)
* MF-1263 - Mv duplicated errors to pkg/errors
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Revert test build flags
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix merge
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix comment
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Fix auth members list response (#1555)
* NOISSUE - Fix auth members list response
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Move group type next to page details
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm membersRes
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1261 - Use StatusUnauthorized for authn and StatusForbidden for authz (#1538)
* MF-1261 - Use StatusUnauthorized for authn and StatusForbidden for authz
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* ErrExternalKey typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename ErrUnauthorizedAcces -> ErrAuthentication
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix bootstrap error
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix status code in openapi
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix test description
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix test description
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix test description
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add errors cases
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix status codes
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add gRPC stutus code
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix tests description
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix openapi and encodeError
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix grpc message
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix test descriptions
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Revert sdk error
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1059 - Add TLS support for email (#1560)
* Use gomail package for sending emails
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
* remove print err
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
* Add vendor
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
* Rename email structure
remove logger
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
* typo in var name
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
* rename var
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
* remove MF_EMAIL_SECRET
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Refactor MQTT subscriber (#1561)
* correct suscriber interface validator + refactore token error handling
Signed-off-by: tzzed <zerouali.t@gmail.com>
* apply review suggestion
Signed-off-by: tzzed <zerouali.t@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1257 - Access messages from readers endpoint with user access token (#1470)
* remove owner id
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add user auth for db reader
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* add user auth for db reader
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* enable mongodb reader for user token reading
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* use uuid check for auth switch between thing key and user tok
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* enable user token reading
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* revert to correct version
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* fix endpoint test, add additional tests
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* remove logs,dead code
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* fix logging messages
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* remove auth interface, add authorization header type
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* update api doc
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* remove unused package
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* some refactor of cases for authorization switch
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* correct description in openapi
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* fix endpoint test to match auth service change
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* some rename
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* initialize auth url
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* add env variables for auth service
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* fix spelling
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* Things prefix and no prefix for Thing authorization, Bearer for user
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* update readme file
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* fix default things grpc port
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* enable user reading for timescaledb
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* remove not used error
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* improve errors
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* refactor authorize
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* add chanID check
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* inline some error checking
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* fixing errors
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* fixing errors
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* improve test case description
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* remove test code
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* dont inline
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* refactor a bit encodeError
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* remove unused error
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* remove unused error
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* fix things auth grpc url
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
* rename variables for header prefix
Signed-off-by: mteodor <mirko.teodorovic@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Initial commit of adding rabbitmq broker
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Initial commit of adding rabbitmq broker
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Initial commit for tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Bump up tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Add more tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Add go routines
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Initial commit of adding rabbitmq broker
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Initial commit for tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Bump up tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Add more tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Add go routines
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Fix tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Fix with wait groups
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* unsubscribe to stop delivering messages
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Remove exclusivity
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1551 - Fix Cobra usage commands and clean unnecessary struct types (#1558)
* MF-1551 - Fix Cobra usage commands and clean unnecessary struct types
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use linux syntax for cmd usage description
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix cmd.Use
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Separate Keto hosts for read and write (#1563)
* Separate keto hosts for read and write
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
* update readme with new envars
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
* rename read connection name
Signed-off-by: Ivan Milosevic <iva@blokovi.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Co-authored-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Update dependencies (#1564)
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1240 - Return to service transport layer only service errors (#1559)
* MF-1240 - Return to service transport layer only service errors
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Remove unecessary errors
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm duplicated errors and fix transport
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Revert http endpoint_test
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix conflict
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Implement cancel mechanisms
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Queuename as parameter
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Queuename as parameter
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1469 - Indicate proper authentication scheme in Authorization header (#1523)
* MF-1469 - Indicate proper authentication scheme in Authorization header
Signed-off-by: Stefan Kovacevic <jen2tri@gmail.com>
* Fixing the remarks on the last push
Signed-off-by: Stefan Kovacevic <jen2tri@gmail.com>
* Remove Bearer prefix in all services and fix tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix remarks
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Co-authored-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Add nats wrapper for COAP (#1569)
* Add nats wrapper for COAP
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Pass pubsub as argument
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Defer close connection
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Defer close connection
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Rename endpoint to topic
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1348 - Add transport errors logging (#1544)
* MF-1348 - Add go-kit transport level logging
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 merge
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix remark
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix go test flags
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use httputil errors in things and http service
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix SDK tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use httputil errors in certs and provision service
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use httputil errors in consumers service
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* General renaming and add ErrMissingToken
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rename httputil -> apiutil and use errors in users servive
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use apiutil errors in auth, bootstrap, readers, things and twins
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Replace errors.Contain by comparison
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix remarks
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Simplify validateID
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Simplify validateID
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Simplify and rename ExtractAuthToken -> ExtractBearerToken
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix readers
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix auth key test and remarks
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Improve comment
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Simplify validateUUID check
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1567 - Use Bearer, Thing or Basic scheme in Authorization header (#1568)
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1565 - Document Bearer, Thing and Basic Authorization header (#1566)
* MF-1565 - Document Bearer Authorization header
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix auth, bootstrap, http and readers openapi
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix openapi
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add enc key for bootstrap
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Use global security
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix bearer formats
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Polish descriptions
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix boostrap and typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Co-authored-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1575 Add 'Name' field to ListMembers response in things svc (#1576)
Signed-off-by: Ivan Balboteo <ivan@submer.com>
Co-authored-by: Ivan Balboteo <ivan@submer.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1580 - Influxdb Writer changes format of update-time to string (#1581)
* - MF-1580
- Modified consumers/writers/influxdb/fields.go
- influxdb-writer used to update data type of update-time to string
- Commented line 12 of consumers/writers/influxdb/fields.go to resolve
uneccessary data type conversion issue
Signed-off-by: Hasan Tariq <hasantariqashraf@gmail.com>
* - MF-1580
- Removed strconv package from consumers/writers/influxdb/fields.go since it is no longer needed
- Removed line 12 from consumers/writers/influxdb/fields.go
- Replaced retrun value of updateTime with msg.UpdateTime (line 16 in
fields.go)
Signed-off-by: Hasan Tariq <hasantariqashraf@gmail.com>
* Fix InflxuDB readers
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Co-authored-by: Hasan Tariq <hasant@plcgroup.com>
Co-authored-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Unify MF_INFLUX_READER_DB_HOST and MF_INFLUX_WRITER_DB_HOST envars (#1585)
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Fix CoAP adapter (#1572)
* Revert "NOISSUE - Add nats wrapper for COAP (#1569)"
This reverts commit cc5d5195ab27fa94270ada616487b7053fd9c7bd.
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Fix CoAP adapter
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Update CoAP observation cancel
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Fix observe
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Fix GET handling
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Revert authorization
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Use constants instead of magic numbers
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Remove an empty line
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Extract special observe value to constant
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1582 - Fix lora-adapter MQTT client (#1583)
* MF-1582 - Fix lora-adapter MQTT clien
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add timeout config to the mqtt subscriber
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Rm comment
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add sub timeout
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Update changelog and readme for release 0.13.0 (#1592)
* Update release example
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Update changelog and examples for 0.13.0 release
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Update VerneMQ release (#1593)
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Update changelog for release 0.13.0 (#1595)
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* unexport constants
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change routingkey
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Remove wait groups
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* protecting map
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Add publisher to pubsub
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change proto library
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Fix typos
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Reduce pubsub tests based on implementation
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Remove channel cancel
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Export constant
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Move invariant statements out of loop for cassandra-writer (#1596)
Signed-off-by: fuzhy <fuzhy1997@outlook.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Embedding publisher into pubsub
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Naming publisher
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Fix Nginx entrypoint script (#1597)
* Fix Nginx entrypoint script
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Update dependencies
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Fix NginX entrypoint
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Revert Makefile changes
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1525 - Add graceful stop for HTTP and GRPC servers (#1548)
* Add : errgroup to cmd/auth
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : Handle graceful stop for auth service
Remove : errgroups from auth service
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : Wait till server shutdown
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Change : instead of waitgroup changed to errgroups
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change : KillSignalHandler return type to error
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Empty Commit
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : Context to http server shutdown
Rename : varaible from proto to protocol
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change : to default log level
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : Sign-off
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: graceful stop of http and grpc server
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Fix: typos and caps
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: Signed-off
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Rename: Func KillSignalHandler to SignalHandler
Add: SIGABRT
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Fix: auth service
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: timeout for grpc gracefulstop
Fix: typos
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: .vscode folder to git ignore
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change: variable name to stopWaitTime
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove: .vscode folder
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove: .vscode from .gitignore
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : logger to handlers
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add : New line at end of .gitignore file
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Fix : variable naming
Add : graceful stop for timescale
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Remove : unsued NATS library from import
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Move: "https" and "https" to moved to const var
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Move: "http" and "https" to moved to const var
Signed-off-by: Arvindh <arvindh91@gmail.com>
* update: branch with master
Signed-off-by: Arvindh <arvindh91@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Co-authored-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF-1588 - Update Subscriber interface (#1598)
* Initial commit
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Update subscriber interface
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Add tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Add tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* check subscription map
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Check topic id after topic
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* reword description
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Setup empty queue
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change mqtt implementation
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Switch statements
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Simplify
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change mqtt subscriber
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Protect subscription map
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Fix subscription
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Set client id
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Format
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change delete method
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Update rabbitmq subscriber interface
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* using publisher composition
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change contenttype
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* rename topic for publish and subscribe
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change errors to lower case
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change errors to lower case
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* export errors
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* MF - 1590 - Fix fetching list of users with a zero limit (#1594)
* Add max and min limit size
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Format
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Format
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* NOISSUE - Retrieve client key on cert issuing (#1607)
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* fix bug (#1604)
Signed-off-by: zhangchuanfeng <654300242@qq.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* queue per subscription
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* queue per subscription
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Change routing method
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Direct method with one exchange to many queues, one consumer per queue
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* :recycle: Not casting data
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* :pencil2: Fix typo
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* :recycle: remove passed queue name
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* :fire: removing echange kind
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Combine tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Refactor unsubscribe method
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Fix merge conflict
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* :white_check_mark: sub and unsub to dummy topic
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* generate client id from topic and ID
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Rename topicID to clientID
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* update tests
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Reuse clientID
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Fix typos
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
* Seperate testpublish and testpubsub
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Co-authored-by: Manuel Imperiale <manuel.Imperiale@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Co-authored-by: Ivan Milošević <iva@blokovi.com>
Co-authored-by: __touk__ <zerouali.t@gmail.com>
Co-authored-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
Co-authored-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
Co-authored-by: stefankovacevic123 <jen2tri@gmail.com>
Co-authored-by: ibalboteo <ivanbalboteo@gmail.com>
Co-authored-by: Ivan Balboteo <ivan@submer.com>
Co-authored-by: Hasan98-git <67228396+Hasan98-git@users.noreply.github.com>
Co-authored-by: Hasan Tariq <hasant@plcgroup.com>
Co-authored-by: fuzhy <fuzhy1997@outlook.com>
Co-authored-by: Arvindh <30824765+arvindh123@users.noreply.github.com>
Co-authored-by: 张传峰 <59160162+zhang-chuanfeng@users.noreply.github.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* NOISSUE - Fix Groups SDK (#1609)
* Fix Groups SDK
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Fix CLI
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* NOISSUE - Fix CI script (#1613)
* Fix CI script
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Fix linter errors
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Add timeout to linter
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* NOISSUE - Make application/json content-type valid in http-adapter (#1606)
* NOISSUE - Make application/json content-type valid in http-adapter
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add test
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Add CBOR content-type
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix naming
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix naming
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix CI
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix CI flag
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix CI install
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Upgrade grpc version
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix typo
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* rm cli
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Specify size of channel
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* NOISSUE - fix pull request template typo (#1616)
* Fix typo
Signed-off-by: Filip Bugarski <filipbugarski@gmail.com>
* Change link
Signed-off-by: fbugarski <filipbugarski@gmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: load configuration function
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change: load config from env with pkg caarlos0/env
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change: mfdatabase to internaldb
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Add: httpserver and grpcsever
Signed-off-by: Arvindh <arvindh91@gmail.com>
move http and grpc server functions
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Move Keto and Jaeger
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Add metrics and auth
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Rename service name
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Change metrics method
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Rename
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Rename
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Rename package name
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
:truck: Rename Keto and Jaeger functions
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
unify grpc service
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
:truck: rename apiutil to initutil
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
:sparkles: coap server
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
:truck: rename
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
:truck: Rename
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
:recycle: rename packages
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
:recycle: remove mf prefix
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
:truck: rename server error
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
remove dead code
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
NOISSUE - Fix CI script (#1613)
* Fix CI script
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Fix linter errors
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Add timeout to linter
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Specify size of channel
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Add: load configuration function
Signed-off-by: Arvindh <arvindh91@gmail.com>
change: load config from env with pkg caarlos0/env
Signed-off-by: Arvindh <arvindh91@gmail.com>
* change: mfdatabase to internaldb
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: merge resolve error
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: merge resolve error
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: merge resolve error
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove: unused variables
Signed-off-by: Arvindh <arvindh91@gmail.com>
* add: address variable in servers
Signed-off-by: Arvindh <arvindh91@gmail.com>
* move: postgres connect to internal
Signed-off-by: Arvindh <arvindh91@gmail.com>
* add: client wrapper for most used
Signed-off-by: Arvindh <arvindh91@gmail.com>
* add: client wrapper for env
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify : auth, bootstrap, cassandra reader
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify : bootstrap code
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify : cassandra writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: struct tag to envDefault
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: grpc prefix
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: env parser
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: alt prefix
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: env default tag
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: auth grpc config
Signed-off-by: Arvindh <arvindh91@gmail.com>
* changes: internal approch and service start
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify: http adapter service
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove: unused code in http adapter"
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: config environment variable tags
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify: timescale writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify: timescale reader
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify: thing main.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify: smtp-notifier
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify: smpp-notifier
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify: postgres reader and writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify: twins
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify certs main.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify certs main.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify coap main.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify lora main.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix fatalf
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify mqtt main.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify mqtt main.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify ocpua adapter main.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix case
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify ws_adapter
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify ws_adapter
Signed-off-by: Arvindh <arvindh91@gmail.com>
* unify ws_adapter
Signed-off-by: Arvindh <arvindh91@gmail.com>
* add : comment and spacing
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: lint errors
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: lint errors
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: main.go config load
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: main.go config load
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: auth main.go keto config
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove: package internal/sqlxt
Signed-off-by: Arvindh <arvindh91@gmail.com>
* code format : internal/client/grpc/connect.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: inline code
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: code format
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: inline and code format
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: moved to single block
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: moved to single block
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: export function comments
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: export function comments
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: export function comments
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: export function comments
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: export function comments
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remane: newtracer.go to tracer.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* renamee: authClient.go and thingsClient.go to client.go
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove space
Signed-off-by: Arvindh <arvindh91@gmail.com>
* add: jaeger default value
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: cassander config default values
Signed-off-by: Arvindh <arvindh91@gmail.com>
* rename file
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: postgres client config default values
Signed-off-by: Arvindh <arvindh91@gmail.com>
* add setup with default config
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: mongo client config default values
Signed-off-by: Arvindh <arvindh91@gmail.com>
* add: postgres default db name in services
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for auth
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for bootstrap
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for cassandra-reader
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for cassandra-writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for certs
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for coap
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for http-adapter
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for influx-reader
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for influx-writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for lora
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for mongodb-reader
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for mongodb-writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for mqtt
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for opcua
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for postgres-reader
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for postgres-writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for smpp-notifier
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for smtp-notifier
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for things
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for timescale-reader
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for timescale-writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for twins
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for users
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: environment variable default for ws
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: unused variables
Signed-off-by: Arvindh <arvindh91@gmail.com>
* empty commit
Signed-off-by: Arvindh <arvindh91@gmail.com>
* add comments
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: redis env variables
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: adapter ports and postgres db name
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: adapter ports
Signed-off-by: Arvindh <arvindh91@gmail.com>
* comments aligned
Signed-off-by: Arvindh <arvindh91@gmail.com>
* rename cassandra session variable
Signed-off-by: Arvindh <arvindh91@gmail.com>
* rename influxdb and influx to influxDB
Signed-off-by: Arvindh <arvindh91@gmail.com>
* rename EsConsumername to ESConsumerName
Signed-off-by: Arvindh <arvindh91@gmail.com>
* made comments consistant
Signed-off-by: Arvindh <arvindh91@gmail.com>
* made comments consistant & remove empty lines
Signed-off-by: Arvindh <arvindh91@gmail.com>
* made comments consistant & renmae function
Signed-off-by: Arvindh <arvindh91@gmail.com>
* made comments
Signed-off-by: Arvindh <arvindh91@gmail.com>
* comments added
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix bootstrap
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix empty env var
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove : unused variable
Signed-off-by: Arvindh <arvindh91@gmail.com>
* update: env parser library
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: mongodb reader and writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* fix: cassandra reader and writer
Signed-off-by: Arvindh <arvindh91@gmail.com>
* rename: directory
Signed-off-by: Arvindh <arvindh91@gmail.com>
* rename: variable
Signed-off-by: Arvindh <arvindh91@gmail.com>
* remove: unused librar
Signed-off-by: Arvindh <arvindh91@gmail.com>
* Format code and remove unused comments
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Fix tests
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* Move test URL construction out of the loop
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
* remove end dot in single line comments
Signed-off-by: Arvindh <arvindh91@gmail.com>
* empty
Signed-off-by: Arvindh <arvindh91@gmail.com>
---------
Signed-off-by: Arvindh <arvindh91@gmail.com>
Signed-off-by: 0x6f736f646f <blackd0t@protonmail.com>
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
Signed-off-by: zhangchuanfeng <654300242@qq.com>
Signed-off-by: dusanb94 <dusan.borovcanin@mainflux.com>
Signed-off-by: fbugarski <filipbugarski@gmail.com>
Co-authored-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
Co-authored-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
Co-authored-by: b1ackd0t <blackd0t@protonmail.com>
Co-authored-by: Manuel Imperiale <manuel.Imperiale@gmail.com>
Co-authored-by: 张传峰 <59160162+zhang-chuanfeng@users.noreply.github.com>
Co-authored-by: Ivan Milošević <iva@blokovi.com>
Co-authored-by: __touk__ <zerouali.t@gmail.com>
Co-authored-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
Co-authored-by: stefankovacevic123 <jen2tri@gmail.com>
Co-authored-by: ibalboteo <ivanbalboteo@gmail.com>
Co-authored-by: Ivan Balboteo <ivan@submer.com>
Co-authored-by: Hasan98-git <67228396+Hasan98-git@users.noreply.github.com>
Co-authored-by: Hasan Tariq <hasant@plcgroup.com>
Co-authored-by: fuzhy <fuzhy1997@outlook.com>
Co-authored-by: Filip Bugarski <filipbugarski@gmail.com>
2023-02-03 22:06:18 +05:30
|
|
|
"github.com/jmoiron/sqlx"
|
2020-06-03 15:16:19 +02:00
|
|
|
"github.com/mainflux/mainflux/pkg/errors"
|
|
|
|
"github.com/mainflux/mainflux/pkg/transformers/senml"
|
2019-05-16 18:00:19 +02:00
|
|
|
"github.com/mainflux/mainflux/readers"
|
|
|
|
)
|
|
|
|
|
|
|
|
var _ readers.MessageRepository = (*postgresRepository)(nil)
|
|
|
|
|
|
|
|
type postgresRepository struct {
|
|
|
|
db *sqlx.DB
|
|
|
|
}
|
|
|
|
|
|
|
|
// New returns new PostgreSQL writer.
|
|
|
|
func New(db *sqlx.DB) readers.MessageRepository {
|
|
|
|
return &postgresRepository{
|
|
|
|
db: db,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-26 12:23:15 +01:00
|
|
|
func (tr postgresRepository) ReadAll(chanID string, rpm readers.PageMetadata) (readers.MessagesPage, error) {
|
2021-02-09 22:44:04 +01:00
|
|
|
order := "time"
|
|
|
|
format := defTable
|
|
|
|
|
2021-04-19 11:54:08 +02:00
|
|
|
if rpm.Format != "" && rpm.Format != defTable {
|
2021-02-09 22:44:04 +01:00
|
|
|
order = "created"
|
|
|
|
format = rpm.Format
|
2020-12-30 15:43:04 +01:00
|
|
|
}
|
2023-07-28 06:14:15 +05:30
|
|
|
cond := fmtCondition(chanID, rpm)
|
2021-01-26 12:23:15 +01:00
|
|
|
|
2020-12-30 15:43:04 +01:00
|
|
|
q := fmt.Sprintf(`SELECT * FROM %s
|
|
|
|
WHERE %s ORDER BY %s DESC
|
2023-07-28 06:14:15 +05:30
|
|
|
LIMIT :limit OFFSET :offset;`, format, cond, order)
|
2019-05-16 18:00:19 +02:00
|
|
|
|
|
|
|
params := map[string]interface{}{
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
"channel": chanID,
|
2021-01-26 12:23:15 +01:00
|
|
|
"limit": rpm.Limit,
|
|
|
|
"offset": rpm.Offset,
|
|
|
|
"subtopic": rpm.Subtopic,
|
|
|
|
"publisher": rpm.Publisher,
|
|
|
|
"name": rpm.Name,
|
|
|
|
"protocol": rpm.Protocol,
|
|
|
|
"value": rpm.Value,
|
|
|
|
"bool_value": rpm.BoolValue,
|
|
|
|
"string_value": rpm.StringValue,
|
|
|
|
"data_value": rpm.DataValue,
|
|
|
|
"from": rpm.From,
|
|
|
|
"to": rpm.To,
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|
|
|
|
rows, err := tr.db.NamedQuery(q, params)
|
|
|
|
if err != nil {
|
2022-12-13 15:34:01 +01:00
|
|
|
if pgErr, ok := err.(*pgconn.PgError); ok {
|
|
|
|
if pgErr.Code == pgerrcode.UndefinedTable {
|
2021-04-20 21:33:26 +02:00
|
|
|
return readers.MessagesPage{}, nil
|
|
|
|
}
|
|
|
|
}
|
2022-02-14 22:49:23 +01:00
|
|
|
return readers.MessagesPage{}, errors.Wrap(readers.ErrReadMessages, err)
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|
|
|
|
defer rows.Close()
|
|
|
|
|
|
|
|
page := readers.MessagesPage{
|
2021-01-26 12:23:15 +01:00
|
|
|
PageMetadata: rpm,
|
|
|
|
Messages: []readers.Message{},
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|
2021-02-09 22:44:04 +01:00
|
|
|
switch format {
|
2020-12-30 15:43:04 +01:00
|
|
|
case defTable:
|
|
|
|
for rows.Next() {
|
2021-04-20 21:33:26 +02:00
|
|
|
msg := senmlMessage{Message: senml.Message{}}
|
2020-12-30 15:43:04 +01:00
|
|
|
if err := rows.StructScan(&msg); err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return readers.MessagesPage{}, errors.Wrap(readers.ErrReadMessages, err)
|
2020-12-30 15:43:04 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
page.Messages = append(page.Messages, msg.Message)
|
|
|
|
}
|
|
|
|
default:
|
|
|
|
for rows.Next() {
|
|
|
|
msg := jsonMessage{}
|
|
|
|
if err := rows.StructScan(&msg); err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return readers.MessagesPage{}, errors.Wrap(readers.ErrReadMessages, err)
|
2020-12-30 15:43:04 +01:00
|
|
|
}
|
|
|
|
m, err := msg.toMap()
|
|
|
|
if err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return readers.MessagesPage{}, errors.Wrap(readers.ErrReadMessages, err)
|
2020-12-30 15:43:04 +01:00
|
|
|
}
|
|
|
|
page.Messages = append(page.Messages, m)
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-07-28 06:14:15 +05:30
|
|
|
q = fmt.Sprintf(`SELECT COUNT(*) FROM %s WHERE %s;`, format, cond)
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
rows, err = tr.db.NamedQuery(q, params)
|
|
|
|
if err != nil {
|
2022-02-14 22:49:23 +01:00
|
|
|
return readers.MessagesPage{}, errors.Wrap(readers.ErrReadMessages, err)
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
defer rows.Close()
|
2019-05-16 18:00:19 +02:00
|
|
|
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
total := uint64(0)
|
|
|
|
if rows.Next() {
|
|
|
|
if err := rows.Scan(&total); err != nil {
|
|
|
|
return page, err
|
|
|
|
}
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
page.Total = total
|
2019-05-16 18:00:19 +02:00
|
|
|
|
|
|
|
return page, nil
|
|
|
|
}
|
|
|
|
|
2021-01-26 12:23:15 +01:00
|
|
|
func fmtCondition(chanID string, rpm readers.PageMetadata) string {
|
2019-09-21 02:50:09 +04:30
|
|
|
condition := `channel = :channel`
|
2021-01-26 12:23:15 +01:00
|
|
|
|
|
|
|
var query map[string]interface{}
|
|
|
|
meta, err := json.Marshal(rpm)
|
|
|
|
if err != nil {
|
|
|
|
return condition
|
|
|
|
}
|
MF-1718 - Use static code analysis in CI (#1729)
* things, twins, and logger lint fixed
Signed-off-by: aryan <aryangodara03@gmail.com>
* all services updated, auth jwt not working, ineffectual assignment issue
Signed-off-by: aryan <aryangodara03@gmail.com>
* handle error from grpc server in endpointtest
Signed-off-by: aryan <aryangodara03@gmail.com>
* temp commit, auth/jwt needs to be resolved
Signed-off-by: aryan <aryangodara03@gmail.com>
* revert back to jwt v4 temporarily
Signed-off-by: aryan <aryangodara03@gmail.com>
* updated jwt tokenizer
Signed-off-by: aryan <aryangodara03@gmail.com>
* resolve EOF error for httptest requests
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix auth jwt, update to registeredclaims
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix ineffective assignment, auth/api/grpc endpoint failing
Signed-off-by: aryan <aryangodara03@gmail.com>
* temp commit, remove later
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix grpc server setup
Signed-off-by: aryan <aryangodara03@gmail.com>
* resolve golangci tests, remove debug statements
Signed-off-by: aryan <aryangodara03@gmail.com>
* update golangci version and modify linters used
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix failing tests
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix grpc server for setup tests
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix logging and errors inlined
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix remarks, update grpc setup_test
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix setup_test
Signed-off-by: aryan <aryangodara03@gmail.com>
* update setup_test grpc
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix data race
Signed-off-by: aryan <aryangodara03@gmail.com>
* update setup_test grpc
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix grpc setup down to single simple function
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix linting issues
Signed-off-by: aryan <aryangodara03@gmail.com>
* resolve pr comments
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix tests, handle returned errors, go mod tidy vendor
Signed-off-by: aryan <aryangodara03@gmail.com>
* fix errors from new linters
Signed-off-by: aryan <aryangodara03@gmail.com>
---------
Signed-off-by: aryan <aryangodara03@gmail.com>
2023-04-22 08:14:35 -07:00
|
|
|
if err := json.Unmarshal(meta, &query); err != nil {
|
|
|
|
return condition
|
|
|
|
}
|
2021-01-26 12:23:15 +01:00
|
|
|
|
2019-09-21 02:50:09 +04:30
|
|
|
for name := range query {
|
|
|
|
switch name {
|
|
|
|
case
|
|
|
|
"subtopic",
|
|
|
|
"publisher",
|
|
|
|
"name",
|
|
|
|
"protocol":
|
|
|
|
condition = fmt.Sprintf(`%s AND %s = :%s`, condition, name, name)
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
case "v":
|
2021-02-09 22:44:04 +01:00
|
|
|
comparator := readers.ParseValueComparator(query)
|
|
|
|
condition = fmt.Sprintf(`%s AND value %s :value`, condition, comparator)
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
case "vb":
|
|
|
|
condition = fmt.Sprintf(`%s AND bool_value = :bool_value`, condition)
|
|
|
|
case "vs":
|
2023-07-28 06:14:15 +05:30
|
|
|
comparator := readers.ParseValueComparator(query)
|
|
|
|
switch comparator {
|
|
|
|
case "=":
|
|
|
|
condition = fmt.Sprintf("%s AND string_value = :string_value ", condition)
|
|
|
|
case ">":
|
|
|
|
condition = fmt.Sprintf("%s AND string_value LIKE '%%' || :string_value || '%%' AND string_value <> :string_value", condition)
|
|
|
|
case ">=":
|
|
|
|
condition = fmt.Sprintf("%s AND string_value LIKE '%%' || :string_value || '%%'", condition)
|
|
|
|
case "<=":
|
|
|
|
condition = fmt.Sprintf("%s AND :string_value LIKE '%%' || string_value || '%%'", condition)
|
|
|
|
case "<":
|
|
|
|
condition = fmt.Sprintf("%s AND :string_value LIKE '%%' || string_value || '%%' AND string_value <> :string_value", condition)
|
|
|
|
}
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
case "vd":
|
2023-07-28 06:14:15 +05:30
|
|
|
comparator := readers.ParseValueComparator(query)
|
|
|
|
condition = fmt.Sprintf(`%s AND data_value %s :data_value`, condition, comparator)
|
MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to Postgres reader… (#1322)
* MF-1061 - Implement protocol, name, v, vb, vs, vd and from/to postgres-reader filters and tests
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
* Fix reviews
Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2021-01-11 13:17:12 +01:00
|
|
|
case "from":
|
|
|
|
condition = fmt.Sprintf(`%s AND time >= :from`, condition)
|
|
|
|
case "to":
|
|
|
|
condition = fmt.Sprintf(`%s AND time < :to`, condition)
|
2019-09-21 02:50:09 +04:30
|
|
|
}
|
|
|
|
}
|
|
|
|
return condition
|
|
|
|
}
|
|
|
|
|
2021-04-20 21:33:26 +02:00
|
|
|
type senmlMessage struct {
|
2020-12-30 15:43:04 +01:00
|
|
|
ID string `db:"id"`
|
|
|
|
senml.Message
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|
|
|
|
|
2020-12-30 15:43:04 +01:00
|
|
|
type jsonMessage struct {
|
|
|
|
ID string `db:"id"`
|
|
|
|
Channel string `db:"channel"`
|
|
|
|
Created int64 `db:"created"`
|
|
|
|
Subtopic string `db:"subtopic"`
|
|
|
|
Publisher string `db:"publisher"`
|
|
|
|
Protocol string `db:"protocol"`
|
|
|
|
Payload []byte `db:"payload"`
|
|
|
|
}
|
2019-05-16 18:00:19 +02:00
|
|
|
|
2020-12-30 15:43:04 +01:00
|
|
|
func (msg jsonMessage) toMap() (map[string]interface{}, error) {
|
|
|
|
ret := map[string]interface{}{
|
|
|
|
"id": msg.ID,
|
|
|
|
"channel": msg.Channel,
|
|
|
|
"created": msg.Created,
|
|
|
|
"subtopic": msg.Subtopic,
|
|
|
|
"publisher": msg.Publisher,
|
|
|
|
"protocol": msg.Protocol,
|
|
|
|
"payload": map[string]interface{}{},
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|
2020-12-30 15:43:04 +01:00
|
|
|
pld := make(map[string]interface{})
|
|
|
|
if err := json.Unmarshal(msg.Payload, &pld); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
ret["payload"] = pld
|
|
|
|
return ret, nil
|
2019-05-16 18:00:19 +02:00
|
|
|
}
|