From 44408395e6a371e19d27d53535cd049fe4354425 Mon Sep 17 00:00:00 2001 From: b1ackd0t <28790446+rodneyosodo@users.noreply.github.com> Date: Thu, 2 Nov 2023 16:48:13 +0300 Subject: [PATCH] NOISSUE - Fix renaming issues (#17) Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com> --- .github/CODEOWNERS | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .gitignore | 2 +- api/openapi/bootstrap.yml | 2 +- api/openapi/users.yml | 10 +- auth/README.md | 64 +-- auth/api/grpc/endpoint_test.go | 52 +- auth/api/http/keys/responses.go | 6 +- auth/api/http/keys/transport.go | 4 +- auth/api/http/policies/transport.go | 4 +- auth/api/http/transport.go | 4 +- auth/service.go | 14 +- auth/service_test.go | 2 +- auth/spicedb/policies.go | 6 +- bootstrap/README.md | 20 +- bootstrap/api/endpoint_test.go | 28 +- bootstrap/api/logging.go | 6 +- bootstrap/api/requests_test.go | 3 + bootstrap/api/responses.go | 12 +- bootstrap/api/transport.go | 10 +- bootstrap/configs.go | 6 +- bootstrap/events/producer/events.go | 16 +- bootstrap/events/producer/streams.go | 10 +- bootstrap/events/producer/streams_test.go | 18 +- bootstrap/postgres/configs.go | 68 +-- bootstrap/postgres/configs_test.go | 4 +- bootstrap/postgres/init.go | 8 + bootstrap/reader_test.go | 20 +- bootstrap/service.go | 26 +- bootstrap/service_test.go | 16 +- certs/api/logging.go | 6 +- certs/api/transport.go | 6 +- certs/service.go | 6 +- certs/service_test.go | 6 +- cli/README.md | 98 ++-- cli/bootstrap.go | 10 +- cli/channels.go | 34 +- cli/config.go | 4 +- cli/consumers.go | 4 +- cli/groups.go | 48 +- cli/health.go | 2 +- cli/provision.go | 80 +-- cli/sdk.go | 8 +- cli/things.go | 58 +-- cli/users.go | 62 +-- cmd/auth/main.go | 14 +- cmd/bootstrap/main.go | 18 +- cmd/cassandra-reader/main.go | 12 +- cmd/cassandra-writer/main.go | 12 +- cmd/certs/main.go | 14 +- cmd/cli/main.go | 4 +- cmd/coap/main.go | 10 +- cmd/http/main.go | 15 +- cmd/influxdb-reader/main.go | 12 +- cmd/influxdb-writer/main.go | 12 +- cmd/lora/main.go | 22 +- cmd/mongodb-reader/main.go | 12 +- cmd/mongodb-writer/main.go | 12 +- cmd/mqtt/main.go | 14 +- cmd/opcua/main.go | 20 +- cmd/postgres-reader/main.go | 12 +- cmd/postgres-writer/main.go | 12 +- cmd/provision/main.go | 28 +- cmd/smpp-notifier/main.go | 14 +- cmd/smtp-notifier/main.go | 8 +- cmd/things/main.go | 12 +- cmd/timescale-reader/main.go | 12 +- cmd/timescale-writer/main.go | 12 +- cmd/twins/main.go | 10 +- cmd/users/main.go | 24 +- cmd/ws/main.go | 14 +- coap/README.md | 8 +- coap/adapter.go | 12 +- coap/api/logging.go | 6 +- coap/api/transport.go | 10 +- consumers/notifiers/api/logging.go | 6 +- consumers/notifiers/api/responses.go | 10 +- consumers/notifiers/api/transport.go | 6 +- consumers/notifiers/smpp/README.md | 6 +- consumers/notifiers/smtp/README.md | 6 +- consumers/tracing/consumers.go | 6 +- consumers/writers/api/logging.go | 6 +- consumers/writers/api/transport.go | 4 +- consumers/writers/cassandra/README.md | 14 +- consumers/writers/cassandra/consumer.go | 8 +- consumers/writers/cassandra/setup_test.go | 4 +- consumers/writers/influxdb/README.md | 22 +- consumers/writers/influxdb/consumer_test.go | 4 +- consumers/writers/influxdb/fields.go | 3 + consumers/writers/influxdb/tags.go | 3 + consumers/writers/mongodb/README.md | 8 +- consumers/writers/mongodb/consumer_test.go | 4 +- consumers/writers/postgres/README.md | 12 +- consumers/writers/postgres/consumer.go | 10 +- consumers/writers/timescale/README.md | 12 +- consumers/writers/timescale/consumer.go | 10 +- docker/.env | 2 +- docker/README.md | 7 +- .../addons/prometheus/metrics/prometheus.yml | 2 +- docker/addons/vault/README.md | 32 +- docker/addons/vault/vault-init.sh | 12 +- docker/addons/vault/vault-set-pki.sh | 22 +- docker/addons/vault/vault-unseal.sh | 6 +- docker/nginx/nginx-key.conf | 6 +- docker/nginx/nginx-x509.conf | 6 +- docker/ssl/Makefile | 2 +- http/README.md | 8 +- http/api/endpoint_test.go | 14 +- http/api/transport.go | 4 +- http/handler.go | 10 +- internal/api/common.go | 10 +- internal/clients/influxdb/influxdb.go | 4 +- internal/close.go | 4 +- internal/env/doc.go | 2 +- internal/groups/api/decode.go | 32 +- internal/groups/api/logging.go | 6 +- internal/groups/api/requests.go | 8 +- internal/groups/api/responses.go | 20 +- internal/groups/events/streams.go | 2 +- internal/groups/mocks/groups.go | 46 +- internal/groups/postgres/groups.go | 102 ++-- internal/groups/service.go | 10 +- internal/testsutil/common.go | 8 +- logger/logger_test.go | 54 +- lora/README.md | 6 +- lora/api/api.go | 4 +- lora/api/logging.go | 2 +- lora/events/routemap.go | 10 +- lora/mocks/routes.go | 12 +- lora/routemap.go | 4 +- mqtt/README.md | 8 +- mqtt/events/streams.go | 2 +- mqtt/forwarder.go | 8 +- mqtt/handler.go | 10 +- mqtt/handler_test.go | 6 +- opcua/README.md | 38 +- opcua/api/logging.go | 48 +- opcua/api/metrics.go | 32 +- opcua/api/responses.go | 4 +- opcua/api/transport.go | 10 +- opcua/events/routemap.go | 10 +- pkg/clients/postgres/clients_test.go | 296 +++++------ pkg/events/nats/publisher_test.go | 4 +- pkg/events/nats/subscriber.go | 8 +- pkg/events/rabbitmq/publisher_test.go | 4 +- pkg/events/rabbitmq/subscriber.go | 8 +- pkg/events/redis/publisher_test.go | 6 +- pkg/events/redis/subscriber.go | 6 +- pkg/events/store/brokers_nats.go | 4 +- pkg/events/store/brokers_rabbitmq.go | 4 +- pkg/events/store/brokers_redis.go | 4 +- pkg/messaging/brokers/brokers_nats.go | 4 +- pkg/messaging/brokers/brokers_rabbitmq.go | 4 +- pkg/messaging/handler/logging.go | 7 +- pkg/messaging/mqtt/pubsub.go | 8 +- pkg/messaging/mqtt/pubsub_test.go | 2 +- pkg/messaging/mqtt/setup_test.go | 8 +- pkg/messaging/nats/pubsub.go | 6 +- pkg/messaging/nats/setup_test.go | 4 +- pkg/messaging/rabbitmq/publisher.go | 2 +- pkg/messaging/rabbitmq/pubsub.go | 6 +- pkg/messaging/rabbitmq/pubsub_test.go | 4 +- pkg/messaging/rabbitmq/setup_test.go | 6 +- pkg/sdk/go/README.md | 47 +- pkg/sdk/go/bootstrap.go | 26 +- pkg/sdk/go/certs.go | 8 +- pkg/sdk/go/certs_test.go | 26 +- pkg/sdk/go/channels.go | 40 +- pkg/sdk/go/channels_test.go | 94 ++-- pkg/sdk/go/consumers.go | 8 +- pkg/sdk/go/consumers_test.go | 24 +- pkg/sdk/go/groups.go | 28 +- pkg/sdk/go/groups_test.go | 52 +- pkg/sdk/go/health.go | 2 +- pkg/sdk/go/health_test.go | 10 +- pkg/sdk/go/message.go | 6 +- pkg/sdk/go/message_test.go | 30 +- pkg/sdk/go/sdk.go | 14 +- pkg/sdk/go/setup_test.go | 100 ++-- pkg/sdk/go/things.go | 34 +- pkg/sdk/go/things_test.go | 118 ++--- pkg/sdk/go/tokens.go | 4 +- pkg/sdk/go/tokens_test.go | 8 +- pkg/sdk/go/users.go | 38 +- pkg/sdk/go/users_test.go | 104 ++-- pkg/transformers/json/example_test.go | 6 +- pkg/transformers/senml/transformer_test.go | 4 +- pkg/ulid/ulid.go | 6 +- pkg/uuid/mock.go | 6 +- pkg/uuid/uuid.go | 6 +- provision/README.md | 92 ++-- provision/api/logging.go | 6 +- provision/api/requests.go | 3 + provision/api/transport.go | 6 +- provision/config.go | 16 +- provision/configs/config.toml | 12 +- provision/service.go | 16 +- readers/api/endpoint_test.go | 8 +- readers/api/responses.go | 4 +- readers/cassandra/README.md | 12 +- readers/cassandra/setup_test.go | 4 +- readers/influxdb/README.md | 20 +- readers/influxdb/doc.go | 3 + readers/influxdb/setup_test.go | 4 +- readers/mongodb/README.md | 8 +- readers/mongodb/setup_test.go | 4 +- readers/postgres/README.md | 12 +- readers/timescale/README.md | 60 +-- scripts/ci.sh | 4 +- scripts/run.sh | 16 +- things/README.md | 76 +-- things/api/grpc/client.go | 22 +- things/api/grpc/endpoint.go | 4 +- things/api/grpc/server.go | 16 +- things/api/http/clients.go | 14 +- things/api/http/endpoints.go | 12 +- things/api/http/requests.go | 12 +- things/api/http/responses.go | 32 +- things/api/http/transport.go | 8 +- things/api/logging.go | 32 +- things/api/metrics.go | 26 +- things/events/events.go | 12 +- things/events/streams.go | 32 +- things/mocks/auth.go | 12 +- things/mocks/clients.go | 82 +-- things/postgres/clients.go | 36 +- things/service.go | 106 ++-- things/service_test.go | 464 ++++++++--------- things/things.go | 4 +- things/tracing/tracing.go | 26 +- tools/e2e/cmd/main.go | 6 +- tools/mqtt-bench/README.md | 45 +- tools/mqtt-bench/bench.go | 30 +- tools/mqtt-bench/cmd/main.go | 2 +- tools/mqtt-bench/config.go | 20 +- tools/mqtt-bench/templates/reference.toml | 4 +- tools/provision/README.md | 10 +- tools/provision/cmd/main.go | 8 +- tools/provision/provision.go | 4 +- twins/README.md | 44 +- twins/api/http/endpoint_states_test.go | 6 +- twins/api/http/endpoint_twins_test.go | 20 +- twins/api/http/responses.go | 14 +- twins/api/http/transport.go | 6 +- twins/api/logging.go | 6 +- twins/events/streams.go | 2 +- twins/mongodb/twins_test.go | 8 +- twins/service_test.go | 34 +- users/README.md | 78 +-- users/api/clients.go | 36 +- users/api/endpoints.go | 14 +- users/api/logging.go | 38 +- users/api/metrics.go | 32 +- users/api/requests.go | 12 +- users/api/responses.go | 26 +- users/api/transport.go | 8 +- users/clients.go | 6 +- users/events/events.go | 14 +- users/events/streams.go | 38 +- users/mocks/clients.go | 84 ++-- users/postgres/clients.go | 18 +- users/postgres/clients_test.go | 98 ++-- users/service.go | 134 ++--- users/service_test.go | 476 +++++++++--------- users/tracing/tracing.go | 32 +- ws/README.md | 36 +- ws/adapter.go | 8 +- ws/adapter_test.go | 4 +- ws/api/endpoint_test.go | 22 +- ws/api/logging.go | 6 +- ws/api/transport.go | 10 +- ws/handler.go | 12 +- 272 files changed, 3107 insertions(+), 3089 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d87e7dd60..bc8cb1875 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @mainflux/maintainers +* @absmach/magistrala diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e39091ac8..253461737 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,4 @@ -Pull request title should be `MF-XXX - description` or `NOISSUE - description` where XXX is ID of issue that this PR relate to. +Pull request title should be `MG-XXX - description` or `NOISSUE - description` where XXX is ID of issue that this PR relate to. Please review the [CONTRIBUTING.md](https://github.com/absmach/magistrala/blob/master/CONTRIBUTING.md) file for detailed contributing guidelines. ### What does this do? diff --git a/.gitignore b/.gitignore index 81264b6d7..fb4ee7e86 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,4 @@ build tools/e2e/e2e tools/mqtt-bench/mqtt-bench tools/provision/provision -tools/provision/mfconn.toml +tools/provision/mgconn.toml diff --git a/api/openapi/bootstrap.yml b/api/openapi/bootstrap.yml index d56c5045b..4206dd9f3 100644 --- a/api/openapi/bootstrap.yml +++ b/api/openapi/bootstrap.yml @@ -263,7 +263,7 @@ components: type: string format: uuid description: Corresponding Magistrala Thing ID. - mainflux_key: + magistrala_key: type: string format: uuid description: Corresponding Magistrala Thing key. diff --git a/api/openapi/users.yml b/api/openapi/users.yml index f4ca412b9..641108616 100644 --- a/api/openapi/users.yml +++ b/api/openapi/users.yml @@ -918,7 +918,7 @@ components: properties: identity: type: string - example: admin@mainflux.com + example: admin@magistrala.com description: User Identity for example email address. metadata: type: object @@ -1081,7 +1081,7 @@ components: properties: identity: type: string - example: user@mainflux.com + example: user@magistrala.com description: User Identity for example email address. secret: type: string @@ -1241,7 +1241,7 @@ components: properties: identity: type: string - example: user@mainflux.com + example: user@magistrala.com description: User Identity for example email address. required: - identity @@ -1266,7 +1266,7 @@ components: properties: owner: type: string - example: user@mainflux.com + example: user@magistrala.com description: User owner for example email address. required: - owner @@ -1345,7 +1345,7 @@ components: properties: identity: type: string - example: user@mainflux.com + example: user@magistrala.com description: User Identity for example email address. secret: type: string diff --git a/auth/README.md b/auth/README.md index 9efc2ac3f..b4c7420ed 100644 --- a/auth/README.md +++ b/auth/README.md @@ -1,9 +1,11 @@ # Auth - Authentication and Authorization service -Auth service provides authentication features as an API for managing authentication keys as well as administering groups of entities - `things` and `users`. +Auth service provides authentication features as an API for managing authentication keys as well as administering groups of entities - `things` and `users`. + +## Authentication -# Authentication User service is using Auth service gRPC API to obtain login token or password reset token. Authentication key consists of the following fields: + - ID - key ID - Type - one of the three types described below - IssuerID - an ID of the Magistrala User who issued the key @@ -11,7 +13,7 @@ User service is using Auth service gRPC API to obtain login token or password re - IssuedAt - the timestamp when the key is issued - ExpiresAt - the timestamp after which the key is invalid -There are *three types of authentication keys*: +There are _three types of authentication keys_: - User key - keys issued to the user upon login request - API key - keys issued upon the user request @@ -21,7 +23,7 @@ Authentication keys are represented and distributed by the corresponding [JWT](j User keys are issued when user logs in. Each user request (other than `registration` and `login`) contains user key that is used to authenticate the user. -API keys are similar to the User keys. The main difference is that API keys have configurable expiration time. If no time is set, the key will never expire. For that reason, API keys are _the only key type that can be revoked_. This also means that, despite being used as a JWT, it requires a query to the database to validate the API key. The user with API key can perform all the same actions as the user with login key (can act on behalf of the user for Thing, Channel, or user profile management), *except issuing new API keys*. +API keys are similar to the User keys. The main difference is that API keys have configurable expiration time. If no time is set, the key will never expire. For that reason, API keys are _the only key type that can be revoked_. This also means that, despite being used as a JWT, it requires a query to the database to validate the API key. The user with API key can perform all the same actions as the user with login key (can act on behalf of the user for Thing, Channel, or user profile management), _except issuing new API keys_. Recovery key is the password recovery key. It's short-lived token used for password recovery process. @@ -35,7 +37,8 @@ The following actions are supported: - obtain (API keys only) - revoke (API keys only) -# Groups +## Groups + User and Things service are using Auth gRPC API to get the list of ids that are part of a group. Groups can be organized as tree structure. Group consists of the following fields: @@ -55,36 +58,35 @@ The service is configured using the environment variables presented in the following table. Note that any unset variables will be replaced with their default values. -| Variable | Description | Default | -|-------------------------------|--------------------------------------------------------------------------|----------------| -| MG_AUTH_LOG_LEVEL | Service level (debug, info, warn, error) | error | -| MG_AUTH_DB_HOST | Database host address | localhost | -| MG_AUTH_DB_PORT | Database host port | 5432 | -| MG_AUTH_DB_USER | Database user | mainflux | -| MG_AUTH_DB_PASSWORD | Database password | mainflux | -| MG_AUTH_DB | Name of the database used by the service | auth | -| MG_AUTH_DB_SSL_MODE | Database connection SSL mode (disable, require, verify-ca, verify-full) | disable | -| MG_AUTH_DB_SSL_CERT | Path to the PEM encoded certificate file | | -| MG_AUTH_DB_SSL_KEY | Path to the PEM encoded key file | | -| MG_AUTH_DB_SSL_ROOT_CERT | Path to the PEM encoded root certificate file | | -| MG_AUTH_HTTP_PORT | Auth service HTTP port | 8180 | -| MG_AUTH_GRPC_PORT | Auth service gRPC port | 8181 | -| MG_AUTH_SERVER_CERT | Path to server certificate in pem format | | -| MG_AUTH_SERVER_KEY | Path to server key in pem format | | -| MG_AUTH_SECRET | String used for signing tokens | auth | -| MG_AUTH_LOGIN_TOKEN_DURATION | The login token expiration period | 10h | -| MG_JAEGER_URL | Jaeger server URL | localhost:6831 | -| MG_KETO_READ_REMOTE_HOST | Keto Read Host | mainflux-keto | -| MG_KETO_WRITE_REMOTE_HOST | Keto Write Host | mainflux-keto | -| MG_KETO_READ_REMOTE_PORT | Keto Read Port | 4466 | -| MG_KETO_WRITE_REMOTE_PORT | Keto Write Port | 4467 | +| Variable | Description | Default | +| ---------------------------- | ----------------------------------------------------------------------- | -------------------------------- | +| MG_AUTH_LOG_LEVEL | Service level (debug, info, warn, error) | error | +| MG_AUTH_DB_HOST | Database host address | localhost | +| MG_AUTH_DB_PORT | Database host port | 5432 | +| MG_AUTH_DB_USER | Database user | magistrala | +| MG_AUTH_DB_PASSWORD | Database password | magistrala | +| MG_AUTH_DB | Name of the database used by the service | auth | +| MG_AUTH_DB_SSL_MODE | Database connection SSL mode (disable, require, verify-ca, verify-full) | disable | +| MG_AUTH_DB_SSL_CERT | Path to the PEM encoded certificate file | | +| MG_AUTH_DB_SSL_KEY | Path to the PEM encoded key file | | +| MG_AUTH_DB_SSL_ROOT_CERT | Path to the PEM encoded root certificate file | | +| MG_AUTH_HTTP_PORT | Auth service HTTP port | 8180 | +| MG_AUTH_GRPC_PORT | Auth service gRPC port | 8181 | +| MG_AUTH_SERVER_CERT | Path to server certificate in pem format | | +| MG_AUTH_SERVER_KEY | Path to server key in pem format | | +| MG_AUTH_SECRET | String used for signing tokens | auth | +| MG_AUTH_LOGIN_TOKEN_DURATION | The login token expiration period | 10h | +| MG_JAEGER_URL | Jaeger server URL | | +| MG_KETO_READ_REMOTE_HOST | Keto Read Host | magistrala-keto | +| MG_KETO_WRITE_REMOTE_HOST | Keto Write Host | magistrala-keto | +| MG_KETO_READ_REMOTE_PORT | Keto Read Port | 4466 | +| MG_KETO_WRITE_REMOTE_PORT | Keto Write Port | 4467 | ## Deployment -The service itself is distributed as Docker container. Check the [`auth`](https://github.com/absmach/magistrala/blob/master/docker/docker-compose.yml#L71-L94) service section in +The service itself is distributed as Docker container. Check the [`auth`](https://github.com/absmach/magistrala/blob/master/docker/docker-compose.yml#L71-L94) service section in docker-compose to see how service is deployed. - To start the service outside of the container, execute the following shell script: ```bash @@ -100,7 +102,7 @@ make auth make install # set the environment variables and run the service -MG_AUTH_LOG_LEVEL=[Service log level] MG_AUTH_DB_HOST=[Database host address] MG_AUTH_DB_PORT=[Database host port] MG_AUTH_DB_USER=[Database user] MG_AUTH_DB_PASS=[Database password] MG_AUTH_DB=[Name of the database used by the service] MG_AUTH_DB_SSL_MODE=[SSL mode to connect to the database with] MG_AUTH_DB_SSL_CERT=[Path to the PEM encoded certificate file] MG_AUTH_DB_SSL_KEY=[Path to the PEM encoded key file] MG_AUTH_DB_SSL_ROOT_CERT=[Path to the PEM encoded root certificate file] MG_AUTH_HTTP_PORT=[Service HTTP port] MG_AUTH_GRPC_PORT=[Service gRPC port] MG_AUTH_SECRET=[String used for signing tokens] MG_AUTH_SERVER_CERT=[Path to server certificate] MG_AUTH_SERVER_KEY=[Path to server key] MG_JAEGER_URL=[Jaeger server URL] MG_AUTH_LOGIN_TOKEN_DURATION=[The login token expiration period] $GOBIN/mainflux-auth +MG_AUTH_LOG_LEVEL=[Service log level] MG_AUTH_DB_HOST=[Database host address] MG_AUTH_DB_PORT=[Database host port] MG_AUTH_DB_USER=[Database user] MG_AUTH_DB_PASS=[Database password] MG_AUTH_DB=[Name of the database used by the service] MG_AUTH_DB_SSL_MODE=[SSL mode to connect to the database with] MG_AUTH_DB_SSL_CERT=[Path to the PEM encoded certificate file] MG_AUTH_DB_SSL_KEY=[Path to the PEM encoded key file] MG_AUTH_DB_SSL_ROOT_CERT=[Path to the PEM encoded root certificate file] MG_AUTH_HTTP_PORT=[Service HTTP port] MG_AUTH_GRPC_PORT=[Service gRPC port] MG_AUTH_SECRET=[String used for signing tokens] MG_AUTH_SERVER_CERT=[Path to server certificate] MG_AUTH_SERVER_KEY=[Path to server key] MG_JAEGER_URL=[Jaeger server URL] MG_AUTH_LOGIN_TOKEN_DURATION=[The login token expiration period] $GOBIN/magistrala-auth ``` If `MG_EMAIL_TEMPLATE` doesn't point to any file service will function but password reset functionality will not work. diff --git a/auth/api/grpc/endpoint_test.go b/auth/api/grpc/endpoint_test.go index f4f448448..47396ebeb 100644 --- a/auth/api/grpc/endpoint_test.go +++ b/auth/api/grpc/endpoint_test.go @@ -10,7 +10,7 @@ import ( "testing" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/auth" grpcapi "github.com/absmach/magistrala/auth/api/grpc" "github.com/absmach/magistrala/auth/jwt" @@ -53,7 +53,7 @@ func newService() auth.Service { func startGRPCServer(svc auth.Service, port int) { listener, _ := net.Listen("tcp", fmt.Sprintf(":%d", port)) server := grpc.NewServer() - mainflux.RegisterAuthServiceServer(server, grpcapi.NewServer(svc)) + magistrala.RegisterAuthServiceServer(server, grpcapi.NewServer(svc)) go func() { if err := server.Serve(listener); err != nil { panic(fmt.Sprintf("failed to serve: %s", err)) @@ -117,7 +117,7 @@ func TestIssue(t *testing.T) { } for _, tc := range cases { - _, err := client.Issue(context.Background(), &mainflux.IssueReq{Id: tc.id, Type: uint32(tc.kind)}) + _, err := client.Issue(context.Background(), &magistrala.IssueReq{Id: tc.id, Type: uint32(tc.kind)}) e, ok := status.FromError(err) assert.True(t, ok, "gRPC status can't be extracted from the error") assert.Equal(t, tc.code, e.Code(), fmt.Sprintf("%s: expected %s got %s", tc.desc, tc.code, e.Code())) @@ -141,49 +141,49 @@ func TestIdentify(t *testing.T) { cases := []struct { desc string token string - idt *mainflux.IdentityRes + idt *magistrala.IdentityRes err error code codes.Code }{ { desc: "identify user with user token", token: loginToken.AccessToken, - idt: &mainflux.IdentityRes{Id: id}, + idt: &magistrala.IdentityRes{Id: id}, err: nil, code: codes.OK, }, { desc: "identify user with recovery token", token: recoveryToken.AccessToken, - idt: &mainflux.IdentityRes{Id: id}, + idt: &magistrala.IdentityRes{Id: id}, err: nil, code: codes.OK, }, { desc: "identify user with API token", token: apiToken.AccessToken, - idt: &mainflux.IdentityRes{Id: id}, + idt: &magistrala.IdentityRes{Id: id}, err: nil, code: codes.OK, }, { desc: "identify user with invalid user token", token: "invalid", - idt: &mainflux.IdentityRes{}, + idt: &magistrala.IdentityRes{}, err: status.Error(codes.Unauthenticated, "unauthenticated access"), code: codes.Unauthenticated, }, { desc: "identify user with empty token", token: "", - idt: &mainflux.IdentityRes{}, + idt: &magistrala.IdentityRes{}, err: status.Error(codes.InvalidArgument, "received invalid token request"), code: codes.Unauthenticated, }, } for _, tc := range cases { - idt, err := client.Identify(context.Background(), &mainflux.IdentityReq{Token: tc.token}) + idt, err := client.Identify(context.Background(), &magistrala.IdentityReq{Token: tc.token}) if idt != nil { assert.Equal(t, tc.idt, idt, fmt.Sprintf("%s: expected %v got %v", tc.desc, tc.idt, idt)) } @@ -207,7 +207,7 @@ func TestAuthorize(t *testing.T) { subject string object string relation string - ar *mainflux.AuthorizeRes + ar *magistrala.AuthorizeRes err error code codes.Code }{ @@ -217,7 +217,7 @@ func TestAuthorize(t *testing.T) { subject: id, object: authoritiesObj, relation: memberRelation, - ar: &mainflux.AuthorizeRes{Authorized: true}, + ar: &magistrala.AuthorizeRes{Authorized: true}, err: nil, code: codes.OK, }, @@ -227,7 +227,7 @@ func TestAuthorize(t *testing.T) { subject: id, object: authoritiesObj, relation: "unauthorizedRelation", - ar: &mainflux.AuthorizeRes{Authorized: false}, + ar: &magistrala.AuthorizeRes{Authorized: false}, err: nil, code: codes.PermissionDenied, }, @@ -237,7 +237,7 @@ func TestAuthorize(t *testing.T) { subject: id, object: "unauthorizedobject", relation: memberRelation, - ar: &mainflux.AuthorizeRes{Authorized: false}, + ar: &magistrala.AuthorizeRes{Authorized: false}, err: nil, code: codes.PermissionDenied, }, @@ -247,7 +247,7 @@ func TestAuthorize(t *testing.T) { subject: "unauthorizedSubject", object: authoritiesObj, relation: memberRelation, - ar: &mainflux.AuthorizeRes{Authorized: false}, + ar: &magistrala.AuthorizeRes{Authorized: false}, err: nil, code: codes.PermissionDenied, }, @@ -257,13 +257,13 @@ func TestAuthorize(t *testing.T) { subject: "", object: "", relation: "", - ar: &mainflux.AuthorizeRes{Authorized: false}, + ar: &magistrala.AuthorizeRes{Authorized: false}, err: nil, code: codes.InvalidArgument, }, } for _, tc := range cases { - ar, err := client.Authorize(context.Background(), &mainflux.AuthorizeReq{Subject: tc.subject, Object: tc.object, Relation: tc.relation}) + ar, err := client.Authorize(context.Background(), &magistrala.AuthorizeReq{Subject: tc.subject, Object: tc.object, Relation: tc.relation}) if ar != nil { assert.Equal(t, tc.ar, ar, fmt.Sprintf("%s: expected %v got %v", tc.desc, tc.ar, ar)) } @@ -290,7 +290,7 @@ func TestAddPolicy(t *testing.T) { subject string object string relation string - ar *mainflux.AddPolicyRes + ar *magistrala.AddPolicyRes err error code codes.Code }{ @@ -300,7 +300,7 @@ func TestAddPolicy(t *testing.T) { subject: id, object: groupAdminObj, relation: memberRelation, - ar: &mainflux.AddPolicyRes{Authorized: true}, + ar: &magistrala.AddPolicyRes{Authorized: true}, err: nil, code: codes.OK, }, @@ -310,13 +310,13 @@ func TestAddPolicy(t *testing.T) { subject: "", object: "", relation: "", - ar: &mainflux.AddPolicyRes{Authorized: false}, + ar: &magistrala.AddPolicyRes{Authorized: false}, err: nil, code: codes.InvalidArgument, }, } for _, tc := range cases { - apr, err := client.AddPolicy(context.Background(), &mainflux.AddPolicyReq{Subject: tc.subject, Object: tc.object, Relation: tc.relation}) + apr, err := client.AddPolicy(context.Background(), &magistrala.AddPolicyReq{Subject: tc.subject, Object: tc.object, Relation: tc.relation}) if apr != nil { assert.Equal(t, tc.ar, apr, fmt.Sprintf("%s: expected %v got %v", tc.desc, tc.ar, apr)) } @@ -338,7 +338,7 @@ func TestDeletePolicy(t *testing.T) { readRelation := "read" thingID := "thing" - apr, err := client.AddPolicy(context.Background(), &mainflux.AddPolicyReq{Subject: id, Object: thingID, Permission: readRelation}) + apr, err := client.AddPolicy(context.Background(), &magistrala.AddPolicyReq{Subject: id, Object: thingID, Permission: readRelation}) assert.Nil(t, err, fmt.Sprintf("Adding read policy to user expected to succeed: %s", err)) assert.True(t, apr.GetAuthorized(), fmt.Sprintf("Adding read policy expected to make user authorized, expected %v got %v", true, apr.GetAuthorized())) @@ -348,7 +348,7 @@ func TestDeletePolicy(t *testing.T) { subject string object string relation string - dpr *mainflux.DeletePolicyRes + dpr *magistrala.DeletePolicyRes code codes.Code }{ { @@ -357,7 +357,7 @@ func TestDeletePolicy(t *testing.T) { subject: id, object: thingID, relation: readRelation, - dpr: &mainflux.DeletePolicyRes{Deleted: true}, + dpr: &magistrala.DeletePolicyRes{Deleted: true}, code: codes.OK, }, { @@ -366,12 +366,12 @@ func TestDeletePolicy(t *testing.T) { subject: "", object: "", relation: "", - dpr: &mainflux.DeletePolicyRes{Deleted: false}, + dpr: &magistrala.DeletePolicyRes{Deleted: false}, code: codes.InvalidArgument, }, } for _, tc := range cases { - dpr, err := client.DeletePolicy(context.Background(), &mainflux.DeletePolicyReq{Subject: tc.subject, Object: tc.object, Relation: tc.relation}) + dpr, err := client.DeletePolicy(context.Background(), &magistrala.DeletePolicyReq{Subject: tc.subject, Object: tc.object, Relation: tc.relation}) e, ok := status.FromError(err) assert.True(t, ok, "gRPC status can't be extracted from the error") assert.Equal(t, tc.code, e.Code(), fmt.Sprintf("%s: expected %s got %s", tc.desc, tc.code, e.Code())) diff --git a/auth/api/http/keys/responses.go b/auth/api/http/keys/responses.go index 92ccc9b07..67bd58fdd 100644 --- a/auth/api/http/keys/responses.go +++ b/auth/api/http/keys/responses.go @@ -7,13 +7,13 @@ import ( "net/http" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/auth" ) var ( - _ mainflux.Response = (*issueKeyRes)(nil) - _ mainflux.Response = (*revokeKeyRes)(nil) + _ magistrala.Response = (*issueKeyRes)(nil) + _ magistrala.Response = (*revokeKeyRes)(nil) ) type issueKeyRes struct { diff --git a/auth/api/http/keys/transport.go b/auth/api/http/keys/transport.go index 7fd93464d..34b3f9fea 100644 --- a/auth/api/http/keys/transport.go +++ b/auth/api/http/keys/transport.go @@ -9,7 +9,7 @@ import ( "net/http" "strings" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/auth" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/logger" @@ -73,7 +73,7 @@ func decodeKeyReq(_ context.Context, r *http.Request) (interface{}, error) { func encodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { w.Header().Set("Content-Type", contentType) - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/auth/api/http/policies/transport.go b/auth/api/http/policies/transport.go index 4b3ecb204..b354ac78c 100644 --- a/auth/api/http/policies/transport.go +++ b/auth/api/http/policies/transport.go @@ -9,7 +9,7 @@ import ( "net/http" "strings" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/auth" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/logger" @@ -59,7 +59,7 @@ func decodePoliciesRequest(_ context.Context, r *http.Request) (interface{}, err func encodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { w.Header().Set("Content-Type", contentType) - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/auth/api/http/transport.go b/auth/api/http/transport.go index 241b29f3b..e1c895f6b 100644 --- a/auth/api/http/transport.go +++ b/auth/api/http/transport.go @@ -5,7 +5,7 @@ package http import ( "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/auth" "github.com/absmach/magistrala/auth/api/http/keys" "github.com/absmach/magistrala/auth/api/http/policies" @@ -21,7 +21,7 @@ func MakeHandler(svc auth.Service, logger logger.Logger, instanceID string) http mux = keys.MakeHandler(svc, mux, logger) mux = policies.MakeHandler(svc, mux, logger) - mux.GetFunc("/health", mainflux.Health("auth", instanceID)) + mux.GetFunc("/health", magistrala.Health("auth", instanceID)) mux.Handle("/metrics", promhttp.Handler()) return mux diff --git a/auth/service.go b/auth/service.go index fc6b57b20..6d829c7b8 100644 --- a/auth/service.go +++ b/auth/service.go @@ -8,7 +8,7 @@ import ( "fmt" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/errors" ) @@ -29,8 +29,8 @@ const ( parentGroupRelation = "parent_group" viewerRelation = "viewer" - mainfluxObject = "magistrala" - refreshToken = "refresh_token" + magistralaObject = "magistrala" + refreshToken = "refresh_token" ) const ( @@ -96,7 +96,7 @@ var _ Service = (*service)(nil) type service struct { keys KeyRepository - idProvider mainflux.IDProvider + idProvider magistrala.IDProvider agent PolicyAgent tokenizer Tokenizer loginDuration time.Duration @@ -104,7 +104,7 @@ type service struct { } // New instantiates the auth service implementation. -func New(keys KeyRepository, idp mainflux.IDProvider, tokenizer Tokenizer, policyAgent PolicyAgent, loginDuration, refreshDuration time.Duration) Service { +func New(keys KeyRepository, idp magistrala.IDProvider, tokenizer Tokenizer, policyAgent PolicyAgent, loginDuration, refreshDuration time.Duration) Service { return &service{ tokenizer: tokenizer, keys: keys, @@ -198,7 +198,7 @@ func (svc service) AddPolicies(ctx context.Context, token, object string, subjec return err } - if err := svc.Authorize(ctx, PolicyReq{Object: mainfluxObject, Subject: user}); err != nil { + if err := svc.Authorize(ctx, PolicyReq{Object: magistralaObject, Subject: user}); err != nil { return err } @@ -225,7 +225,7 @@ func (svc service) DeletePolicies(ctx context.Context, token, object string, sub } // Check if the user identified by token is the admin. - if err := svc.Authorize(ctx, PolicyReq{Object: mainfluxObject, Subject: user}); err != nil { + if err := svc.Authorize(ctx, PolicyReq{Object: magistralaObject, Subject: user}); err != nil { return err } diff --git a/auth/service_test.go b/auth/service_test.go index f002aa4df..501035601 100644 --- a/auth/service_test.go +++ b/auth/service_test.go @@ -25,7 +25,7 @@ const ( secret = "secret" email = "test@example.com" id = "testID" - groupName = "mfx" + groupName = "mgx" description = "Description" memberRelation = "member" diff --git a/auth/spicedb/policies.go b/auth/spicedb/policies.go index ec9799f22..b08b5adf4 100644 --- a/auth/spicedb/policies.go +++ b/auth/spicedb/policies.go @@ -9,7 +9,7 @@ import ( "io" "github.com/absmach/magistrala/auth" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" v1 "github.com/authzed/authzed-go/proto/authzed/api/v1" "github.com/authzed/authzed-go/v1" @@ -20,10 +20,10 @@ const defRetrieveAllLimit = 1000 type policyAgent struct { client *authzed.Client permissionClient v1.PermissionsServiceClient - logger mflog.Logger + logger mglog.Logger } -func NewPolicyAgent(client *authzed.Client, logger mflog.Logger) auth.PolicyAgent { +func NewPolicyAgent(client *authzed.Client, logger mglog.Logger) auth.PolicyAgent { return &policyAgent{ client: client, permissionClient: client.PermissionsServiceClient, diff --git a/bootstrap/README.md b/bootstrap/README.md index bb5b8e644..c3f710878 100644 --- a/bootstrap/README.md +++ b/bootstrap/README.md @@ -22,9 +22,9 @@ Thing Configuration consists of two logical parts: the custom configuration that Enabling and disabling Thing (adding Thing to/from whitelist) is as simple as connecting corresponding Magistrala Thing to the given list of Channels. Configuration keeps _state_ of the Thing: -| State | What it means | -| -------- | ------------------------------------------- | -| Inactive | Thing is created, but isn't enabled | +| State | What it means | +| -------- | --------------------------------------------- | +| Inactive | Thing is created, but isn't enabled | | Active | Thing is able to communicate using Magistrala | Switching between states `Active` and `Inactive` enables and disables Thing, respectively. @@ -40,8 +40,8 @@ The service is configured using the environment variables presented in the follo | MG_BOOTSTRAP_LOG_LEVEL | Log level for Bootstrap (debug, info, warn, error) | info | | MG_BOOTSTRAP_DB_HOST | Database host address | localhost | | MG_BOOTSTRAP_DB_PORT | Database host port | 5432 | -| MG_BOOTSTRAP_DB_USER | Database user | mainflux | -| MG_BOOTSTRAP_DB_PASS | Database password | mainflux | +| MG_BOOTSTRAP_DB_USER | Database user | magistrala | +| MG_BOOTSTRAP_DB_PASS | Database password | magistrala | | MG_BOOTSTRAP_DB_NAME | Name of the database used by the service | bootstrap | | MG_BOOTSTRAP_DB_SSL_MODE | Database connection SSL mode (disable, require, verify-ca, verify-full) | disable | | MG_BOOTSTRAP_DB_SSL_CERT | Path to the PEM encoded certificate file | | @@ -60,9 +60,9 @@ The service is configured using the environment variables presented in the follo | MG_AUTH_GRPC_TIMEOUT | Users service gRPC request timeout in seconds | 1s | | MG_AUTH_GRPC_CLIENT_TLS | Enable TLS for gRPC client | false | | MG_AUTH_GRPC_CA_CERTS | CA certificates for gRPC client | | -| MG_THINGS_URL | Base url for Magistrala Things | http://localhost:9000 | +| MG_THINGS_URL | Base url for Magistrala Things | http://localhost:9000 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_BOOTSTRAP_INSTANCE_ID | Bootstrap service instance ID | | ## Deployment @@ -76,7 +76,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the service make bootstrap @@ -110,9 +110,9 @@ MG_AUTH_GRPC_CLIENT_TLS=[Boolean value to enable/disable client TLS] \ MG_AUTH_GRPC_CA_CERT=[Path to trusted CAs in PEM format] \ MG_THINGS_URL=[Base url for Magistrala Things] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_BOOTSTRAP_INSTANCE_ID=[Bootstrap instance ID] \ -$GOBIN/mainflux-bootstrap +$GOBIN/magistrala-bootstrap ``` Setting `MG_BOOTSTRAP_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Users gRPC endpoint trusting only those CAs that are provided. diff --git a/bootstrap/api/endpoint_test.go b/bootstrap/api/endpoint_test.go index 4f5bab730..6e276a213 100644 --- a/bootstrap/api/endpoint_test.go +++ b/bootstrap/api/endpoint_test.go @@ -26,10 +26,10 @@ import ( "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/internal/groups" chmocks "github.com/absmach/magistrala/internal/groups/mocks" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mggroups "github.com/absmach/magistrala/pkg/groups" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/things" thapi "github.com/absmach/magistrala/things/api/http" @@ -170,19 +170,19 @@ func dec(in []byte) ([]byte, error) { func newService(url string, auth magistrala.AuthServiceClient) bootstrap.Service { things := mocks.NewConfigsRepository() - config := mfsdk.Config{ + config := mgsdk.Config{ ThingsURL: url, } - sdk := mfsdk.NewSDK(config) + sdk := mgsdk.NewSDK(config) return bootstrap.New(auth, things, sdk, encKey) } -func generateChannels() map[string]mfgroups.Group { - channels := make(map[string]mfgroups.Group, channelsNum) +func generateChannels() map[string]mggroups.Group { + channels := make(map[string]mggroups.Group, channelsNum) for i := 0; i < channelsNum; i++ { id := strconv.Itoa(i + 1) - channels[id] = mfgroups.Group{ + channels[id] = mggroups.Group{ ID: id, Owner: email, Metadata: metadata, @@ -191,7 +191,7 @@ func generateChannels() map[string]mfgroups.Group { return channels } -func newThingsService() (things.Service, mfgroups.Service, magistrala.AuthServiceClient) { +func newThingsService() (things.Service, mggroups.Service, magistrala.AuthServiceClient) { auth := new(authmocks.Service) thingCache := thmocks.NewCache() idProvider := uuid.NewMock() @@ -201,8 +201,8 @@ func newThingsService() (things.Service, mfgroups.Service, magistrala.AuthServic return things.NewService(auth, cRepo, gRepo, thingCache, idProvider), groups.NewService(gRepo, idProvider, auth), auth } -func newThingsServer(tsvc things.Service, gsvc mfgroups.Service) *httptest.Server { - logger := mflog.NewMock() +func newThingsServer(tsvc things.Service, gsvc mggroups.Service) *httptest.Server { + logger := mglog.NewMock() mux := chi.NewRouter() thapi.MakeHandler(tsvc, gsvc, mux, logger, instanceID) @@ -210,7 +210,7 @@ func newThingsServer(tsvc things.Service, gsvc mfgroups.Service) *httptest.Serve } func newBootstrapServer(svc bootstrap.Service) *httptest.Server { - logger := mflog.NewMock() + logger := mglog.NewMock() mux := bsapi.MakeHandler(svc, bootstrap.NewConfigReader(encKey), logger, instanceID) return httptest.NewServer(mux) } @@ -354,8 +354,8 @@ func TestView(t *testing.T) { bs := newBootstrapServer(svc) c := newConfig([]bootstrap.Channel{}) - mfChs := generateChannels() - for id, ch := range mfChs { + mgChs := generateChannels() + for id, ch := range mgChs { c.Channels = append(c.Channels, bootstrap.Channel{ ID: ch.ID, Name: fmt.Sprintf("%s%s", "name ", id), diff --git a/bootstrap/api/logging.go b/bootstrap/api/logging.go index adf3fdd90..28d5d317f 100644 --- a/bootstrap/api/logging.go +++ b/bootstrap/api/logging.go @@ -11,18 +11,18 @@ import ( "time" "github.com/absmach/magistrala/bootstrap" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" ) var _ bootstrap.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc bootstrap.Service } // LoggingMiddleware adds logging facilities to the bootstrap service. -func LoggingMiddleware(svc bootstrap.Service, logger mflog.Logger) bootstrap.Service { +func LoggingMiddleware(svc bootstrap.Service, logger mglog.Logger) bootstrap.Service { return &loggingMiddleware{logger, svc} } diff --git a/bootstrap/api/requests_test.go b/bootstrap/api/requests_test.go index df187e770..610e83a7e 100644 --- a/bootstrap/api/requests_test.go +++ b/bootstrap/api/requests_test.go @@ -1,3 +1,6 @@ +// Copyright (c) Magistrala +// SPDX-License-Identifier: Apache-2.0 + package api import ( diff --git a/bootstrap/api/responses.go b/bootstrap/api/responses.go index fddd41e55..d6ace9605 100644 --- a/bootstrap/api/responses.go +++ b/bootstrap/api/responses.go @@ -7,16 +7,16 @@ import ( "fmt" "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/bootstrap" ) var ( - _ mainflux.Response = (*removeRes)(nil) - _ mainflux.Response = (*configRes)(nil) - _ mainflux.Response = (*stateRes)(nil) - _ mainflux.Response = (*viewRes)(nil) - _ mainflux.Response = (*listRes)(nil) + _ magistrala.Response = (*removeRes)(nil) + _ magistrala.Response = (*configRes)(nil) + _ magistrala.Response = (*stateRes)(nil) + _ magistrala.Response = (*viewRes)(nil) + _ magistrala.Response = (*listRes)(nil) ) type removeRes struct{} diff --git a/bootstrap/api/transport.go b/bootstrap/api/transport.go index 58d052347..d26459776 100644 --- a/bootstrap/api/transport.go +++ b/bootstrap/api/transport.go @@ -10,10 +10,10 @@ import ( "net/url" "strings" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/bootstrap" "github.com/absmach/magistrala/internal/apiutil" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" kithttp "github.com/go-kit/kit/transport/http" "github.com/go-zoo/bone" @@ -35,7 +35,7 @@ var ( ) // MakeHandler returns a HTTP handler for API endpoints. -func MakeHandler(svc bootstrap.Service, reader bootstrap.ConfigReader, logger mflog.Logger, instanceID string) http.Handler { +func MakeHandler(svc bootstrap.Service, reader bootstrap.ConfigReader, logger mglog.Logger, instanceID string) http.Handler { opts := []kithttp.ServerOption{ kithttp.ServerErrorEncoder(apiutil.LoggingErrorEncoder(logger, encodeError)), } @@ -101,7 +101,7 @@ func MakeHandler(svc bootstrap.Service, reader bootstrap.ConfigReader, logger mf encodeResponse, opts...), "remove")) - r.GetFunc("/health", mainflux.Health("bootstrap", instanceID)) + r.GetFunc("/health", magistrala.Health("bootstrap", instanceID)) r.Handle("/metrics", promhttp.Handler()) return r @@ -230,7 +230,7 @@ func decodeEntityRequest(_ context.Context, r *http.Request) (interface{}, error func encodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { w.Header().Set("Content-Type", contentType) - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/bootstrap/configs.go b/bootstrap/configs.go index 63d9d8267..63cdcfb77 100644 --- a/bootstrap/configs.go +++ b/bootstrap/configs.go @@ -12,9 +12,9 @@ import ( // Config represents Configuration entity. It wraps information about external entity // as well as info about corresponding Magistrala entities. -// MFThing represents corresponding Magistrala Thing ID. -// MFKey is key of corresponding Magistrala Thing. -// MFChannels is a list of Magistrala Channels corresponding Magistrala Thing connects to. +// MGThing represents corresponding Magistrala Thing ID. +// MGKey is key of corresponding Magistrala Thing. +// MGChannels is a list of Magistrala Channels corresponding Magistrala Thing connects to. type Config struct { ThingID string `json:"thing_id"` Owner string `json:"owner,omitempty"` diff --git a/bootstrap/events/producer/events.go b/bootstrap/events/producer/events.go index 4c9674d28..46910e570 100644 --- a/bootstrap/events/producer/events.go +++ b/bootstrap/events/producer/events.go @@ -94,12 +94,12 @@ func (ce configEvent) Encode() (map[string]interface{}, error) { } type removeConfigEvent struct { - mfThing string + mgThing string } func (rce removeConfigEvent) Encode() (map[string]interface{}, error) { return map[string]interface{}{ - "thing_id": rce.mfThing, + "thing_id": rce.mgThing, "operation": configRemove, }, nil } @@ -188,27 +188,27 @@ func (be bootstrapEvent) Encode() (map[string]interface{}, error) { } type changeStateEvent struct { - mfThing string + mgThing string state bootstrap.State } func (cse changeStateEvent) Encode() (map[string]interface{}, error) { return map[string]interface{}{ - "thing_id": cse.mfThing, + "thing_id": cse.mgThing, "state": cse.state.String(), "operation": thingStateChange, }, nil } type updateConnectionsEvent struct { - mfThing string - mfChannels []string + mgThing string + mgChannels []string } func (uce updateConnectionsEvent) Encode() (map[string]interface{}, error) { return map[string]interface{}{ - "thing_id": uce.mfThing, - "channels": fmt.Sprintf("[%s]", strings.Join(uce.mfChannels, ", ")), + "thing_id": uce.mgThing, + "channels": fmt.Sprintf("[%s]", strings.Join(uce.mgChannels, ", ")), "operation": thingUpdateConnections, }, nil } diff --git a/bootstrap/events/producer/streams.go b/bootstrap/events/producer/streams.go index 81dfd11c7..ac6b24d75 100644 --- a/bootstrap/events/producer/streams.go +++ b/bootstrap/events/producer/streams.go @@ -11,7 +11,7 @@ import ( "github.com/absmach/magistrala/pkg/events/store" ) -const streamID = "mainflux.bootstrap" +const streamID = "magistrala.bootstrap" var _ bootstrap.Service = (*eventStore)(nil) @@ -105,8 +105,8 @@ func (es *eventStore) UpdateConnections(ctx context.Context, token, id string, c } ev := updateConnectionsEvent{ - mfThing: id, - mfChannels: connections, + mgThing: id, + mgChannels: connections, } return es.Publish(ctx, ev) @@ -138,7 +138,7 @@ func (es *eventStore) Remove(ctx context.Context, token, id string) error { } ev := removeConfigEvent{ - mfThing: id, + mgThing: id, } return es.Publish(ctx, ev) @@ -170,7 +170,7 @@ func (es *eventStore) ChangeState(ctx context.Context, token, id string, state b } ev := changeStateEvent{ - mfThing: id, + mgThing: id, state: state, } diff --git a/bootstrap/events/producer/streams_test.go b/bootstrap/events/producer/streams_test.go index e4dac4870..7df4aade0 100644 --- a/bootstrap/events/producer/streams_test.go +++ b/bootstrap/events/producer/streams_test.go @@ -20,10 +20,10 @@ import ( "github.com/absmach/magistrala/bootstrap/mocks" "github.com/absmach/magistrala/internal/groups" chmocks "github.com/absmach/magistrala/internal/groups/mocks" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mggroups "github.com/absmach/magistrala/pkg/groups" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/things" thapi "github.com/absmach/magistrala/things/api/http" @@ -35,7 +35,7 @@ import ( ) const ( - streamID = "mainflux.bootstrap" + streamID = "magistrala.bootstrap" email = "user@example.com" validToken = "validToken" channelsNum = 3 @@ -82,15 +82,15 @@ var ( func newService(url string, auth magistrala.AuthServiceClient) bootstrap.Service { configs := mocks.NewConfigsRepository() - config := mfsdk.Config{ + config := mgsdk.Config{ ThingsURL: url, } - sdk := mfsdk.NewSDK(config) + sdk := mgsdk.NewSDK(config) return bootstrap.New(auth, configs, sdk, encKey) } -func newThingsService() (things.Service, mfgroups.Service, magistrala.AuthServiceClient) { +func newThingsService() (things.Service, mggroups.Service, magistrala.AuthServiceClient) { auth := new(authmocks.Service) thingCache := thmocks.NewCache() idProvider := uuid.NewMock() @@ -100,8 +100,8 @@ func newThingsService() (things.Service, mfgroups.Service, magistrala.AuthServic return things.NewService(auth, cRepo, gRepo, thingCache, idProvider), groups.NewService(gRepo, idProvider, auth), auth } -func newThingsServer(tsvc things.Service, gsvc mfgroups.Service) *httptest.Server { - logger := mflog.NewMock() +func newThingsServer(tsvc things.Service, gsvc mggroups.Service) *httptest.Server { + logger := mglog.NewMock() mux := chi.NewRouter() thapi.MakeHandler(tsvc, gsvc, mux, logger, instanceID) diff --git a/bootstrap/postgres/configs.go b/bootstrap/postgres/configs.go index eaa75eb3c..c0be7858c 100644 --- a/bootstrap/postgres/configs.go +++ b/bootstrap/postgres/configs.go @@ -13,7 +13,7 @@ import ( "github.com/absmach/magistrala/bootstrap" "github.com/absmach/magistrala/internal/postgres" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/jackc/pgerrcode" @@ -31,24 +31,24 @@ var ( ) const cleanupQuery = `DELETE FROM channels ch WHERE NOT EXISTS ( - SELECT channel_id FROM connections c WHERE ch.mainflux_channel = c.channel_id);` + SELECT channel_id FROM connections c WHERE ch.magistrala_channel = c.channel_id);` var _ bootstrap.ConfigRepository = (*configRepository)(nil) type configRepository struct { db postgres.Database - log mflog.Logger + log mglog.Logger } // NewConfigRepository instantiates a PostgreSQL implementation of config // repository. -func NewConfigRepository(db postgres.Database, log mflog.Logger) bootstrap.ConfigRepository { +func NewConfigRepository(db postgres.Database, log mglog.Logger) bootstrap.ConfigRepository { return &configRepository{db: db, log: log} } func (cr configRepository) Save(ctx context.Context, cfg bootstrap.Config, chsConnIDs []string) (string, error) { - q := `INSERT INTO configs (mainflux_thing, owner, name, client_cert, client_key, ca_cert, mainflux_key, external_id, external_key, content, state) - VALUES (:mainflux_thing, :owner, :name, :client_cert, :client_key, :ca_cert, :mainflux_key, :external_id, :external_key, :content, :state)` + q := `INSERT INTO configs (magistrala_thing, owner, name, client_cert, client_key, ca_cert, magistrala_key, external_id, external_key, content, state) + VALUES (:magistrala_thing, :owner, :name, :client_cert, :client_key, :ca_cert, :magistrala_key, :external_id, :external_key, :content, :state)` tx, err := cr.db.BeginTxx(ctx, nil) if err != nil { @@ -86,9 +86,9 @@ func (cr configRepository) Save(ctx context.Context, cfg bootstrap.Config, chsCo } func (cr configRepository) RetrieveByID(ctx context.Context, owner, id string) (bootstrap.Config, error) { - q := `SELECT mainflux_thing, mainflux_key, external_id, external_key, name, content, state, client_cert, ca_cert + q := `SELECT magistrala_thing, magistrala_key, external_id, external_key, name, content, state, client_cert, ca_cert FROM configs - WHERE mainflux_thing = :mainflux_thing AND owner = :owner` + WHERE magistrala_thing = :magistrala_thing AND owner = :owner` dbcfg := dbConfig{ ThingID: id, @@ -111,10 +111,10 @@ func (cr configRepository) RetrieveByID(ctx context.Context, owner, id string) ( return bootstrap.Config{}, err } - q = `SELECT mainflux_channel, name, metadata FROM channels ch + q = `SELECT magistrala_channel, name, metadata FROM channels ch INNER JOIN connections conn - ON ch.mainflux_channel = conn.channel_id AND ch.owner = conn.config_owner - WHERE conn.config_id = :mainflux_thing AND conn.config_owner = :owner` + ON ch.magistrala_channel = conn.channel_id AND ch.owner = conn.config_owner + WHERE conn.config_id = :magistrala_thing AND conn.config_owner = :owner` rows, err := cr.db.NamedQueryContext(ctx, q, dbcfg) if err != nil { @@ -149,8 +149,8 @@ func (cr configRepository) RetrieveAll(ctx context.Context, owner string, filter search, params := cr.retrieveAll(owner, filter) n := len(params) - q := `SELECT mainflux_thing, mainflux_key, external_id, external_key, name, content, state - FROM configs %s ORDER BY mainflux_thing LIMIT $%d OFFSET $%d` + q := `SELECT magistrala_thing, magistrala_key, external_id, external_key, name, content, state + FROM configs %s ORDER BY magistrala_thing LIMIT $%d OFFSET $%d` q = fmt.Sprintf(q, search, n+1, n+2) rows, err := cr.db.QueryContext(ctx, q, append(params, limit, offset)...) @@ -192,7 +192,7 @@ func (cr configRepository) RetrieveAll(ctx context.Context, owner string, filter } func (cr configRepository) RetrieveByExternalID(ctx context.Context, externalID string) (bootstrap.Config, error) { - q := `SELECT mainflux_thing, mainflux_key, external_key, owner, name, client_cert, client_key, ca_cert, content, state + q := `SELECT magistrala_thing, magistrala_key, external_key, owner, name, client_cert, client_key, ca_cert, content, state FROM configs WHERE external_id = :external_id` dbcfg := dbConfig{ @@ -215,10 +215,10 @@ func (cr configRepository) RetrieveByExternalID(ctx context.Context, externalID return bootstrap.Config{}, errors.Wrap(errors.ErrViewEntity, err) } - q = `SELECT mainflux_channel, name, metadata FROM channels ch + q = `SELECT magistrala_channel, name, metadata FROM channels ch INNER JOIN connections conn - ON ch.mainflux_channel = conn.channel_id AND ch.owner = conn.config_owner - WHERE conn.config_id = :mainflux_thing AND conn.config_owner = :owner` + ON ch.magistrala_channel = conn.channel_id AND ch.owner = conn.config_owner + WHERE conn.config_id = :magistrala_thing AND conn.config_owner = :owner` rows, err := cr.db.NamedQueryContext(ctx, q, dbcfg) if err != nil { @@ -251,7 +251,7 @@ func (cr configRepository) RetrieveByExternalID(ctx context.Context, externalID } func (cr configRepository) Update(ctx context.Context, cfg bootstrap.Config) error { - q := `UPDATE configs SET name = :name, content = :content WHERE mainflux_thing = :mainflux_thing AND owner = :owner ` + q := `UPDATE configs SET name = :name, content = :content WHERE magistrala_thing = :magistrala_thing AND owner = :owner ` dbcfg := dbConfig{ Name: nullString(cfg.Name), @@ -278,8 +278,8 @@ func (cr configRepository) Update(ctx context.Context, cfg bootstrap.Config) err } func (cr configRepository) UpdateCert(ctx context.Context, owner, thingID, clientCert, clientKey, caCert string) (bootstrap.Config, error) { - q := `UPDATE configs SET client_cert = :client_cert, client_key = :client_key, ca_cert = :ca_cert WHERE mainflux_thing = :mainflux_thing AND owner = :owner - RETURNING mainflux_thing, client_cert, client_key, ca_cert` + q := `UPDATE configs SET client_cert = :client_cert, client_key = :client_key, ca_cert = :ca_cert WHERE magistrala_thing = :magistrala_thing AND owner = :owner + RETURNING magistrala_thing, client_cert, client_key, ca_cert` dbcfg := dbConfig{ ThingID: thingID, @@ -336,7 +336,7 @@ func (cr configRepository) UpdateConnections(ctx context.Context, owner, id stri } func (cr configRepository) Remove(ctx context.Context, owner, id string) error { - q := `DELETE FROM configs WHERE mainflux_thing = :mainflux_thing AND owner = :owner` + q := `DELETE FROM configs WHERE magistrala_thing = :magistrala_thing AND owner = :owner` dbcfg := dbConfig{ ThingID: id, Owner: owner, @@ -354,7 +354,7 @@ func (cr configRepository) Remove(ctx context.Context, owner, id string) error { } func (cr configRepository) ChangeState(ctx context.Context, owner, id string, state bootstrap.State) error { - q := `UPDATE configs SET state = :state WHERE mainflux_thing = :mainflux_thing AND owner = :owner;` + q := `UPDATE configs SET state = :state WHERE magistrala_thing = :magistrala_thing AND owner = :owner;` dbcfg := dbConfig{ ThingID: id, @@ -390,7 +390,7 @@ func (cr configRepository) ListExisting(ctx context.Context, owner string, ids [ return []bootstrap.Channel{}, err } - q := "SELECT mainflux_channel, name, metadata FROM channels WHERE owner = $1 AND mainflux_channel = ANY ($2)" + q := "SELECT magistrala_channel, name, metadata FROM channels WHERE owner = $1 AND magistrala_channel = ANY ($2)" rows, err := cr.db.QueryxContext(ctx, q, owner, chans) if err != nil { return []bootstrap.Channel{}, errors.Wrap(errors.ErrViewEntity, err) @@ -416,7 +416,7 @@ func (cr configRepository) ListExisting(ctx context.Context, owner string, ids [ } func (cr configRepository) RemoveThing(ctx context.Context, id string) error { - q := `DELETE FROM configs WHERE mainflux_thing = $1` + q := `DELETE FROM configs WHERE magistrala_thing = $1` _, err := cr.db.ExecContext(ctx, q, id) if _, err := cr.db.ExecContext(ctx, cleanupQuery); err != nil { @@ -435,7 +435,7 @@ func (cr configRepository) UpdateChannel(ctx context.Context, c bootstrap.Channe } q := `UPDATE channels SET name = :name, metadata = :metadata, updated_at = :updated_at, updated_by = :updated_by - WHERE mainflux_channel = :mainflux_channel` + WHERE magistrala_channel = :magistrala_channel` if _, err = cr.db.NamedExecContext(ctx, q, dbch); err != nil { return errors.Wrap(errUpdateChannels, err) } @@ -443,7 +443,7 @@ func (cr configRepository) UpdateChannel(ctx context.Context, c bootstrap.Channe } func (cr configRepository) RemoveChannel(ctx context.Context, id string) error { - q := `DELETE FROM channels WHERE mainflux_channel = $1` + q := `DELETE FROM channels WHERE magistrala_channel = $1` if _, err := cr.db.ExecContext(ctx, q, id); err != nil { return errors.Wrap(errRemoveChannels, err) } @@ -488,7 +488,7 @@ func (cr configRepository) rollback(content string, tx *sqlx.Tx) { } } -func insertChannels(ctx context.Context, owner string, channels []bootstrap.Channel, tx *sqlx.Tx) error { +func insertChannels(_ context.Context, owner string, channels []bootstrap.Channel, tx *sqlx.Tx) error { if len(channels) == 0 { return nil } @@ -501,8 +501,8 @@ func insertChannels(ctx context.Context, owner string, channels []bootstrap.Chan } chans = append(chans, dbch) } - q := `INSERT INTO channels (mainflux_channel, owner, name, metadata, parent_id, description, created_at, updated_at, updated_by, status) - VALUES (:mainflux_channel, :owner, :name, :metadata, :parent_id, :description, :created_at, :updated_at, :updated_by, :status)` + q := `INSERT INTO channels (magistrala_channel, owner, name, metadata, parent_id, description, created_at, updated_at, updated_by, status) + VALUES (:magistrala_channel, :owner, :name, :metadata, :parent_id, :description, :created_at, :updated_at, :updated_by, :status)` if _, err := tx.NamedExec(q, chans); err != nil { e := err if pqErr, ok := err.(*pgconn.PgError); ok && pqErr.Code == pgerrcode.UniqueViolation { @@ -514,7 +514,7 @@ func insertChannels(ctx context.Context, owner string, channels []bootstrap.Chan return nil } -func insertConnections(ctx context.Context, cfg bootstrap.Config, connections []string, tx *sqlx.Tx) error { +func insertConnections(_ context.Context, cfg bootstrap.Config, connections []string, tx *sqlx.Tx) error { if len(connections) == 0 { return nil } @@ -536,7 +536,7 @@ func insertConnections(ctx context.Context, cfg bootstrap.Config, connections [] return err } -func updateConnections(ctx context.Context, owner, id string, connections []string, tx *sqlx.Tx) error { +func updateConnections(_ context.Context, owner, id string, connections []string, tx *sqlx.Tx) error { if len(connections) == 0 { return nil } @@ -610,13 +610,13 @@ func nullTime(t time.Time) sql.NullTime { } type dbConfig struct { - ThingID string `db:"mainflux_thing"` + ThingID string `db:"magistrala_thing"` Owner string `db:"owner"` Name sql.NullString `db:"name"` ClientCert sql.NullString `db:"client_cert"` ClientKey sql.NullString `db:"client_key"` CaCert sql.NullString `db:"ca_cert"` - ThingKey string `db:"mainflux_key"` + ThingKey string `db:"magistrala_key"` ExternalID string `db:"external_id"` ExternalKey string `db:"external_key"` Content sql.NullString `db:"content"` @@ -672,7 +672,7 @@ func toConfig(dbcfg dbConfig) bootstrap.Config { } type dbChannel struct { - ID string `db:"mainflux_channel"` + ID string `db:"magistrala_channel"` Name sql.NullString `db:"name"` Owner sql.NullString `db:"owner"` Metadata string `db:"metadata"` diff --git a/bootstrap/postgres/configs_test.go b/bootstrap/postgres/configs_test.go index 7f0e2923e..a7d272809 100644 --- a/bootstrap/postgres/configs_test.go +++ b/bootstrap/postgres/configs_test.go @@ -21,8 +21,8 @@ const numConfigs = 10 var ( config = bootstrap.Config{ - ThingID: "mf-thing", - ThingKey: "mf-key", + ThingID: "mg-thing", + ThingKey: "mg-key", ExternalID: "external-id", ExternalKey: "external-key", Owner: "user@email.com", diff --git a/bootstrap/postgres/init.go b/bootstrap/postgres/init.go index 54125838f..921b83492 100644 --- a/bootstrap/postgres/init.go +++ b/bootstrap/postgres/init.go @@ -75,6 +75,14 @@ func Migration() *migrate.MemoryMigrationSource { `ALTER TABLE IF EXISTS channels ADD COLUMN IF NOT EXISTS status SMALLINT NOT NULL DEFAULT 0 CHECK (status >= 0)`, }, }, + { + Id: "configs_4", + Up: []string{ + `ALTER TABLE IF EXISTS configs RENAME COLUMN mainflux_thing TO magistrala_thing`, + `ALTER TABLE IF EXISTS configs RENAME COLUMN mainflux_key TO magistrala_key`, + `ALTER TABLE IF EXISTS channels RENAME COLUMN mainflux_channel TO magistrala_channel`, + }, + }, }, } } diff --git a/bootstrap/reader_test.go b/bootstrap/reader_test.go index 3d001e521..c6bdfdfc5 100644 --- a/bootstrap/reader_test.go +++ b/bootstrap/reader_test.go @@ -11,7 +11,7 @@ import ( "net/http" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/bootstrap" "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" @@ -50,27 +50,27 @@ func dec(in []byte) ([]byte, error) { func TestReadConfig(t *testing.T) { cfg := bootstrap.Config{ - ThingID: "mf_id", + ThingID: "mg_id", ClientCert: "client_cert", ClientKey: "client_key", CACert: "ca_cert", - ThingKey: "mf_key", + ThingKey: "mg_key", Channels: []bootstrap.Channel{ { - ID: "mf_id", - Name: "mf_name", + ID: "mg_id", + Name: "mg_name", Metadata: map[string]interface{}{"key": "value}"}, }, }, Content: "content", } ret := readResp{ - ThingID: "mf_id", - ThingKey: "mf_key", + ThingID: "mg_id", + ThingKey: "mg_key", Channels: []readChan{ { - ID: "mf_id", - Name: "mf_name", + ID: "mg_id", + Name: "mg_name", Metadata: map[string]interface{}{"key": "value}"}, }, }, @@ -118,7 +118,7 @@ func TestReadConfig(t *testing.T) { b, err := json.Marshal(res) assert.Nil(t, err, fmt.Sprintf("Marshalling expected to succeed: %s.\n", err)) assert.Equal(t, tc.enc, b, fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.enc, b)) - resp, ok := res.(mainflux.Response) + resp, ok := res.(magistrala.Response) assert.True(t, ok, "If not encrypted, reader should return response.") assert.False(t, resp.Empty(), fmt.Sprintf("Response should not be empty %s.", err)) assert.Equal(t, http.StatusOK, resp.Code(), "Default config response code should be 200.") diff --git a/bootstrap/service.go b/bootstrap/service.go index 6b0034364..7900314d0 100644 --- a/bootstrap/service.go +++ b/bootstrap/service.go @@ -12,7 +12,7 @@ import ( "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/errors" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" ) var ( @@ -105,12 +105,12 @@ type ConfigReader interface { type bootstrapService struct { auth magistrala.AuthServiceClient configs ConfigRepository - sdk mfsdk.SDK + sdk mgsdk.SDK encKey []byte } // New returns new Bootstrap service. -func New(auth magistrala.AuthServiceClient, configs ConfigRepository, sdk mfsdk.SDK, encKey []byte) Service { +func New(auth magistrala.AuthServiceClient, configs ConfigRepository, sdk mgsdk.SDK, encKey []byte) Service { return &bootstrapService{ configs: configs, sdk: sdk, @@ -140,15 +140,15 @@ func (bs bootstrapService) Add(ctx context.Context, token string, cfg Config) (C } id := cfg.ThingID - mfThing, err := bs.thing(id, token) + mgThing, err := bs.thing(id, token) if err != nil { return Config{}, errors.Wrap(errThingNotFound, err) } - cfg.ThingID = mfThing.ID + cfg.ThingID = mgThing.ID cfg.Owner = owner cfg.State = Inactive - cfg.ThingKey = mfThing.Credentials.Secret + cfg.ThingKey = mgThing.Credentials.Secret saved, err := bs.configs.Save(ctx, cfg, toConnect) if err != nil { @@ -240,7 +240,7 @@ func (bs bootstrapService) UpdateConnections(ctx context.Context, token, id stri } for _, c := range connect { - conIDs := mfsdk.Connection{ + conIDs := mgsdk.Connection{ ChannelID: c, ThingID: id, } @@ -309,7 +309,7 @@ func (bs bootstrapService) ChangeState(ctx context.Context, token, id string, st switch state { case Active: for _, c := range cfg.Channels { - conIDs := mfsdk.Connection{ + conIDs := mgsdk.Connection{ ChannelID: c.ID, ThingID: cfg.ThingID, } @@ -374,16 +374,16 @@ func (bs bootstrapService) identify(ctx context.Context, token string) (string, } // Method thing retrieves Magistrala Thing creating one if an empty ID is passed. -func (bs bootstrapService) thing(id, token string) (mfsdk.Thing, error) { - var thing mfsdk.Thing +func (bs bootstrapService) thing(id, token string) (mgsdk.Thing, error) { + var thing mgsdk.Thing var err error var sdkErr errors.SDKError thing.ID = id if id == "" { - thing, sdkErr = bs.sdk.CreateThing(mfsdk.Thing{}, token) + thing, sdkErr = bs.sdk.CreateThing(mgsdk.Thing{}, token) if err != nil { - return mfsdk.Thing{}, errors.Wrap(errCreateThing, errors.New(sdkErr.Err().Msg())) + return mgsdk.Thing{}, errors.Wrap(errCreateThing, errors.New(sdkErr.Err().Msg())) } } @@ -395,7 +395,7 @@ func (bs bootstrapService) thing(id, token string) (mfsdk.Thing, error) { err = errors.Wrap(errors.New(sdkErr.Msg()), errors.New(sdkErr2.Msg())) } } - return mfsdk.Thing{}, errors.Wrap(ErrThings, err) + return mgsdk.Thing{}, errors.Wrap(ErrThings, err) } return thing, nil diff --git a/bootstrap/service_test.go b/bootstrap/service_test.go index 2a32aca9e..7e6f58ea1 100644 --- a/bootstrap/service_test.go +++ b/bootstrap/service_test.go @@ -21,10 +21,10 @@ import ( "github.com/absmach/magistrala/bootstrap/mocks" "github.com/absmach/magistrala/internal/groups" chmocks "github.com/absmach/magistrala/internal/groups/mocks" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mggroups "github.com/absmach/magistrala/pkg/groups" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/things" thapi "github.com/absmach/magistrala/things/api/http" @@ -62,15 +62,15 @@ var ( func newService(url string, auth magistrala.AuthServiceClient) bootstrap.Service { things := mocks.NewConfigsRepository() - config := mfsdk.Config{ + config := mgsdk.Config{ ThingsURL: url, } - sdk := mfsdk.NewSDK(config) + sdk := mgsdk.NewSDK(config) return bootstrap.New(auth, things, sdk, encKey) } -func newThingsService() (things.Service, mfgroups.Service, magistrala.AuthServiceClient) { +func newThingsService() (things.Service, mggroups.Service, magistrala.AuthServiceClient) { auth := new(authmocks.Service) thingCache := thmocks.NewCache() idProvider := uuid.NewMock() @@ -80,8 +80,8 @@ func newThingsService() (things.Service, mfgroups.Service, magistrala.AuthServic return things.NewService(auth, cRepo, gRepo, thingCache, idProvider), groups.NewService(gRepo, idProvider, auth), auth } -func newThingsServer(tsvc things.Service, gsvc mfgroups.Service) *httptest.Server { - logger := mflog.NewMock() +func newThingsServer(tsvc things.Service, gsvc mggroups.Service) *httptest.Server { + logger := mglog.NewMock() mux := chi.NewRouter() thapi.MakeHandler(tsvc, gsvc, mux, logger, instanceID) diff --git a/certs/api/logging.go b/certs/api/logging.go index 3e3845857..68a96ae9a 100644 --- a/certs/api/logging.go +++ b/certs/api/logging.go @@ -11,18 +11,18 @@ import ( "time" "github.com/absmach/magistrala/certs" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" ) var _ certs.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc certs.Service } // LoggingMiddleware adds logging facilities to the bootstrap service. -func LoggingMiddleware(svc certs.Service, logger mflog.Logger) certs.Service { +func LoggingMiddleware(svc certs.Service, logger mglog.Logger) certs.Service { return &loggingMiddleware{logger, svc} } diff --git a/certs/api/transport.go b/certs/api/transport.go index 39ad5aa4e..4e4910162 100644 --- a/certs/api/transport.go +++ b/certs/api/transport.go @@ -8,7 +8,7 @@ import ( "encoding/json" "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/certs" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/logger" @@ -64,7 +64,7 @@ func MakeHandler(svc certs.Service, logger logger.Logger, instanceID string) htt ), "list_serials")) r.Handle("/metrics", promhttp.Handler()) - r.GetFunc("/health", mainflux.Health("certs", instanceID)) + r.GetFunc("/health", magistrala.Health("certs", instanceID)) return r } @@ -72,7 +72,7 @@ func MakeHandler(svc certs.Service, logger logger.Logger, instanceID string) htt func encodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { w.Header().Set("Content-Type", contentType) - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/certs/service.go b/certs/service.go index 154842443..60f2d29e4 100644 --- a/certs/service.go +++ b/certs/service.go @@ -10,7 +10,7 @@ import ( "github.com/absmach/magistrala" "github.com/absmach/magistrala/certs/pki" "github.com/absmach/magistrala/pkg/errors" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" ) var ( @@ -47,12 +47,12 @@ type Service interface { type certsService struct { auth magistrala.AuthServiceClient certsRepo Repository - sdk mfsdk.SDK + sdk mgsdk.SDK pki pki.Agent } // New returns new Certs service. -func New(auth magistrala.AuthServiceClient, certs Repository, sdk mfsdk.SDK, pki pki.Agent) Service { +func New(auth magistrala.AuthServiceClient, certs Repository, sdk mgsdk.SDK, pki pki.Agent) Service { return &certsService{ certsRepo: certs, sdk: sdk, diff --git a/certs/service_test.go b/certs/service_test.go index cf6b11356..112a1c189 100644 --- a/certs/service_test.go +++ b/certs/service_test.go @@ -17,7 +17,7 @@ import ( chmocks "github.com/absmach/magistrala/internal/groups/mocks" "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/things" httpapi "github.com/absmach/magistrala/things/api/http" @@ -49,11 +49,11 @@ func newService() (certs.Service, error) { tsvc, auth := newThingsService() server := newThingsServer(tsvc) - config := mfsdk.Config{ + config := mgsdk.Config{ ThingsURL: server.URL, } - sdk := mfsdk.NewSDK(config) + sdk := mgsdk.NewSDK(config) repo := mocks.NewCertsRepository() tlsCert, caCert, err := certs.LoadCertificates(caPath, caKeyPath) diff --git a/cli/README.md b/cli/README.md index 4f4c6cc9b..58800b7a0 100644 --- a/cli/README.md +++ b/cli/README.md @@ -15,7 +15,7 @@ make cli #### Get Magistrala Services Health Check ```bash -mainflux-cli health +magistrala-cli health ``` ### Users management @@ -23,51 +23,51 @@ mainflux-cli health #### Create User ```bash -mainflux-cli users create +magistrala-cli users create -mainflux-cli users create +magistrala-cli users create ``` #### Login User ```bash -mainflux-cli users token +magistrala-cli users token ``` #### Get User ```bash -mainflux-cli users get +magistrala-cli users get ``` #### Get Users ```bash -mainflux-cli users get all +magistrala-cli users get all ``` #### Update User Metadata ```bash -mainflux-cli users update '{"name":"value1", "metadata":{"value2": "value3"}}' +magistrala-cli users update '{"name":"value1", "metadata":{"value2": "value3"}}' ``` #### Update User Password ```bash -mainflux-cli users password +magistrala-cli users password ``` #### Enable User ```bash -mainflux-cli users enable +magistrala-cli users enable ``` #### Disable User ```bash -mainflux-cli users disable +magistrala-cli users disable ``` ### System Provisioning @@ -75,19 +75,19 @@ mainflux-cli users disable #### Create Thing ```bash -mainflux-cli things create '{"name":"myThing"}' +magistrala-cli things create '{"name":"myThing"}' ``` #### Create Thing with metadata ```bash -mainflux-cli things create '{"name":"myThing", "metadata": {"key1":"value1"}}' +magistrala-cli things create '{"name":"myThing", "metadata": {"key1":"value1"}}' ``` #### Bulk Provision Things ```bash -mainflux-cli provision things +magistrala-cli provision things ``` - `file` - A CSV or JSON file containing thing names (must have extension `.csv` or `.json`) @@ -131,55 +131,55 @@ With JSON you can be able to specify more fields of the channels you want to cre #### Update Thing ```bash -mainflux-cli things update '{"name":"value1", "metadata":{"key1": "value2"}}' +magistrala-cli things update '{"name":"value1", "metadata":{"key1": "value2"}}' ``` #### Identify Thing ```bash -mainflux-cli things identify +magistrala-cli things identify ``` #### Enable Thing ```bash -mainflux-cli things enable +magistrala-cli things enable ``` #### Disable Thing ```bash -mainflux-cli things disable +magistrala-cli things disable ``` #### Get Thing ```bash -mainflux-cli things get +magistrala-cli things get ``` #### Get Things ```bash -mainflux-cli things get all +magistrala-cli things get all ``` #### Get a subset list of provisioned Things ```bash -mainflux-cli things get all --offset=1 --limit=5 +magistrala-cli things get all --offset=1 --limit=5 ``` #### Create Channel ```bash -mainflux-cli channels create '{"name":"myChannel"}' +magistrala-cli channels create '{"name":"myChannel"}' ``` #### Bulk Provision Channels ```bash -mainflux-cli provision channels +magistrala-cli provision channels ``` - `file` - A CSV or JSON file containing channel names (must have extension `.csv` or `.json`) @@ -222,37 +222,37 @@ With JSON you can be able to specify more fields of the channels you want to cre #### Update Channel ```bash -mainflux-cli channels update '{"id":"","name":"myNewName"}' +magistrala-cli channels update '{"id":"","name":"myNewName"}' ``` #### Enable Channel ```bash -mainflux-cli channels enable +magistrala-cli channels enable ``` #### Disable Channel ```bash -mainflux-cli channels disable +magistrala-cli channels disable ``` #### Get Channel ```bash -mainflux-cli channels get +magistrala-cli channels get ``` #### Get Channels ```bash -mainflux-cli channels get all +magistrala-cli channels get all ``` #### Get a subset list of provisioned Channels ```bash -mainflux-cli channels get all --offset=1 --limit=5 +magistrala-cli channels get all --offset=1 --limit=5 ``` ### Access control @@ -260,13 +260,13 @@ mainflux-cli channels get all --offset=1 --limit=5 #### Connect Thing to Channel ```bash -mainflux-cli things connect +magistrala-cli things connect ``` #### Bulk Connect Things to Channels ```bash -mainflux-cli provision connect +magistrala-cli provision connect ``` - `file` - A CSV or JSON file containing thing and channel ids (must have extension `.csv` or `.json`) @@ -293,19 +293,19 @@ A comparable JSON file would be #### Disconnect Thing from Channel ```bash -mainflux-cli things disconnect +magistrala-cli things disconnect ``` #### Get a subset list of Channels connected to Thing ```bash -mainflux-cli things connections +magistrala-cli things connections ``` #### Get a subset list of Things connected to Channel ```bash -mainflux-cli channels connections +magistrala-cli channels connections ``` ### Messaging @@ -313,13 +313,13 @@ mainflux-cli channels connections #### Send a message over HTTP ```bash -mainflux-cli messages send '[{"bn":"Dev1","n":"temp","v":20}, {"n":"hum","v":40}, {"bn":"Dev2", "n":"temp","v":20}, {"n":"hum","v":40}]' +magistrala-cli messages send '[{"bn":"Dev1","n":"temp","v":20}, {"n":"hum","v":40}, {"bn":"Dev2", "n":"temp","v":20}, {"n":"hum","v":40}]' ``` #### Read messages over HTTP ```bash -mainflux-cli messages read -R +magistrala-cli messages read -R ``` ### Bootstrap @@ -327,31 +327,31 @@ mainflux-cli messages read -R #### Add configuration ```bash -mainflux-cli bootstrap create '{"external_id": "myExtID", "external_key": "myExtKey", "name": "myName", "content": "myContent"}' -b +magistrala-cli bootstrap create '{"external_id": "myExtID", "external_key": "myExtKey", "name": "myName", "content": "myContent"}' -b ``` #### View configuration ```bash -mainflux-cli bootstrap get -b +magistrala-cli bootstrap get -b ``` #### Update configuration ```bash -mainflux-cli bootstrap update '{"thing_id":"", "name": "newName", "content": "newContent"}' -b +magistrala-cli bootstrap update '{"thing_id":"", "name": "newName", "content": "newContent"}' -b ``` #### Remove configuration ```bash -mainflux-cli bootstrap remove -b +magistrala-cli bootstrap remove -b ``` #### Bootstrap configuration ```bash -mainflux-cli bootstrap bootstrap -b +magistrala-cli bootstrap bootstrap -b ``` ### Groups @@ -359,53 +359,53 @@ mainflux-cli bootstrap bootstrap -b #### Create Group ```bash -mainflux-cli groups create '{"name":"","description":"","parentID":"","metadata":""}' +magistrala-cli groups create '{"name":"","description":"","parentID":"","metadata":""}' ``` #### Get Group ```bash -mainflux-cli groups get +magistrala-cli groups get ``` #### Get Groups ```bash -mainflux-cli groups get all +magistrala-cli groups get all ``` #### Get Group Members ```bash -mainflux-cli groups members +magistrala-cli groups members ``` #### Get Memberships ```bash -mainflux-cli groups membership +magistrala-cli groups membership ``` #### Assign Members to Group ```bash -mainflux-cli groups assign +magistrala-cli groups assign ``` #### Unassign Members to Group ```bash -mainflux-cli groups unassign +magistrala-cli groups unassign ``` #### Enable Group ```bash -mainflux-cli groups enable +magistrala-cli groups enable ``` #### Disable Group ```bash -mainflux-cli groups disable +magistrala-cli groups disable ``` diff --git a/cli/bootstrap.go b/cli/bootstrap.go index 4072139fe..ed9ab0662 100644 --- a/cli/bootstrap.go +++ b/cli/bootstrap.go @@ -6,7 +6,7 @@ package cli import ( "encoding/json" - mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/spf13/cobra" ) @@ -21,7 +21,7 @@ var cmdBootstrap = []cobra.Command{ return } - var cfg mfxsdk.BootstrapConfig + var cfg mgxsdk.BootstrapConfig if err := json.Unmarshal([]byte(args[0]), &cfg); err != nil { logError(err) return @@ -47,7 +47,7 @@ var cmdBootstrap = []cobra.Command{ logUsage(cmd.Use) return } - pageMetadata := mfxsdk.PageMetadata{ + pageMetadata := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, State: State, @@ -86,7 +86,7 @@ var cmdBootstrap = []cobra.Command{ return } if args[0] == "config" { - var cfg mfxsdk.BootstrapConfig + var cfg mgxsdk.BootstrapConfig if err := json.Unmarshal([]byte(args[0]), &cfg); err != nil { logError(err) return @@ -184,7 +184,7 @@ var cmdBootstrap = []cobra.Command{ return } - var cfg mfxsdk.BootstrapConfig + var cfg mgxsdk.BootstrapConfig if err := json.Unmarshal([]byte(args[0]), &cfg); err != nil { logError(err) return diff --git a/cli/channels.go b/cli/channels.go index 0f49324c1..f0269c80b 100644 --- a/cli/channels.go +++ b/cli/channels.go @@ -6,7 +6,7 @@ package cli import ( "encoding/json" - mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/spf13/cobra" ) @@ -23,7 +23,7 @@ var cmdChannels = []cobra.Command{ return } - var channel mfxsdk.Channel + var channel mgxsdk.Channel if err := json.Unmarshal([]byte(args[0]), &channel); err != nil { logError(err) return @@ -55,7 +55,7 @@ var cmdChannels = []cobra.Command{ logError(err) return } - pageMetadata := mfxsdk.PageMetadata{ + pageMetadata := mgxsdk.PageMetadata{ Name: "", Offset: Offset, Limit: Limit, @@ -91,7 +91,7 @@ var cmdChannels = []cobra.Command{ return } - var channel mfxsdk.Channel + var channel mgxsdk.Channel if err := json.Unmarshal([]byte(args[1]), &channel); err != nil { logError(err) return @@ -115,7 +115,7 @@ var cmdChannels = []cobra.Command{ logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } @@ -171,7 +171,7 @@ var cmdChannels = []cobra.Command{ Short: "Assign user", Long: "Assign user to a channel\n" + "Usage:\n" + - "\tmainflux-cli channels assign user '[\"\", \"\"]' $USERTOKEN\n", + "\tmagistrala-cli channels assign user '[\"\", \"\"]' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 5 { logUsage(cmd.Use) @@ -182,7 +182,7 @@ var cmdChannels = []cobra.Command{ logError(err) return } - if err := sdk.AddUserToChannel(args[2], mfxsdk.UsersRelationRequest{Relation: args[0], UserIDs: userIDs}, args[3]); err != nil { + if err := sdk.AddUserToChannel(args[2], mgxsdk.UsersRelationRequest{Relation: args[0], UserIDs: userIDs}, args[3]); err != nil { logError(err) return } @@ -194,7 +194,7 @@ var cmdChannels = []cobra.Command{ Short: "Unassign user", Long: "Unassign user from a channel\n" + "Usage:\n" + - "\tmainflux-cli channels unassign user '[\"\", \"\"]' $USERTOKEN\n", + "\tmagistrala-cli channels unassign user '[\"\", \"\"]' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 5 { logUsage(cmd.Use) @@ -205,7 +205,7 @@ var cmdChannels = []cobra.Command{ logError(err) return } - if err := sdk.RemoveUserFromChannel(args[2], mfxsdk.UsersRelationRequest{Relation: args[0], UserIDs: userIDs}, args[3]); err != nil { + if err := sdk.RemoveUserFromChannel(args[2], mgxsdk.UsersRelationRequest{Relation: args[0], UserIDs: userIDs}, args[3]); err != nil { logError(err) return } @@ -217,7 +217,7 @@ var cmdChannels = []cobra.Command{ Short: "Assign group", Long: "Assign group to a channel\n" + "Usage:\n" + - "\tmainflux-cli channels assign group '[\"\", \"\"]' $USERTOKEN\n", + "\tmagistrala-cli channels assign group '[\"\", \"\"]' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 5 { logUsage(cmd.Use) @@ -228,7 +228,7 @@ var cmdChannels = []cobra.Command{ logError(err) return } - if err := sdk.AddUserGroupToChannel(args[1], mfxsdk.UserGroupsRequest{UserGroupIDs: groupIDs}, args[2]); err != nil { + if err := sdk.AddUserGroupToChannel(args[1], mgxsdk.UserGroupsRequest{UserGroupIDs: groupIDs}, args[2]); err != nil { logError(err) return } @@ -240,7 +240,7 @@ var cmdChannels = []cobra.Command{ Short: "Unassign group", Long: "Unassign group from a channel\n" + "Usage:\n" + - "\tmainflux-cli channels unassign group '[\"\", \"\"]' $USERTOKEN\n", + "\tmagistrala-cli channels unassign group '[\"\", \"\"]' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 5 { logUsage(cmd.Use) @@ -251,7 +251,7 @@ var cmdChannels = []cobra.Command{ logError(err) return } - if err := sdk.RemoveUserGroupFromChannel(args[1], mfxsdk.UserGroupsRequest{UserGroupIDs: groupIDs}, args[2]); err != nil { + if err := sdk.RemoveUserGroupFromChannel(args[1], mgxsdk.UserGroupsRequest{UserGroupIDs: groupIDs}, args[2]); err != nil { logError(err) return } @@ -263,13 +263,13 @@ var cmdChannels = []cobra.Command{ Short: "List users", Long: "List users of a channel\n" + "Usage:\n" + - "\tmainflux-cli channels users $USERTOKEN\n", + "\tmagistrala-cli channels users $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } @@ -287,13 +287,13 @@ var cmdChannels = []cobra.Command{ Short: "List groups", Long: "List groups of a channel\n" + "Usage:\n" + - "\tmainflux-cli channels groups $USERTOKEN\n", + "\tmagistrala-cli channels groups $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } diff --git a/cli/config.go b/cli/config.go index a037ea0c6..defd4a282 100644 --- a/cli/config.go +++ b/cli/config.go @@ -12,7 +12,7 @@ import ( "strings" "github.com/absmach/magistrala/pkg/errors" - mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/pelletier/go-toml" "github.com/spf13/cobra" ) @@ -74,7 +74,7 @@ func read(file string) (config, error) { } // ParseConfig - parses the config file. -func ParseConfig(sdkConf mfxsdk.Config) (mfxsdk.Config, error) { +func ParseConfig(sdkConf mgxsdk.Config) (mgxsdk.Config, error) { if ConfigPath == "" { ConfigPath = defaultConfigPath } diff --git a/cli/consumers.go b/cli/consumers.go index 35031fe8a..e97744ddf 100644 --- a/cli/consumers.go +++ b/cli/consumers.go @@ -4,7 +4,7 @@ package cli import ( - mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/spf13/cobra" ) @@ -39,7 +39,7 @@ var cmdSubscription = []cobra.Command{ logUsage(cmd.Use) return } - pageMetadata := mfxsdk.PageMetadata{ + pageMetadata := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, Topic: Topic, diff --git a/cli/groups.go b/cli/groups.go index be17aca9e..7e041c1a9 100644 --- a/cli/groups.go +++ b/cli/groups.go @@ -6,8 +6,8 @@ package cli import ( "encoding/json" - mfclients "github.com/absmach/magistrala/pkg/clients" - mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgclients "github.com/absmach/magistrala/pkg/clients" + mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/spf13/cobra" ) @@ -17,18 +17,18 @@ var cmdGroups = []cobra.Command{ Short: "Create group", Long: "Creates new group\n" + "Usage:\n" + - "\tmainflux-cli groups create '{\"name\":\"new group\", \"description\":\"new group description\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN\n", + "\tmagistrala-cli groups create '{\"name\":\"new group\", \"description\":\"new group description\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - var group mfxsdk.Group + var group mgxsdk.Group if err := json.Unmarshal([]byte(args[0]), &group); err != nil { logError(err) return } - group.Status = mfclients.EnabledStatus.String() + group.Status = mgclients.EnabledStatus.String() group, err := sdk.CreateGroup(group, args[1]) if err != nil { logError(err) @@ -42,14 +42,14 @@ var cmdGroups = []cobra.Command{ Short: "Update group", Long: "Updates group\n" + "Usage:\n" + - "\tmainflux-cli groups update '{\"id\":\"\", \"name\":\"new group\", \"description\":\"new group description\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN\n", + "\tmagistrala-cli groups update '{\"id\":\"\", \"name\":\"new group\", \"description\":\"new group description\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - var group mfxsdk.Group + var group mgxsdk.Group if err := json.Unmarshal([]byte(args[0]), &group); err != nil { logError(err) return @@ -69,10 +69,10 @@ var cmdGroups = []cobra.Command{ Short: "Get group", Long: "Get all users groups, group children or group by id.\n" + "Usage:\n" + - "\tmainflux-cli groups get all $USERTOKEN - lists all groups\n" + - "\tmainflux-cli groups get children $USERTOKEN - lists all children groups of \n" + - "\tmainflux-cli groups get parents $USERTOKEN - lists all parent groups of \n" + - "\tmainflux-cli groups get $USERTOKEN - shows group with provided group ID\n", + "\tmagistrala-cli groups get all $USERTOKEN - lists all groups\n" + + "\tmagistrala-cli groups get children $USERTOKEN - lists all children groups of \n" + + "\tmagistrala-cli groups get parents $USERTOKEN - lists all parent groups of \n" + + "\tmagistrala-cli groups get $USERTOKEN - shows group with provided group ID\n", Run: func(cmd *cobra.Command, args []string) { if len(args) < 2 { logUsage(cmd.Use) @@ -83,7 +83,7 @@ var cmdGroups = []cobra.Command{ logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } @@ -100,7 +100,7 @@ var cmdGroups = []cobra.Command{ logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } @@ -117,7 +117,7 @@ var cmdGroups = []cobra.Command{ logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } @@ -146,7 +146,7 @@ var cmdGroups = []cobra.Command{ Short: "Assign user", Long: "Assign user to a group\n" + "Usage:\n" + - "\tmainflux-cli groups assign user '[\"\", \"\"]' $USERTOKEN\n", + "\tmagistrala-cli groups assign user '[\"\", \"\"]' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 5 { logUsage(cmd.Use) @@ -157,7 +157,7 @@ var cmdGroups = []cobra.Command{ logError(err) return } - if err := sdk.AddUserToGroup(args[2], mfxsdk.UsersRelationRequest{Relation: args[0], UserIDs: userIDs}, args[3]); err != nil { + if err := sdk.AddUserToGroup(args[2], mgxsdk.UsersRelationRequest{Relation: args[0], UserIDs: userIDs}, args[3]); err != nil { logError(err) return } @@ -169,7 +169,7 @@ var cmdGroups = []cobra.Command{ Short: "Unassign user", Long: "Unassign user from a group\n" + "Usage:\n" + - "\tmainflux-cli groups unassign user '[\"\", \"\"]' $USERTOKEN\n", + "\tmagistrala-cli groups unassign user '[\"\", \"\"]' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 5 { logUsage(cmd.Use) @@ -180,7 +180,7 @@ var cmdGroups = []cobra.Command{ logError(err) return } - if err := sdk.RemoveUserFromGroup(args[2], mfxsdk.UsersRelationRequest{Relation: args[0], UserIDs: userIDs}, args[3]); err != nil { + if err := sdk.RemoveUserFromGroup(args[2], mgxsdk.UsersRelationRequest{Relation: args[0], UserIDs: userIDs}, args[3]); err != nil { logError(err) return } @@ -193,13 +193,13 @@ var cmdGroups = []cobra.Command{ Short: "List users", Long: "List users in a group\n" + "Usage:\n" + - "\tmainflux-cli groups users $USERTOKEN", + "\tmagistrala-cli groups users $USERTOKEN", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, Status: Status, @@ -217,13 +217,13 @@ var cmdGroups = []cobra.Command{ Short: "List channels", Long: "List channels in a group\n" + "Usage:\n" + - "\tmainflux-cli groups channels $USERTOKEN", + "\tmagistrala-cli groups channels $USERTOKEN", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, Status: Status, @@ -241,7 +241,7 @@ var cmdGroups = []cobra.Command{ Short: "Change group status to enabled", Long: "Change group status to enabled\n" + "Usage:\n" + - "\tmainflux-cli groups enable $USERTOKEN\n", + "\tmagistrala-cli groups enable $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) @@ -262,7 +262,7 @@ var cmdGroups = []cobra.Command{ Short: "Change group status to disabled", Long: "Change group status to disabled\n" + "Usage:\n" + - "\tmainflux-cli groups disable $USERTOKEN\n", + "\tmagistrala-cli groups disable $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) diff --git a/cli/health.go b/cli/health.go index 3b147e264..0939d02e8 100644 --- a/cli/health.go +++ b/cli/health.go @@ -12,7 +12,7 @@ func NewHealthCmd() *cobra.Command { Short: "Health Check", Long: "Magistrala service Health Check\n" + "usage:\n" + - "\tmainflux-cli health ", + "\tmagistrala-cli health ", Run: func(cmd *cobra.Command, args []string) { if len(args) != 1 { logUsage(cmd.Use) diff --git a/cli/provision.go b/cli/provision.go index ec5d4cbae..00c9d492e 100644 --- a/cli/provision.go +++ b/cli/provision.go @@ -14,7 +14,7 @@ import ( "path/filepath" "time" - mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/docker/docker/pkg/namesgenerator" "github.com/spf13/cobra" ) @@ -114,8 +114,8 @@ var cmdProvision = []cobra.Command{ Run: func(cmd *cobra.Command, args []string) { numThings := 2 numChan := 2 - things := []mfxsdk.Thing{} - channels := []mfxsdk.Channel{} + things := []mgxsdk.Thing{} + channels := []mgxsdk.Channel{} if len(args) != 0 { logUsage(cmd.Use) @@ -125,13 +125,13 @@ var cmdProvision = []cobra.Command{ rand.Seed(time.Now().UnixNano()) name := namesgenerator.GetRandomName(0) // Create test user - user := mfxsdk.User{ + user := mgxsdk.User{ Name: name, - Credentials: mfxsdk.Credentials{ + Credentials: mgxsdk.Credentials{ Identity: fmt.Sprintf("%s@email.com", name), Secret: "12345678", }, - Status: mfxsdk.EnabledStatus, + Status: mgxsdk.EnabledStatus, } user, err := sdk.CreateUser(user, "") if err != nil { @@ -149,9 +149,9 @@ var cmdProvision = []cobra.Command{ // Create things for i := 0; i < numThings; i++ { n := fmt.Sprintf("d%d", i) - t := mfxsdk.Thing{ + t := mgxsdk.Thing{ Name: n, - Status: mfxsdk.EnabledStatus, + Status: mgxsdk.EnabledStatus, } things = append(things, t) @@ -166,9 +166,9 @@ var cmdProvision = []cobra.Command{ for i := 0; i < numChan; i++ { n := fmt.Sprintf("c%d", i) - c := mfxsdk.Channel{ + c := mgxsdk.Channel{ Name: n, - Status: mfxsdk.EnabledStatus, + Status: mgxsdk.EnabledStatus, } channels = append(channels, c) @@ -180,7 +180,7 @@ var cmdProvision = []cobra.Command{ } // Connect things to channels - first thing to both channels, second only to first - conIDs := mfxsdk.Connection{ + conIDs := mgxsdk.Connection{ ChannelID: channels[0].ID, ThingID: things[0].ID, } @@ -189,7 +189,7 @@ var cmdProvision = []cobra.Command{ return } - conIDs = mfxsdk.Connection{ + conIDs = mgxsdk.Connection{ ChannelID: channels[1].ID, ThingID: things[0].ID, } @@ -198,7 +198,7 @@ var cmdProvision = []cobra.Command{ return } - conIDs = mfxsdk.Connection{ + conIDs = mgxsdk.Connection{ ChannelID: channels[0].ID, ThingID: things[1].ID, } @@ -227,18 +227,18 @@ func NewProvisionCmd() *cobra.Command { return &cmd } -func thingsFromFile(path string) ([]mfxsdk.Thing, error) { +func thingsFromFile(path string) ([]mgxsdk.Thing, error) { if _, err := os.Stat(path); os.IsNotExist(err) { - return []mfxsdk.Thing{}, err + return []mgxsdk.Thing{}, err } file, err := os.OpenFile(path, os.O_RDONLY, os.ModePerm) if err != nil { - return []mfxsdk.Thing{}, err + return []mgxsdk.Thing{}, err } defer file.Close() - things := []mfxsdk.Thing{} + things := []mgxsdk.Thing{} switch filepath.Ext(path) { case csvExt: reader := csv.NewReader(file) @@ -249,14 +249,14 @@ func thingsFromFile(path string) ([]mfxsdk.Thing, error) { break } if err != nil { - return []mfxsdk.Thing{}, err + return []mgxsdk.Thing{}, err } if len(l) < 1 { - return []mfxsdk.Thing{}, errors.New("empty line found in file") + return []mgxsdk.Thing{}, errors.New("empty line found in file") } - thing := mfxsdk.Thing{ + thing := mgxsdk.Thing{ Name: l[0], } @@ -265,27 +265,27 @@ func thingsFromFile(path string) ([]mfxsdk.Thing, error) { case jsonExt: err := json.NewDecoder(file).Decode(&things) if err != nil { - return []mfxsdk.Thing{}, err + return []mgxsdk.Thing{}, err } default: - return []mfxsdk.Thing{}, err + return []mgxsdk.Thing{}, err } return things, nil } -func channelsFromFile(path string) ([]mfxsdk.Channel, error) { +func channelsFromFile(path string) ([]mgxsdk.Channel, error) { if _, err := os.Stat(path); os.IsNotExist(err) { - return []mfxsdk.Channel{}, err + return []mgxsdk.Channel{}, err } file, err := os.OpenFile(path, os.O_RDONLY, os.ModePerm) if err != nil { - return []mfxsdk.Channel{}, err + return []mgxsdk.Channel{}, err } defer file.Close() - channels := []mfxsdk.Channel{} + channels := []mgxsdk.Channel{} switch filepath.Ext(path) { case csvExt: reader := csv.NewReader(file) @@ -296,14 +296,14 @@ func channelsFromFile(path string) ([]mfxsdk.Channel, error) { break } if err != nil { - return []mfxsdk.Channel{}, err + return []mgxsdk.Channel{}, err } if len(l) < 1 { - return []mfxsdk.Channel{}, errors.New("empty line found in file") + return []mgxsdk.Channel{}, errors.New("empty line found in file") } - channel := mfxsdk.Channel{ + channel := mgxsdk.Channel{ Name: l[0], } @@ -312,27 +312,27 @@ func channelsFromFile(path string) ([]mfxsdk.Channel, error) { case jsonExt: err := json.NewDecoder(file).Decode(&channels) if err != nil { - return []mfxsdk.Channel{}, err + return []mgxsdk.Channel{}, err } default: - return []mfxsdk.Channel{}, err + return []mgxsdk.Channel{}, err } return channels, nil } -func connectionsFromFile(path string) ([]mfxsdk.Connection, error) { +func connectionsFromFile(path string) ([]mgxsdk.Connection, error) { if _, err := os.Stat(path); os.IsNotExist(err) { - return []mfxsdk.Connection{}, err + return []mgxsdk.Connection{}, err } file, err := os.OpenFile(path, os.O_RDONLY, os.ModePerm) if err != nil { - return []mfxsdk.Connection{}, err + return []mgxsdk.Connection{}, err } defer file.Close() - connections := []mfxsdk.Connection{} + connections := []mgxsdk.Connection{} switch filepath.Ext(path) { case csvExt: reader := csv.NewReader(file) @@ -343,13 +343,13 @@ func connectionsFromFile(path string) ([]mfxsdk.Connection, error) { break } if err != nil { - return []mfxsdk.Connection{}, err + return []mgxsdk.Connection{}, err } if len(l) < 1 { - return []mfxsdk.Connection{}, errors.New("empty line found in file") + return []mgxsdk.Connection{}, errors.New("empty line found in file") } - connections = append(connections, mfxsdk.Connection{ + connections = append(connections, mgxsdk.Connection{ ThingID: l[0], ChannelID: l[1], }) @@ -357,10 +357,10 @@ func connectionsFromFile(path string) ([]mfxsdk.Connection, error) { case jsonExt: err := json.NewDecoder(file).Decode(&connections) if err != nil { - return []mfxsdk.Connection{}, err + return []mgxsdk.Connection{}, err } default: - return []mfxsdk.Connection{}, err + return []mgxsdk.Connection{}, err } return connections, nil diff --git a/cli/sdk.go b/cli/sdk.go index 3db41b549..0bd354a43 100644 --- a/cli/sdk.go +++ b/cli/sdk.go @@ -3,12 +3,12 @@ package cli -import mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" +import mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" // Keep SDK handle in global var. -var sdk mfxsdk.SDK +var sdk mgxsdk.SDK -// SetSDK sets mainflux SDK instance. -func SetSDK(s mfxsdk.SDK) { +// SetSDK sets magistrala SDK instance. +func SetSDK(s mgxsdk.SDK) { sdk = s } diff --git a/cli/things.go b/cli/things.go index 24f0756c2..451811a61 100644 --- a/cli/things.go +++ b/cli/things.go @@ -6,8 +6,8 @@ package cli import ( "encoding/json" - mfclients "github.com/absmach/magistrala/pkg/clients" - mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgclients "github.com/absmach/magistrala/pkg/clients" + mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/spf13/cobra" ) @@ -17,19 +17,19 @@ var cmdThings = []cobra.Command{ Short: "Create thing", Long: "Creates new thing with provided name and metadata\n" + "Usage:\n" + - "\tmainflux-cli things create '{\"name\":\"new thing\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN\n", + "\tmagistrala-cli things create '{\"name\":\"new thing\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - var thing mfxsdk.Thing + var thing mgxsdk.Thing if err := json.Unmarshal([]byte(args[0]), &thing); err != nil { logError(err) return } - thing.Status = mfclients.EnabledStatus.String() + thing.Status = mgclients.EnabledStatus.String() thing, err := sdk.CreateThing(thing, args[1]) if err != nil { logError(err) @@ -44,9 +44,9 @@ var cmdThings = []cobra.Command{ Short: "Get things", Long: "Get all things or get thing by id. Things can be filtered by name or metadata\n" + "Usage:\n" + - "\tmainflux-cli things get all $USERTOKEN - lists all things\n" + - "\tmainflux-cli things get all $USERTOKEN --offset=10 --limit=10 - lists all things with offset and limit\n" + - "\tmainflux-cli things get $USERTOKEN - shows thing with provided \n", + "\tmagistrala-cli things get all $USERTOKEN - lists all things\n" + + "\tmagistrala-cli things get all $USERTOKEN --offset=10 --limit=10 - lists all things with offset and limit\n" + + "\tmagistrala-cli things get $USERTOKEN - shows thing with provided \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) @@ -57,7 +57,7 @@ var cmdThings = []cobra.Command{ logError(err) return } - pageMetadata := mfxsdk.PageMetadata{ + pageMetadata := mgxsdk.PageMetadata{ Name: Name, Offset: Offset, Limit: Limit, @@ -86,7 +86,7 @@ var cmdThings = []cobra.Command{ Short: "Identify thing", Long: "Validates thing's key and returns its ID\n" + "Usage:\n" + - "\tmainflux-cli things identify \n", + "\tmagistrala-cli things identify \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 1 { logUsage(cmd.Use) @@ -107,17 +107,17 @@ var cmdThings = []cobra.Command{ Short: "Update thing", Long: "Updates thing with provided id, name and metadata, or updates thing tags, secret or owner\n" + "Usage:\n" + - "\tmainflux-cli things update '{\"name\":\"new name\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN\n" + - "\tmainflux-cli things update tags '{\"tag1\":\"value1\", \"tag2\":\"value2\"}' $USERTOKEN\n" + - "\tmainflux-cli things update secret newsecret $USERTOKEN\n" + - "\tmainflux-cli things update owner $USERTOKEN\n", + "\tmagistrala-cli things update '{\"name\":\"new name\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN\n" + + "\tmagistrala-cli things update tags '{\"tag1\":\"value1\", \"tag2\":\"value2\"}' $USERTOKEN\n" + + "\tmagistrala-cli things update secret newsecret $USERTOKEN\n" + + "\tmagistrala-cli things update owner $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 4 && len(args) != 3 { logUsage(cmd.Use) return } - var thing mfxsdk.Thing + var thing mgxsdk.Thing if args[0] == "tags" { if err := json.Unmarshal([]byte(args[2]), &thing.Tags); err != nil { logError(err) @@ -177,7 +177,7 @@ var cmdThings = []cobra.Command{ Short: "Change thing status to enabled", Long: "Change thing status to enabled\n" + "Usage:\n" + - "\tmainflux-cli things enable $USERTOKEN\n", + "\tmagistrala-cli things enable $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) @@ -198,7 +198,7 @@ var cmdThings = []cobra.Command{ Short: "Change thing status to disabled", Long: "Change thing status to disabled\n" + "Usage:\n" + - "\tmainflux-cli things disable $USERTOKEN\n", + "\tmagistrala-cli things disable $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) @@ -219,13 +219,13 @@ var cmdThings = []cobra.Command{ Short: "Share thing with a user", Long: "Share thing with a user\n" + "Usage:\n" + - "\tmainflux-cli things share $USERTOKEN\n", + "\tmagistrala-cli things share $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 4 { logUsage(cmd.Use) return } - req := mfxsdk.UsersRelationRequest{ + req := mgxsdk.UsersRelationRequest{ Relation: args[2], UserIDs: []string{args[1]}, } @@ -243,13 +243,13 @@ var cmdThings = []cobra.Command{ Short: "Unshare thing with a user", Long: "Unshare thing with a user\n" + "Usage:\n" + - "\tmainflux-cli things share $USERTOKEN\n", + "\tmagistrala-cli things share $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 4 { logUsage(cmd.Use) return } - req := mfxsdk.UsersRelationRequest{ + req := mgxsdk.UsersRelationRequest{ Relation: args[2], UserIDs: []string{args[1]}, } @@ -267,14 +267,14 @@ var cmdThings = []cobra.Command{ Short: "Connect thing", Long: "Connect thing to the channel\n" + "Usage:\n" + - "\tmainflux-cli things connect $USERTOKEN\n", + "\tmagistrala-cli things connect $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 3 { logUsage(cmd.Use) return } - connIDs := mfxsdk.Connection{ + connIDs := mgxsdk.Connection{ ChannelID: args[1], ThingID: args[0], } @@ -291,14 +291,14 @@ var cmdThings = []cobra.Command{ Short: "Disconnect thing", Long: "Disconnect thing to the channel\n" + "Usage:\n" + - "\tmainflux-cli things disconnect $USERTOKEN\n", + "\tmagistrala-cli things disconnect $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 3 { logUsage(cmd.Use) return } - connIDs := mfxsdk.Connection{ + connIDs := mgxsdk.Connection{ ThingID: args[0], ChannelID: args[1], } @@ -315,13 +315,13 @@ var cmdThings = []cobra.Command{ Short: "Connected list", Long: "List of Channels connected to Thing\n" + "Usage:\n" + - "\tmainflux-cli connections $USERTOKEN\n", + "\tmagistrala-cli connections $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } @@ -339,13 +339,13 @@ var cmdThings = []cobra.Command{ Short: "List users", Long: "List users of a thing\n" + "Usage:\n" + - "\tmainflux-cli things users $USERTOKEN\n", + "\tmagistrala-cli things users $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } diff --git a/cli/users.go b/cli/users.go index 9465fdc83..eac2dbe21 100644 --- a/cli/users.go +++ b/cli/users.go @@ -6,8 +6,8 @@ package cli import ( "encoding/json" - mfclients "github.com/absmach/magistrala/pkg/clients" - mfxsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgclients "github.com/absmach/magistrala/pkg/clients" + mgxsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/spf13/cobra" ) @@ -17,7 +17,7 @@ var cmdUsers = []cobra.Command{ Short: "Create user", Long: "Create user with provided name, username and password. Token in optional\n" + "For example:\n" + - "\tmainflux-cli users create user user@example.com 12345678 $USER_AUTH_TOKEN\n", + "\tmagistrala-cli users create user user@example.com 12345678 $USER_AUTH_TOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) < 3 || len(args) > 4 { logUsage(cmd.Use) @@ -27,13 +27,13 @@ var cmdUsers = []cobra.Command{ args = append(args, "") } - user := mfxsdk.User{ + user := mgxsdk.User{ Name: args[0], - Credentials: mfxsdk.Credentials{ + Credentials: mgxsdk.Credentials{ Identity: args[1], Secret: args[2], }, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } user, err := sdk.CreateUser(user, args[3]) if err != nil { @@ -49,9 +49,9 @@ var cmdUsers = []cobra.Command{ Short: "Get users", Long: "Get all users or get user by id. Users can be filtered by name or metadata or status\n" + "Usage:\n" + - "\tmainflux-cli users get all - lists all users\n" + - "\tmainflux-cli users get all --offset --limit - lists all users with provided offset and limit\n" + - "\tmainflux-cli users get - shows user with provided \n", + "\tmagistrala-cli users get all - lists all users\n" + + "\tmagistrala-cli users get all --offset --limit - lists all users with provided offset and limit\n" + + "\tmagistrala-cli users get - shows user with provided \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) @@ -62,7 +62,7 @@ var cmdUsers = []cobra.Command{ logError(err) return } - pageMetadata := mfxsdk.PageMetadata{ + pageMetadata := mgxsdk.PageMetadata{ Email: Email, Offset: Offset, Limit: Limit, @@ -92,15 +92,15 @@ var cmdUsers = []cobra.Command{ Short: "Get token", Long: "Generate new token from username and password\n" + "For example:\n" + - "\tmainflux-cli users token user@example.com 12345678\n", + "\tmagistrala-cli users token user@example.com 12345678\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - user := mfxsdk.User{ - Credentials: mfxsdk.Credentials{ + user := mgxsdk.User{ + Credentials: mgxsdk.Credentials{ Identity: args[0], Secret: args[1], }, @@ -119,7 +119,7 @@ var cmdUsers = []cobra.Command{ Short: "Get token", Long: "Generate new token from refresh token\n" + "For example:\n" + - "\tmainflux-cli users refreshtoken \n", + "\tmagistrala-cli users refreshtoken \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 1 { logUsage(cmd.Use) @@ -140,17 +140,17 @@ var cmdUsers = []cobra.Command{ Short: "Update user", Long: "Updates either user name and metadata or user tags or user identity or user owner\n" + "Usage:\n" + - "\tmainflux-cli users update '{\"name\":\"new name\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN - updates user name and metadata\n" + - "\tmainflux-cli users update tags '[\"tag1\", \"tag2\"]' $USERTOKEN - updates user tags\n" + - "\tmainflux-cli users update identity newidentity@example.com $USERTOKEN - updates user identity\n" + - "\tmainflux-cli users update owner $USERTOKEN - updates user owner\n", + "\tmagistrala-cli users update '{\"name\":\"new name\", \"metadata\":{\"key\": \"value\"}}' $USERTOKEN - updates user name and metadata\n" + + "\tmagistrala-cli users update tags '[\"tag1\", \"tag2\"]' $USERTOKEN - updates user tags\n" + + "\tmagistrala-cli users update identity newidentity@example.com $USERTOKEN - updates user identity\n" + + "\tmagistrala-cli users update owner $USERTOKEN - updates user owner\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 4 && len(args) != 3 { logUsage(cmd.Use) return } - var user mfxsdk.User + var user mgxsdk.User if args[0] == "tags" { if err := json.Unmarshal([]byte(args[2]), &user.Tags); err != nil { logError(err) @@ -214,7 +214,7 @@ var cmdUsers = []cobra.Command{ Short: "Get user profile", Long: "Get user profile\n" + "Usage:\n" + - "\tmainflux-cli users profile $USERTOKEN\n", + "\tmagistrala-cli users profile $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 1 { logUsage(cmd.Use) @@ -235,7 +235,7 @@ var cmdUsers = []cobra.Command{ Short: "Send reset password request", Long: "Send reset password request\n" + "Usage:\n" + - "\tmainflux-cli users resetpasswordrequest example@mail.com\n", + "\tmagistrala-cli users resetpasswordrequest example@mail.com\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 1 { logUsage(cmd.Use) @@ -255,7 +255,7 @@ var cmdUsers = []cobra.Command{ Short: "Reset password", Long: "Reset password\n" + "Usage:\n" + - "\tmainflux-cli users resetpassword 12345678 12345678 $REQUESTTOKEN\n", + "\tmagistrala-cli users resetpassword 12345678 12345678 $REQUESTTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 3 { logUsage(cmd.Use) @@ -275,7 +275,7 @@ var cmdUsers = []cobra.Command{ Short: "Update password", Long: "Update password\n" + "Usage:\n" + - "\tmainflux-cli users password old_password new_password $USERTOKEN\n", + "\tmagistrala-cli users password old_password new_password $USERTOKEN\n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 3 { logUsage(cmd.Use) @@ -296,7 +296,7 @@ var cmdUsers = []cobra.Command{ Short: "Change user status to enabled", Long: "Change user status to enabled\n" + "Usage:\n" + - "\tmainflux-cli users enable \n", + "\tmagistrala-cli users enable \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) @@ -317,7 +317,7 @@ var cmdUsers = []cobra.Command{ Short: "Change user status to disabled", Long: "Change user status to disabled\n" + "Usage:\n" + - "\tmainflux-cli users disable \n", + "\tmagistrala-cli users disable \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) @@ -339,14 +339,14 @@ var cmdUsers = []cobra.Command{ Short: "List channels", Long: "List channels of user\n" + "Usage:\n" + - "\tmainflux-cli users channels \n", + "\tmagistrala-cli users channels \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } @@ -366,14 +366,14 @@ var cmdUsers = []cobra.Command{ Short: "List things", Long: "List things of user\n" + "Usage:\n" + - "\tmainflux-cli users things \n", + "\tmagistrala-cli users things \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } @@ -392,14 +392,14 @@ var cmdUsers = []cobra.Command{ Short: "List groups", Long: "List groups of user\n" + "Usage:\n" + - "\tmainflux-cli users groups \n", + "\tmagistrala-cli users groups \n", Run: func(cmd *cobra.Command, args []string) { if len(args) != 2 { logUsage(cmd.Use) return } - pm := mfxsdk.PageMetadata{ + pm := mgxsdk.PageMetadata{ Offset: Offset, Limit: Limit, } diff --git a/cmd/auth/main.go b/cmd/auth/main.go index fe66d1260..8ab33d8a0 100644 --- a/cmd/auth/main.go +++ b/cmd/auth/main.go @@ -10,7 +10,7 @@ import ( "os" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/auth" api "github.com/absmach/magistrala/auth/api" grpcapi "github.com/absmach/magistrala/auth/api/grpc" @@ -27,7 +27,7 @@ import ( "github.com/absmach/magistrala/internal/server" grpcserver "github.com/absmach/magistrala/internal/server/grpc" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/uuid" v1 "github.com/authzed/authzed-go/proto/authzed/api/v1" "github.com/authzed/authzed-go/v1" @@ -75,13 +75,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err.Error()) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { logger.Fatal(fmt.Sprintf("failed to init logger: %s", err.Error())) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -141,13 +141,13 @@ func main() { } registerAuthServiceServer := func(srv *grpc.Server) { reflection.Register(srv) - mainflux.RegisterAuthServiceServer(srv, grpcapi.NewServer(svc)) + magistrala.RegisterAuthServiceServer(srv, grpcapi.NewServer(svc)) } gs := grpcserver.New(ctx, cancel, svcName, grpcServerConfig, registerAuthServiceServer, logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -197,7 +197,7 @@ func initSchema(client *authzed.Client, schemaFilePath string) error { return nil } -func newService(db *sqlx.DB, tracer trace.Tracer, cfg config, dbConfig pgclient.Config, logger mflog.Logger, spicedbClient *authzed.Client) auth.Service { +func newService(db *sqlx.DB, tracer trace.Tracer, cfg config, dbConfig pgclient.Config, logger mglog.Logger, spicedbClient *authzed.Client) auth.Service { database := postgres.NewDatabase(db, dbConfig, tracer) keysRepo := apostgres.New(database) diff --git a/cmd/bootstrap/main.go b/cmd/bootstrap/main.go index eeb07b290..18626d366 100644 --- a/cmd/bootstrap/main.go +++ b/cmd/bootstrap/main.go @@ -25,9 +25,9 @@ import ( "github.com/absmach/magistrala/internal/postgres" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events/store" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/pkg/uuid" "github.com/jmoiron/sqlx" chclient "github.com/mainflux/callhome/pkg/client" @@ -42,7 +42,7 @@ const ( defDB = "bootstrap" defSvcHTTPPort = "9013" - thingsStream = "mainflux.things" + thingsStream = "magistrala.things" ) type config struct { @@ -66,13 +66,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -158,16 +158,16 @@ func main() { } } -func newService(ctx context.Context, auth magistrala.AuthServiceClient, db *sqlx.DB, tracer trace.Tracer, logger mflog.Logger, cfg config, dbConfig pgclient.Config) (bootstrap.Service, error) { +func newService(ctx context.Context, auth magistrala.AuthServiceClient, db *sqlx.DB, tracer trace.Tracer, logger mglog.Logger, cfg config, dbConfig pgclient.Config) (bootstrap.Service, error) { database := postgres.NewDatabase(db, dbConfig, tracer) repoConfig := bootstrappg.NewConfigRepository(database, logger) - config := mfsdk.Config{ + config := mgsdk.Config{ ThingsURL: cfg.ThingsURL, } - sdk := mfsdk.NewSDK(config) + sdk := mgsdk.NewSDK(config) svc := bootstrap.New(auth, repoConfig, sdk, []byte(cfg.EncKey)) @@ -184,7 +184,7 @@ func newService(ctx context.Context, auth magistrala.AuthServiceClient, db *sqlx return svc, nil } -func subscribeToThingsES(ctx context.Context, svc bootstrap.Service, cfg config, logger mflog.Logger) error { +func subscribeToThingsES(ctx context.Context, svc bootstrap.Service, cfg config, logger mglog.Logger) error { subscriber, err := store.NewSubscriber(ctx, cfg.ESURL, thingsStream, cfg.ESConsumerName, logger) if err != nil { return err diff --git a/cmd/cassandra-reader/main.go b/cmd/cassandra-reader/main.go index ce57e9a35..e1472d4f8 100644 --- a/cmd/cassandra-reader/main.go +++ b/cmd/cassandra-reader/main.go @@ -10,14 +10,14 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal" cassandraclient "github.com/absmach/magistrala/internal/clients/cassandra" authclient "github.com/absmach/magistrala/internal/clients/grpc/auth" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/readers" "github.com/absmach/magistrala/readers/api" @@ -50,13 +50,13 @@ func main() { log.Fatalf("failed to load %s service configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -108,7 +108,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(repo, ac, tc, svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -126,7 +126,7 @@ func main() { } } -func newService(csdSession *gocql.Session, logger mflog.Logger) readers.MessageRepository { +func newService(csdSession *gocql.Session, logger mglog.Logger) readers.MessageRepository { repo := cassandra.New(csdSession) repo = api.LoggingMiddleware(repo, logger) counter, latency := internal.MakeMetrics("cassandra", "message_reader") diff --git a/cmd/cassandra-writer/main.go b/cmd/cassandra-writer/main.go index 4829b6cd5..a7529ca0d 100644 --- a/cmd/cassandra-writer/main.go +++ b/cmd/cassandra-writer/main.go @@ -10,7 +10,7 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/consumers" consumertracing "github.com/absmach/magistrala/consumers/tracing" "github.com/absmach/magistrala/consumers/writers/api" @@ -21,7 +21,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" "github.com/absmach/magistrala/pkg/uuid" @@ -57,13 +57,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -126,7 +126,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -144,7 +144,7 @@ func main() { } } -func newService(session *gocql.Session, logger mflog.Logger) consumers.BlockingConsumer { +func newService(session *gocql.Session, logger mglog.Logger) consumers.BlockingConsumer { repo := cassandra.New(session) repo = api.LoggingMiddleware(repo, logger) counter, latency := internal.MakeMetrics("cassandra", "message_writer") diff --git a/cmd/certs/main.go b/cmd/certs/main.go index c8239338b..4bcd07869 100644 --- a/cmd/certs/main.go +++ b/cmd/certs/main.go @@ -24,8 +24,8 @@ import ( "github.com/absmach/magistrala/internal/postgres" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mglog "github.com/absmach/magistrala/logger" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/pkg/uuid" "github.com/jmoiron/sqlx" chclient "github.com/mainflux/callhome/pkg/client" @@ -70,13 +70,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -162,14 +162,14 @@ func main() { } } -func newService(auth magistrala.AuthServiceClient, db *sqlx.DB, tracer trace.Tracer, logger mflog.Logger, cfg config, dbConfig pgclient.Config, pkiAgent vault.Agent) certs.Service { +func newService(auth magistrala.AuthServiceClient, db *sqlx.DB, tracer trace.Tracer, logger mglog.Logger, cfg config, dbConfig pgclient.Config, pkiAgent vault.Agent) certs.Service { database := postgres.NewDatabase(db, dbConfig, tracer) certsRepo := certspg.NewRepository(database, logger) - config := mfsdk.Config{ + config := mgsdk.Config{ CertsURL: cfg.CertsURL, ThingsURL: cfg.ThingsURL, } - sdk := mfsdk.NewSDK(config) + sdk := mgsdk.NewSDK(config) svc := certs.New(auth, certsRepo, sdk, pkiAgent) svc = api.LoggingMiddleware(svc, logger) counter, latency := internal.MakeMetrics(svcName, "api") diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 3c9a99e32..348ca6d4c 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -37,8 +37,8 @@ func main() { // Root rootCmd := &cobra.Command{ - Use: "mainflux-cli", - PersistentPreRun: func(cmd *cobra.Command, args []string) { + Use: "magistrala-cli", + PersistentPreRun: func(_ *cobra.Command, _ []string) { cliConf, err := cli.ParseConfig(sdkConf) if err != nil { log.Fatalf("Failed to parse config: %s", err) diff --git a/cmd/coap/main.go b/cmd/coap/main.go index 4eff2a6c8..16bc5b8c0 100644 --- a/cmd/coap/main.go +++ b/cmd/coap/main.go @@ -10,7 +10,7 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/coap" "github.com/absmach/magistrala/coap/api" "github.com/absmach/magistrala/coap/tracing" @@ -21,7 +21,7 @@ import ( "github.com/absmach/magistrala/internal/server" coapserver "github.com/absmach/magistrala/internal/server/coap" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" "github.com/absmach/magistrala/pkg/uuid" @@ -55,13 +55,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -131,7 +131,7 @@ func main() { cs := coapserver.New(ctx, cancel, svcName, coapServerConfig, api.MakeCoAPHandler(svc, logger), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } diff --git a/cmd/http/main.go b/cmd/http/main.go index 5a1a8ba72..7095378a0 100644 --- a/cmd/http/main.go +++ b/cmd/http/main.go @@ -11,7 +11,7 @@ import ( "net/http" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" adapter "github.com/absmach/magistrala/http" "github.com/absmach/magistrala/http/api" "github.com/absmach/magistrala/internal" @@ -20,7 +20,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" @@ -59,13 +59,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -120,7 +120,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, targetServerCfg, api.MakeHandler(cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -141,7 +141,7 @@ func main() { } } -func newService(pub messaging.Publisher, tc mainflux.AuthzServiceClient, logger mflog.Logger, tracer trace.Tracer) session.Handler { +func newService(pub messaging.Publisher, tc magistrala.AuthzServiceClient, logger mglog.Logger, tracer trace.Tracer) session.Handler { svc := adapter.NewHandler(pub, logger, tc) svc = handler.NewTracing(tracer, svc) svc = handler.LoggingMiddleware(svc, logger) @@ -150,7 +150,7 @@ func newService(pub messaging.Publisher, tc mainflux.AuthzServiceClient, logger return svc } -func proxyHTTP(ctx context.Context, cfg server.Config, logger mflog.Logger, handler session.Handler) error { +func proxyHTTP(ctx context.Context, cfg server.Config, logger mglog.Logger, handler session.Handler) error { address := fmt.Sprintf("%s:%s", "", cfg.Port) target := fmt.Sprintf("%s:%s", targetHTTPHost, targetHTTPPort) mp, err := mproxy.NewProxy(address, target, handler, logger) @@ -171,7 +171,6 @@ func proxyHTTP(ctx context.Context, cfg server.Config, logger mflog.Logger, hand errCh <- mp.Listen() }() logger.Info(fmt.Sprintf("%s service http server listening at %s:%s without TLS", svcName, cfg.Host, cfg.Port)) - } select { diff --git a/cmd/influxdb-reader/main.go b/cmd/influxdb-reader/main.go index 0b2171700..074e127d0 100644 --- a/cmd/influxdb-reader/main.go +++ b/cmd/influxdb-reader/main.go @@ -10,14 +10,14 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal" authclient "github.com/absmach/magistrala/internal/clients/grpc/auth" influxdbclient "github.com/absmach/magistrala/internal/clients/influxdb" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/readers" "github.com/absmach/magistrala/readers/api" @@ -49,13 +49,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -117,7 +117,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(repo, ac, tc, svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -134,7 +134,7 @@ func main() { } } -func newService(client influxdb2.Client, repocfg influxdb.RepoConfig, logger mflog.Logger) readers.MessageRepository { +func newService(client influxdb2.Client, repocfg influxdb.RepoConfig, logger mglog.Logger) readers.MessageRepository { repo := influxdb.New(client, repocfg) repo = api.LoggingMiddleware(repo, logger) counter, latency := internal.MakeMetrics("influxdb", "message_reader") diff --git a/cmd/influxdb-writer/main.go b/cmd/influxdb-writer/main.go index ee3449e7b..81e8b2431 100644 --- a/cmd/influxdb-writer/main.go +++ b/cmd/influxdb-writer/main.go @@ -10,7 +10,7 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/consumers" consumertracing "github.com/absmach/magistrala/consumers/tracing" "github.com/absmach/magistrala/consumers/writers/api" @@ -20,7 +20,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" "github.com/absmach/magistrala/pkg/uuid" @@ -54,13 +54,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -124,7 +124,7 @@ func main() { repo = consumertracing.NewAsync(tracer, repo, httpServerConfig) // Start consuming and logging errors. - go func(log mflog.Logger) { + go func(log mglog.Logger) { for err := range repo.Errors() { if err != nil { log.Error(err.Error()) @@ -141,7 +141,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } diff --git a/cmd/lora/main.go b/cmd/lora/main.go index 9697c9568..fae793541 100644 --- a/cmd/lora/main.go +++ b/cmd/lora/main.go @@ -11,14 +11,14 @@ import ( "os" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal" "github.com/absmach/magistrala/internal/clients/jaeger" redisclient "github.com/absmach/magistrala/internal/clients/redis" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/lora" "github.com/absmach/magistrala/lora/api" "github.com/absmach/magistrala/lora/events" @@ -42,7 +42,7 @@ const ( thingsRMPrefix = "thing" channelsRMPrefix = "channel" connsRMPrefix = "connection" - thingsStream = "mainflux.things" + thingsStream = "magistrala.things" ) type config struct { @@ -71,13 +71,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -148,7 +148,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -165,7 +165,7 @@ func main() { } } -func connectToMQTTBroker(url, user, password string, timeout time.Duration, logger mflog.Logger) (mqttpaho.Client, error) { +func connectToMQTTBroker(url, user, password string, timeout time.Duration, logger mglog.Logger) (mqttpaho.Client, error) { opts := mqttpaho.NewClientOptions() opts.AddBroker(url) opts.SetUsername(user) @@ -186,7 +186,7 @@ func connectToMQTTBroker(url, user, password string, timeout time.Duration, logg return client, nil } -func subscribeToLoRaBroker(svc lora.Service, mc mqttpaho.Client, timeout time.Duration, topic string, logger mflog.Logger) error { +func subscribeToLoRaBroker(svc lora.Service, mc mqttpaho.Client, timeout time.Duration, topic string, logger mglog.Logger) error { mqtt := mqtt.NewBroker(svc, mc, timeout, logger) logger.Info("Subscribed to Lora MQTT broker") if err := mqtt.Subscribe(topic); err != nil { @@ -195,7 +195,7 @@ func subscribeToLoRaBroker(svc lora.Service, mc mqttpaho.Client, timeout time.Du return nil } -func subscribeToThingsES(ctx context.Context, svc lora.Service, cfg config, logger mflog.Logger) error { +func subscribeToThingsES(ctx context.Context, svc lora.Service, cfg config, logger mglog.Logger) error { subscriber, err := store.NewSubscriber(ctx, cfg.ESURL, thingsStream, cfg.ESConsumerName, logger) if err != nil { return err @@ -208,12 +208,12 @@ func subscribeToThingsES(ctx context.Context, svc lora.Service, cfg config, logg return subscriber.Subscribe(ctx, handler) } -func newRouteMapRepository(client *redis.Client, prefix string, logger mflog.Logger) lora.RouteMapRepository { +func newRouteMapRepository(client *redis.Client, prefix string, logger mglog.Logger) lora.RouteMapRepository { logger.Info(fmt.Sprintf("Connected to %s Redis Route-map", prefix)) return events.NewRouteMapRepository(client, prefix) } -func newService(pub messaging.Publisher, rmConn *redis.Client, thingsRMPrefix, channelsRMPrefix, connsRMPrefix string, logger mflog.Logger) lora.Service { +func newService(pub messaging.Publisher, rmConn *redis.Client, thingsRMPrefix, channelsRMPrefix, connsRMPrefix string, logger mglog.Logger) lora.Service { thingsRM := newRouteMapRepository(rmConn, thingsRMPrefix, logger) chansRM := newRouteMapRepository(rmConn, channelsRMPrefix, logger) connsRM := newRouteMapRepository(rmConn, connsRMPrefix, logger) diff --git a/cmd/mongodb-reader/main.go b/cmd/mongodb-reader/main.go index b1351514a..35331296c 100644 --- a/cmd/mongodb-reader/main.go +++ b/cmd/mongodb-reader/main.go @@ -10,14 +10,14 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal" authclient "github.com/absmach/magistrala/internal/clients/grpc/auth" mongoclient "github.com/absmach/magistrala/internal/clients/mongo" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/readers" "github.com/absmach/magistrala/readers/api" @@ -49,13 +49,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -103,7 +103,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(repo, ac, tc, svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -120,7 +120,7 @@ func main() { } } -func newService(db *mongo.Database, logger mflog.Logger) readers.MessageRepository { +func newService(db *mongo.Database, logger mglog.Logger) readers.MessageRepository { repo := mongodb.New(db) repo = api.LoggingMiddleware(repo, logger) counter, latency := internal.MakeMetrics("mongodb", "message_reader") diff --git a/cmd/mongodb-writer/main.go b/cmd/mongodb-writer/main.go index 65bc447fc..243c0a085 100644 --- a/cmd/mongodb-writer/main.go +++ b/cmd/mongodb-writer/main.go @@ -10,7 +10,7 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/consumers" consumertracing "github.com/absmach/magistrala/consumers/tracing" "github.com/absmach/magistrala/consumers/writers/api" @@ -21,7 +21,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" "github.com/absmach/magistrala/pkg/uuid" @@ -56,13 +56,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -120,7 +120,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -137,7 +137,7 @@ func main() { } } -func newService(db *mongo.Database, logger mflog.Logger) consumers.BlockingConsumer { +func newService(db *mongo.Database, logger mglog.Logger) consumers.BlockingConsumer { repo := mongodb.New(db) repo = api.LoggingMiddleware(repo, logger) counter, latency := internal.MakeMetrics("mongodb", "message_writer") diff --git a/cmd/mqtt/main.go b/cmd/mqtt/main.go index 758e9c9ec..b331c3397 100644 --- a/cmd/mqtt/main.go +++ b/cmd/mqtt/main.go @@ -13,12 +13,12 @@ import ( "os" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authapi "github.com/absmach/magistrala/internal/clients/grpc/auth" jaegerclient "github.com/absmach/magistrala/internal/clients/jaeger" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/mqtt" "github.com/absmach/magistrala/mqtt/events" mqtttracing "github.com/absmach/magistrala/mqtt/tracing" @@ -68,13 +68,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -170,7 +170,7 @@ func main() { h = handler.NewTracing(tracer, h) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -197,7 +197,7 @@ func main() { } } -func proxyMQTT(ctx context.Context, cfg config, logger mflog.Logger, handler session.Handler) error { +func proxyMQTT(ctx context.Context, cfg config, logger mglog.Logger, handler session.Handler) error { address := fmt.Sprintf(":%s", cfg.MQTTPort) target := fmt.Sprintf("%s:%s", cfg.MQTTTargetHost, cfg.MQTTTargetPort) mp := mp.New(address, target, handler, logger) @@ -216,7 +216,7 @@ func proxyMQTT(ctx context.Context, cfg config, logger mflog.Logger, handler ses } } -func proxyWS(ctx context.Context, cfg config, logger mflog.Logger, handler session.Handler) error { +func proxyWS(ctx context.Context, cfg config, logger mglog.Logger, handler session.Handler) error { target := fmt.Sprintf("%s:%s", cfg.HTTPTargetHost, cfg.HTTPTargetPort) wp := websocket.New(target, cfg.HTTPTargetPath, "ws", handler, logger) http.Handle("/mqtt", wp.Handler()) diff --git a/cmd/opcua/main.go b/cmd/opcua/main.go index 5bbd875fd..796245679 100644 --- a/cmd/opcua/main.go +++ b/cmd/opcua/main.go @@ -10,14 +10,14 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal" jaegerclient "github.com/absmach/magistrala/internal/clients/jaeger" redisclient "github.com/absmach/magistrala/internal/clients/redis" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/opcua" "github.com/absmach/magistrala/opcua/api" "github.com/absmach/magistrala/opcua/db" @@ -41,7 +41,7 @@ const ( channelsRMPrefix = "channel" connectionRMPrefix = "connection" - thingsStream = "mainflux.things" + thingsStream = "magistrala.things" ) type config struct { @@ -70,13 +70,13 @@ func main() { log.Fatalf("failed to load %s opcua client configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -143,7 +143,7 @@ func main() { hs := httpserver.New(ctx, httpCancel, svcName, httpServerConfig, api.MakeHandler(svc, logger, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, httpCancel) + chc := chclient.New(svcName, magistrala.Version, logger, httpCancel) go chc.CallHome(ctx) } @@ -160,7 +160,7 @@ func main() { } } -func subscribeToStoredSubs(ctx context.Context, sub opcua.Subscriber, cfg opcua.Config, logger mflog.Logger) { +func subscribeToStoredSubs(ctx context.Context, sub opcua.Subscriber, cfg opcua.Config, logger mglog.Logger) { // Get all stored subscriptions nodes, err := db.ReadAll() if err != nil { @@ -178,7 +178,7 @@ func subscribeToStoredSubs(ctx context.Context, sub opcua.Subscriber, cfg opcua. } } -func subscribeToThingsES(ctx context.Context, svc opcua.Service, cfg config, logger mflog.Logger) error { +func subscribeToThingsES(ctx context.Context, svc opcua.Service, cfg config, logger mglog.Logger) error { subscriber, err := store.NewSubscriber(ctx, cfg.ESURL, thingsStream, cfg.ESConsumerName, logger) if err != nil { return err @@ -191,12 +191,12 @@ func subscribeToThingsES(ctx context.Context, svc opcua.Service, cfg config, log return subscriber.Subscribe(ctx, handler) } -func newRouteMapRepositoy(client *redis.Client, prefix string, logger mflog.Logger) opcua.RouteMapRepository { +func newRouteMapRepositoy(client *redis.Client, prefix string, logger mglog.Logger) opcua.RouteMapRepository { logger.Info(fmt.Sprintf("Connected to %s Redis Route-map", prefix)) return events.NewRouteMapRepository(client, prefix) } -func newService(sub opcua.Subscriber, browser opcua.Browser, thingRM, chanRM, connRM opcua.RouteMapRepository, opcuaConfig opcua.Config, logger mflog.Logger) opcua.Service { +func newService(sub opcua.Subscriber, browser opcua.Browser, thingRM, chanRM, connRM opcua.RouteMapRepository, opcuaConfig opcua.Config, logger mglog.Logger) opcua.Service { svc := opcua.New(sub, browser, thingRM, chanRM, connRM, opcuaConfig, logger) svc = api.LoggingMiddleware(svc, logger) counter, latency := internal.MakeMetrics("opc_ua_adapter", "api") diff --git a/cmd/postgres-reader/main.go b/cmd/postgres-reader/main.go index 82bcd7e8c..31e0ce284 100644 --- a/cmd/postgres-reader/main.go +++ b/cmd/postgres-reader/main.go @@ -10,14 +10,14 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal" authclient "github.com/absmach/magistrala/internal/clients/grpc/auth" pgclient "github.com/absmach/magistrala/internal/clients/postgres" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/readers" "github.com/absmach/magistrala/readers/api" @@ -50,13 +50,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -111,7 +111,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(repo, ac, tc, svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -128,7 +128,7 @@ func main() { } } -func newService(db *sqlx.DB, logger mflog.Logger) readers.MessageRepository { +func newService(db *sqlx.DB, logger mglog.Logger) readers.MessageRepository { svc := postgres.New(db) svc = api.LoggingMiddleware(svc, logger) counter, latency := internal.MakeMetrics("postgres", "message_reader") diff --git a/cmd/postgres-writer/main.go b/cmd/postgres-writer/main.go index 337da6bc9..1f122e112 100644 --- a/cmd/postgres-writer/main.go +++ b/cmd/postgres-writer/main.go @@ -10,7 +10,7 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/consumers" consumertracing "github.com/absmach/magistrala/consumers/tracing" "github.com/absmach/magistrala/consumers/writers/api" @@ -21,7 +21,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" "github.com/absmach/magistrala/pkg/uuid" @@ -57,13 +57,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -121,7 +121,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -138,7 +138,7 @@ func main() { } } -func newService(db *sqlx.DB, logger mflog.Logger) consumers.BlockingConsumer { +func newService(db *sqlx.DB, logger mglog.Logger) consumers.BlockingConsumer { svc := writerpg.New(db) svc = api.LoggingMiddleware(svc, logger) counter, latency := internal.MakeMetrics("postgres", "message_writer") diff --git a/cmd/provision/main.go b/cmd/provision/main.go index 79f2e6b6b..258f04d13 100644 --- a/cmd/provision/main.go +++ b/cmd/provision/main.go @@ -12,15 +12,15 @@ import ( "os" "reflect" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" - mfsdk "github.com/absmach/magistrala/pkg/sdk/go" + mggroups "github.com/absmach/magistrala/pkg/groups" + mgsdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/provision" "github.com/absmach/magistrala/provision/api" @@ -48,13 +48,13 @@ func main() { log.Fatalf(fmt.Sprintf("failed to load %s configuration : %s", svcName, err)) } - logger, err := mflog.New(os.Stdout, cfg.Server.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.Server.LogLevel) if err != nil { log.Fatalf(err.Error()) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -73,15 +73,15 @@ func main() { logger.Info("Continue with settings from file: " + cfg.File) } - SDKCfg := mfsdk.Config{ + SDKCfg := mgsdk.Config{ UsersURL: cfg.Server.UsersURL, ThingsURL: cfg.Server.ThingsURL, - BootstrapURL: cfg.Server.MfBSURL, - CertsURL: cfg.Server.MfCertsURL, + BootstrapURL: cfg.Server.MgBSURL, + CertsURL: cfg.Server.MgCertsURL, MsgContentType: contentType, TLSVerification: cfg.Server.TLS, } - SDK := mfsdk.NewSDK(SDKCfg) + SDK := mgsdk.NewSDK(SDKCfg) svc := provision.New(cfg, SDK, logger) svc = api.NewLoggingMiddleware(svc, logger) @@ -90,7 +90,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(svc, logger, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -141,7 +141,7 @@ func loadConfig() (provision.Config, error) { Content: content, }, // This is default conf for provision if there is no config file - Channels: []mfgroups.Group{ + Channels: []mggroups.Group{ { Name: "control-channel", Metadata: map[string]interface{}{"type": "control"}, @@ -150,7 +150,7 @@ func loadConfig() (provision.Config, error) { Metadata: map[string]interface{}{"type": "data"}, }, }, - Things: []mfclients.Client{ + Things: []mgclients.Client{ { Name: "thing", Metadata: map[string]interface{}{"external_id": "xxxxxx"}, diff --git a/cmd/smpp-notifier/main.go b/cmd/smpp-notifier/main.go index 7138c6e78..54f1441e5 100644 --- a/cmd/smpp-notifier/main.go +++ b/cmd/smpp-notifier/main.go @@ -15,7 +15,7 @@ import ( "github.com/absmach/magistrala/consumers/notifiers" "github.com/absmach/magistrala/consumers/notifiers/api" notifierpg "github.com/absmach/magistrala/consumers/notifiers/postgres" - mfsmpp "github.com/absmach/magistrala/consumers/notifiers/smpp" + mgsmpp "github.com/absmach/magistrala/consumers/notifiers/smpp" "github.com/absmach/magistrala/consumers/notifiers/tracing" "github.com/absmach/magistrala/internal" authclient "github.com/absmach/magistrala/internal/clients/grpc/auth" @@ -24,7 +24,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" "github.com/absmach/magistrala/pkg/ulid" @@ -63,13 +63,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -86,7 +86,7 @@ func main() { } defer db.Close() - smppConfig := mfsmpp.Config{} + smppConfig := mgsmpp.Config{} if err := env.Parse(&smppConfig); err != nil { logger.Error(fmt.Sprintf("failed to load SMPP configuration from environment : %s", err)) exitCode = 1 @@ -158,11 +158,11 @@ func main() { } } -func newService(db *sqlx.DB, tracer trace.Tracer, auth magistrala.AuthServiceClient, c config, sc mfsmpp.Config, logger mflog.Logger) notifiers.Service { +func newService(db *sqlx.DB, tracer trace.Tracer, auth magistrala.AuthServiceClient, c config, sc mgsmpp.Config, logger mglog.Logger) notifiers.Service { database := notifierpg.NewDatabase(db, tracer) repo := tracing.New(tracer, notifierpg.New(database)) idp := ulid.New() - notifier := mfsmpp.New(sc) + notifier := mgsmpp.New(sc) svc := notifiers.New(auth, repo, idp, notifier, c.From) svc = api.LoggingMiddleware(svc, logger) counter, latency := internal.MakeMetrics("notifier", "smpp") diff --git a/cmd/smtp-notifier/main.go b/cmd/smtp-notifier/main.go index 9c2c31d7c..2182095ee 100644 --- a/cmd/smtp-notifier/main.go +++ b/cmd/smtp-notifier/main.go @@ -25,7 +25,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" "github.com/absmach/magistrala/pkg/ulid" @@ -64,13 +64,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -168,7 +168,7 @@ func main() { } } -func newService(db *sqlx.DB, tracer trace.Tracer, auth magistrala.AuthServiceClient, c config, ec email.Config, logger mflog.Logger) (notifiers.Service, error) { +func newService(db *sqlx.DB, tracer trace.Tracer, auth magistrala.AuthServiceClient, c config, ec email.Config, logger mglog.Logger) (notifiers.Service, error) { database := notifierpg.NewDatabase(db, tracer) repo := tracing.New(tracer, notifierpg.New(database)) idp := ulid.New() diff --git a/cmd/things/main.go b/cmd/things/main.go index 2b8293bf2..3ddf6ebd1 100644 --- a/cmd/things/main.go +++ b/cmd/things/main.go @@ -18,7 +18,7 @@ import ( pgclient "github.com/absmach/magistrala/internal/clients/postgres" redisclient "github.com/absmach/magistrala/internal/clients/redis" "github.com/absmach/magistrala/internal/env" - mfgroups "github.com/absmach/magistrala/internal/groups" + mggroups "github.com/absmach/magistrala/internal/groups" gapi "github.com/absmach/magistrala/internal/groups/api" gpostgres "github.com/absmach/magistrala/internal/groups/postgres" gtracing "github.com/absmach/magistrala/internal/groups/tracing" @@ -26,7 +26,7 @@ import ( "github.com/absmach/magistrala/internal/server" grpcserver "github.com/absmach/magistrala/internal/server/grpc" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/groups" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/things" @@ -81,13 +81,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -205,7 +205,7 @@ func main() { } } -func newService(ctx context.Context, db *sqlx.DB, dbConfig pgclient.Config, auth magistrala.AuthServiceClient, cacheClient *redis.Client, keyDuration, esURL string, tracer trace.Tracer, logger mflog.Logger) (things.Service, groups.Service, error) { +func newService(ctx context.Context, db *sqlx.DB, dbConfig pgclient.Config, auth magistrala.AuthServiceClient, cacheClient *redis.Client, keyDuration, esURL string, tracer trace.Tracer, logger mglog.Logger) (things.Service, groups.Service, error) { database := postgres.NewDatabase(db, dbConfig, tracer) cRepo := thingspg.NewRepository(database) gRepo := gpostgres.New(database) @@ -220,7 +220,7 @@ func newService(ctx context.Context, db *sqlx.DB, dbConfig pgclient.Config, auth thingCache := thcache.NewCache(cacheClient, kDuration) csvc := things.NewService(auth, cRepo, gRepo, thingCache, idp) - gsvc := mfgroups.NewService(gRepo, idp, auth) + gsvc := mggroups.NewService(gRepo, idp, auth) csvc, err = thevents.NewEventStoreMiddleware(ctx, csvc, esURL) if err != nil { diff --git a/cmd/timescale-reader/main.go b/cmd/timescale-reader/main.go index fc8c0c588..5764bb0c5 100644 --- a/cmd/timescale-reader/main.go +++ b/cmd/timescale-reader/main.go @@ -10,14 +10,14 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal" authclient "github.com/absmach/magistrala/internal/clients/grpc/auth" pgclient "github.com/absmach/magistrala/internal/clients/postgres" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/readers" "github.com/absmach/magistrala/readers/api" @@ -50,13 +50,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -109,7 +109,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(repo, ac, tc, svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -126,7 +126,7 @@ func main() { } } -func newService(db *sqlx.DB, logger mflog.Logger) readers.MessageRepository { +func newService(db *sqlx.DB, logger mglog.Logger) readers.MessageRepository { svc := timescale.New(db) svc = api.LoggingMiddleware(svc, logger) counter, latency := internal.MakeMetrics("timescale", "message_reader") diff --git a/cmd/timescale-writer/main.go b/cmd/timescale-writer/main.go index 7c1cd89cb..d4c0f9da5 100644 --- a/cmd/timescale-writer/main.go +++ b/cmd/timescale-writer/main.go @@ -10,7 +10,7 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/consumers" consumertracing "github.com/absmach/magistrala/consumers/tracing" "github.com/absmach/magistrala/consumers/writers/api" @@ -21,7 +21,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" "github.com/absmach/magistrala/pkg/uuid" @@ -57,13 +57,13 @@ func main() { log.Fatalf("failed to load %s service configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatal(err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -123,7 +123,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, httpServerConfig, api.MakeHandler(svcName, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -140,7 +140,7 @@ func main() { } } -func newService(db *sqlx.DB, logger mflog.Logger) consumers.BlockingConsumer { +func newService(db *sqlx.DB, logger mglog.Logger) consumers.BlockingConsumer { svc := timescale.New(db) svc = api.LoggingMiddleware(svc, logger) counter, latency := internal.MakeMetrics("timescale", "message_writer") diff --git a/cmd/twins/main.go b/cmd/twins/main.go index f6aefba44..903d510ef 100644 --- a/cmd/twins/main.go +++ b/cmd/twins/main.go @@ -19,7 +19,7 @@ import ( "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" @@ -68,13 +68,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -171,7 +171,7 @@ func main() { } } -func newService(ctx context.Context, id string, ps messaging.PubSub, cfg config, users magistrala.AuthServiceClient, tracer trace.Tracer, db *mongo.Database, cacheclient *redis.Client, logger mflog.Logger) (twins.Service, error) { +func newService(ctx context.Context, id string, ps messaging.PubSub, cfg config, users magistrala.AuthServiceClient, tracer trace.Tracer, db *mongo.Database, cacheclient *redis.Client, logger mglog.Logger) (twins.Service, error) { twinRepo := twmongodb.NewTwinRepository(db) twinRepo = tracing.TwinRepositoryMiddleware(tracer, twinRepo) @@ -206,7 +206,7 @@ func newService(ctx context.Context, id string, ps messaging.PubSub, cfg config, return svc, nil } -func handle(ctx context.Context, logger mflog.Logger, chanID string, svc twins.Service) handlerFunc { +func handle(ctx context.Context, logger mglog.Logger, chanID string, svc twins.Service) handlerFunc { return func(msg *messaging.Message) error { if msg.Channel == chanID { return nil diff --git a/cmd/users/main.go b/cmd/users/main.go index 54909d6e1..1f172a3f0 100644 --- a/cmd/users/main.go +++ b/cmd/users/main.go @@ -19,7 +19,7 @@ import ( pgclient "github.com/absmach/magistrala/internal/clients/postgres" "github.com/absmach/magistrala/internal/email" "github.com/absmach/magistrala/internal/env" - mfgroups "github.com/absmach/magistrala/internal/groups" + mggroups "github.com/absmach/magistrala/internal/groups" gapi "github.com/absmach/magistrala/internal/groups/api" gevents "github.com/absmach/magistrala/internal/groups/events" gpostgres "github.com/absmach/magistrala/internal/groups/postgres" @@ -27,8 +27,8 @@ import ( "github.com/absmach/magistrala/internal/postgres" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/groups" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/users" @@ -86,13 +86,13 @@ func main() { } cfg.PassRegex = passRegex - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { logger.Fatal(fmt.Sprintf("failed to init logger: %s", err.Error())) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -184,7 +184,7 @@ func main() { } } -func newService(ctx context.Context, auth magistrala.AuthServiceClient, db *sqlx.DB, dbConfig pgclient.Config, tracer trace.Tracer, c config, ec email.Config, logger mflog.Logger) (users.Service, groups.Service, error) { +func newService(ctx context.Context, auth magistrala.AuthServiceClient, db *sqlx.DB, dbConfig pgclient.Config, tracer trace.Tracer, c config, ec email.Config, logger mglog.Logger) (users.Service, groups.Service, error) { database := postgres.NewDatabase(db, dbConfig, tracer) cRepo := clientspg.NewRepository(database) gRepo := gpostgres.New(database) @@ -198,7 +198,7 @@ func newService(ctx context.Context, auth magistrala.AuthServiceClient, db *sqlx } csvc := users.NewService(cRepo, auth, emailer, hsr, idp, c.PassRegex) - gsvc := mfgroups.NewService(gRepo, idp, auth) + gsvc := mggroups.NewService(gRepo, idp, auth) csvc, err = uevents.NewEventStoreMiddleware(ctx, csvc, c.ESURL) if err != nil { @@ -236,20 +236,20 @@ func createAdmin(ctx context.Context, c config, crepo clientspg.Repository, hsr return err } - client := mfclients.Client{ + client := mgclients.Client{ ID: id, Name: "admin", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: c.AdminEmail, Secret: hash, }, - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "role": "admin", }, CreatedAt: time.Now(), UpdatedAt: time.Now(), - Role: mfclients.AdminRole, - Status: mfclients.EnabledStatus, + Role: mgclients.AdminRole, + Status: mgclients.EnabledStatus, } if _, err := crepo.RetrieveByIdentity(ctx, client.Credentials.Identity); err == nil { diff --git a/cmd/ws/main.go b/cmd/ws/main.go index c134f4f58..dc5440d1c 100644 --- a/cmd/ws/main.go +++ b/cmd/ws/main.go @@ -10,14 +10,14 @@ import ( "log" "os" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal" authapi "github.com/absmach/magistrala/internal/clients/grpc/auth" jaegerclient "github.com/absmach/magistrala/internal/clients/jaeger" "github.com/absmach/magistrala/internal/env" "github.com/absmach/magistrala/internal/server" httpserver "github.com/absmach/magistrala/internal/server/http" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/pkg/messaging/brokers" brokerstracing "github.com/absmach/magistrala/pkg/messaging/brokers/tracing" @@ -58,13 +58,13 @@ func main() { log.Fatalf("failed to load %s configuration : %s", svcName, err) } - logger, err := mflog.New(os.Stdout, cfg.LogLevel) + logger, err := mglog.New(os.Stdout, cfg.LogLevel) if err != nil { log.Fatalf("failed to init logger: %s", err) } var exitCode int - defer mflog.ExitWithError(&exitCode) + defer mglog.ExitWithError(&exitCode) if cfg.InstanceID == "" { if cfg.InstanceID, err = uuid.New().ID(); err != nil { @@ -123,7 +123,7 @@ func main() { hs := httpserver.New(ctx, cancel, svcName, targetServerConf, api.MakeHandler(ctx, svc, logger, cfg.InstanceID), logger) if cfg.SendTelemetry { - chc := chclient.New(svcName, mainflux.Version, logger, cancel) + chc := chclient.New(svcName, magistrala.Version, logger, cancel) go chc.CallHome(ctx) } @@ -144,7 +144,7 @@ func main() { } } -func newService(tc mainflux.AuthzServiceClient, nps messaging.PubSub, logger mflog.Logger, tracer trace.Tracer) ws.Service { +func newService(tc magistrala.AuthzServiceClient, nps messaging.PubSub, logger mglog.Logger, tracer trace.Tracer) ws.Service { svc := ws.New(tc, nps) svc = tracing.New(tracer, svc) svc = api.LoggingMiddleware(svc, logger) @@ -153,7 +153,7 @@ func newService(tc mainflux.AuthzServiceClient, nps messaging.PubSub, logger mfl return svc } -func proxyWS(ctx context.Context, cfg server.Config, logger mflog.Logger, handler session.Handler) error { +func proxyWS(ctx context.Context, cfg server.Config, logger mglog.Logger, handler session.Handler) error { target := fmt.Sprintf("ws://%s:%s", targetWSHost, targetWSPort) address := fmt.Sprintf("%s:%s", cfg.Host, cfg.Port) wp, err := websockets.NewProxy(address, target, logger, handler) diff --git a/coap/README.md b/coap/README.md index e3ec6794c..10a2e87e3 100644 --- a/coap/README.md +++ b/coap/README.md @@ -26,7 +26,7 @@ default values. | MG_THINGS_AUTH_GRPC_CA_CERTS | Path to trusted CAs in PEM format | | | MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_COAP_ADAPTER_INSTANCE_ID | CoAP adapter instance ID | | ## Deployment @@ -41,7 +41,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the http make coap @@ -65,9 +65,9 @@ MG_THINGS_AUTH_GRPC_CLIENT_TLS=[Flag that indicates if TLS should be turned on] MG_THINGS_AUTH_GRPC_CA_CERTS=[Path to trusted CAs in PEM format] \ MG_MESSAGE_BROKER_URL=[Message broker instance URL] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_COAP_ADAPTER_INSTANCE_ID=[CoAP adapter instance ID] \ -$GOBIN/mainflux-coap +$GOBIN/magistrala-coap ``` ## Usage diff --git a/coap/adapter.go b/coap/adapter.go index 095807f1c..6be5e08b6 100644 --- a/coap/adapter.go +++ b/coap/adapter.go @@ -11,7 +11,7 @@ import ( "fmt" "sync" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/messaging" ) @@ -39,13 +39,13 @@ var _ Service = (*adapterService)(nil) // Observers is a map of maps,. type adapterService struct { - auth mainflux.AuthzServiceClient + auth magistrala.AuthzServiceClient pubsub messaging.PubSub obsLock sync.Mutex } // New instantiates the CoAP adapter implementation. -func New(auth mainflux.AuthzServiceClient, pubsub messaging.PubSub) Service { +func New(auth magistrala.AuthzServiceClient, pubsub messaging.PubSub) Service { as := &adapterService{ auth: auth, pubsub: pubsub, @@ -56,7 +56,7 @@ func New(auth mainflux.AuthzServiceClient, pubsub messaging.PubSub) Service { } func (svc *adapterService) Publish(ctx context.Context, key string, msg *messaging.Message) error { - ar := &mainflux.AuthorizeReq{ + ar := &magistrala.AuthorizeReq{ Namespace: "", SubjectType: "thing", Permission: "publish", @@ -77,7 +77,7 @@ func (svc *adapterService) Publish(ctx context.Context, key string, msg *messagi } func (svc *adapterService) Subscribe(ctx context.Context, key, chanID, subtopic string, c Client) error { - ar := &mainflux.AuthorizeReq{ + ar := &magistrala.AuthorizeReq{ Namespace: "", SubjectType: "thing", Permission: "subscribe", @@ -105,7 +105,7 @@ func (svc *adapterService) Subscribe(ctx context.Context, key, chanID, subtopic } func (svc *adapterService) Unsubscribe(ctx context.Context, key, chanID, subtopic, token string) error { - ar := &mainflux.AuthorizeReq{ + ar := &magistrala.AuthorizeReq{ Namespace: "", SubjectType: "thing", Permission: "subscribe", diff --git a/coap/api/logging.go b/coap/api/logging.go index 2546546cc..9769a3b45 100644 --- a/coap/api/logging.go +++ b/coap/api/logging.go @@ -11,19 +11,19 @@ import ( "time" "github.com/absmach/magistrala/coap" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" ) var _ coap.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc coap.Service } // LoggingMiddleware adds logging facilities to the adapter. -func LoggingMiddleware(svc coap.Service, logger mflog.Logger) coap.Service { +func LoggingMiddleware(svc coap.Service, logger mglog.Logger) coap.Service { return &loggingMiddleware{logger, svc} } diff --git a/coap/api/transport.go b/coap/api/transport.go index 4226c727b..02d8ab784 100644 --- a/coap/api/transport.go +++ b/coap/api/transport.go @@ -13,9 +13,9 @@ import ( "strings" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/coap" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/messaging" "github.com/go-zoo/bone" @@ -44,21 +44,21 @@ var ( ) var ( - logger mflog.Logger + logger mglog.Logger service coap.Service ) // MakeHandler returns a HTTP handler for API endpoints. func MakeHandler(instanceID string) http.Handler { b := bone.New() - b.GetFunc("/health", mainflux.Health(protocol, instanceID)) + b.GetFunc("/health", magistrala.Health(protocol, instanceID)) b.Handle("/metrics", promhttp.Handler()) return b } // MakeCoAPHandler creates handler for CoAP messages. -func MakeCoAPHandler(svc coap.Service, l mflog.Logger) mux.HandlerFunc { +func MakeCoAPHandler(svc coap.Service, l mglog.Logger) mux.HandlerFunc { logger = l service = svc diff --git a/consumers/notifiers/api/logging.go b/consumers/notifiers/api/logging.go index 87c093684..b31a1113a 100644 --- a/consumers/notifiers/api/logging.go +++ b/consumers/notifiers/api/logging.go @@ -11,18 +11,18 @@ import ( "time" "github.com/absmach/magistrala/consumers/notifiers" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" ) var _ notifiers.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc notifiers.Service } // LoggingMiddleware adds logging facilities to the core service. -func LoggingMiddleware(svc notifiers.Service, logger mflog.Logger) notifiers.Service { +func LoggingMiddleware(svc notifiers.Service, logger mglog.Logger) notifiers.Service { return &loggingMiddleware{logger, svc} } diff --git a/consumers/notifiers/api/responses.go b/consumers/notifiers/api/responses.go index a39545c5c..116f032ba 100644 --- a/consumers/notifiers/api/responses.go +++ b/consumers/notifiers/api/responses.go @@ -7,14 +7,14 @@ import ( "fmt" "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" ) var ( - _ mainflux.Response = (*createSubRes)(nil) - _ mainflux.Response = (*viewSubRes)(nil) - _ mainflux.Response = (*listSubsRes)(nil) - _ mainflux.Response = (*removeSubRes)(nil) + _ magistrala.Response = (*createSubRes)(nil) + _ magistrala.Response = (*viewSubRes)(nil) + _ magistrala.Response = (*listSubsRes)(nil) + _ magistrala.Response = (*removeSubRes)(nil) ) type createSubRes struct { diff --git a/consumers/notifiers/api/transport.go b/consumers/notifiers/api/transport.go index 474a6ce72..e0bf88b14 100644 --- a/consumers/notifiers/api/transport.go +++ b/consumers/notifiers/api/transport.go @@ -9,7 +9,7 @@ import ( "net/http" "strings" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/consumers/notifiers" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/logger" @@ -66,7 +66,7 @@ func MakeHandler(svc notifiers.Service, logger logger.Logger, instanceID string) opts..., ), "delete")) - mux.GetFunc("/health", mainflux.Health("notifier", instanceID)) + mux.GetFunc("/health", magistrala.Health("notifier", instanceID)) mux.Handle("/metrics", promhttp.Handler()) return mux @@ -122,7 +122,7 @@ func decodeList(_ context.Context, r *http.Request) (interface{}, error) { } func encodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/consumers/notifiers/smpp/README.md b/consumers/notifiers/smpp/README.md index 722a7cb40..04ef5c6d5 100644 --- a/consumers/notifiers/smpp/README.md +++ b/consumers/notifiers/smpp/README.md @@ -19,8 +19,8 @@ default values. | MG_SMPP_NOTIFIER_HTTP_SERVER_KEY | Service HTTP server key | "" | | MG_SMPP_NOTIFIER_DB_HOST | Database host address | localhost | | MG_SMPP_NOTIFIER_DB_PORT | Database host port | 5432 | -| MG_SMPP_NOTIFIER_DB_USER | Database user | mainflux | -| MG_SMPP_NOTIFIER_DB_PASS | Database password | mainflux | +| MG_SMPP_NOTIFIER_DB_USER | Database user | magistrala | +| MG_SMPP_NOTIFIER_DB_PASS | Database password | magistrala | | MG_SMPP_NOTIFIER_DB_NAME | Name of the database used by the service | subscriptions | | MG_SMPP_NOTIFIER_DB_SSL_MODE | DB connection SSL mode (disable, require, verify-ca, verify-full) | disable | | MG_SMPP_NOTIFIER_DB_SSL_CERT | Path to the PEM encoded certificate file | "" | @@ -40,7 +40,7 @@ default values. | MG_AUTH_GRPC_CA_CERT | Path to Auth client CA certs in pem format | "" | | MG_MESSAGE_BROKER_URL | Message broker URL | nats://127.0.0.1:4222 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_SMPP_NOTIFIER_INSTANCE_ID | SMPP Notifier instance ID | "" | ## Usage diff --git a/consumers/notifiers/smtp/README.md b/consumers/notifiers/smtp/README.md index 819d74dd0..3393270db 100644 --- a/consumers/notifiers/smtp/README.md +++ b/consumers/notifiers/smtp/README.md @@ -19,8 +19,8 @@ default values. | MG_SMTP_NOTIFIER_HTTP_SERVER_KEY | SMTP Notifier service HTTP server key | "" | | MG_SMTP_NOTIFIER_DB_HOST | Database host address | localhost | | MG_SMTP_NOTIFIER_DB_PORT | Database host port | 5432 | -| MG_SMTP_NOTIFIER_DB_USER | Database user | mainflux | -| MG_SMTP_NOTIFIER_DB_PASS | Database password | mainflux | +| MG_SMTP_NOTIFIER_DB_USER | Database user | magistrala | +| MG_SMTP_NOTIFIER_DB_PASS | Database password | magistrala | | MG_SMTP_NOTIFIER_DB_NAME | Name of the database used by the service | subscriptions | | MG_SMTP_NOTIFIER_DB_SSL_MODE | Database connection SSL mode (disable, require, verify-ca, verify-full) | disable | | MG_SMTP_NOTIFIER_DB_SSL_CERT | Path to the PEM encoded cert file | "" | @@ -41,7 +41,7 @@ default values. | MG_AUTH_GRPC_CA_CERT | Path to Users service CA cert in pem format | "" | | MG_AUTH_CLIENT_TLS | Auth client TLS flag | false | | MG_AUTH_CA_CERTS | Path to Auth client CA certs in pem format | "" | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_SMTP_NOTIFIER_INSTANCE_ID | SMTP Notifier instance ID | "" | ## Usage diff --git a/consumers/tracing/consumers.go b/consumers/tracing/consumers.go index 0923f1f9e..4615f2b47 100644 --- a/consumers/tracing/consumers.go +++ b/consumers/tracing/consumers.go @@ -9,7 +9,7 @@ import ( "github.com/absmach/magistrala/consumers" "github.com/absmach/magistrala/internal/server" - mfjson "github.com/absmach/magistrala/pkg/transformers/json" + mgjson "github.com/absmach/magistrala/pkg/transformers/json" "github.com/absmach/magistrala/pkg/transformers/senml" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/trace" @@ -69,7 +69,7 @@ func NewBlocking(tracer trace.Tracer, consumerBlock consumers.BlockingConsumer, func (tm *tracingMiddlewareBlock) ConsumeBlocking(ctx context.Context, messages interface{}) error { var span trace.Span switch m := messages.(type) { - case mfjson.Messages: + case mgjson.Messages: if len(m.Data) > 0 { firstMsg := m.Data[0] ctx, span = createSpan(ctx, consumeBlockingOP, firstMsg.Publisher, firstMsg.Channel, firstMsg.Subtopic, len(m.Data), tm.host, trace.SpanKindConsumer, tm.tracer) @@ -89,7 +89,7 @@ func (tm *tracingMiddlewareBlock) ConsumeBlocking(ctx context.Context, messages func (tm *tracingMiddlewareAsync) ConsumeAsync(ctx context.Context, messages interface{}) { var span trace.Span switch m := messages.(type) { - case mfjson.Messages: + case mgjson.Messages: if len(m.Data) > 0 { firstMsg := m.Data[0] ctx, span = createSpan(ctx, consumeAsyncOP, firstMsg.Publisher, firstMsg.Channel, firstMsg.Subtopic, len(m.Data), tm.host, trace.SpanKindConsumer, tm.tracer) diff --git a/consumers/writers/api/logging.go b/consumers/writers/api/logging.go index e8d96bc7d..8ad5ca1a0 100644 --- a/consumers/writers/api/logging.go +++ b/consumers/writers/api/logging.go @@ -11,18 +11,18 @@ import ( "time" "github.com/absmach/magistrala/consumers" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" ) var _ consumers.BlockingConsumer = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger consumer consumers.BlockingConsumer } // LoggingMiddleware adds logging facilities to the adapter. -func LoggingMiddleware(consumer consumers.BlockingConsumer, logger mflog.Logger) consumers.BlockingConsumer { +func LoggingMiddleware(consumer consumers.BlockingConsumer, logger mglog.Logger) consumers.BlockingConsumer { return &loggingMiddleware{ logger: logger, consumer: consumer, diff --git a/consumers/writers/api/transport.go b/consumers/writers/api/transport.go index 58d69ef69..398811531 100644 --- a/consumers/writers/api/transport.go +++ b/consumers/writers/api/transport.go @@ -6,7 +6,7 @@ package api import ( "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/go-zoo/bone" "github.com/prometheus/client_golang/prometheus/promhttp" ) @@ -14,7 +14,7 @@ import ( // MakeHandler returns a HTTP API handler with health check and metrics. func MakeHandler(svcName, instanceID string) http.Handler { r := bone.New() - r.GetFunc("/health", mainflux.Health(svcName, instanceID)) + r.GetFunc("/health", magistrala.Health(svcName, instanceID)) r.Handle("/metrics", promhttp.Handler()) return r diff --git a/consumers/writers/cassandra/README.md b/consumers/writers/cassandra/README.md index 33de58698..4ee5ce381 100644 --- a/consumers/writers/cassandra/README.md +++ b/consumers/writers/cassandra/README.md @@ -17,13 +17,13 @@ default values. | MG_CASSANDRA_WRITER_HTTP_SERVER_CERT | Cassandra service HTTP server certificate path | | | MG_CASSANDRA_WRITER_HTTP_SERVER_KEY | Cassandra service HTTP server key path | | | MG_CASSANDRA_CLUSTER | Cassandra cluster comma separated addresses | 127.0.0.1 | -| MG_CASSANDRA_KEYSPACE | Cassandra keyspace name | mainflux | -| MG_CASSANDRA_USER | Cassandra DB username | mainflux | -| MG_CASSANDRA_PASS | Cassandra DB password | mainflux | +| MG_CASSANDRA_KEYSPACE | Cassandra keyspace name | magistrala | +| MG_CASSANDRA_USER | Cassandra DB username | magistrala | +| MG_CASSANDRA_PASS | Cassandra DB password | magistrala | | MG_CASSANDRA_PORT | Cassandra DB port | 9042 | | MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_CASSANDRA_WRITER_INSANCE_ID | Cassandra writer instance ID | | ## Deployment @@ -36,7 +36,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the cassandra writer make cassandra-writer @@ -58,9 +58,9 @@ MG_CASSANDRA_PASS=[Cassandra DB password] \ MG_CASSANDRA_PORT=[Cassandra DB port] \ MG_MESSAGE_BROKER_URL=[Message Broker instance URL] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_CASSANDRA_WRITER_INSANCE_ID=[Cassandra writer instance ID] \ -$GOBIN/mainflux-cassandra-writer +$GOBIN/magistrala-cassandra-writer ``` ### Using docker-compose diff --git a/consumers/writers/cassandra/consumer.go b/consumers/writers/cassandra/consumer.go index c710101f1..ce30d7749 100644 --- a/consumers/writers/cassandra/consumer.go +++ b/consumers/writers/cassandra/consumer.go @@ -10,7 +10,7 @@ import ( "github.com/absmach/magistrala/consumers" "github.com/absmach/magistrala/pkg/errors" - mfjson "github.com/absmach/magistrala/pkg/transformers/json" + mgjson "github.com/absmach/magistrala/pkg/transformers/json" "github.com/absmach/magistrala/pkg/transformers/senml" "github.com/gocql/gocql" ) @@ -32,7 +32,7 @@ func New(session *gocql.Session) consumers.BlockingConsumer { func (cr *cassandraRepository) ConsumeBlocking(_ context.Context, message interface{}) error { switch m := message.(type) { - case mfjson.Messages: + case mgjson.Messages: return cr.saveJSON(m) default: return cr.saveSenml(m) @@ -62,7 +62,7 @@ func (cr *cassandraRepository) saveSenml(messages interface{}) error { return nil } -func (cr *cassandraRepository) saveJSON(msgs mfjson.Messages) error { +func (cr *cassandraRepository) saveJSON(msgs mgjson.Messages) error { if err := cr.insertJSON(msgs); err != nil { if err == errNoTable { if err := cr.createTable(msgs.Format); err != nil { @@ -75,7 +75,7 @@ func (cr *cassandraRepository) saveJSON(msgs mfjson.Messages) error { return nil } -func (cr *cassandraRepository) insertJSON(msgs mfjson.Messages) error { +func (cr *cassandraRepository) insertJSON(msgs mgjson.Messages) error { cql := `INSERT INTO %s (id, channel, created, subtopic, publisher, protocol, payload) VALUES (?, ?, ?, ?, ?, ?, ?)` cql = fmt.Sprintf(cql, msgs.Format) for _, msg := range msgs.Data { diff --git a/consumers/writers/cassandra/setup_test.go b/consumers/writers/cassandra/setup_test.go index 939f12938..7a28725dc 100644 --- a/consumers/writers/cassandra/setup_test.go +++ b/consumers/writers/cassandra/setup_test.go @@ -9,12 +9,12 @@ import ( "testing" "github.com/absmach/magistrala/internal/clients/cassandra" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/gocql/gocql" "github.com/ory/dockertest/v3" ) -var logger, _ = mflog.New(os.Stdout, mflog.Info.String()) +var logger, _ = mglog.New(os.Stdout, mglog.Info.String()) func TestMain(m *testing.M) { pool, err := dockertest.NewPool("") diff --git a/consumers/writers/influxdb/README.md b/consumers/writers/influxdb/README.md index 17cc340e0..128883fdb 100644 --- a/consumers/writers/influxdb/README.md +++ b/consumers/writers/influxdb/README.md @@ -17,21 +17,21 @@ default values. | MG_INFLUX_WRITER_HTTP_SERVER_CERT | Path to server certificate in pem format | | | MG_INFLUX_WRITER_HTTP_SERVER_KEY | Path to server key in pem format | | | MG_INFLUXDB_PROTOCOL | InfluxDB protocol | http | -| MG_INFLUXDB_HOST | InfluxDB host name | mainflux-influxdb | +| MG_INFLUXDB_HOST | InfluxDB host name | magistrala-influxdb | | MG_INFLUXDB_PORT | Default port of InfluxDB database | 8086 | -| MG_INFLUXDB_ADMIN_USER | Default user of InfluxDB database | mainflux | -| MG_INFLUXDB_ADMIN_PASSWORD | Default password of InfluxDB user | mainflux | -| MG_INFLUXDB_NAME | InfluxDB database name | mainflux | -| MG_INFLUXDB_BUCKET | InfluxDB bucket name | mainflux-bucket | -| MG_INFLUXDB_ORG | InfluxDB organization name | mainflux | -| MG_INFLUXDB_TOKEN | InfluxDB API token | mainflux-token | +| MG_INFLUXDB_ADMIN_USER | Default user of InfluxDB database | magistrala | +| MG_INFLUXDB_ADMIN_PASSWORD | Default password of InfluxDB user | magistrala | +| MG_INFLUXDB_NAME | InfluxDB database name | magistrala | +| MG_INFLUXDB_BUCKET | InfluxDB bucket name | magistrala-bucket | +| MG_INFLUXDB_ORG | InfluxDB organization name | magistrala | +| MG_INFLUXDB_TOKEN | InfluxDB API token | magistrala-token | | MG_INFLUXDB_DBURL | InfluxDB database URL | | | MG_INFLUXDB_USER_AGENT | InfluxDB user agent | | | MG_INFLUXDB_TIMEOUT | InfluxDB client connection readiness timeout | 1s | | MG_INFLUXDB_INSECURE_SKIP_VERIFY | InfluxDB client connection insecure skip verify | false | | MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_INFLUX_WRITER_INSTANCE_ID | InfluxDB writer instance ID | | ## Deployment @@ -44,7 +44,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the influxdb make influxdb @@ -74,9 +74,9 @@ MG_INFLUXDB_TIMEOUT=[InfluxDB timeout] \ MG_INFLUXDB_INSECURE_SKIP_VERIFY=[InfluxDB insecure skip verify] \ MG_MESSAGE_BROKER_URL=[Message broker instance URL] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_INFLUX_WRITER_INSTANCE_ID=[Influx writer instance ID] \ -$GOBIN/mainflux-influxdb +$GOBIN/magistrala-influxdb ``` ### Using docker-compose diff --git a/consumers/writers/influxdb/consumer_test.go b/consumers/writers/influxdb/consumer_test.go index 6d10a0860..0d32646ee 100644 --- a/consumers/writers/influxdb/consumer_test.go +++ b/consumers/writers/influxdb/consumer_test.go @@ -11,7 +11,7 @@ import ( "time" writer "github.com/absmach/magistrala/consumers/writers/influxdb" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/transformers/json" "github.com/absmach/magistrala/pkg/transformers/senml" @@ -23,7 +23,7 @@ import ( const valueFields = 5 var ( - testLog, _ = mflog.New(os.Stdout, mflog.Info.String()) + testLog, _ = mglog.New(os.Stdout, mglog.Info.String()) streamsSize = 250 rowCountSenml = fmt.Sprintf(`from(bucket: "%s") |> range(start: -1h, stop: 1h) diff --git a/consumers/writers/influxdb/fields.go b/consumers/writers/influxdb/fields.go index de89c1954..bb22a8f9e 100644 --- a/consumers/writers/influxdb/fields.go +++ b/consumers/writers/influxdb/fields.go @@ -1,3 +1,6 @@ +// Copyright (c) Magistrala +// SPDX-License-Identifier: Apache-2.0 + package influxdb import ( diff --git a/consumers/writers/influxdb/tags.go b/consumers/writers/influxdb/tags.go index 5bfacd20d..4cb4bda35 100644 --- a/consumers/writers/influxdb/tags.go +++ b/consumers/writers/influxdb/tags.go @@ -1,3 +1,6 @@ +// Copyright (c) Magistrala +// SPDX-License-Identifier: Apache-2.0 + package influxdb import ( diff --git a/consumers/writers/mongodb/README.md b/consumers/writers/mongodb/README.md index 55368e722..772c54286 100644 --- a/consumers/writers/mongodb/README.md +++ b/consumers/writers/mongodb/README.md @@ -21,7 +21,7 @@ default values. | MG_MONGO_PORT | Default MongoDB database port | 27017 | | MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_MONGO_WRITER_INSTANCE_ID | MongoDB writer instance ID | "" | ## Deployment @@ -34,7 +34,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the mongodb writer make mongodb-writer @@ -54,10 +54,10 @@ MG_MONGO_HOST=[MongoDB database host] \ MG_MONGO_PORT=[MongoDB database port] \ MG_MESSAGE_BROKER_URL=[Message broker instance URL] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_MONGO_WRITER_INSTANCE_ID=[MongoDB writer instance ID] \ -$GOBIN/mainflux-mongodb-writer +$GOBIN/magistrala-mongodb-writer ``` ## Usage diff --git a/consumers/writers/mongodb/consumer_test.go b/consumers/writers/mongodb/consumer_test.go index bddc41e08..5e76d2f2a 100644 --- a/consumers/writers/mongodb/consumer_test.go +++ b/consumers/writers/mongodb/consumer_test.go @@ -11,7 +11,7 @@ import ( "time" "github.com/absmach/magistrala/consumers/writers/mongodb" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/transformers/json" "github.com/absmach/magistrala/pkg/transformers/senml" "github.com/gofrs/uuid" @@ -25,7 +25,7 @@ import ( var ( port string addr string - testLog, _ = mflog.New(os.Stdout, mflog.Info.String()) + testLog, _ = mglog.New(os.Stdout, mglog.Info.String()) testDB = "test" collection = "messages" msgsNum = 100 diff --git a/consumers/writers/postgres/README.md b/consumers/writers/postgres/README.md index 7ef62e4fe..ef39613a5 100644 --- a/consumers/writers/postgres/README.md +++ b/consumers/writers/postgres/README.md @@ -18,8 +18,8 @@ default values. | MG_POSTGRES_WRITER_HTTP_SERVER_KEY | Service HTTP server key | "" | | MG_POSTGRES_HOST | Postgres DB host | postgres | | MG_POSTGRES_PORT | Postgres DB port | 5432 | -| MG_POSTGRES_USER | Postgres user | mainflux | -| MG_POSTGRES_PASS | Postgres password | mainflux | +| MG_POSTGRES_USER | Postgres user | magistrala | +| MG_POSTGRES_PASS | Postgres password | magistrala | | MG_POSTGRES_NAME | Postgres database name | messages | | MG_POSTGRES_SSL_MODE | Postgres SSL mode | disabled | | MG_POSTGRES_SSL_CERT | Postgres SSL certificate path | "" | @@ -27,7 +27,7 @@ default values. | MG_POSTGRES_SSL_ROOT_CERT | Postgres SSL root certificate path | "" | | MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_POSTGRES_WRITER_INSTANCE_ID | Service instance ID | "" | ## Deployment @@ -40,7 +40,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the postgres writer make postgres-writer @@ -66,10 +66,10 @@ MG_POSTGRES_SSL_KEY=[Postgres SSL key] \ MG_POSTGRES_SSL_ROOT_CERT=[Postgres SSL Root cert] \ MG_MESSAGE_BROKER_URL=[Message broker instance URL] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_POSTGRES_WRITER_INSTANCE_ID=[Service instance ID] \ -$GOBIN/mainflux-postgres-writer +$GOBIN/magistrala-postgres-writer ``` ## Usage diff --git a/consumers/writers/postgres/consumer.go b/consumers/writers/postgres/consumer.go index 75265c398..7be05ab95 100644 --- a/consumers/writers/postgres/consumer.go +++ b/consumers/writers/postgres/consumer.go @@ -10,7 +10,7 @@ import ( "github.com/absmach/magistrala/consumers" "github.com/absmach/magistrala/pkg/errors" - mfjson "github.com/absmach/magistrala/pkg/transformers/json" + mgjson "github.com/absmach/magistrala/pkg/transformers/json" "github.com/absmach/magistrala/pkg/transformers/senml" "github.com/gofrs/uuid" "github.com/jackc/pgerrcode" @@ -38,7 +38,7 @@ func New(db *sqlx.DB) consumers.BlockingConsumer { func (pr postgresRepo) ConsumeBlocking(ctx context.Context, message interface{}) (err error) { switch m := message.(type) { - case mfjson.Messages: + case mgjson.Messages: return pr.saveJSON(ctx, m) default: return pr.saveSenml(ctx, m) @@ -94,7 +94,7 @@ func (pr postgresRepo) saveSenml(ctx context.Context, messages interface{}) (err return err } -func (pr postgresRepo) saveJSON(ctx context.Context, msgs mfjson.Messages) error { +func (pr postgresRepo) saveJSON(ctx context.Context, msgs mgjson.Messages) error { if err := pr.insertJSON(ctx, msgs); err != nil { if err == errNoTable { if err := pr.createTable(msgs.Format); err != nil { @@ -107,7 +107,7 @@ func (pr postgresRepo) saveJSON(ctx context.Context, msgs mfjson.Messages) error return nil } -func (pr postgresRepo) insertJSON(ctx context.Context, msgs mfjson.Messages) error { +func (pr postgresRepo) insertJSON(ctx context.Context, msgs mgjson.Messages) error { tx, err := pr.db.BeginTxx(ctx, nil) if err != nil { return errors.Wrap(errSaveMessage, err) @@ -184,7 +184,7 @@ type jsonMessage struct { Payload []byte `db:"payload"` } -func toJSONMessage(msg mfjson.Message) (jsonMessage, error) { +func toJSONMessage(msg mgjson.Message) (jsonMessage, error) { id, err := uuid.NewV4() if err != nil { return jsonMessage{}, err diff --git a/consumers/writers/timescale/README.md b/consumers/writers/timescale/README.md index 111104dc3..d03c51cae 100644 --- a/consumers/writers/timescale/README.md +++ b/consumers/writers/timescale/README.md @@ -18,8 +18,8 @@ default values. | MG_TIMESCALE_WRITER_HTTP_SERVER_KEY | Service HTTP server key | "" | | MG_TIMESCALE_HOST | Timescale DB host | timescale | | MG_TIMESCALE_PORT | Timescale DB port | 5432 | -| MG_TIMESCALE_USER | Timescale user | mainflux | -| MG_TIMESCALE_PASS | Timescale password | mainflux | +| MG_TIMESCALE_USER | Timescale user | magistrala | +| MG_TIMESCALE_PASS | Timescale password | magistrala | | MG_TIMESCALE_NAME | Timescale database name | messages | | MG_TIMESCALE_SSL_MODE | Timescale SSL mode | disabled | | MG_TIMESCALE_SSL_CERT | Timescale SSL certificate path | "" | @@ -27,7 +27,7 @@ default values. | MG_TIMESCALE_SSL_ROOT_CERT | Timescale SSL root certificate path | "" | | MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_TIMESCALE_WRITER_INSTANCE_ID | Timescale writer instance ID | "" | ## Deployment @@ -40,7 +40,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the timescale writer make timescale-writer @@ -66,9 +66,9 @@ MG_TIMESCALE_SSL_KEY=[Timescale SSL key] \ MG_TIMESCALE_SSL_ROOT_CERT=[Timescale SSL Root cert] \ MG_MESSAGE_BROKER_URL=[Message broker instance URL] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_TIMESCALE_WRITER_INSTANCE_ID=[Timescale writer instance ID] \ -$GOBIN/mainflux-timescale-writer +$GOBIN/magistrala-timescale-writer ``` ## Usage diff --git a/consumers/writers/timescale/consumer.go b/consumers/writers/timescale/consumer.go index 0b49cef42..3c7478500 100644 --- a/consumers/writers/timescale/consumer.go +++ b/consumers/writers/timescale/consumer.go @@ -10,7 +10,7 @@ import ( "github.com/absmach/magistrala/consumers" "github.com/absmach/magistrala/pkg/errors" - mfjson "github.com/absmach/magistrala/pkg/transformers/json" + mgjson "github.com/absmach/magistrala/pkg/transformers/json" "github.com/absmach/magistrala/pkg/transformers/senml" "github.com/jackc/pgerrcode" "github.com/jackc/pgx/v5/pgconn" @@ -37,7 +37,7 @@ func New(db *sqlx.DB) consumers.BlockingConsumer { func (tr *timescaleRepo) ConsumeBlocking(ctx context.Context, message interface{}) (err error) { switch m := message.(type) { - case mfjson.Messages: + case mgjson.Messages: return tr.saveJSON(ctx, m) default: return tr.saveSenml(ctx, m) @@ -89,7 +89,7 @@ func (tr timescaleRepo) saveSenml(ctx context.Context, messages interface{}) (er return err } -func (tr timescaleRepo) saveJSON(ctx context.Context, msgs mfjson.Messages) error { +func (tr timescaleRepo) saveJSON(ctx context.Context, msgs mgjson.Messages) error { if err := tr.insertJSON(ctx, msgs); err != nil { if err == errNoTable { if err := tr.createTable(msgs.Format); err != nil { @@ -102,7 +102,7 @@ func (tr timescaleRepo) saveJSON(ctx context.Context, msgs mfjson.Messages) erro return nil } -func (tr timescaleRepo) insertJSON(ctx context.Context, msgs mfjson.Messages) error { +func (tr timescaleRepo) insertJSON(ctx context.Context, msgs mgjson.Messages) error { tx, err := tr.db.BeginTxx(ctx, nil) if err != nil { return errors.Wrap(errSaveMessage, err) @@ -175,7 +175,7 @@ type jsonMessage struct { Payload []byte `db:"payload"` } -func toJSONMessage(msg mfjson.Message) (jsonMessage, error) { +func toJSONMessage(msg mgjson.Message) (jsonMessage, error) { data := []byte("{}") if msg.Payload != nil { b, err := json.Marshal(msg.Payload) diff --git a/docker/.env b/docker/.env index 07a62ba6c..f7cd3c930 100644 --- a/docker/.env +++ b/docker/.env @@ -309,7 +309,7 @@ MG_VAULT_CA_L=Belgrade ### LoRa MG_LORA_ADAPTER_LOG_LEVEL=debug -MG_LORA_ADAPTER_MESSAGES_URL=tcp://mainflux-mqtt:1883 +MG_LORA_ADAPTER_MESSAGES_URL=tcp://magistrala-mqtt:1883 MG_LORA_ADAPTER_MESSAGES_TOPIC=application/+/device/+/event/up MG_LORA_ADAPTER_MESSAGES_USER= MG_LORA_ADAPTER_MESSAGES_PASS= diff --git a/docker/README.md b/docker/README.md index 474751c80..1f8b2c179 100644 --- a/docker/README.md +++ b/docker/README.md @@ -2,22 +2,21 @@ Configure environment variables and run Magistrala Docker Composition. -*Note**: `docker-compose` uses `.env` file to set all environment variables. Ensure that you run the command from the same location as .env file. +\*Note\*\*: `docker-compose` uses `.env` file to set all environment variables. Ensure that you run the command from the same location as .env file. ## Installation Follow the [official documentation](https://docs.docker.com/compose/install/). - ## Usage Run following commands from project root directory. -``` +```bash docker-compose -f docker/docker-compose.yml up ``` -``` +```bash docker-compose -f docker/addons//docker-compose.yml up ``` diff --git a/docker/addons/prometheus/metrics/prometheus.yml b/docker/addons/prometheus/metrics/prometheus.yml index b307b0308..cd37856f2 100644 --- a/docker/addons/prometheus/metrics/prometheus.yml +++ b/docker/addons/prometheus/metrics/prometheus.yml @@ -3,7 +3,7 @@ global: evaluation_interval: 15s scrape_configs: - - job_name: 'mainflux' + - job_name: 'magistrala' honor_timestamps: true scrape_interval: 15s scrape_timeout: 10s diff --git a/docker/addons/vault/README.md b/docker/addons/vault/README.md index a85e6d0e9..d21b3c022 100644 --- a/docker/addons/vault/README.md +++ b/docker/addons/vault/README.md @@ -6,23 +6,23 @@ When the Vault service is started, some initialization steps need to be done to ## Configuration -| Variable | Description | Default | -| --------------------- | ------------------------------------------------------- | -------------- | -| MG_VAULT_HOST | Vault service address | vault | -| MG_VAULT_PORT | Vault service port | 8200 | -| MG_VAULT_UNSEAL_KEY_1 | Vault unseal key | "" | -| MG_VAULT_UNSEAL_KEY_2 | Vault unseal key | "" | -| MG_VAULT_UNSEAL_KEY_3 | Vault unseal key | "" | -| MG_VAULT_TOKEN | Vault cli access token | "" | -| MG_VAULT_PKI_PATH | Vault secrets engine path for CA | pki | -| MG_VAULT_PKI_INT_PATH | Vault secrets engine path for intermediate CA | pki_int | -| MG_VAULT_CA_ROLE_NAME | Vault secrets engine role | mainflux | -| MG_VAULT_CA_NAME | Certificates name used by `vault-set-pki.sh` | mainflux | -| MG_VAULT_CA_CN | Common name used for CA creation by `vault-set-pki.sh` | mainflux.com | +| Variable | Description | Default | +| --------------------- | ------------------------------------------------------- | ---------------- | +| MG_VAULT_HOST | Vault service address | vault | +| MG_VAULT_PORT | Vault service port | 8200 | +| MG_VAULT_UNSEAL_KEY_1 | Vault unseal key | "" | +| MG_VAULT_UNSEAL_KEY_2 | Vault unseal key | "" | +| MG_VAULT_UNSEAL_KEY_3 | Vault unseal key | "" | +| MG_VAULT_TOKEN | Vault cli access token | "" | +| MG_VAULT_PKI_PATH | Vault secrets engine path for CA | pki | +| MG_VAULT_PKI_INT_PATH | Vault secrets engine path for intermediate CA | pki_int | +| MG_VAULT_CA_ROLE_NAME | Vault secrets engine role | magistrala | +| MG_VAULT_CA_NAME | Certificates name used by `vault-set-pki.sh` | magistrala | +| MG_VAULT_CA_CN | Common name used for CA creation by `vault-set-pki.sh` | magistrala.com | | MG_VAULT_CA_OU | Org unit used for CA creation by `vault-set-pki.sh` | Magistrala Cloud | | MG_VAULT_CA_O | Organization used for CA creation by `vault-set-pki.sh` | Magistrala Labs | -| MG_VAULT_CA_C | Country used for CA creation by `vault-set-pki.sh` | Serbia | -| MG_VAULT_CA_L | Location used for CA creation by `vault-set-pki.sh` | Belgrade | +| MG_VAULT_CA_C | Country used for CA creation by `vault-set-pki.sh` | Serbia | +| MG_VAULT_CA_L | Location used for CA creation by `vault-set-pki.sh` | Belgrade | ## Setup @@ -84,7 +84,7 @@ The CA parameters are obtained from the environment variables starting with `MG_ It can also be useful to run the Vault CLI for inspection and administration work. -This can be done directly using the Vault image in Docker: `docker run -it mainflux/vault:latest vault` +This can be done directly using the Vault image in Docker: `docker run -it magistrala/vault:latest vault` ```bash Usage: vault [args] diff --git a/docker/addons/vault/vault-init.sh b/docker/addons/vault/vault-init.sh index 4ab9cfdbc..ed42f796b 100755 --- a/docker/addons/vault/vault-init.sh +++ b/docker/addons/vault/vault-init.sh @@ -2,16 +2,16 @@ set -euo pipefail scriptdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" -export MAINFLUX_DIR=$scriptdir/../../../ +export MAGISTRALA_DIR=$scriptdir/../../../ write_env() { - sed -i "s,MG_VAULT_UNSEAL_KEY_1=.*,MG_VAULT_UNSEAL_KEY_1=$(awk -F ": " '$1 == "Unseal Key 1" {print $2}' data/secrets)," $MAINFLUX_DIR/docker/.env - sed -i "s,MG_VAULT_UNSEAL_KEY_2=.*,MG_VAULT_UNSEAL_KEY_2=$(awk -F ": " '$1 == "Unseal Key 2" {print $2}' data/secrets)," $MAINFLUX_DIR/docker/.env - sed -i "s,MG_VAULT_UNSEAL_KEY_3=.*,MG_VAULT_UNSEAL_KEY_3=$(awk -F ": " '$1 == "Unseal Key 3" {print $2}' data/secrets)," $MAINFLUX_DIR/docker/.env - sed -i "s,MG_VAULT_TOKEN=.*,MG_VAULT_TOKEN=$(awk -F ": " '$1 == "Initial Root Token" {print $2}' data/secrets)," $MAINFLUX_DIR/docker/.env + sed -i "s,MG_VAULT_UNSEAL_KEY_1=.*,MG_VAULT_UNSEAL_KEY_1=$(awk -F ": " '$1 == "Unseal Key 1" {print $2}' data/secrets)," $MAGISTRALA_DIR/docker/.env + sed -i "s,MG_VAULT_UNSEAL_KEY_2=.*,MG_VAULT_UNSEAL_KEY_2=$(awk -F ": " '$1 == "Unseal Key 2" {print $2}' data/secrets)," $MAGISTRALA_DIR/docker/.env + sed -i "s,MG_VAULT_UNSEAL_KEY_3=.*,MG_VAULT_UNSEAL_KEY_3=$(awk -F ": " '$1 == "Unseal Key 3" {print $2}' data/secrets)," $MAGISTRALA_DIR/docker/.env + sed -i "s,MG_VAULT_TOKEN=.*,MG_VAULT_TOKEN=$(awk -F ": " '$1 == "Initial Root Token" {print $2}' data/secrets)," $MAGISTRALA_DIR/docker/.env } vault() { - docker exec -it mainflux-vault vault "$@" + docker exec -it magistrala-vault vault "$@" } mkdir -p data diff --git a/docker/addons/vault/vault-set-pki.sh b/docker/addons/vault/vault-set-pki.sh index 4bc3aa619..d4454caa8 100755 --- a/docker/addons/vault/vault-set-pki.sh +++ b/docker/addons/vault/vault-set-pki.sh @@ -2,18 +2,18 @@ set -euo pipefail scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -export MAINFLUX_DIR=$scriptdir/../../../ +export MAGISTRALA_DIR=$scriptdir/../../../ cd $scriptdir readDotEnv() { set -o allexport - source $MAINFLUX_DIR/docker/.env + source $MAGISTRALA_DIR/docker/.env set +o allexport } vault() { - docker exec -it mainflux-vault vault "$@" + docker exec -it magistrala-vault vault "$@" } vaultEnablePKI() { @@ -58,7 +58,7 @@ vaultGenerateIntermediateCSR() { vaultSignIntermediateCSR() { echo "Sign intermediate CSR" - docker cp data/${MG_VAULT_CA_NAME}_int.csr mainflux-vault:/vault/${MG_VAULT_CA_NAME}_int.csr + docker cp data/${MG_VAULT_CA_NAME}_int.csr magistrala-vault:/vault/${MG_VAULT_CA_NAME}_int.csr vault write -format=json ${MG_VAULT_PKI_PATH}/root/sign-intermediate \ csr=@/vault/${MG_VAULT_CA_NAME}_int.csr \ | tee >(jq -r .data.certificate >data/${MG_VAULT_CA_NAME}_int.crt) \ @@ -67,7 +67,7 @@ vaultSignIntermediateCSR() { vaultInjectIntermediateCertificate() { echo "Inject Intermediate Certificate" - docker cp data/${MG_VAULT_CA_NAME}_int.crt mainflux-vault:/vault/${MG_VAULT_CA_NAME}_int.crt + docker cp data/${MG_VAULT_CA_NAME}_int.crt magistrala-vault:/vault/${MG_VAULT_CA_NAME}_int.crt vault write ${MG_VAULT_PKI_INT_PATH}/intermediate/set-signed certificate=@/vault/${MG_VAULT_CA_NAME}_int.crt } @@ -102,7 +102,7 @@ vaultGenerateServerCertificate() { } vaultCleanupFiles() { - docker exec mainflux-vault sh -c 'rm -rf /vault/*.{crt,csr}' + docker exec magistrala-vault sh -c 'rm -rf /vault/*.{crt,csr}' } if ! command -v jq &> /dev/null @@ -132,10 +132,10 @@ vaultCleanupFiles echo "Copying certificate files" -cp -v data/${MG_VAULT_CA_CN}.crt ${MAINFLUX_DIR}/docker/ssl/certs/magistrala-server.crt -cp -v data/${MG_VAULT_CA_CN}.key ${MAINFLUX_DIR}/docker/ssl/certs/magistrala-server.key -cp -v data/${MG_VAULT_CA_NAME}_int.key ${MAINFLUX_DIR}/docker/ssl/certs/ca.key -cp -v data/${MG_VAULT_CA_NAME}_int.crt ${MAINFLUX_DIR}/docker/ssl/certs/ca.crt -cp -v data/${MG_VAULT_CA_NAME}_int_bundle.crt ${MAINFLUX_DIR}/docker/ssl/bundle.pem +cp -v data/${MG_VAULT_CA_CN}.crt ${MAGISTRALA_DIR}/docker/ssl/certs/magistrala-server.crt +cp -v data/${MG_VAULT_CA_CN}.key ${MAGISTRALA_DIR}/docker/ssl/certs/magistrala-server.key +cp -v data/${MG_VAULT_CA_NAME}_int.key ${MAGISTRALA_DIR}/docker/ssl/certs/ca.key +cp -v data/${MG_VAULT_CA_NAME}_int.crt ${MAGISTRALA_DIR}/docker/ssl/certs/ca.crt +cp -v data/${MG_VAULT_CA_NAME}_int_bundle.crt ${MAGISTRALA_DIR}/docker/ssl/bundle.pem exit 0 diff --git a/docker/addons/vault/vault-unseal.sh b/docker/addons/vault/vault-unseal.sh index e2632b88b..ea4370a20 100755 --- a/docker/addons/vault/vault-unseal.sh +++ b/docker/addons/vault/vault-unseal.sh @@ -2,16 +2,16 @@ set -euo pipefail scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -export MAINFLUX_DIR=$scriptdir/../../../ +export MAGISTRALA_DIR=$scriptdir/../../../ readDotEnv() { set -o allexport - source $MAINFLUX_DIR/docker/.env + source $MAGISTRALA_DIR/docker/.env set +o allexport } vault() { - docker exec -it mainflux-vault vault "$@" + docker exec -it magistrala-vault vault "$@" } readDotEnv diff --git a/docker/nginx/nginx-key.conf b/docker/nginx/nginx-key.conf index eb7e8eee2..2182d89df 100644 --- a/docker/nginx/nginx-key.conf +++ b/docker/nginx/nginx-key.conf @@ -116,7 +116,7 @@ http { proxy_pass http://things:${MG_THINGS_HTTP_PORT}; } - # Proxy pass to mainflux-http-adapter + # Proxy pass to magistrala-http-adapter location /http/ { include snippets/proxy-headers.conf; @@ -126,14 +126,14 @@ http { proxy_pass http://http-adapter:${MG_HTTP_ADAPTER_PORT}/; } - # Proxy pass to mainflux-mqtt-adapter over WS + # Proxy pass to magistrala-mqtt-adapter over WS location /mqtt { include snippets/proxy-headers.conf; include snippets/ws-upgrade.conf; proxy_pass http://mqtt_ws_cluster; } - # Proxy pass to mainflux-ws-adapter + # Proxy pass to magistrala-ws-adapter location /ws/ { include snippets/proxy-headers.conf; include snippets/ws-upgrade.conf; diff --git a/docker/nginx/nginx-x509.conf b/docker/nginx/nginx-x509.conf index 5ffb8fbb7..d585adb64 100644 --- a/docker/nginx/nginx-x509.conf +++ b/docker/nginx/nginx-x509.conf @@ -94,7 +94,7 @@ http { proxy_pass http://things:${MG_THINGS_HTTP_PORT}; } - # Proxy pass to mainflux-http-adapter + # Proxy pass to magistrala-http-adapter location /http/ { include snippets/verify-ssl-client.conf; include snippets/proxy-headers.conf; @@ -106,7 +106,7 @@ http { proxy_pass http://http-adapter:${MG_HTTP_ADAPTER_PORT}/; } - # Proxy pass to mainflux-mqtt-adapter over WS + # Proxy pass to magistrala-mqtt-adapter over WS location /mqtt { include snippets/verify-ssl-client.conf; include snippets/proxy-headers.conf; @@ -114,7 +114,7 @@ http { proxy_pass http://mqtt_ws_cluster; } - # Proxy pass to mainflux-ws-adapter + # Proxy pass to magistrala-ws-adapter location /ws/ { include snippets/verify-ssl-client.conf; include snippets/proxy-headers.conf; diff --git a/docker/ssl/Makefile b/docker/ssl/Makefile index 8db2d0802..fcd0e590e 100644 --- a/docker/ssl/Makefile +++ b/docker/ssl/Makefile @@ -27,7 +27,7 @@ distinguished_name = dn prompt = no [dn] -CN = mf.svc +CN = mg.svc C = RS ST = RS L = BELGRADE diff --git a/http/README.md b/http/README.md index 9693c7896..90a1d8852 100644 --- a/http/README.md +++ b/http/README.md @@ -21,7 +21,7 @@ default values. | MG_THINGS_AUTH_GRPC_CA_CERTS | Path to trusted CAs in PEM format | | | MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_HTTP_ADAPTER_INSTANCE_ID | HTTP Adapter instance ID | | ## Deployment @@ -35,7 +35,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the http make http @@ -55,9 +55,9 @@ MG_THINGS_AUTH_GRPC_CLIENT_TLS=[Flag that indicates if TLS should be turned on] MG_THINGS_AUTH_GRPC_CA_CERTS=[Path to trusted CAs in PEM format] \ MG_MESSAGE_BROKER_URL=[Message broker instance URL] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_HTTP_ADAPTER_INSTANCE_ID=[HTTP Adapter instance ID] \ -$GOBIN/mainflux-http +$GOBIN/magistrala-http ``` Setting `MG_HTTP_ADAPTER_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Things gRPC endpoint trusting only those CAs that are provided. diff --git a/http/api/endpoint_test.go b/http/api/endpoint_test.go index 724b80182..747a39cdc 100644 --- a/http/api/endpoint_test.go +++ b/http/api/endpoint_test.go @@ -11,7 +11,7 @@ import ( "strings" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" server "github.com/absmach/magistrala/http" "github.com/absmach/magistrala/http/api" @@ -26,7 +26,7 @@ import ( const instanceID = "5de9b29a-feb9-11ed-be56-0242ac120002" -func newService(auth mainflux.AuthzServiceClient) session.Handler { +func newService(auth magistrala.AuthzServiceClient) session.Handler { pub := mocks.NewPublisher() return server.NewHandler(pub, logger.NewMock(), auth) } @@ -91,14 +91,8 @@ func TestPublish(t *testing.T) { defer ts.Close() - auth.On("Authorize", mock.Anything, &mainflux.AuthorizeReq{ - Subject: thingKey, - Object: chanID, - Namespace: "", - SubjectType: "thing", - Permission: "publish", - ObjectType: "group"}).Return(&mainflux.AuthorizeRes{Authorized: true, Id: ""}, nil) - auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: false, Id: ""}, nil) + auth.On("Authorize", mock.Anything, &magistrala.AuthorizeReq{Subject: thingKey, Object: chanID, Namespace: "", SubjectType: "thing", Permission: "publish", ObjectType: "group"}).Return(&magistrala.AuthorizeRes{Authorized: true, Id: ""}, nil) + auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: false, Id: ""}, nil) cases := map[string]struct { chanID string diff --git a/http/api/transport.go b/http/api/transport.go index e9d91f6e0..2dcf4fd91 100644 --- a/http/api/transport.go +++ b/http/api/transport.go @@ -8,7 +8,7 @@ import ( "encoding/json" "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/pkg/errors" kithttp "github.com/go-kit/kit/transport/http" @@ -48,7 +48,7 @@ func MakeHandler(instanceID string) http.Handler { opts..., ), "publish")) - r.GetFunc("/health", mainflux.Health("http", instanceID)) + r.GetFunc("/health", magistrala.Health("http", instanceID)) r.Handle("/metrics", promhttp.Handler()) return r diff --git a/http/handler.go b/http/handler.go index b076e0594..a5424ec8f 100644 --- a/http/handler.go +++ b/http/handler.go @@ -11,7 +11,7 @@ import ( "strings" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" @@ -42,7 +42,7 @@ var ( ErrFailedPublish = errors.New("failed to publish") ErrFailedParseSubtopic = errors.New("failed to parse subtopic") ErrFailedPublishConnectEvent = errors.New("failed to publish connect event") - ErrFailedPublishToMsgBroker = errors.New("failed to publish to mainflux message broker") + ErrFailedPublishToMsgBroker = errors.New("failed to publish to magistrala message broker") ) var channelRegExp = regexp.MustCompile(`^\/?channels\/([\w\-]+)\/messages(\/[^?]*)?(\?.*)?$`) @@ -50,12 +50,12 @@ var channelRegExp = regexp.MustCompile(`^\/?channels\/([\w\-]+)\/messages(\/[^?] // Event implements events.Event interface. type handler struct { publisher messaging.Publisher - auth mainflux.AuthzServiceClient + auth magistrala.AuthzServiceClient logger logger.Logger } // NewHandler creates new Handler entity. -func NewHandler(publisher messaging.Publisher, logger logger.Logger, auth mainflux.AuthzServiceClient) session.Handler { +func NewHandler(publisher messaging.Publisher, logger logger.Logger, auth magistrala.AuthzServiceClient) session.Handler { return &handler{ logger: logger, publisher: publisher, @@ -143,7 +143,7 @@ func (h *handler) Publish(ctx context.Context, topic *string, payload *[]byte) e default: tok = string(s.Password) } - ar := &mainflux.AuthorizeReq{ + ar := &magistrala.AuthorizeReq{ Subject: tok, Object: msg.Channel, Namespace: "", diff --git a/internal/api/common.go b/internal/api/common.go index e9c09e66c..04f683c45 100644 --- a/internal/api/common.go +++ b/internal/api/common.go @@ -8,10 +8,10 @@ import ( "encoding/json" "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/internal/postgres" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/gofrs/uuid" ) @@ -47,8 +47,8 @@ const ( DefLimit = 10 DefLevel = 0 DefStatus = "enabled" - DefClientStatus = mfclients.Enabled - DefGroupStatus = mfclients.Enabled + DefClientStatus = mgclients.Enabled + DefGroupStatus = mgclients.Enabled SharedVisibility = "shared" MyVisibility = "mine" AllVisibility = "all" @@ -76,7 +76,7 @@ func ValidateUUID(extID string) (err error) { // EncodeResponse encodes successful response. func EncodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/internal/clients/influxdb/influxdb.go b/internal/clients/influxdb/influxdb.go index 628b56a7d..306274e59 100644 --- a/internal/clients/influxdb/influxdb.go +++ b/internal/clients/influxdb/influxdb.go @@ -24,9 +24,9 @@ type Config struct { Username string `env:"ADMIN_USER" envDefault:"magistrala"` Password string `env:"ADMIN_PASSWORD" envDefault:"magistrala"` DBName string `env:"NAME" envDefault:"magistrala"` - Bucket string `env:"BUCKET" envDefault:"mainflux-bucket"` + Bucket string `env:"BUCKET" envDefault:"magistrala-bucket"` Org string `env:"ORG" envDefault:"magistrala"` - Token string `env:"TOKEN" envDefault:"mainflux-token"` + Token string `env:"TOKEN" envDefault:"magistrala-token"` DBUrl string `env:"DBURL" envDefault:""` UserAgent string `env:"USER_AGENT" envDefault:"InfluxDBClient"` Timeout time.Duration `env:"TIMEOUT"` // Influxdb client configuration by default has no timeout duration , this field will not have a fallback default timeout duration. Reference: https://pkg.go.dev/github.com/influxdata/influxdb@v1.10.0/client/v2#HTTPConfig diff --git a/internal/close.go b/internal/close.go index 78ae73898..828aded03 100644 --- a/internal/close.go +++ b/internal/close.go @@ -5,10 +5,10 @@ package internal import ( "github.com/absmach/magistrala/internal/clients/grpc" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" ) -func Close(log mflog.Logger, clientHandler grpc.ClientHandler) { +func Close(log mglog.Logger, clientHandler grpc.ClientHandler) { if err := clientHandler.Close(); err != nil { log.Warn(err.Error()) } diff --git a/internal/env/doc.go b/internal/env/doc.go index 58e9b5982..c5eb09084 100644 --- a/internal/env/doc.go +++ b/internal/env/doc.go @@ -2,5 +2,5 @@ // SPDX-License-Identifier: Apache-2.0 // Package env contains the domain concept definitions needed to support -// mainflux environment variable functionality. +// magistrala environment variable functionality. package env diff --git a/internal/groups/api/decode.go b/internal/groups/api/decode.go index 39ae82b19..159688ebe 100644 --- a/internal/groups/api/decode.go +++ b/internal/groups/api/decode.go @@ -11,9 +11,9 @@ import ( "github.com/absmach/magistrala/internal/api" "github.com/absmach/magistrala/internal/apiutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mggroups "github.com/absmach/magistrala/pkg/groups" "github.com/go-chi/chi/v5" ) @@ -61,7 +61,7 @@ func DecodeListGroupsRequest(_ context.Context, r *http.Request) (interface{}, e tree: tree, memberKind: memberKind, memberID: chi.URLParam(r, "memberID"), - Page: mfgroups.Page{ + Page: mggroups.Page{ Level: level, ID: parentID, Permission: permission, @@ -94,7 +94,7 @@ func DecodeListParentsRequest(_ context.Context, r *http.Request) (interface{}, req := listGroupsReq{ token: apiutil.ExtractBearerToken(r), tree: tree, - Page: mfgroups.Page{ + Page: mggroups.Page{ Level: level, ID: chi.URLParam(r, "groupID"), Permission: permission, @@ -127,7 +127,7 @@ func DecodeListChildrenRequest(_ context.Context, r *http.Request) (interface{}, req := listGroupsReq{ token: apiutil.ExtractBearerToken(r), tree: tree, - Page: mfgroups.Page{ + Page: mggroups.Page{ Level: level, ID: chi.URLParam(r, "groupID"), Permission: permission, @@ -142,7 +142,7 @@ func DecodeGroupCreate(_ context.Context, r *http.Request) (interface{}, error) if !strings.Contains(r.Header.Get("Content-Type"), api.ContentType) { return nil, errors.Wrap(apiutil.ErrValidation, apiutil.ErrUnsupportedContentType) } - var g mfgroups.Group + var g mggroups.Group if err := json.NewDecoder(r.Body).Decode(&g); err != nil { return nil, errors.Wrap(apiutil.ErrValidation, errors.Wrap(err, errors.ErrMalformedEntity)) } @@ -224,37 +224,37 @@ func DecodeListMembersRequest(_ context.Context, r *http.Request) (interface{}, return req, nil } -func decodePageMeta(r *http.Request) (mfgroups.PageMeta, error) { +func decodePageMeta(r *http.Request) (mggroups.PageMeta, error) { s, err := apiutil.ReadStringQuery(r, api.StatusKey, api.DefGroupStatus) if err != nil { - return mfgroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) + return mggroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) } - st, err := mfclients.ToStatus(s) + st, err := mgclients.ToStatus(s) if err != nil { - return mfgroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) + return mggroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) } offset, err := apiutil.ReadNumQuery[uint64](r, api.OffsetKey, api.DefOffset) if err != nil { - return mfgroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) + return mggroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) } limit, err := apiutil.ReadNumQuery[uint64](r, api.LimitKey, api.DefLimit) if err != nil { - return mfgroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) + return mggroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) } ownerID, err := apiutil.ReadStringQuery(r, api.OwnerKey, "") if err != nil { - return mfgroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) + return mggroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) } name, err := apiutil.ReadStringQuery(r, api.NameKey, "") if err != nil { - return mfgroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) + return mggroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) } meta, err := apiutil.ReadMetadataQuery(r, api.MetadataKey, nil) if err != nil { - return mfgroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) + return mggroups.PageMeta{}, errors.Wrap(apiutil.ErrValidation, err) } - ret := mfgroups.PageMeta{ + ret := mggroups.PageMeta{ Offset: offset, Limit: limit, Name: name, diff --git a/internal/groups/api/logging.go b/internal/groups/api/logging.go index ce769aa7f..3fddd96f5 100644 --- a/internal/groups/api/logging.go +++ b/internal/groups/api/logging.go @@ -8,19 +8,19 @@ import ( "fmt" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/groups" ) var _ groups.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc groups.Service } // LoggingMiddleware adds logging facilities to the groups service. -func LoggingMiddleware(svc groups.Service, logger mflog.Logger) groups.Service { +func LoggingMiddleware(svc groups.Service, logger mglog.Logger) groups.Service { return &loggingMiddleware{logger, svc} } diff --git a/internal/groups/api/requests.go b/internal/groups/api/requests.go index 776dd4ded..0488709c7 100644 --- a/internal/groups/api/requests.go +++ b/internal/groups/api/requests.go @@ -6,7 +6,7 @@ package api import ( "github.com/absmach/magistrala/internal/api" "github.com/absmach/magistrala/internal/apiutil" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mggroups "github.com/absmach/magistrala/pkg/groups" ) const ( @@ -14,7 +14,7 @@ const ( ) type createGroupReq struct { - mfgroups.Group + mggroups.Group token string } @@ -51,7 +51,7 @@ func (req updateGroupReq) validate() error { } type listGroupsReq struct { - mfgroups.Page + mggroups.Page token string memberKind string memberID string @@ -70,7 +70,7 @@ func (req listGroupsReq) validate() error { if req.memberKind == thingsKind && req.memberID == "" { return apiutil.ErrMissingID } - if req.Level < mfgroups.MinLevel || req.Level > mfgroups.MaxLevel { + if req.Level < mggroups.MinLevel || req.Level > mggroups.MaxLevel { return apiutil.ErrInvalidLevel } diff --git a/internal/groups/api/responses.go b/internal/groups/api/responses.go index 51c43b4d0..e1d61241f 100644 --- a/internal/groups/api/responses.go +++ b/internal/groups/api/responses.go @@ -7,20 +7,20 @@ import ( "fmt" "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/groups" ) var ( - _ mainflux.Response = (*viewMembershipRes)(nil) - _ mainflux.Response = (*membershipPageRes)(nil) - _ mainflux.Response = (*createGroupRes)(nil) - _ mainflux.Response = (*groupPageRes)(nil) - _ mainflux.Response = (*changeStatusRes)(nil) - _ mainflux.Response = (*viewGroupRes)(nil) - _ mainflux.Response = (*updateGroupRes)(nil) - _ mainflux.Response = (*assignRes)(nil) - _ mainflux.Response = (*unassignRes)(nil) + _ magistrala.Response = (*viewMembershipRes)(nil) + _ magistrala.Response = (*membershipPageRes)(nil) + _ magistrala.Response = (*createGroupRes)(nil) + _ magistrala.Response = (*groupPageRes)(nil) + _ magistrala.Response = (*changeStatusRes)(nil) + _ magistrala.Response = (*viewGroupRes)(nil) + _ magistrala.Response = (*updateGroupRes)(nil) + _ magistrala.Response = (*assignRes)(nil) + _ magistrala.Response = (*unassignRes)(nil) ) type viewMembershipRes struct { diff --git a/internal/groups/events/streams.go b/internal/groups/events/streams.go index 1c883d3e8..bbdb2ba63 100644 --- a/internal/groups/events/streams.go +++ b/internal/groups/events/streams.go @@ -11,7 +11,7 @@ import ( "github.com/absmach/magistrala/pkg/groups" ) -const streamID = "mainflux.users" +const streamID = "magistrala.users" var _ groups.Service = (*eventStore)(nil) diff --git a/internal/groups/mocks/groups.go b/internal/groups/mocks/groups.go index f7ab99647..ddc4456b1 100644 --- a/internal/groups/mocks/groups.go +++ b/internal/groups/mocks/groups.go @@ -6,84 +6,84 @@ package mocks import ( "context" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mggroups "github.com/absmach/magistrala/pkg/groups" "github.com/stretchr/testify/mock" ) const WrongID = "wrongID" -var _ mfgroups.Repository = (*Repository)(nil) +var _ mggroups.Repository = (*Repository)(nil) type Repository struct { mock.Mock } -func (m *Repository) ChangeStatus(ctx context.Context, group mfgroups.Group) (mfgroups.Group, error) { +func (m *Repository) ChangeStatus(ctx context.Context, group mggroups.Group) (mggroups.Group, error) { ret := m.Called(ctx, group) if group.ID == WrongID { - return mfgroups.Group{}, errors.ErrNotFound + return mggroups.Group{}, errors.ErrNotFound } - if group.Status != mfclients.EnabledStatus && group.Status != mfclients.DisabledStatus { - return mfgroups.Group{}, errors.ErrMalformedEntity + if group.Status != mgclients.EnabledStatus && group.Status != mgclients.DisabledStatus { + return mggroups.Group{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfgroups.Group), ret.Error(1) + return ret.Get(0).(mggroups.Group), ret.Error(1) } -func (m *Repository) RetrieveByIDs(ctx context.Context, gm mfgroups.Page, ids ...string) (mfgroups.Page, error) { +func (m *Repository) RetrieveByIDs(ctx context.Context, gm mggroups.Page, ids ...string) (mggroups.Page, error) { ret := m.Called(ctx, gm) - return ret.Get(0).(mfgroups.Page), ret.Error(1) + return ret.Get(0).(mggroups.Page), ret.Error(1) } -func (m *Repository) MembershipsByGroupIDs(ctx context.Context, gm mfgroups.Page) (mfgroups.Page, error) { +func (m *Repository) MembershipsByGroupIDs(ctx context.Context, gm mggroups.Page) (mggroups.Page, error) { ret := m.Called(ctx, gm) - return ret.Get(0).(mfgroups.Page), ret.Error(1) + return ret.Get(0).(mggroups.Page), ret.Error(1) } -func (m *Repository) RetrieveAll(ctx context.Context, gm mfgroups.Page) (mfgroups.Page, error) { +func (m *Repository) RetrieveAll(ctx context.Context, gm mggroups.Page) (mggroups.Page, error) { ret := m.Called(ctx, gm) - return ret.Get(0).(mfgroups.Page), ret.Error(1) + return ret.Get(0).(mggroups.Page), ret.Error(1) } -func (m *Repository) RetrieveByID(ctx context.Context, id string) (mfgroups.Group, error) { +func (m *Repository) RetrieveByID(ctx context.Context, id string) (mggroups.Group, error) { ret := m.Called(ctx, id) if id == WrongID { - return mfgroups.Group{}, errors.ErrNotFound + return mggroups.Group{}, errors.ErrNotFound } - return ret.Get(0).(mfgroups.Group), ret.Error(1) + return ret.Get(0).(mggroups.Group), ret.Error(1) } -func (m *Repository) Save(ctx context.Context, g mfgroups.Group) (mfgroups.Group, error) { +func (m *Repository) Save(ctx context.Context, g mggroups.Group) (mggroups.Group, error) { ret := m.Called(ctx, g) if g.Parent == WrongID { - return mfgroups.Group{}, errors.ErrCreateEntity + return mggroups.Group{}, errors.ErrCreateEntity } if g.Owner == WrongID { - return mfgroups.Group{}, errors.ErrCreateEntity + return mggroups.Group{}, errors.ErrCreateEntity } return g, ret.Error(1) } -func (m *Repository) Update(ctx context.Context, g mfgroups.Group) (mfgroups.Group, error) { +func (m *Repository) Update(ctx context.Context, g mggroups.Group) (mggroups.Group, error) { ret := m.Called(ctx, g) if g.ID == WrongID { - return mfgroups.Group{}, errors.ErrNotFound + return mggroups.Group{}, errors.ErrNotFound } - return ret.Get(0).(mfgroups.Group), ret.Error(1) + return ret.Get(0).(mggroups.Group), ret.Error(1) } func (m *Repository) Unassign(ctx context.Context, groupID, memberKind string, memberIDs ...string) error { diff --git a/internal/groups/postgres/groups.go b/internal/groups/postgres/groups.go index ba851b9a5..857c56223 100644 --- a/internal/groups/postgres/groups.go +++ b/internal/groups/postgres/groups.go @@ -12,13 +12,13 @@ import ( "time" "github.com/absmach/magistrala/internal/postgres" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mggroups "github.com/absmach/magistrala/pkg/groups" "github.com/jmoiron/sqlx" ) -var _ mfgroups.Repository = (*groupRepository)(nil) +var _ mggroups.Repository = (*groupRepository)(nil) type groupRepository struct { db postgres.Database @@ -26,36 +26,36 @@ type groupRepository struct { // New instantiates a PostgreSQL implementation of group // repository. -func New(db postgres.Database) mfgroups.Repository { +func New(db postgres.Database) mggroups.Repository { return &groupRepository{ db: db, } } -func (repo groupRepository) Save(ctx context.Context, g mfgroups.Group) (mfgroups.Group, error) { +func (repo groupRepository) Save(ctx context.Context, g mggroups.Group) (mggroups.Group, error) { q := `INSERT INTO groups (name, description, id, owner_id, parent_id, metadata, created_at, status) VALUES (:name, :description, :id, :owner_id, :parent_id, :metadata, :created_at, :status) RETURNING id, name, description, owner_id, COALESCE(parent_id, '') AS parent_id, metadata, created_at, status;` dbg, err := toDBGroup(g) if err != nil { - return mfgroups.Group{}, err + return mggroups.Group{}, err } row, err := repo.db.NamedQueryContext(ctx, q, dbg) if err != nil { - return mfgroups.Group{}, postgres.HandleError(err, errors.ErrCreateEntity) + return mggroups.Group{}, postgres.HandleError(err, errors.ErrCreateEntity) } defer row.Close() row.Next() dbg = dbGroup{} if err := row.StructScan(&dbg); err != nil { - return mfgroups.Group{}, err + return mggroups.Group{}, err } return toGroup(dbg) } -func (repo groupRepository) Update(ctx context.Context, g mfgroups.Group) (mfgroups.Group, error) { +func (repo groupRepository) Update(ctx context.Context, g mggroups.Group) (mggroups.Group, error) { var query []string var upq string if g.Name != "" { @@ -70,58 +70,58 @@ func (repo groupRepository) Update(ctx context.Context, g mfgroups.Group) (mfgro if len(query) > 0 { upq = strings.Join(query, " ") } - g.Status = mfclients.EnabledStatus + g.Status = mgclients.EnabledStatus q := fmt.Sprintf(`UPDATE groups SET %s updated_at = :updated_at, updated_by = :updated_by WHERE id = :id AND status = :status RETURNING id, name, description, owner_id, COALESCE(parent_id, '') AS parent_id, metadata, created_at, updated_at, updated_by, status`, upq) dbu, err := toDBGroup(g) if err != nil { - return mfgroups.Group{}, errors.Wrap(errors.ErrUpdateEntity, err) + return mggroups.Group{}, errors.Wrap(errors.ErrUpdateEntity, err) } row, err := repo.db.NamedQueryContext(ctx, q, dbu) if err != nil { - return mfgroups.Group{}, postgres.HandleError(err, errors.ErrUpdateEntity) + return mggroups.Group{}, postgres.HandleError(err, errors.ErrUpdateEntity) } defer row.Close() if ok := row.Next(); !ok { - return mfgroups.Group{}, errors.Wrap(errors.ErrNotFound, row.Err()) + return mggroups.Group{}, errors.Wrap(errors.ErrNotFound, row.Err()) } dbu = dbGroup{} if err := row.StructScan(&dbu); err != nil { - return mfgroups.Group{}, errors.Wrap(err, errors.ErrUpdateEntity) + return mggroups.Group{}, errors.Wrap(err, errors.ErrUpdateEntity) } return toGroup(dbu) } -func (repo groupRepository) ChangeStatus(ctx context.Context, group mfgroups.Group) (mfgroups.Group, error) { +func (repo groupRepository) ChangeStatus(ctx context.Context, group mggroups.Group) (mggroups.Group, error) { qc := `UPDATE groups SET status = :status WHERE id = :id RETURNING id, name, description, owner_id, COALESCE(parent_id, '') AS parent_id, metadata, created_at, updated_at, updated_by, status` dbg, err := toDBGroup(group) if err != nil { - return mfgroups.Group{}, errors.Wrap(errors.ErrUpdateEntity, err) + return mggroups.Group{}, errors.Wrap(errors.ErrUpdateEntity, err) } row, err := repo.db.NamedQueryContext(ctx, qc, dbg) if err != nil { - return mfgroups.Group{}, postgres.HandleError(err, errors.ErrUpdateEntity) + return mggroups.Group{}, postgres.HandleError(err, errors.ErrUpdateEntity) } defer row.Close() if ok := row.Next(); !ok { - return mfgroups.Group{}, errors.Wrap(errors.ErrNotFound, row.Err()) + return mggroups.Group{}, errors.Wrap(errors.ErrNotFound, row.Err()) } dbg = dbGroup{} if err := row.StructScan(&dbg); err != nil { - return mfgroups.Group{}, errors.Wrap(err, errors.ErrUpdateEntity) + return mggroups.Group{}, errors.Wrap(err, errors.ErrUpdateEntity) } return toGroup(dbg) } -func (repo groupRepository) RetrieveByID(ctx context.Context, id string) (mfgroups.Group, error) { +func (repo groupRepository) RetrieveByID(ctx context.Context, id string) (mggroups.Group, error) { q := `SELECT id, name, owner_id, COALESCE(parent_id, '') AS parent_id, description, metadata, created_at, updated_at, updated_by, status FROM groups WHERE id = :id` @@ -132,26 +132,26 @@ func (repo groupRepository) RetrieveByID(ctx context.Context, id string) (mfgrou row, err := repo.db.NamedQueryContext(ctx, q, dbg) if err != nil { if err == sql.ErrNoRows { - return mfgroups.Group{}, errors.Wrap(errors.ErrNotFound, err) + return mggroups.Group{}, errors.Wrap(errors.ErrNotFound, err) } - return mfgroups.Group{}, errors.Wrap(errors.ErrViewEntity, err) + return mggroups.Group{}, errors.Wrap(errors.ErrViewEntity, err) } defer row.Close() row.Next() dbg = dbGroup{} if err := row.StructScan(&dbg); err != nil { - return mfgroups.Group{}, errors.Wrap(errors.ErrNotFound, err) + return mggroups.Group{}, errors.Wrap(errors.ErrNotFound, err) } return toGroup(dbg) } -func (repo groupRepository) RetrieveAll(ctx context.Context, gm mfgroups.Page) (mfgroups.Page, error) { +func (repo groupRepository) RetrieveAll(ctx context.Context, gm mggroups.Page) (mggroups.Page, error) { var q string query, err := buildQuery(gm) if err != nil { - return mfgroups.Page{}, err + return mggroups.Page{}, err } if gm.ID != "" { @@ -165,17 +165,17 @@ func (repo groupRepository) RetrieveAll(ctx context.Context, gm mfgroups.Page) ( dbPage, err := toDBGroupPage(gm) if err != nil { - return mfgroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) + return mggroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) } rows, err := repo.db.NamedQueryContext(ctx, q, dbPage) if err != nil { - return mfgroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) + return mggroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) } defer rows.Close() items, err := repo.processRows(rows) if err != nil { - return mfgroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) + return mggroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) } cq := "SELECT COUNT(*) FROM groups g" @@ -185,7 +185,7 @@ func (repo groupRepository) RetrieveAll(ctx context.Context, gm mfgroups.Page) ( total, err := postgres.Total(ctx, repo.db, cq, dbPage) if err != nil { - return mfgroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) + return mggroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) } page := gm @@ -195,14 +195,14 @@ func (repo groupRepository) RetrieveAll(ctx context.Context, gm mfgroups.Page) ( return page, nil } -func (repo groupRepository) RetrieveByIDs(ctx context.Context, gm mfgroups.Page, ids ...string) (mfgroups.Page, error) { +func (repo groupRepository) RetrieveByIDs(ctx context.Context, gm mggroups.Page, ids ...string) (mggroups.Page, error) { var q string if len(ids) <= 0 { - return mfgroups.Page{}, errors.ErrNotFound + return mggroups.Page{}, errors.ErrNotFound } query, err := buildQuery(gm, ids...) if err != nil { - return mfgroups.Page{}, err + return mggroups.Page{}, err } if gm.ID != "" { @@ -216,18 +216,18 @@ func (repo groupRepository) RetrieveByIDs(ctx context.Context, gm mfgroups.Page, dbPage, err := toDBGroupPage(gm) if err != nil { - return mfgroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) + return mggroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) } rows, err := repo.db.NamedQueryContext(ctx, q, dbPage) if err != nil { - return mfgroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) + return mggroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) } defer rows.Close() items, err := repo.processRows(rows) if err != nil { - return mfgroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) + return mggroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) } cq := "SELECT COUNT(*) FROM groups g" @@ -237,7 +237,7 @@ func (repo groupRepository) RetrieveByIDs(ctx context.Context, gm mfgroups.Page, total, err := postgres.Total(ctx, repo.db, cq, dbPage) if err != nil { - return mfgroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) + return mggroups.Page{}, errors.Wrap(postgres.ErrFailedToRetrieveAll, err) } page := gm @@ -247,7 +247,7 @@ func (repo groupRepository) RetrieveByIDs(ctx context.Context, gm mfgroups.Page, return page, nil } -func buildHierachy(gm mfgroups.Page) string { +func buildHierachy(gm mggroups.Page) string { query := "" switch { case gm.Direction >= 0: // ancestors @@ -267,14 +267,14 @@ func buildHierachy(gm mfgroups.Page) string { return query } -func buildQuery(gm mfgroups.Page, ids ...string) (string, error) { +func buildQuery(gm mggroups.Page, ids ...string) (string, error) { queries := []string{} queries = append(queries, fmt.Sprintf(" id in ('%s') ", strings.Join(ids, "', '"))) if gm.Name != "" { queries = append(queries, "g.name = :name") } - if gm.Status != mfclients.AllStatus { + if gm.Status != mgclients.AllStatus { queries = append(queries, "g.status = :status") } if gm.OwnerID != "" { @@ -304,10 +304,10 @@ type dbGroup struct { CreatedAt time.Time `db:"created_at"` UpdatedAt sql.NullTime `db:"updated_at,omitempty"` UpdatedBy *string `db:"updated_by,omitempty"` - Status mfclients.Status `db:"status"` + Status mgclients.Status `db:"status"` } -func toDBGroup(g mfgroups.Group) (dbGroup, error) { +func toDBGroup(g mggroups.Group) (dbGroup, error) { data := []byte("{}") if len(g.Metadata) > 0 { b, err := json.Marshal(g.Metadata) @@ -343,11 +343,11 @@ func toDBGroup(g mfgroups.Group) (dbGroup, error) { }, nil } -func toGroup(g dbGroup) (mfgroups.Group, error) { - var metadata mfclients.Metadata +func toGroup(g dbGroup) (mggroups.Group, error) { + var metadata mgclients.Metadata if g.Metadata != nil { if err := json.Unmarshal(g.Metadata, &metadata); err != nil { - return mfgroups.Group{}, errors.Wrap(errors.ErrMalformedEntity, err) + return mggroups.Group{}, errors.Wrap(errors.ErrMalformedEntity, err) } } var parentID string @@ -363,7 +363,7 @@ func toGroup(g dbGroup) (mfgroups.Group, error) { updatedBy = *g.UpdatedBy } - return mfgroups.Group{ + return mggroups.Group{ ID: g.ID, Name: g.Name, Parent: parentID, @@ -379,9 +379,9 @@ func toGroup(g dbGroup) (mfgroups.Group, error) { }, nil } -func toDBGroupPage(pm mfgroups.Page) (dbGroupPage, error) { - level := mfgroups.MaxLevel - if pm.Level < mfgroups.MaxLevel { +func toDBGroupPage(pm mggroups.Page) (dbGroupPage, error) { + level := mggroups.MaxLevel + if pm.Level < mggroups.MaxLevel { level = pm.Level } data := []byte("{}") @@ -421,11 +421,11 @@ type dbGroupPage struct { Offset uint64 `db:"offset"` Subject string `db:"subject"` Action string `db:"action"` - Status mfclients.Status `db:"status"` + Status mgclients.Status `db:"status"` } -func (repo groupRepository) processRows(rows *sqlx.Rows) ([]mfgroups.Group, error) { - var items []mfgroups.Group +func (repo groupRepository) processRows(rows *sqlx.Rows) ([]mggroups.Group, error) { + var items []mggroups.Group for rows.Next() { dbg := dbGroup{} if err := rows.StructScan(&dbg); err != nil { diff --git a/internal/groups/service.go b/internal/groups/service.go index 64db22cad..508b770cd 100644 --- a/internal/groups/service.go +++ b/internal/groups/service.go @@ -10,7 +10,7 @@ import ( "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/apiutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/groups" ) @@ -70,7 +70,7 @@ func (svc service) CreateGroup(ctx context.Context, token string, g groups.Group if err != nil { return groups.Group{}, err } - if g.Status != mfclients.EnabledStatus && g.Status != mfclients.DisabledStatus { + if g.Status != mgclients.EnabledStatus && g.Status != mgclients.DisabledStatus { return groups.Group{}, apiutil.ErrInvalidStatus } if g.Owner == "" { @@ -300,7 +300,7 @@ func (svc service) UpdateGroup(ctx context.Context, token string, g groups.Group func (svc service) EnableGroup(ctx context.Context, token, id string) (groups.Group, error) { group := groups.Group{ ID: id, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, UpdatedAt: time.Now(), } group, err := svc.changeGroupStatus(ctx, token, group) @@ -313,7 +313,7 @@ func (svc service) EnableGroup(ctx context.Context, token, id string) (groups.Gr func (svc service) DisableGroup(ctx context.Context, token, id string) (groups.Group, error) { group := groups.Group{ ID: id, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, UpdatedAt: time.Now(), } group, err := svc.changeGroupStatus(ctx, token, group) @@ -465,7 +465,7 @@ func (svc service) changeGroupStatus(ctx context.Context, token string, group gr return groups.Group{}, err } if dbGroup.Status == group.Status { - return groups.Group{}, mfclients.ErrStatusAlreadyAssigned + return groups.Group{}, mgclients.ErrStatusAlreadyAssigned } group.UpdatedBy = id diff --git a/internal/testsutil/common.go b/internal/testsutil/common.go index 7293f69d0..63ab5956f 100644 --- a/internal/testsutil/common.go +++ b/internal/testsutil/common.go @@ -8,7 +8,7 @@ import ( "fmt" "testing" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/users" @@ -26,14 +26,14 @@ func GenerateUUID(t *testing.T) string { } func GenerateValidToken(t *testing.T, clientID string, svc users.Service, cRepo *cmocks.Repository, phasher users.Hasher) string { - client := mfclients.Client{ + client := mgclients.Client{ ID: clientID, Name: "validtoken", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "validtoken", Secret: "secret", }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } rClient := client rClient.Credentials.Secret, _ = phasher.Hash(client.Credentials.Secret) diff --git a/logger/logger_test.go b/logger/logger_test.go index dffcf9649..d2f3acbf2 100644 --- a/logger/logger_test.go +++ b/logger/logger_test.go @@ -11,7 +11,7 @@ import ( "os/exec" "testing" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -25,7 +25,7 @@ const ( var ( _ io.Writer = (*mockWriter)(nil) - logger mflog.Logger + logger mglog.Logger err error output logMsg ) @@ -61,32 +61,32 @@ func TestDebug(t *testing.T) { { desc: "debug log ordinary string", input: "input_string", - level: mflog.Debug.String(), - output: logMsg{mflog.Debug.String(), "input_string", ""}, + level: mglog.Debug.String(), + output: logMsg{mglog.Debug.String(), "input_string", ""}, }, { desc: "debug log empty string", input: "", - level: mflog.Debug.String(), - output: logMsg{mflog.Debug.String(), "", ""}, + level: mglog.Debug.String(), + output: logMsg{mglog.Debug.String(), "", ""}, }, { desc: "debug ordinary string lvl not allowed", input: "input_string", - level: mflog.Info.String(), + level: mglog.Info.String(), output: logMsg{"", "", ""}, }, { desc: "debug empty string lvl not allowed", input: "", - level: mflog.Info.String(), + level: mglog.Info.String(), output: logMsg{"", "", ""}, }, } for _, tc := range cases { writer := mockWriter{} - logger, err = mflog.New(&writer, tc.level) + logger, err = mglog.New(&writer, tc.level) assert.Nil(t, err, fmt.Sprintf("%s: unexpected error %s", tc.desc, err)) logger.Debug(tc.input) output, err = writer.Read() @@ -104,32 +104,32 @@ func TestInfo(t *testing.T) { { desc: "info log ordinary string", input: "input_string", - level: mflog.Info.String(), - output: logMsg{mflog.Info.String(), "input_string", ""}, + level: mglog.Info.String(), + output: logMsg{mglog.Info.String(), "input_string", ""}, }, { desc: "info log empty string", input: "", - level: mflog.Info.String(), - output: logMsg{mflog.Info.String(), "", ""}, + level: mglog.Info.String(), + output: logMsg{mglog.Info.String(), "", ""}, }, { desc: "info ordinary string lvl not allowed", input: "input_string", - level: mflog.Warn.String(), + level: mglog.Warn.String(), output: logMsg{"", "", ""}, }, { desc: "info empty string lvl not allowed", input: "", - level: mflog.Warn.String(), + level: mglog.Warn.String(), output: logMsg{"", "", ""}, }, } for _, tc := range cases { writer := mockWriter{} - logger, err = mflog.New(&writer, tc.level) + logger, err = mglog.New(&writer, tc.level) assert.Nil(t, err, fmt.Sprintf("%s: unexpected error %s", tc.desc, err)) logger.Info(tc.input) output, err = writer.Read() @@ -147,32 +147,32 @@ func TestWarn(t *testing.T) { { desc: "warn log ordinary string", input: "input_string", - level: mflog.Warn.String(), - output: logMsg{mflog.Warn.String(), "input_string", ""}, + level: mglog.Warn.String(), + output: logMsg{mglog.Warn.String(), "input_string", ""}, }, { desc: "warn log empty string", input: "", - level: mflog.Warn.String(), - output: logMsg{mflog.Warn.String(), "", ""}, + level: mglog.Warn.String(), + output: logMsg{mglog.Warn.String(), "", ""}, }, { desc: "warn ordinary string lvl not allowed", input: "input_string", - level: mflog.Error.String(), + level: mglog.Error.String(), output: logMsg{"", "", ""}, }, { desc: "warn empty string lvl not allowed", input: "", - level: mflog.Error.String(), + level: mglog.Error.String(), output: logMsg{"", "", ""}, }, } for _, tc := range cases { writer := mockWriter{} - logger, err = mflog.New(&writer, tc.level) + logger, err = mglog.New(&writer, tc.level) require.Nil(t, err, fmt.Sprintf("%s: unexpected error %s", tc.desc, err)) logger.Warn(tc.input) output, err = writer.Read() @@ -189,17 +189,17 @@ func TestError(t *testing.T) { { desc: "error log ordinary string", input: "input_string", - output: logMsg{mflog.Error.String(), "input_string", ""}, + output: logMsg{mglog.Error.String(), "input_string", ""}, }, { desc: "error log empty string", input: "", - output: logMsg{mflog.Error.String(), "", ""}, + output: logMsg{mglog.Error.String(), "", ""}, }, } writer := mockWriter{} - logger, err := mflog.New(&writer, mflog.Error.String()) + logger, err := mglog.New(&writer, mglog.Error.String()) require.Nil(t, err) for _, tc := range cases { logger.Error(tc.input) @@ -213,7 +213,7 @@ func TestFatal(t *testing.T) { // This is the actually Fatal call we test that will // be executed in the subprocess spawned by the test. if os.Getenv(testFlag) == testFlagVal { - logger, err := mflog.New(os.Stderr, mflog.Error.String()) + logger, err := mglog.New(os.Stderr, mglog.Error.String()) require.Nil(t, err) msg := os.Getenv(testMsg) logger.Fatal(msg) diff --git a/lora/README.md b/lora/README.md index dbb6906f8..d6ea25aff 100644 --- a/lora/README.md +++ b/lora/README.md @@ -28,7 +28,7 @@ default values. | MG_THINGS_ES_DB | Things service event source DB | 0 | | MG_LORA_ADAPTER_EVENT_CONSUMER | Service event consumer name | lora | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | ## Deployment @@ -41,7 +41,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the lora adapter make lora @@ -62,7 +62,7 @@ MG_THINGS_ES_URL=[Things service event source URL] \ MG_THINGS_ES_PASS=[Things service event source password] \ MG_THINGS_ES_DB=[Things service event source password] \ MG_OPCUA_ADAPTER_EVENT_CONSUMER=[LoRa adapter instance name] \ -$GOBIN/mainflux-lora +$GOBIN/magistrala-lora ``` ### Using docker-compose diff --git a/lora/api/api.go b/lora/api/api.go index 4668a835b..88a18b9d0 100644 --- a/lora/api/api.go +++ b/lora/api/api.go @@ -6,7 +6,7 @@ package api import ( "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/go-zoo/bone" "github.com/prometheus/client_golang/prometheus/promhttp" ) @@ -14,7 +14,7 @@ import ( // MakeHandler returns a HTTP handler for API endpoints. func MakeHandler(instanceID string) http.Handler { r := bone.New() - r.GetFunc("/health", mainflux.Health("lora-adapter", instanceID)) + r.GetFunc("/health", magistrala.Health("lora-adapter", instanceID)) r.Handle("/metrics", promhttp.Handler()) return r diff --git a/lora/api/logging.go b/lora/api/logging.go index e75dbb5db..fccbdfca6 100644 --- a/lora/api/logging.go +++ b/lora/api/logging.go @@ -122,7 +122,7 @@ func (lm loggingMiddleware) ConnectThing(ctx context.Context, chanID, thingID st func (lm loggingMiddleware) DisconnectThing(ctx context.Context, chanID, thingID string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("disconnect_thing mfx-%s : mfx-%s, took %s to complete", chanID, thingID, time.Since(begin)) + message := fmt.Sprintf("disconnect_thing mgx-%s : mgx-%s, took %s to complete", chanID, thingID, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return diff --git a/lora/events/routemap.go b/lora/events/routemap.go index c2f92ee76..077afd4d4 100644 --- a/lora/events/routemap.go +++ b/lora/events/routemap.go @@ -26,14 +26,14 @@ func NewRouteMapRepository(client *redis.Client, prefix string) lora.RouteMapRep } } -func (mr *routerMap) Save(ctx context.Context, mfxID, loraID string) error { - tkey := fmt.Sprintf("%s:%s", mr.prefix, mfxID) +func (mr *routerMap) Save(ctx context.Context, mgxID, loraID string) error { + tkey := fmt.Sprintf("%s:%s", mr.prefix, mgxID) if err := mr.client.Set(ctx, tkey, loraID, 0).Err(); err != nil { return err } lkey := fmt.Sprintf("%s:%s", mr.prefix, loraID) - return mr.client.Set(ctx, lkey, mfxID, 0).Err() + return mr.client.Set(ctx, lkey, mgxID, 0).Err() } func (mr *routerMap) Get(ctx context.Context, id string) (string, error) { @@ -46,8 +46,8 @@ func (mr *routerMap) Get(ctx context.Context, id string) (string, error) { return mval, nil } -func (mr *routerMap) Remove(ctx context.Context, mfxID string) error { - mkey := fmt.Sprintf("%s:%s", mr.prefix, mfxID) +func (mr *routerMap) Remove(ctx context.Context, mgxID string) error { + mkey := fmt.Sprintf("%s:%s", mr.prefix, mgxID) lval, err := mr.client.Get(ctx, mkey).Result() if err != nil { return err diff --git a/lora/mocks/routes.go b/lora/mocks/routes.go index a50e620ff..d550a42f1 100644 --- a/lora/mocks/routes.go +++ b/lora/mocks/routes.go @@ -23,12 +23,12 @@ func NewRouteMap() lora.RouteMapRepository { } } -func (trm *routeMapMock) Save(_ context.Context, mfxID, extID string) error { +func (trm *routeMapMock) Save(_ context.Context, mgxID, extID string) error { trm.mu.Lock() defer trm.mu.Unlock() - trm.routes[extID] = mfxID - trm.routes[mfxID] = extID + trm.routes[extID] = mgxID + trm.routes[mgxID] = extID return nil } @@ -48,16 +48,16 @@ func (trm *routeMapMock) Remove(_ context.Context, extID string) error { trm.mu.Lock() defer trm.mu.Unlock() - var mfxID string + var mgxID string for i, val := range trm.routes { if val == extID { - mfxID = val + mgxID = val delete(trm.routes, i) } } for i, val := range trm.routes { - if val == mfxID { + if val == mgxID { delete(trm.routes, i) return nil } diff --git a/lora/routemap.go b/lora/routemap.go index b396d5035..f3a410a18 100644 --- a/lora/routemap.go +++ b/lora/routemap.go @@ -7,10 +7,10 @@ import "context" // RouteMapRepository store route map between Lora App Server and Magistrala. type RouteMapRepository interface { - // Save stores/routes pair lora application topic & mainflux channel. + // Save stores/routes pair lora application topic & magistrala channel. Save(context.Context, string, string) error - // Channel returns mainflux channel for given lora application. + // Channel returns magistrala channel for given lora application. Get(context.Context, string) (string, error) // Removes mapping from cache. diff --git a/mqtt/README.md b/mqtt/README.md index 6953673c8..1d8c48a1f 100644 --- a/mqtt/README.md +++ b/mqtt/README.md @@ -33,7 +33,7 @@ default values. | MG_MQTT_ADAPTER_ES_DB | Event sourcing database | "0" | | MG_MESSAGE_BROKER_URL | Message broker broker URL | nats://127.0.0.1:4222 | | MG_JAEGER_URL | URL of Jaeger tracing service | "http://jaeger:14268/api/traces" | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_MQTT_ADAPTER_INSTANCE_ID | Instance ID for telemetry | "" | ## Deployment @@ -47,7 +47,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the mqtt make mqtt @@ -79,9 +79,9 @@ MG_MQTT_ADAPTER_ES_PASS=[Event sourcing pass] \ MG_MQTT_ADAPTER_ES_DB=[Event sourcing database] \ MG_MESSAGE_BROKER_URL=[Message broker instance URL] \ MG_JAEGER_URL=[Jaeger service URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_MQTT_ADAPTER_INSTANCE_ID=[Instance ID] \ -$GOBIN/mainflux-mqtt +$GOBIN/magistrala-mqtt ``` For more information about service capabilities and its usage, please check out the API documentation [API](https://github.com/absmach/magistrala/blob/master/api/mqtt.yml). diff --git a/mqtt/events/streams.go b/mqtt/events/streams.go index 29970f650..a866dd9d8 100644 --- a/mqtt/events/streams.go +++ b/mqtt/events/streams.go @@ -10,7 +10,7 @@ import ( "github.com/absmach/magistrala/pkg/events/store" ) -const streamID = "mainflux.mqtt" +const streamID = "magistrala.mqtt" type EventStore interface { Connect(ctx context.Context, clientID string) error diff --git a/mqtt/forwarder.go b/mqtt/forwarder.go index cf12560cb..b66d18e92 100644 --- a/mqtt/forwarder.go +++ b/mqtt/forwarder.go @@ -8,7 +8,7 @@ import ( "fmt" "strings" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" ) @@ -21,11 +21,11 @@ type Forwarder interface { type forwarder struct { topic string - logger mflog.Logger + logger mglog.Logger } // NewForwarder returns new Forwarder implementation. -func NewForwarder(topic string, logger mflog.Logger) Forwarder { +func NewForwarder(topic string, logger mglog.Logger) Forwarder { return forwarder{ topic: topic, logger: logger, @@ -42,7 +42,7 @@ func (f forwarder) Forward(ctx context.Context, id string, sub messaging.Subscri return sub.Subscribe(ctx, subCfg) } -func handle(ctx context.Context, pub messaging.Publisher, logger mflog.Logger) handleFunc { +func handle(ctx context.Context, pub messaging.Publisher, logger mglog.Logger) handleFunc { return func(msg *messaging.Message) error { if msg.Protocol == protocol { return nil diff --git a/mqtt/handler.go b/mqtt/handler.go index bd3a6c3c9..afd1288b0 100644 --- a/mqtt/handler.go +++ b/mqtt/handler.go @@ -11,7 +11,7 @@ import ( "strings" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/mqtt/events" "github.com/absmach/magistrala/pkg/errors" @@ -48,7 +48,7 @@ var ( ErrFailedPublishDisconnectEvent = errors.New("failed to publish disconnect event") ErrFailedParseSubtopic = errors.New("failed to parse subtopic") ErrFailedPublishConnectEvent = errors.New("failed to publish connect event") - ErrFailedPublishToMsgBroker = errors.New("failed to publish to mainflux message broker") + ErrFailedPublishToMsgBroker = errors.New("failed to publish to magistrala message broker") ) var channelRegExp = regexp.MustCompile(`^\/?channels\/([\w\-]+)\/messages(\/[^?]*)?(\?.*)?$`) @@ -56,13 +56,13 @@ var channelRegExp = regexp.MustCompile(`^\/?channels\/([\w\-]+)\/messages(\/[^?] // Event implements events.Event interface. type handler struct { publisher messaging.Publisher - auth mainflux.AuthzServiceClient + auth magistrala.AuthzServiceClient logger logger.Logger es events.EventStore } // NewHandler creates new Handler entity. -func NewHandler(publisher messaging.Publisher, es events.EventStore, logger logger.Logger, auth mainflux.AuthzServiceClient) session.Handler { +func NewHandler(publisher messaging.Publisher, es events.EventStore, logger logger.Logger, auth magistrala.AuthzServiceClient) session.Handler { return &handler{ es: es, logger: logger, @@ -222,7 +222,7 @@ func (h *handler) authAccess(ctx context.Context, password, topic, action string chanID := channelParts[1] - ar := &mainflux.AuthorizeReq{ + ar := &magistrala.AuthorizeReq{ Namespace: "", SubjectType: "thing", Permission: action, diff --git a/mqtt/handler_test.go b/mqtt/handler_test.go index c531bb134..4861b0bc0 100644 --- a/mqtt/handler_test.go +++ b/mqtt/handler_test.go @@ -10,7 +10,7 @@ import ( "log" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/internal/testsutil" "github.com/absmach/magistrala/logger" @@ -156,7 +156,7 @@ func TestAuthPublish(t *testing.T) { } for _, tc := range cases { - repocall := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) + repocall := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) ctx := context.TODO() if tc.session != nil { ctx = session.NewContext(ctx, tc.session) @@ -209,7 +209,7 @@ func TestAuthSubscribe(t *testing.T) { } for _, tc := range cases { - repocall := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) + repocall := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) ctx := context.TODO() if tc.session != nil { ctx = session.NewContext(ctx, tc.session) diff --git a/opcua/README.md b/opcua/README.md index eea5f56c9..90e9afc76 100644 --- a/opcua/README.md +++ b/opcua/README.md @@ -12,23 +12,23 @@ The service is configured using the environment variables presented in the following table. Note that any unset variables will be replaced with their default values. -| Variable | Description | Default | -| ------------------------------- | ------------------------------------------- | ------------------------------ | -| MG_OPCUA_ADAPTER_HTTP_PORT | Service HTTP port | 8180 | -| MG_OPCUA_ADAPTER_LOG_LEVEL | Service Log level | info | -| MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | -| MG_OPCUA_ADAPTER_INTERVAL_MS | OPC-UA Server Interval in milliseconds | 1000 | -| MG_OPCUA_ADAPTER_POLICY | OPC-UA Server Policy | | -| MG_OPCUA_ADAPTER_MODE | OPC-UA Server Mode | | -| MG_OPCUA_ADAPTER_CERT_FILE | OPC-UA Server Certificate file | | -| MG_OPCUA_ADAPTER_KEY_FILE | OPC-UA Server Key file | | -| MG_OPCUA_ADAPTER_ROUTE_MAP_URL | Route-map database URL | redis://localhost:6379/0 | -| MG_THINGS_ES_URL | Things service event source URL | localhost:6379 | -| MG_THINGS_ES_PASS | Things service event source password | | -| MG_THINGS_ES_DB | Things service event source DB | 0 | -| MG_OPCUA_ADAPTER_EVENT_CONSUMER | Service event consumer name | opcua | -| MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| Variable | Description | Default | +| ------------------------------- | --------------------------------------------- | -------------------------------- | +| MG_OPCUA_ADAPTER_HTTP_PORT | Service HTTP port | 8180 | +| MG_OPCUA_ADAPTER_LOG_LEVEL | Service Log level | info | +| MG_MESSAGE_BROKER_URL | Message broker instance URL | | +| MG_OPCUA_ADAPTER_INTERVAL_MS | OPC-UA Server Interval in milliseconds | 1000 | +| MG_OPCUA_ADAPTER_POLICY | OPC-UA Server Policy | | +| MG_OPCUA_ADAPTER_MODE | OPC-UA Server Mode | | +| MG_OPCUA_ADAPTER_CERT_FILE | OPC-UA Server Certificate file | | +| MG_OPCUA_ADAPTER_KEY_FILE | OPC-UA Server Key file | | +| MG_OPCUA_ADAPTER_ROUTE_MAP_URL | Route-map database URL | | +| MG_THINGS_ES_URL | Things service event source URL | | +| MG_THINGS_ES_PASS | Things service event source password | | +| MG_THINGS_ES_DB | Things service event source DB | 0 | +| MG_OPCUA_ADAPTER_EVENT_CONSUMER | Service event consumer name | opcua | +| MG_JAEGER_URL | Jaeger server URL | | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | ## Deployment @@ -41,7 +41,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the opcua-adapter make opcua @@ -63,7 +63,7 @@ MG_THINGS_ES_URL=[Things service event source URL] \ MG_THINGS_ES_PASS=[Things service event source password] \ MG_THINGS_ES_DB=[Things service event source password] \ MG_OPCUA_ADAPTER_EVENT_CONSUMER=[OPC-UA adapter instance name] \ -$GOBIN/mainflux-opcua +$GOBIN/magistrala-opcua ``` ### Using docker-compose diff --git a/opcua/api/logging.go b/opcua/api/logging.go index 7919cd75e..e666a2699 100644 --- a/opcua/api/logging.go +++ b/opcua/api/logging.go @@ -29,9 +29,9 @@ func LoggingMiddleware(svc opcua.Service, logger logger.Logger) opcua.Service { } } -func (lm loggingMiddleware) CreateThing(ctx context.Context, mfxThing, opcuaNodeID string) (err error) { +func (lm loggingMiddleware) CreateThing(ctx context.Context, mgxThing, opcuaNodeID string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("create_thing %s with NodeID %s, took %s to complete", mfxThing, opcuaNodeID, time.Since(begin)) + message := fmt.Sprintf("create_thing %s with NodeID %s, took %s to complete", mgxThing, opcuaNodeID, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return @@ -39,12 +39,12 @@ func (lm loggingMiddleware) CreateThing(ctx context.Context, mfxThing, opcuaNode lm.logger.Info(fmt.Sprintf("%s without errors.", message)) }(time.Now()) - return lm.svc.CreateThing(ctx, mfxThing, opcuaNodeID) + return lm.svc.CreateThing(ctx, mgxThing, opcuaNodeID) } -func (lm loggingMiddleware) UpdateThing(ctx context.Context, mfxThing, opcuaNodeID string) (err error) { +func (lm loggingMiddleware) UpdateThing(ctx context.Context, mgxThing, opcuaNodeID string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("update_thing %s with NodeID %s, took %s to complete", mfxThing, opcuaNodeID, time.Since(begin)) + message := fmt.Sprintf("update_thing %s with NodeID %s, took %s to complete", mgxThing, opcuaNodeID, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return @@ -52,12 +52,12 @@ func (lm loggingMiddleware) UpdateThing(ctx context.Context, mfxThing, opcuaNode lm.logger.Info(fmt.Sprintf("%s without errors.", message)) }(time.Now()) - return lm.svc.UpdateThing(ctx, mfxThing, opcuaNodeID) + return lm.svc.UpdateThing(ctx, mgxThing, opcuaNodeID) } -func (lm loggingMiddleware) RemoveThing(ctx context.Context, mfxThing string) (err error) { +func (lm loggingMiddleware) RemoveThing(ctx context.Context, mgxThing string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("remove_thing %s, took %s to complete", mfxThing, time.Since(begin)) + message := fmt.Sprintf("remove_thing %s, took %s to complete", mgxThing, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return @@ -65,12 +65,12 @@ func (lm loggingMiddleware) RemoveThing(ctx context.Context, mfxThing string) (e lm.logger.Info(fmt.Sprintf("%s without errors.", message)) }(time.Now()) - return lm.svc.RemoveThing(ctx, mfxThing) + return lm.svc.RemoveThing(ctx, mgxThing) } -func (lm loggingMiddleware) CreateChannel(ctx context.Context, mfxChan, opcuaServerURI string) (err error) { +func (lm loggingMiddleware) CreateChannel(ctx context.Context, mgxChan, opcuaServerURI string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("create_channel %s with ServerURI %s, took %s to complete", mfxChan, opcuaServerURI, time.Since(begin)) + message := fmt.Sprintf("create_channel %s with ServerURI %s, took %s to complete", mgxChan, opcuaServerURI, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return @@ -78,12 +78,12 @@ func (lm loggingMiddleware) CreateChannel(ctx context.Context, mfxChan, opcuaSer lm.logger.Info(fmt.Sprintf("%s without errors.", message)) }(time.Now()) - return lm.svc.CreateChannel(ctx, mfxChan, opcuaServerURI) + return lm.svc.CreateChannel(ctx, mgxChan, opcuaServerURI) } -func (lm loggingMiddleware) UpdateChannel(ctx context.Context, mfxChanID, opcuaServerURI string) (err error) { +func (lm loggingMiddleware) UpdateChannel(ctx context.Context, mgxChanID, opcuaServerURI string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("update_channel %s with ServerURI %s, took %s to complete", mfxChanID, opcuaServerURI, time.Since(begin)) + message := fmt.Sprintf("update_channel %s with ServerURI %s, took %s to complete", mgxChanID, opcuaServerURI, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return @@ -91,12 +91,12 @@ func (lm loggingMiddleware) UpdateChannel(ctx context.Context, mfxChanID, opcuaS lm.logger.Info(fmt.Sprintf("%s without errors.", message)) }(time.Now()) - return lm.svc.UpdateChannel(ctx, mfxChanID, opcuaServerURI) + return lm.svc.UpdateChannel(ctx, mgxChanID, opcuaServerURI) } -func (lm loggingMiddleware) RemoveChannel(ctx context.Context, mfxChanID string) (err error) { +func (lm loggingMiddleware) RemoveChannel(ctx context.Context, mgxChanID string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("remove_channel %s, took %s to complete", mfxChanID, time.Since(begin)) + message := fmt.Sprintf("remove_channel %s, took %s to complete", mgxChanID, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return @@ -104,12 +104,12 @@ func (lm loggingMiddleware) RemoveChannel(ctx context.Context, mfxChanID string) lm.logger.Info(fmt.Sprintf("%s without errors.", message)) }(time.Now()) - return lm.svc.RemoveChannel(ctx, mfxChanID) + return lm.svc.RemoveChannel(ctx, mgxChanID) } -func (lm loggingMiddleware) ConnectThing(ctx context.Context, mfxChanID, mfxThingID string) (err error) { +func (lm loggingMiddleware) ConnectThing(ctx context.Context, mgxChanID, mgxThingID string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("connect_thing for channel %s and thing %s, took %s to complete", mfxChanID, mfxThingID, time.Since(begin)) + message := fmt.Sprintf("connect_thing for channel %s and thing %s, took %s to complete", mgxChanID, mgxThingID, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return @@ -117,12 +117,12 @@ func (lm loggingMiddleware) ConnectThing(ctx context.Context, mfxChanID, mfxThin lm.logger.Info(fmt.Sprintf("%s without errors.", message)) }(time.Now()) - return lm.svc.ConnectThing(ctx, mfxChanID, mfxThingID) + return lm.svc.ConnectThing(ctx, mgxChanID, mgxThingID) } -func (lm loggingMiddleware) DisconnectThing(ctx context.Context, mfxChanID, mfxThingID string) (err error) { +func (lm loggingMiddleware) DisconnectThing(ctx context.Context, mgxChanID, mgxThingID string) (err error) { defer func(begin time.Time) { - message := fmt.Sprintf("disconnect_thing mfx-%s : mfx-%s, took %s to complete", mfxChanID, mfxThingID, time.Since(begin)) + message := fmt.Sprintf("disconnect_thing mgx-%s : mgx-%s, took %s to complete", mgxChanID, mgxThingID, time.Since(begin)) if err != nil { lm.logger.Warn(fmt.Sprintf("%s with error: %s.", message, err)) return @@ -130,7 +130,7 @@ func (lm loggingMiddleware) DisconnectThing(ctx context.Context, mfxChanID, mfxT lm.logger.Info(fmt.Sprintf("%s without errors.", message)) }(time.Now()) - return lm.svc.DisconnectThing(ctx, mfxChanID, mfxThingID) + return lm.svc.DisconnectThing(ctx, mgxChanID, mgxThingID) } func (lm loggingMiddleware) Browse(ctx context.Context, serverURI, namespace, identifier string) (nodes []opcua.BrowsedNode, err error) { diff --git a/opcua/api/metrics.go b/opcua/api/metrics.go index 066b6136c..a9a1ac9ad 100644 --- a/opcua/api/metrics.go +++ b/opcua/api/metrics.go @@ -30,76 +30,76 @@ func MetricsMiddleware(svc opcua.Service, counter metrics.Counter, latency metri } } -func (mm *metricsMiddleware) CreateThing(ctx context.Context, mfxDevID, opcuaNodeID string) error { +func (mm *metricsMiddleware) CreateThing(ctx context.Context, mgxDevID, opcuaNodeID string) error { defer func(begin time.Time) { mm.counter.With("method", "create_thing").Add(1) mm.latency.With("method", "create_thing").Observe(time.Since(begin).Seconds()) }(time.Now()) - return mm.svc.CreateThing(ctx, mfxDevID, opcuaNodeID) + return mm.svc.CreateThing(ctx, mgxDevID, opcuaNodeID) } -func (mm *metricsMiddleware) UpdateThing(ctx context.Context, mfxDevID, opcuaNodeID string) error { +func (mm *metricsMiddleware) UpdateThing(ctx context.Context, mgxDevID, opcuaNodeID string) error { defer func(begin time.Time) { mm.counter.With("method", "update_thing").Add(1) mm.latency.With("method", "update_thing").Observe(time.Since(begin).Seconds()) }(time.Now()) - return mm.svc.UpdateThing(ctx, mfxDevID, opcuaNodeID) + return mm.svc.UpdateThing(ctx, mgxDevID, opcuaNodeID) } -func (mm *metricsMiddleware) RemoveThing(ctx context.Context, mfxDevID string) error { +func (mm *metricsMiddleware) RemoveThing(ctx context.Context, mgxDevID string) error { defer func(begin time.Time) { mm.counter.With("method", "remove_thing").Add(1) mm.latency.With("method", "remove_thing").Observe(time.Since(begin).Seconds()) }(time.Now()) - return mm.svc.RemoveThing(ctx, mfxDevID) + return mm.svc.RemoveThing(ctx, mgxDevID) } -func (mm *metricsMiddleware) CreateChannel(ctx context.Context, mfxChanID, opcuaServerURI string) error { +func (mm *metricsMiddleware) CreateChannel(ctx context.Context, mgxChanID, opcuaServerURI string) error { defer func(begin time.Time) { mm.counter.With("method", "create_channel").Add(1) mm.latency.With("method", "create_channel").Observe(time.Since(begin).Seconds()) }(time.Now()) - return mm.svc.CreateChannel(ctx, mfxChanID, opcuaServerURI) + return mm.svc.CreateChannel(ctx, mgxChanID, opcuaServerURI) } -func (mm *metricsMiddleware) UpdateChannel(ctx context.Context, mfxChanID, opcuaServerURI string) error { +func (mm *metricsMiddleware) UpdateChannel(ctx context.Context, mgxChanID, opcuaServerURI string) error { defer func(begin time.Time) { mm.counter.With("method", "update_channel").Add(1) mm.latency.With("method", "update_channel").Observe(time.Since(begin).Seconds()) }(time.Now()) - return mm.svc.UpdateChannel(ctx, mfxChanID, opcuaServerURI) + return mm.svc.UpdateChannel(ctx, mgxChanID, opcuaServerURI) } -func (mm *metricsMiddleware) RemoveChannel(ctx context.Context, mfxChanID string) error { +func (mm *metricsMiddleware) RemoveChannel(ctx context.Context, mgxChanID string) error { defer func(begin time.Time) { mm.counter.With("method", "remove_channel").Add(1) mm.latency.With("method", "remove_channel").Observe(time.Since(begin).Seconds()) }(time.Now()) - return mm.svc.RemoveChannel(ctx, mfxChanID) + return mm.svc.RemoveChannel(ctx, mgxChanID) } -func (mm *metricsMiddleware) ConnectThing(ctx context.Context, mfxChanID, mfxThingID string) error { +func (mm *metricsMiddleware) ConnectThing(ctx context.Context, mgxChanID, mgxThingID string) error { defer func(begin time.Time) { mm.counter.With("method", "connect_thing").Add(1) mm.latency.With("method", "connect_thing").Observe(time.Since(begin).Seconds()) }(time.Now()) - return mm.svc.ConnectThing(ctx, mfxChanID, mfxThingID) + return mm.svc.ConnectThing(ctx, mgxChanID, mgxThingID) } -func (mm *metricsMiddleware) DisconnectThing(ctx context.Context, mfxChanID, mfxThingID string) error { +func (mm *metricsMiddleware) DisconnectThing(ctx context.Context, mgxChanID, mgxThingID string) error { defer func(begin time.Time) { mm.counter.With("method", "disconnect_thing").Add(1) mm.latency.With("method", "disconnect_thing").Observe(time.Since(begin).Seconds()) }(time.Now()) - return mm.svc.DisconnectThing(ctx, mfxChanID, mfxThingID) + return mm.svc.DisconnectThing(ctx, mgxChanID, mgxThingID) } func (mm *metricsMiddleware) Browse(ctx context.Context, serverURI, namespace, identifier string) ([]opcua.BrowsedNode, error) { diff --git a/opcua/api/responses.go b/opcua/api/responses.go index ada00614c..5f9620653 100644 --- a/opcua/api/responses.go +++ b/opcua/api/responses.go @@ -6,11 +6,11 @@ package api import ( "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/opcua" ) -var _ mainflux.Response = (*browseRes)(nil) +var _ magistrala.Response = (*browseRes)(nil) type browseRes struct { Nodes []opcua.BrowsedNode `json:"nodes"` diff --git a/opcua/api/transport.go b/opcua/api/transport.go index 51f6f2806..91f458262 100644 --- a/opcua/api/transport.go +++ b/opcua/api/transport.go @@ -8,9 +8,9 @@ import ( "encoding/json" "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/apiutil" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/opcua" "github.com/absmach/magistrala/pkg/errors" kithttp "github.com/go-kit/kit/transport/http" @@ -28,7 +28,7 @@ const ( ) // MakeHandler returns a HTTP handler for API endpoints. -func MakeHandler(svc opcua.Service, logger mflog.Logger, instanceID string) http.Handler { +func MakeHandler(svc opcua.Service, logger mglog.Logger, instanceID string) http.Handler { opts := []kithttp.ServerOption{ kithttp.ServerErrorEncoder(apiutil.LoggingErrorEncoder(logger, encodeError)), } @@ -42,7 +42,7 @@ func MakeHandler(svc opcua.Service, logger mflog.Logger, instanceID string) http opts..., )) - r.GetFunc("/health", mainflux.Health("opcua-adapter", instanceID)) + r.GetFunc("/health", magistrala.Health("opcua-adapter", instanceID)) r.Handle("/metrics", promhttp.Handler()) return r @@ -81,7 +81,7 @@ func decodeBrowse(_ context.Context, r *http.Request) (interface{}, error) { func encodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { w.Header().Set("Content-Type", contentType) - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/opcua/events/routemap.go b/opcua/events/routemap.go index e079a45bd..decfc2ac5 100644 --- a/opcua/events/routemap.go +++ b/opcua/events/routemap.go @@ -26,14 +26,14 @@ func NewRouteMapRepository(client *redis.Client, prefix string) opcua.RouteMapRe } } -func (mr *routerMap) Save(ctx context.Context, mfxID, opcuaID string) error { - tkey := fmt.Sprintf("%s:%s", mr.prefix, mfxID) +func (mr *routerMap) Save(ctx context.Context, mgxID, opcuaID string) error { + tkey := fmt.Sprintf("%s:%s", mr.prefix, mgxID) if err := mr.client.Set(ctx, tkey, opcuaID, 0).Err(); err != nil { return err } lkey := fmt.Sprintf("%s:%s", mr.prefix, opcuaID) - if err := mr.client.Set(ctx, lkey, mfxID, 0).Err(); err != nil { + if err := mr.client.Set(ctx, lkey, mgxID, 0).Err(); err != nil { return err } @@ -50,8 +50,8 @@ func (mr *routerMap) Get(ctx context.Context, opcuaID string) (string, error) { return mval, nil } -func (mr *routerMap) Remove(ctx context.Context, mfxID string) error { - mkey := fmt.Sprintf("%s:%s", mr.prefix, mfxID) +func (mr *routerMap) Remove(ctx context.Context, mgxID string) error { + mkey := fmt.Sprintf("%s:%s", mr.prefix, mgxID) lval, err := mr.client.Get(ctx, mkey).Result() if err != nil { return err diff --git a/pkg/clients/postgres/clients_test.go b/pkg/clients/postgres/clients_test.go index 71fead7cd..aeb5051a0 100644 --- a/pkg/clients/postgres/clients_test.go +++ b/pkg/clients/postgres/clients_test.go @@ -10,9 +10,9 @@ import ( gpostgres "github.com/absmach/magistrala/internal/groups/postgres" "github.com/absmach/magistrala/internal/testsutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mggroups "github.com/absmach/magistrala/pkg/groups" cpostgres "github.com/absmach/magistrala/users/postgres" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -30,14 +30,14 @@ func TestClientsRetrieveByID(t *testing.T) { t.Cleanup(func() { testsutil.CleanUpDB(t, db) }) repo := cpostgres.NewRepository(database) - client := mfclients.Client{ + client := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: clientIdentity, Secret: password, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } clients, err := repo.Save(context.Background(), client) @@ -68,14 +68,14 @@ func TestClientsRetrieveByIdentity(t *testing.T) { t.Cleanup(func() { testsutil.CleanUpDB(t, db) }) repo := cpostgres.NewRepository(database) - client := mfclients.Client{ + client := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: clientIdentity, Secret: password, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } _, err := repo.Save(context.Background(), client) @@ -103,15 +103,15 @@ func TestClientsRetrieveAll(t *testing.T) { nClients := uint64(200) ownerID := testsutil.GenerateUUID(t) - meta := mfclients.Metadata{ + meta := mgclients.Metadata{ "admin": "true", } - wrongMeta := mfclients.Metadata{ + wrongMeta := mgclients.Metadata{ "admin": "false", } - expectedClients := []mfclients.Client{} + expectedClients := []mgclients.Client{} - sharedGroup := mfgroups.Group{ + sharedGroup := mggroups.Group{ ID: testsutil.GenerateUUID(t), Name: "shared-group", } @@ -120,15 +120,15 @@ func TestClientsRetrieveAll(t *testing.T) { for i := uint64(0); i < nClients; i++ { identity := fmt.Sprintf("TestRetrieveAll%d@example.com", i) - client := mfclients.Client{ + client := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: identity, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: identity, Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, } if i%10 == 0 { client.Owner = ownerID @@ -136,7 +136,7 @@ func TestClientsRetrieveAll(t *testing.T) { client.Tags = []string{"Test"} } if i%50 == 0 { - client.Status = mfclients.DisabledStatus + client.Status = mgclients.DisabledStatus } client, err = repo.Save(context.Background(), client) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) @@ -145,68 +145,68 @@ func TestClientsRetrieveAll(t *testing.T) { cases := map[string]struct { size uint64 - pm mfclients.Page - response []mfclients.Client + pm mgclients.Page + response []mgclients.Client }{ "retrieve all clients empty page": { - pm: mfclients.Page{}, - response: []mfclients.Client{}, + pm: mgclients.Page{}, + response: []mgclients.Client{}, size: 0, }, "retrieve all clients": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, response: expectedClients, size: 200, }, "retrieve all clients with limit": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: 50, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, response: expectedClients[0:50], size: 50, }, "retrieve all clients with offset": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 50, Limit: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, response: expectedClients[50:200], size: 150, }, "retrieve all clients with limit and offset": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 50, Limit: 50, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, response: expectedClients[50:100], size: 50, }, "retrieve all clients with limit and offset not full": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 170, Limit: 50, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, response: expectedClients[170:200], size: 30, }, "retrieve all clients by metadata": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Metadata: meta, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{ + response: []mgclients.Client{ expectedClients[0], expectedClients[10], expectedClients[20], expectedClients[30], expectedClients[40], expectedClients[50], expectedClients[60], expectedClients[70], expectedClients[80], expectedClients[90], expectedClients[100], expectedClients[110], expectedClients[120], expectedClients[130], expectedClients[140], expectedClients[150], expectedClients[160], expectedClients[170], expectedClients[180], expectedClients[190], @@ -214,47 +214,47 @@ func TestClientsRetrieveAll(t *testing.T) { size: 20, }, "retrieve clients by wrong metadata": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Metadata: wrongMeta, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{}, + response: []mgclients.Client{}, size: 0, }, "retrieve all clients by name": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Name: "TestRetrieveAll3@example.com", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{expectedClients[3]}, + response: []mgclients.Client{expectedClients[3]}, size: 1, }, "retrieve clients by wrong name": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Name: wrongName, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{}, + response: []mgclients.Client{}, size: 0, }, "retrieve all clients by owner": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Owner: ownerID, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{ + response: []mgclients.Client{ expectedClients[0], expectedClients[10], expectedClients[20], expectedClients[30], expectedClients[40], expectedClients[50], expectedClients[60], expectedClients[70], expectedClients[80], expectedClients[90], expectedClients[100], expectedClients[110], expectedClients[120], expectedClients[130], expectedClients[140], expectedClients[150], expectedClients[160], expectedClients[170], expectedClients[180], expectedClients[190], @@ -262,24 +262,24 @@ func TestClientsRetrieveAll(t *testing.T) { size: 20, }, "retrieve clients by wrong owner": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Owner: wrongID, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{}, + response: []mgclients.Client{}, size: 0, }, "retrieve all clients shared by": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{ + response: []mgclients.Client{ expectedClients[0], expectedClients[10], expectedClients[20], expectedClients[30], expectedClients[40], expectedClients[50], expectedClients[60], expectedClients[70], expectedClients[80], expectedClients[90], expectedClients[100], expectedClients[110], expectedClients[120], expectedClients[130], expectedClients[140], expectedClients[150], expectedClients[160], expectedClients[170], expectedClients[180], expectedClients[190], @@ -287,14 +287,14 @@ func TestClientsRetrieveAll(t *testing.T) { size: 20, }, "retrieve all clients shared by and owned by": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Owner: ownerID, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{ + response: []mgclients.Client{ expectedClients[0], expectedClients[10], expectedClients[20], expectedClients[30], expectedClients[40], expectedClients[50], expectedClients[60], expectedClients[70], expectedClients[80], expectedClients[90], expectedClients[100], expectedClients[110], expectedClients[120], expectedClients[130], expectedClients[140], expectedClients[150], expectedClients[160], expectedClients[170], expectedClients[180], expectedClients[190], @@ -302,44 +302,44 @@ func TestClientsRetrieveAll(t *testing.T) { size: 20, }, "retrieve all clients by disabled status": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, }, - response: []mfclients.Client{expectedClients[0], expectedClients[50], expectedClients[100], expectedClients[150]}, + response: []mgclients.Client{expectedClients[0], expectedClients[50], expectedClients[100], expectedClients[150]}, size: 4, }, "retrieve all clients by combined status": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, response: expectedClients, size: 200, }, "retrieve clients by the wrong status": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Status: 10, }, - response: []mfclients.Client{}, + response: []mgclients.Client{}, size: 0, }, "retrieve all clients by tags": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Tag: "Test", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{ + response: []mgclients.Client{ expectedClients[0], expectedClients[10], expectedClients[20], expectedClients[30], expectedClients[40], expectedClients[50], expectedClients[60], expectedClients[70], expectedClients[80], expectedClients[90], expectedClients[100], expectedClients[110], expectedClients[120], expectedClients[130], expectedClients[140], expectedClients[150], expectedClients[160], expectedClients[170], expectedClients[180], expectedClients[190], @@ -347,24 +347,24 @@ func TestClientsRetrieveAll(t *testing.T) { size: 20, }, "retrieve clients by wrong tags": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, Tag: "wrongTags", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{}, + response: []mgclients.Client{}, size: 0, }, "retrieve all clients by sharedby": { - pm: mfclients.Page{ + pm: mgclients.Page{ Offset: 0, Limit: nClients, Total: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: []mfclients.Client{ + response: []mgclients.Client{ expectedClients[0], expectedClients[10], expectedClients[20], expectedClients[30], expectedClients[40], expectedClients[50], expectedClients[60], expectedClients[70], expectedClients[80], expectedClients[90], expectedClients[100], expectedClients[110], expectedClients[120], expectedClients[130], expectedClients[140], expectedClients[150], expectedClients[160], expectedClients[170], expectedClients[180], expectedClients[190], @@ -385,32 +385,32 @@ func TestClientsUpdateMetadata(t *testing.T) { t.Cleanup(func() { testsutil.CleanUpDB(t, db) }) repo := cpostgres.NewRepository(database) - client1 := mfclients.Client{ + client1 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "enabled-client", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client1-update@example.com", Secret: password, }, - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "name": "enabled-client", }, Tags: []string{"enabled", "tag1"}, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } - client2 := mfclients.Client{ + client2 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "disabled-client", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client2-update@example.com", Secret: password, }, - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "name": "disabled-client", }, Tags: []string{"disabled", "tag1"}, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, } clients1, err := repo.Save(context.Background(), client1) @@ -423,15 +423,15 @@ func TestClientsUpdateMetadata(t *testing.T) { ucases := []struct { desc string update string - client mfclients.Client + client mgclients.Client err error }{ { desc: "update metadata for enabled client", update: "metadata", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "update": "metadata", }, }, @@ -440,9 +440,9 @@ func TestClientsUpdateMetadata(t *testing.T) { { desc: "update metadata for disabled client", update: "metadata", - client: mfclients.Client{ + client: mgclients.Client{ ID: client2.ID, - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "update": "metadata", }, }, @@ -451,7 +451,7 @@ func TestClientsUpdateMetadata(t *testing.T) { { desc: "update name for enabled client", update: "name", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, Name: "updated name", }, @@ -460,7 +460,7 @@ func TestClientsUpdateMetadata(t *testing.T) { { desc: "update name for disabled client", update: "name", - client: mfclients.Client{ + client: mgclients.Client{ ID: client2.ID, Name: "updated name", }, @@ -469,10 +469,10 @@ func TestClientsUpdateMetadata(t *testing.T) { { desc: "update name and metadata for enabled client", update: "both", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, Name: "updated name and metadata", - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "update": "name and metadata", }, }, @@ -481,10 +481,10 @@ func TestClientsUpdateMetadata(t *testing.T) { { desc: "update name and metadata for a disabled client", update: "both", - client: mfclients.Client{ + client: mgclients.Client{ ID: client2.ID, Name: "updated name and metadata", - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "update": "name and metadata", }, }, @@ -493,9 +493,9 @@ func TestClientsUpdateMetadata(t *testing.T) { { desc: "update metadata for invalid client", update: "metadata", - client: mfclients.Client{ + client: mgclients.Client{ ID: wrongID, - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "update": "metadata", }, }, @@ -504,7 +504,7 @@ func TestClientsUpdateMetadata(t *testing.T) { { desc: "update name for invalid client", update: "name", - client: mfclients.Client{ + client: mgclients.Client{ ID: wrongID, Name: "updated name", }, @@ -513,10 +513,10 @@ func TestClientsUpdateMetadata(t *testing.T) { { desc: "update name and metadata for invalid client", update: "both", - client: mfclients.Client{ + client: mgclients.Client{ ID: client2.ID, Name: "updated name and metadata", - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "update": "name and metadata", }, }, @@ -541,25 +541,25 @@ func TestClientsUpdateTags(t *testing.T) { t.Cleanup(func() { testsutil.CleanUpDB(t, db) }) repo := cpostgres.NewRepository(database) - client1 := mfclients.Client{ + client1 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "enabled-client-with-tags", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client1-update-tags@example.com", Secret: password, }, Tags: []string{"test", "enabled"}, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } - client2 := mfclients.Client{ + client2 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "disabled-client-with-tags", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client2-update-tags@example.com", Secret: password, }, Tags: []string{"test", "disabled"}, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, } clients1, err := repo.Save(context.Background(), client1) @@ -576,12 +576,12 @@ func TestClientsUpdateTags(t *testing.T) { client2 = clients2 ucases := []struct { desc string - client mfclients.Client + client mgclients.Client err error }{ { desc: "update tags for enabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, Tags: []string{"updated"}, }, @@ -589,7 +589,7 @@ func TestClientsUpdateTags(t *testing.T) { }, { desc: "update tags for disabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client2.ID, Tags: []string{"updated"}, }, @@ -597,7 +597,7 @@ func TestClientsUpdateTags(t *testing.T) { }, { desc: "update tags for invalid client", - client: mfclients.Client{ + client: mgclients.Client{ ID: wrongID, Tags: []string{"updated"}, }, @@ -617,23 +617,23 @@ func TestClientsUpdateSecret(t *testing.T) { t.Cleanup(func() { testsutil.CleanUpDB(t, db) }) repo := cpostgres.NewRepository(database) - client1 := mfclients.Client{ + client1 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "enabled-client", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client1-update@example.com", Secret: password, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } - client2 := mfclients.Client{ + client2 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "disabled-client", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client2-update@example.com", Secret: password, }, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, } rClients1, err := repo.Save(context.Background(), client1) @@ -649,14 +649,14 @@ func TestClientsUpdateSecret(t *testing.T) { ucases := []struct { desc string - client mfclients.Client + client mgclients.Client err error }{ { desc: "update secret for enabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client1-update@example.com", Secret: "newpassword", }, @@ -665,9 +665,9 @@ func TestClientsUpdateSecret(t *testing.T) { }, { desc: "update secret for disabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client2.ID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client2-update@example.com", Secret: "newpassword", }, @@ -676,9 +676,9 @@ func TestClientsUpdateSecret(t *testing.T) { }, { desc: "update secret for invalid client", - client: mfclients.Client{ + client: mgclients.Client{ ID: wrongID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client3-update@example.com", Secret: "newpassword", }, @@ -701,23 +701,23 @@ func TestClientsUpdateIdentity(t *testing.T) { t.Cleanup(func() { testsutil.CleanUpDB(t, db) }) repo := cpostgres.NewRepository(database) - client1 := mfclients.Client{ + client1 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "enabled-client", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client1-update@example.com", Secret: password, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } - client2 := mfclients.Client{ + client2 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "disabled-client", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client2-update@example.com", Secret: password, }, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, } rClients1, err := repo.Save(context.Background(), client1) @@ -733,14 +733,14 @@ func TestClientsUpdateIdentity(t *testing.T) { ucases := []struct { desc string - client mfclients.Client + client mgclients.Client err error }{ { desc: "update identity for enabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client1-updated@example.com", }, }, @@ -748,9 +748,9 @@ func TestClientsUpdateIdentity(t *testing.T) { }, { desc: "update identity for disabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client2.ID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client2-updated@example.com", }, }, @@ -758,9 +758,9 @@ func TestClientsUpdateIdentity(t *testing.T) { }, { desc: "update identity for invalid client", - client: mfclients.Client{ + client: mgclients.Client{ ID: wrongID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client3-updated@example.com", }, }, @@ -780,25 +780,25 @@ func TestClientsUpdateOwner(t *testing.T) { t.Cleanup(func() { testsutil.CleanUpDB(t, db) }) repo := cpostgres.NewRepository(database) - client1 := mfclients.Client{ + client1 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "enabled-client-with-owner", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client1-update-owner@example.com", Secret: password, }, Owner: testsutil.GenerateUUID(t), - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } - client2 := mfclients.Client{ + client2 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "disabled-client-with-owner", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client2-update-owner@example.com", Secret: password, }, Owner: testsutil.GenerateUUID(t), - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, } clients1, err := repo.Save(context.Background(), client1) @@ -815,12 +815,12 @@ func TestClientsUpdateOwner(t *testing.T) { } ucases := []struct { desc string - client mfclients.Client + client mgclients.Client err error }{ { desc: "update owner for enabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, Owner: testsutil.GenerateUUID(t), }, @@ -828,7 +828,7 @@ func TestClientsUpdateOwner(t *testing.T) { }, { desc: "update owner for disabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client2.ID, Owner: testsutil.GenerateUUID(t), }, @@ -836,7 +836,7 @@ func TestClientsUpdateOwner(t *testing.T) { }, { desc: "update owner for invalid client", - client: mfclients.Client{ + client: mgclients.Client{ ID: wrongID, Owner: testsutil.GenerateUUID(t), }, @@ -856,14 +856,14 @@ func TestClientsChangeStatus(t *testing.T) { t.Cleanup(func() { testsutil.CleanUpDB(t, db) }) repo := cpostgres.NewRepository(database) - client1 := mfclients.Client{ + client1 := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "enabled-client", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "client1-update@example.com", Secret: password, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } clients1, err := repo.Save(context.Background(), client1) @@ -872,12 +872,12 @@ func TestClientsChangeStatus(t *testing.T) { ucases := []struct { desc string - client mfclients.Client + client mgclients.Client err error }{ { desc: "change client status for an enabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, Status: 0, }, @@ -885,7 +885,7 @@ func TestClientsChangeStatus(t *testing.T) { }, { desc: "change client status for a disabled client", - client: mfclients.Client{ + client: mgclients.Client{ ID: client1.ID, Status: 1, }, @@ -893,7 +893,7 @@ func TestClientsChangeStatus(t *testing.T) { }, { desc: "change client status for non-existing client", - client: mfclients.Client{ + client: mgclients.Client{ ID: "invalid", Status: 2, }, diff --git a/pkg/events/nats/publisher_test.go b/pkg/events/nats/publisher_test.go index d0070619b..36dfbb218 100644 --- a/pkg/events/nats/publisher_test.go +++ b/pkg/events/nats/publisher_test.go @@ -12,7 +12,7 @@ import ( "testing" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/events/nats" "github.com/stretchr/testify/assert" @@ -21,7 +21,7 @@ import ( var ( streamTopic = "test-topic" eventsChan = make(chan map[string]interface{}) - logger = mflog.NewMock() + logger = mglog.NewMock() errFailed = errors.New("failed") ) diff --git a/pkg/events/nats/subscriber.go b/pkg/events/nats/subscriber.go index 9a01f4282..9323ae824 100644 --- a/pkg/events/nats/subscriber.go +++ b/pkg/events/nats/subscriber.go @@ -10,7 +10,7 @@ import ( "fmt" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/messaging" broker "github.com/absmach/magistrala/pkg/messaging/nats" @@ -51,10 +51,10 @@ type subEventStore struct { pubsub messaging.PubSub stream string consumer string - logger mflog.Logger + logger mglog.Logger } -func NewSubscriber(ctx context.Context, url, stream, consumer string, logger mflog.Logger) (events.Subscriber, error) { +func NewSubscriber(ctx context.Context, url, stream, consumer string, logger mglog.Logger) (events.Subscriber, error) { if stream == "" { return nil, ErrEmptyStream } @@ -121,7 +121,7 @@ func (re event) Encode() (map[string]interface{}, error) { type eventHandler struct { handler events.EventHandler ctx context.Context - logger mflog.Logger + logger mglog.Logger } func (eh *eventHandler) Handle(msg *messaging.Message) error { diff --git a/pkg/events/rabbitmq/publisher_test.go b/pkg/events/rabbitmq/publisher_test.go index 7a9cfd55b..0f49c4553 100644 --- a/pkg/events/rabbitmq/publisher_test.go +++ b/pkg/events/rabbitmq/publisher_test.go @@ -12,7 +12,7 @@ import ( "testing" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/events/rabbitmq" "github.com/stretchr/testify/assert" @@ -21,7 +21,7 @@ import ( var ( streamTopic = "test-topic" eventsChan = make(chan map[string]interface{}) - logger = mflog.NewMock() + logger = mglog.NewMock() errFailed = errors.New("failed") ) diff --git a/pkg/events/rabbitmq/subscriber.go b/pkg/events/rabbitmq/subscriber.go index 8b6fb01c5..8641de670 100644 --- a/pkg/events/rabbitmq/subscriber.go +++ b/pkg/events/rabbitmq/subscriber.go @@ -9,7 +9,7 @@ import ( "errors" "fmt" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/messaging" broker "github.com/absmach/magistrala/pkg/messaging/rabbitmq" @@ -34,10 +34,10 @@ type subEventStore struct { pubsub messaging.PubSub stream string consumer string - logger mflog.Logger + logger mglog.Logger } -func NewSubscriber(url, stream, consumer string, logger mflog.Logger) (events.Subscriber, error) { +func NewSubscriber(url, stream, consumer string, logger mglog.Logger) (events.Subscriber, error) { if stream == "" { return nil, ErrEmptyStream } @@ -103,7 +103,7 @@ func (re event) Encode() (map[string]interface{}, error) { type eventHandler struct { handler events.EventHandler ctx context.Context - logger mflog.Logger + logger mglog.Logger } func (eh *eventHandler) Handle(msg *messaging.Message) error { diff --git a/pkg/events/redis/publisher_test.go b/pkg/events/redis/publisher_test.go index 204c3490b..0b42e6118 100644 --- a/pkg/events/redis/publisher_test.go +++ b/pkg/events/redis/publisher_test.go @@ -16,18 +16,18 @@ import ( "testing" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/events/redis" "github.com/stretchr/testify/assert" ) var ( - streamName = "mainflux.eventstest" + streamName = "magistrala.eventstest" consumer = "test-consumer" streamTopic = "test-topic" eventsChan = make(chan map[string]interface{}) - logger = mflog.NewMock() + logger = mglog.NewMock() errFailed = errors.New("failed") ctx = context.TODO() ) diff --git a/pkg/events/redis/subscriber.go b/pkg/events/redis/subscriber.go index 9fee8a631..e1f03ad57 100644 --- a/pkg/events/redis/subscriber.go +++ b/pkg/events/redis/subscriber.go @@ -11,7 +11,7 @@ import ( "errors" "fmt" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/go-redis/redis/v8" ) @@ -36,10 +36,10 @@ type subEventStore struct { client *redis.Client stream string consumer string - logger mflog.Logger + logger mglog.Logger } -func NewSubscriber(url, stream, consumer string, logger mflog.Logger) (events.Subscriber, error) { +func NewSubscriber(url, stream, consumer string, logger mglog.Logger) (events.Subscriber, error) { if stream == "" { return nil, ErrEmptyStream } diff --git a/pkg/events/store/brokers_nats.go b/pkg/events/store/brokers_nats.go index 034128a83..686c48509 100644 --- a/pkg/events/store/brokers_nats.go +++ b/pkg/events/store/brokers_nats.go @@ -10,7 +10,7 @@ import ( "context" "log" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/events/nats" ) @@ -28,7 +28,7 @@ func NewPublisher(ctx context.Context, url, stream string) (events.Publisher, er return pb, nil } -func NewSubscriber(ctx context.Context, url, stream, consumer string, logger mflog.Logger) (events.Subscriber, error) { +func NewSubscriber(ctx context.Context, url, stream, consumer string, logger mglog.Logger) (events.Subscriber, error) { pb, err := nats.NewSubscriber(ctx, url, stream, consumer, logger) if err != nil { return nil, err diff --git a/pkg/events/store/brokers_rabbitmq.go b/pkg/events/store/brokers_rabbitmq.go index b1fa96375..913747d6f 100644 --- a/pkg/events/store/brokers_rabbitmq.go +++ b/pkg/events/store/brokers_rabbitmq.go @@ -10,7 +10,7 @@ import ( "context" "log" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/events/rabbitmq" ) @@ -28,7 +28,7 @@ func NewPublisher(ctx context.Context, url, stream string) (events.Publisher, er return pb, nil } -func NewSubscriber(_ context.Context, url, stream, consumer string, logger mflog.Logger) (events.Subscriber, error) { +func NewSubscriber(_ context.Context, url, stream, consumer string, logger mglog.Logger) (events.Subscriber, error) { pb, err := rabbitmq.NewSubscriber(url, stream, consumer, logger) if err != nil { return nil, err diff --git a/pkg/events/store/brokers_redis.go b/pkg/events/store/brokers_redis.go index fd4d162ba..3a50c9d10 100644 --- a/pkg/events/store/brokers_redis.go +++ b/pkg/events/store/brokers_redis.go @@ -10,7 +10,7 @@ import ( "context" "log" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/events/redis" ) @@ -28,7 +28,7 @@ func NewPublisher(ctx context.Context, url, stream string) (events.Publisher, er return pb, nil } -func NewSubscriber(_ context.Context, url, stream, consumer string, logger mflog.Logger) (events.Subscriber, error) { +func NewSubscriber(_ context.Context, url, stream, consumer string, logger mglog.Logger) (events.Subscriber, error) { pb, err := redis.NewSubscriber(url, stream, consumer, logger) if err != nil { return nil, err diff --git a/pkg/messaging/brokers/brokers_nats.go b/pkg/messaging/brokers/brokers_nats.go index 20bdb3253..50f9f8799 100644 --- a/pkg/messaging/brokers/brokers_nats.go +++ b/pkg/messaging/brokers/brokers_nats.go @@ -10,7 +10,7 @@ import ( "context" "log" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/pkg/messaging/nats" ) @@ -31,7 +31,7 @@ func NewPublisher(ctx context.Context, url string, opts ...messaging.Option) (me return pb, nil } -func NewPubSub(ctx context.Context, url string, logger mflog.Logger, opts ...messaging.Option) (messaging.PubSub, error) { +func NewPubSub(ctx context.Context, url string, logger mglog.Logger, opts ...messaging.Option) (messaging.PubSub, error) { pb, err := nats.NewPubSub(ctx, url, logger, opts...) if err != nil { return nil, err diff --git a/pkg/messaging/brokers/brokers_rabbitmq.go b/pkg/messaging/brokers/brokers_rabbitmq.go index a10e3437c..0fed1669c 100644 --- a/pkg/messaging/brokers/brokers_rabbitmq.go +++ b/pkg/messaging/brokers/brokers_rabbitmq.go @@ -10,7 +10,7 @@ import ( "context" "log" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/pkg/messaging/rabbitmq" ) @@ -31,7 +31,7 @@ func NewPublisher(_ context.Context, url string, opts ...messaging.Option) (mess return pb, nil } -func NewPubSub(_ context.Context, url string, logger mflog.Logger, opts ...messaging.Option) (messaging.PubSub, error) { +func NewPubSub(_ context.Context, url string, logger mglog.Logger, opts ...messaging.Option) (messaging.PubSub, error) { pb, err := rabbitmq.NewPubSub(url, logger, opts...) if err != nil { return nil, err diff --git a/pkg/messaging/handler/logging.go b/pkg/messaging/handler/logging.go index 047f39aa9..ed639a84c 100644 --- a/pkg/messaging/handler/logging.go +++ b/pkg/messaging/handler/logging.go @@ -10,14 +10,14 @@ import ( "fmt" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/mainflux/mproxy/pkg/session" ) var _ session.Handler = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc session.Handler } @@ -132,10 +132,9 @@ func (lm *loggingMiddleware) Unsubscribe(ctx context.Context, topics *[]string) }(time.Now()) return lm.svc.Unsubscribe(ctx, topics) - } // LoggingMiddleware adds logging facilities to the adapter. -func LoggingMiddleware(svc session.Handler, logger mflog.Logger) session.Handler { +func LoggingMiddleware(svc session.Handler, logger mglog.Logger) session.Handler { return &loggingMiddleware{logger, svc} } diff --git a/pkg/messaging/mqtt/pubsub.go b/pkg/messaging/mqtt/pubsub.go index 4da30fe34..eeb0969cb 100644 --- a/pkg/messaging/mqtt/pubsub.go +++ b/pkg/messaging/mqtt/pubsub.go @@ -10,13 +10,13 @@ import ( "sync" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" mqtt "github.com/eclipse/paho.mqtt.golang" "google.golang.org/protobuf/proto" ) -const username = "mainflux-mqtt" +const username = "magistrala-mqtt" var ( // ErrConnect indicates that connection to MQTT broker failed. @@ -51,7 +51,7 @@ type subscription struct { type pubsub struct { publisher - logger mflog.Logger + logger mglog.Logger mu sync.RWMutex address string timeout time.Duration @@ -59,7 +59,7 @@ type pubsub struct { } // NewPubSub returns MQTT message publisher/subscriber. -func NewPubSub(url string, qos uint8, timeout time.Duration, logger mflog.Logger) (messaging.PubSub, error) { +func NewPubSub(url string, qos uint8, timeout time.Duration, logger mglog.Logger) (messaging.PubSub, error) { client, err := newClient(url, "mqtt-publisher", timeout) if err != nil { return nil, err diff --git a/pkg/messaging/mqtt/pubsub_test.go b/pkg/messaging/mqtt/pubsub_test.go index c36acd00c..3a9ce4096 100644 --- a/pkg/messaging/mqtt/pubsub_test.go +++ b/pkg/messaging/mqtt/pubsub_test.go @@ -28,7 +28,7 @@ const ( var data = []byte("payload") // ErrFailedHandleMessage indicates that the message couldn't be handled. -var errFailedHandleMessage = errors.New("failed to handle mainflux message") +var errFailedHandleMessage = errors.New("failed to handle magistrala message") func TestPublisher(t *testing.T) { msgChan := make(chan []byte) diff --git a/pkg/messaging/mqtt/setup_test.go b/pkg/messaging/mqtt/setup_test.go index 9813f5399..55b9e18e8 100644 --- a/pkg/messaging/mqtt/setup_test.go +++ b/pkg/messaging/mqtt/setup_test.go @@ -12,7 +12,7 @@ import ( "testing" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" mqttpubsub "github.com/absmach/magistrala/pkg/messaging/mqtt" mqtt "github.com/eclipse/paho.mqtt.golang" @@ -21,12 +21,12 @@ import ( var ( pubsub messaging.PubSub - logger mflog.Logger + logger mglog.Logger address string ) const ( - username = "mainflux-mqtt" + username = "magistrala-mqtt" qos = 2 port = "1883/tcp" broker = "eclipse-mosquitto" @@ -51,7 +51,7 @@ func TestMain(m *testing.M) { address = fmt.Sprintf("%s:%s", "localhost", container.GetPort(port)) pool.MaxWait = poolMaxWait - logger, err = mflog.New(os.Stdout, mflog.Debug.String()) + logger, err = mglog.New(os.Stdout, mglog.Debug.String()) if err != nil { log.Fatalf(err.Error()) } diff --git a/pkg/messaging/nats/pubsub.go b/pkg/messaging/nats/pubsub.go index 557b51fa2..b2ef282d6 100644 --- a/pkg/messaging/nats/pubsub.go +++ b/pkg/messaging/nats/pubsub.go @@ -10,7 +10,7 @@ import ( "strings" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" broker "github.com/nats-io/nats.go" "github.com/nats-io/nats.go/jetstream" @@ -42,7 +42,7 @@ var _ messaging.PubSub = (*pubsub)(nil) type pubsub struct { publisher - logger mflog.Logger + logger mglog.Logger stream jetstream.Stream } @@ -53,7 +53,7 @@ type pubsub struct { // from ordinary subscribe. For more information, please take a look // here: https://docs.nats.io/developing-with-nats/receiving/queues. // If the queue is empty, Subscribe will be used. -func NewPubSub(ctx context.Context, url string, logger mflog.Logger, opts ...messaging.Option) (messaging.PubSub, error) { +func NewPubSub(ctx context.Context, url string, logger mglog.Logger, opts ...messaging.Option) (messaging.PubSub, error) { conn, err := broker.Connect(url, broker.MaxReconnects(maxReconnects)) if err != nil { return nil, err diff --git a/pkg/messaging/nats/setup_test.go b/pkg/messaging/nats/setup_test.go index ecbeb15dd..8f9439e94 100644 --- a/pkg/messaging/nats/setup_test.go +++ b/pkg/messaging/nats/setup_test.go @@ -12,7 +12,7 @@ import ( "syscall" "testing" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/pkg/messaging/nats" "github.com/ory/dockertest/v3" @@ -47,7 +47,7 @@ func TestMain(m *testing.M) { log.Fatalf("Could not connect to docker: %s", err) } - logger, err := mflog.New(os.Stdout, "error") + logger, err := mglog.New(os.Stdout, "error") if err != nil { log.Fatalf(err.Error()) } diff --git a/pkg/messaging/rabbitmq/publisher.go b/pkg/messaging/rabbitmq/publisher.go index d5376f8e2..110fc85ae 100644 --- a/pkg/messaging/rabbitmq/publisher.go +++ b/pkg/messaging/rabbitmq/publisher.go @@ -76,7 +76,7 @@ func (pub *publisher) Publish(ctx context.Context, topic string, msg *messaging. amqp.Publishing{ Headers: amqp.Table{}, ContentType: "application/octet-stream", - AppId: "mainflux-publisher", + AppId: "magistrala-publisher", Body: data, }) diff --git a/pkg/messaging/rabbitmq/pubsub.go b/pkg/messaging/rabbitmq/pubsub.go index 18457ebec..9a69ddf26 100644 --- a/pkg/messaging/rabbitmq/pubsub.go +++ b/pkg/messaging/rabbitmq/pubsub.go @@ -9,7 +9,7 @@ import ( "fmt" "sync" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" amqp "github.com/rabbitmq/amqp091-go" "google.golang.org/protobuf/proto" @@ -40,13 +40,13 @@ type subscription struct { } type pubsub struct { publisher - logger mflog.Logger + logger mglog.Logger subscriptions map[string]map[string]subscription mu sync.Mutex } // NewPubSub returns RabbitMQ message publisher/subscriber. -func NewPubSub(url string, logger mflog.Logger, opts ...messaging.Option) (messaging.PubSub, error) { +func NewPubSub(url string, logger mglog.Logger, opts ...messaging.Option) (messaging.PubSub, error) { conn, err := amqp.Dial(url) if err != nil { return nil, err diff --git a/pkg/messaging/rabbitmq/pubsub_test.go b/pkg/messaging/rabbitmq/pubsub_test.go index f8e7a55c0..3449d9aa3 100644 --- a/pkg/messaging/rabbitmq/pubsub_test.go +++ b/pkg/messaging/rabbitmq/pubsub_test.go @@ -30,7 +30,7 @@ var ( data = []byte("payload") ) -var errFailedHandleMessage = errors.New("failed to handle mainflux message") +var errFailedHandleMessage = errors.New("failed to handle magistrala message") func TestPublisher(t *testing.T) { // Subscribing with topic, and with subtopic, so that we can publish messages. @@ -196,7 +196,7 @@ func TestSubscribe(t *testing.T) { amqp.Publishing{ Headers: amqp.Table{}, ContentType: "application/octet-stream", - AppId: "mainflux-publisher", + AppId: "magistrala-publisher", Body: data, }) assert.Nil(t, err, fmt.Sprintf("got unexpected error: %s", err)) diff --git a/pkg/messaging/rabbitmq/setup_test.go b/pkg/messaging/rabbitmq/setup_test.go index e479c7853..fa9076c8a 100644 --- a/pkg/messaging/rabbitmq/setup_test.go +++ b/pkg/messaging/rabbitmq/setup_test.go @@ -11,7 +11,7 @@ import ( "syscall" "testing" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/pkg/messaging/rabbitmq" "github.com/ory/dockertest/v3" @@ -29,7 +29,7 @@ const ( var ( publisher messaging.Publisher pubsub messaging.PubSub - logger mflog.Logger + logger mglog.Logger address string ) @@ -53,7 +53,7 @@ func TestMain(m *testing.M) { log.Fatalf("Could not connect to docker: %s", err) } - logger, err = mflog.New(os.Stdout, mflog.Debug.String()) + logger, err = mglog.New(os.Stdout, mglog.Debug.String()) if err != nil { log.Fatalf(err.Error()) } diff --git a/pkg/sdk/go/README.md b/pkg/sdk/go/README.md index d8c5899a3..f82f782f9 100644 --- a/pkg/sdk/go/README.md +++ b/pkg/sdk/go/README.md @@ -5,9 +5,10 @@ Go SDK, a Go driver for Magistrala HTTP API. Does both system administration (provisioning) and messaging. ## Installation + Import `"github.com/absmach/magistrala/sdk/go"` in your Go package. -``` +```` import "github.com/absmach/magistrala/pkg/sdk/go"``` Then call SDK Go functions to interact with the system. @@ -17,66 +18,66 @@ Then call SDK Go functions to interact with the system. ```go FUNCTIONS -func NewMfxSDK(host, port string, tls bool) *MfxSDK +func NewMgxSDK(host, port string, tls bool) *MgxSDK -func (sdk *MfxSDK) Channel(id, token string) (things.Channel, error) +func (sdk *MgxSDK) Channel(id, token string) (things.Channel, error) Channel - gets channel by ID -func (sdk *MfxSDK) Channels(token string) ([]things.Channel, error) +func (sdk *MgxSDK) Channels(token string) ([]things.Channel, error) Channels - gets all channels -func (sdk *MfxSDK) Connect(struct{[]string, []string}, token string) error +func (sdk *MgxSDK) Connect(struct{[]string, []string}, token string) error Connect - connect things to channels -func (sdk *MfxSDK) CreateChannel(data, token string) (string, error) +func (sdk *MgxSDK) CreateChannel(data, token string) (string, error) CreateChannel - creates new channel and generates UUID -func (sdk *MfxSDK) CreateThing(data, token string) (string, error) +func (sdk *MgxSDK) CreateThing(data, token string) (string, error) CreateThing - creates new thing and generates thing UUID -func (sdk *MfxSDK) CreateToken(user, pwd string) (string, error) +func (sdk *MgxSDK) CreateToken(user, pwd string) (string, error) CreateToken - create user token -func (sdk *MfxSDK) CreateUser(user, pwd string) error +func (sdk *MgxSDK) CreateUser(user, pwd string) error CreateUser - create user -func (sdk *MfxSDK) User(pwd string) (user, error) +func (sdk *MgxSDK) User(pwd string) (user, error) User - gets user -func (sdk *MfxSDK) UpdateUser(user, pwd string) error +func (sdk *MgxSDK) UpdateUser(user, pwd string) error UpdateUser - update user -func (sdk *MfxSDK) UpdatePassword(user, pwd string) error +func (sdk *MgxSDK) UpdatePassword(user, pwd string) error UpdatePassword - update user password -func (sdk *MfxSDK) DeleteChannel(id, token string) error +func (sdk *MgxSDK) DeleteChannel(id, token string) error DeleteChannel - removes channel -func (sdk *MfxSDK) DeleteThing(id, token string) error +func (sdk *MgxSDK) DeleteThing(id, token string) error DeleteThing - removes thing -func (sdk *MfxSDK) DisconnectThing(thingID, chanID, token string) error +func (sdk *MgxSDK) DisconnectThing(thingID, chanID, token string) error DisconnectThing - connect thing to a channel -func (sdk mfSDK) SendMessage(chanID, msg, token string) error +func (sdk *MgxSDK) SendMessage(chanID, msg, token string) error SendMessage - send message on Magistrala channel -func (sdk mfSDK) SetContentType(ct ContentType) error +func (sdk *MgxSDK) SetContentType(ct ContentType) error SetContentType - set message content type. Available options are SenML JSON, custom JSON and custom binary (octet-stream). -func (sdk mfSDK) Thing(id, token string) (Thing, error) +func (sdk *MgxSDK) Thing(id, token string) (Thing, error) Thing - gets thing by ID -func (sdk mfSDK) Things(token string) ([]Thing, error) +func (sdk *MgxSDK) Things(token string) ([]Thing, error) Things - gets all things -func (sdk mfSDK) UpdateChannel(channel Channel, token string) error +func (sdk *MgxSDK) UpdateChannel(channel Channel, token string) error UpdateChannel - update a channel -func (sdk mfSDK) UpdateThing(thing Thing, token string) error +func (sdk *MgxSDK) UpdateThing(thing Thing, token string) error UpdateThing - updates thing by ID -func (sdk mfSDK) Health() (mainflux.Health, error) +func (sdk *MgxSDK) Health() (magistrala.Health, error) Health - things service health check -``` +```` diff --git a/pkg/sdk/go/bootstrap.go b/pkg/sdk/go/bootstrap.go index f85790ce1..4c89b147f 100644 --- a/pkg/sdk/go/bootstrap.go +++ b/pkg/sdk/go/bootstrap.go @@ -24,9 +24,9 @@ const ( // BootstrapConfig represents Configuration entity. It wraps information about external entity // as well as info about corresponding Magistrala entities. -// MFThing represents corresponding Magistrala Thing ID. -// MFKey is key of corresponding Magistrala Thing. -// MFChannels is a list of Magistrala Channels corresponding Magistrala Thing connects to. +// MGThing represents corresponding Magistrala Thing ID. +// MGKey is key of corresponding Magistrala Thing. +// MGChannels is a list of Magistrala Channels corresponding Magistrala Thing connects to. type BootstrapConfig struct { Channels interface{} `json:"channels,omitempty"` ExternalID string `json:"external_id,omitempty"` @@ -90,7 +90,7 @@ func (ts *BootstrapConfig) UnmarshalJSON(data []byte) error { return nil } -func (sdk mfSDK) AddBootstrap(cfg BootstrapConfig, token string) (string, errors.SDKError) { +func (sdk mgSDK) AddBootstrap(cfg BootstrapConfig, token string) (string, errors.SDKError) { data, err := json.Marshal(cfg) if err != nil { return "", errors.NewSDKError(err) @@ -108,7 +108,7 @@ func (sdk mfSDK) AddBootstrap(cfg BootstrapConfig, token string) (string, errors return id, nil } -func (sdk mfSDK) Bootstraps(pm PageMetadata, token string) (BootstrapPage, errors.SDKError) { +func (sdk mgSDK) Bootstraps(pm PageMetadata, token string) (BootstrapPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.bootstrapURL, configsEndpoint, pm) if err != nil { return BootstrapPage{}, errors.NewSDKError(err) @@ -127,7 +127,7 @@ func (sdk mfSDK) Bootstraps(pm PageMetadata, token string) (BootstrapPage, error return bb, nil } -func (sdk mfSDK) Whitelist(cfg BootstrapConfig, token string) errors.SDKError { +func (sdk mgSDK) Whitelist(cfg BootstrapConfig, token string) errors.SDKError { data, err := json.Marshal(BootstrapConfig{State: cfg.State}) if err != nil { return errors.NewSDKError(err) @@ -144,7 +144,7 @@ func (sdk mfSDK) Whitelist(cfg BootstrapConfig, token string) errors.SDKError { return sdkerr } -func (sdk mfSDK) ViewBootstrap(id, token string) (BootstrapConfig, errors.SDKError) { +func (sdk mgSDK) ViewBootstrap(id, token string) (BootstrapConfig, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, configsEndpoint, id) _, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -160,7 +160,7 @@ func (sdk mfSDK) ViewBootstrap(id, token string) (BootstrapConfig, errors.SDKErr return bc, nil } -func (sdk mfSDK) UpdateBootstrap(cfg BootstrapConfig, token string) errors.SDKError { +func (sdk mgSDK) UpdateBootstrap(cfg BootstrapConfig, token string) errors.SDKError { data, err := json.Marshal(cfg) if err != nil { return errors.NewSDKError(err) @@ -173,7 +173,7 @@ func (sdk mfSDK) UpdateBootstrap(cfg BootstrapConfig, token string) errors.SDKEr return sdkerr } -func (sdk mfSDK) UpdateBootstrapCerts(id, clientCert, clientKey, ca, token string) (BootstrapConfig, errors.SDKError) { +func (sdk mgSDK) UpdateBootstrapCerts(id, clientCert, clientKey, ca, token string) (BootstrapConfig, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, bootstrapCertsEndpoint, id) request := BootstrapConfig{ ClientCert: clientCert, @@ -196,7 +196,7 @@ func (sdk mfSDK) UpdateBootstrapCerts(id, clientCert, clientKey, ca, token strin return bc, sdkerr } -func (sdk mfSDK) UpdateBootstrapConnection(id string, channels []string, token string) errors.SDKError { +func (sdk mgSDK) UpdateBootstrapConnection(id string, channels []string, token string) errors.SDKError { url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, bootstrapConnEndpoint, id) request := map[string][]string{ "channels": channels, @@ -210,14 +210,14 @@ func (sdk mfSDK) UpdateBootstrapConnection(id string, channels []string, token s return sdkerr } -func (sdk mfSDK) RemoveBootstrap(id, token string) errors.SDKError { +func (sdk mgSDK) RemoveBootstrap(id, token string) errors.SDKError { url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, configsEndpoint, id) _, _, err := sdk.processRequest(http.MethodDelete, url, token, nil, nil, http.StatusNoContent) return err } -func (sdk mfSDK) Bootstrap(externalID, externalKey string) (BootstrapConfig, errors.SDKError) { +func (sdk mgSDK) Bootstrap(externalID, externalKey string) (BootstrapConfig, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, bootstrapEndpoint, externalID) _, body, err := sdk.processRequest(http.MethodGet, url, ThingPrefix+externalKey, nil, nil, http.StatusOK) @@ -233,7 +233,7 @@ func (sdk mfSDK) Bootstrap(externalID, externalKey string) (BootstrapConfig, err return bc, nil } -func (sdk mfSDK) BootstrapSecure(externalID, externalKey string) (BootstrapConfig, errors.SDKError) { +func (sdk mgSDK) BootstrapSecure(externalID, externalKey string) (BootstrapConfig, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s/%s", sdk.bootstrapURL, bootstrapEndpoint, secureEndpoint, externalID) _, body, err := sdk.processRequest(http.MethodGet, url, ThingPrefix+externalKey, nil, nil, http.StatusOK) diff --git a/pkg/sdk/go/certs.go b/pkg/sdk/go/certs.go index 4b6c37afd..0932dd4aa 100644 --- a/pkg/sdk/go/certs.go +++ b/pkg/sdk/go/certs.go @@ -26,7 +26,7 @@ type Cert struct { Expiration time.Time `json:"expiration,omitempty"` } -func (sdk mfSDK) IssueCert(thingID, valid, token string) (Cert, errors.SDKError) { +func (sdk mgSDK) IssueCert(thingID, valid, token string) (Cert, errors.SDKError) { r := certReq{ ThingID: thingID, Valid: valid, @@ -51,7 +51,7 @@ func (sdk mfSDK) IssueCert(thingID, valid, token string) (Cert, errors.SDKError) return c, nil } -func (sdk mfSDK) ViewCert(id, token string) (Cert, errors.SDKError) { +func (sdk mgSDK) ViewCert(id, token string) (Cert, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.certsURL, certsEndpoint, id) _, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -67,7 +67,7 @@ func (sdk mfSDK) ViewCert(id, token string) (Cert, errors.SDKError) { return cert, nil } -func (sdk mfSDK) ViewCertByThing(thingID, token string) (CertSerials, errors.SDKError) { +func (sdk mgSDK) ViewCertByThing(thingID, token string) (CertSerials, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.certsURL, serialsEndpoint, thingID) _, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -83,7 +83,7 @@ func (sdk mfSDK) ViewCertByThing(thingID, token string) (CertSerials, errors.SDK return cs, nil } -func (sdk mfSDK) RevokeCert(id, token string) (time.Time, errors.SDKError) { +func (sdk mgSDK) RevokeCert(id, token string) (time.Time, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.certsURL, certsEndpoint, id) _, body, err := sdk.processRequest(http.MethodDelete, url, token, nil, nil, http.StatusOK) diff --git a/pkg/sdk/go/certs_test.go b/pkg/sdk/go/certs_test.go index 168adfd53..d52b9ac76 100644 --- a/pkg/sdk/go/certs_test.go +++ b/pkg/sdk/go/certs_test.go @@ -37,7 +37,7 @@ func newCertService() (certs.Service, error) { ThingsURL: server.URL, } - mfsdk := sdk.NewSDK(config) + mgsdk := sdk.NewSDK(config) repo := mocks.NewCertsRepository() tlsCert, caCert, err := certs.LoadCertificates(caPath, caKeyPath) @@ -52,7 +52,7 @@ func newCertService() (certs.Service, error) { pki := mocks.NewPkiAgent(tlsCert, caCert, cfgSignHoursValid, authTimeout) - return certs.New(auth, repo, mfsdk, pki), nil + return certs.New(auth, repo, mgsdk, pki), nil } func newCertServer(svc certs.Service) *httptest.Server { @@ -73,7 +73,7 @@ func TestIssueCert(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) cases := []struct { desc string @@ -141,7 +141,7 @@ func TestIssueCert(t *testing.T) { } for _, tc := range cases { - cert, err := mfsdk.IssueCert(tc.thingID, tc.duration, tc.token) + cert, err := mgsdk.IssueCert(tc.thingID, tc.duration, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if err == nil { assert.NotEmpty(t, cert, fmt.Sprintf("%s: got empty cert", tc.desc)) @@ -161,9 +161,9 @@ func TestViewCert(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) - cert, err := mfsdk.IssueCert(thingID, "10h", token) + cert, err := mgsdk.IssueCert(thingID, "10h", token) require.Nil(t, err, fmt.Sprintf("unexpected error during creating cert: %s", err)) cases := []struct { @@ -197,7 +197,7 @@ func TestViewCert(t *testing.T) { } for _, tc := range cases { - cert, err := mfsdk.ViewCert(tc.certID, tc.token) + cert, err := mgsdk.ViewCert(tc.certID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if err == nil { assert.NotEmpty(t, cert, fmt.Sprintf("%s: got empty cert", tc.desc)) @@ -217,9 +217,9 @@ func TestViewCertByThing(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) - _, err = mfsdk.IssueCert(thingID, "10h", token) + _, err = mgsdk.IssueCert(thingID, "10h", token) require.Nil(t, err, fmt.Sprintf("unexpected error during creating cert: %s", err)) cases := []struct { @@ -253,7 +253,7 @@ func TestViewCertByThing(t *testing.T) { } for _, tc := range cases { - cert, err := mfsdk.ViewCertByThing(tc.thingID, tc.token) + cert, err := mgsdk.ViewCertByThing(tc.thingID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if err == nil { assert.NotEmpty(t, cert, fmt.Sprintf("%s: got empty cert", tc.desc)) @@ -273,9 +273,9 @@ func TestRevokeCert(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) - _, err = mfsdk.IssueCert(thingID, "10h", adminToken) + _, err = mgsdk.IssueCert(thingID, "10h", adminToken) require.Nil(t, err, fmt.Sprintf("unexpected error during creating cert: %s", err)) cases := []struct { @@ -323,7 +323,7 @@ func TestRevokeCert(t *testing.T) { } for _, tc := range cases { - response, err := mfsdk.RevokeCert(tc.thingID, tc.token) + response, err := mgsdk.RevokeCert(tc.thingID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if err == nil { assert.NotEmpty(t, response, fmt.Sprintf("%s: got empty revocation time", tc.desc)) diff --git a/pkg/sdk/go/channels.go b/pkg/sdk/go/channels.go index ac55844fc..967e35b7d 100644 --- a/pkg/sdk/go/channels.go +++ b/pkg/sdk/go/channels.go @@ -14,7 +14,7 @@ import ( const channelsEndpoint = "channels" -// Channel represents mainflux channel. +// Channel represents magistrala channel. type Channel struct { ID string `json:"id"` OwnerID string `json:"owner_id,omitempty"` @@ -30,7 +30,7 @@ type Channel struct { Status string `json:"status,omitempty"` } -func (sdk mfSDK) CreateChannel(c Channel, token string) (Channel, errors.SDKError) { +func (sdk mgSDK) CreateChannel(c Channel, token string) (Channel, errors.SDKError) { data, err := json.Marshal(c) if err != nil { return Channel{}, errors.NewSDKError(err) @@ -50,7 +50,7 @@ func (sdk mfSDK) CreateChannel(c Channel, token string) (Channel, errors.SDKErro return c, nil } -func (sdk mfSDK) CreateChannels(chs []Channel, token string) ([]Channel, errors.SDKError) { +func (sdk mgSDK) CreateChannels(chs []Channel, token string) ([]Channel, errors.SDKError) { data, err := json.Marshal(chs) if err != nil { return []Channel{}, errors.NewSDKError(err) @@ -71,7 +71,7 @@ func (sdk mfSDK) CreateChannels(chs []Channel, token string) ([]Channel, errors. return ccr.Channels, nil } -func (sdk mfSDK) Channels(pm PageMetadata, token string) (ChannelsPage, errors.SDKError) { +func (sdk mgSDK) Channels(pm PageMetadata, token string) (ChannelsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.thingsURL, channelsEndpoint, pm) if err != nil { return ChannelsPage{}, errors.NewSDKError(err) @@ -90,7 +90,7 @@ func (sdk mfSDK) Channels(pm PageMetadata, token string) (ChannelsPage, errors.S return cp, nil } -func (sdk mfSDK) ChannelsByThing(thingID string, pm PageMetadata, token string) (ChannelsPage, errors.SDKError) { +func (sdk mgSDK) ChannelsByThing(thingID string, pm PageMetadata, token string) (ChannelsPage, errors.SDKError) { url, err := sdk.withQueryParams(fmt.Sprintf("%s/things/%s", sdk.thingsURL, thingID), channelsEndpoint, pm) if err != nil { return ChannelsPage{}, errors.NewSDKError(err) @@ -109,7 +109,7 @@ func (sdk mfSDK) ChannelsByThing(thingID string, pm PageMetadata, token string) return cp, nil } -func (sdk mfSDK) Channel(id, token string) (Channel, errors.SDKError) { +func (sdk mgSDK) Channel(id, token string) (Channel, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.thingsURL, channelsEndpoint, id) _, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -125,7 +125,7 @@ func (sdk mfSDK) Channel(id, token string) (Channel, errors.SDKError) { return c, nil } -func (sdk mfSDK) UpdateChannel(c Channel, token string) (Channel, errors.SDKError) { +func (sdk mgSDK) UpdateChannel(c Channel, token string) (Channel, errors.SDKError) { data, err := json.Marshal(c) if err != nil { return Channel{}, errors.NewSDKError(err) @@ -146,7 +146,7 @@ func (sdk mfSDK) UpdateChannel(c Channel, token string) (Channel, errors.SDKErro return c, nil } -func (sdk mfSDK) AddUserToChannel(channelID string, req UsersRelationRequest, token string) errors.SDKError { +func (sdk mgSDK) AddUserToChannel(channelID string, req UsersRelationRequest, token string) errors.SDKError { data, err := json.Marshal(req) if err != nil { return errors.NewSDKError(err) @@ -158,7 +158,7 @@ func (sdk mfSDK) AddUserToChannel(channelID string, req UsersRelationRequest, to return sdkerr } -func (sdk mfSDK) RemoveUserFromChannel(channelID string, req UsersRelationRequest, token string) errors.SDKError { +func (sdk mgSDK) RemoveUserFromChannel(channelID string, req UsersRelationRequest, token string) errors.SDKError { data, err := json.Marshal(req) if err != nil { return errors.NewSDKError(err) @@ -170,7 +170,7 @@ func (sdk mfSDK) RemoveUserFromChannel(channelID string, req UsersRelationReques return sdkerr } -func (sdk mfSDK) ListChannelUsers(channelID string, pm PageMetadata, token string) (UsersPage, errors.SDKError) { +func (sdk mgSDK) ListChannelUsers(channelID string, pm PageMetadata, token string) (UsersPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, fmt.Sprintf("%s/%s/%s", channelsEndpoint, channelID, usersEndpoint), pm) if err != nil { return UsersPage{}, errors.NewSDKError(err) @@ -187,7 +187,7 @@ func (sdk mfSDK) ListChannelUsers(channelID string, pm PageMetadata, token strin return up, nil } -func (sdk mfSDK) AddUserGroupToChannel(channelID string, req UserGroupsRequest, token string) errors.SDKError { +func (sdk mgSDK) AddUserGroupToChannel(channelID string, req UserGroupsRequest, token string) errors.SDKError { data, err := json.Marshal(req) if err != nil { return errors.NewSDKError(err) @@ -199,7 +199,7 @@ func (sdk mfSDK) AddUserGroupToChannel(channelID string, req UserGroupsRequest, return sdkerr } -func (sdk mfSDK) RemoveUserGroupFromChannel(channelID string, req UserGroupsRequest, token string) errors.SDKError { +func (sdk mgSDK) RemoveUserGroupFromChannel(channelID string, req UserGroupsRequest, token string) errors.SDKError { data, err := json.Marshal(req) if err != nil { return errors.NewSDKError(err) @@ -211,7 +211,7 @@ func (sdk mfSDK) RemoveUserGroupFromChannel(channelID string, req UserGroupsRequ return sdkerr } -func (sdk mfSDK) ListChannelUserGroups(channelID string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { +func (sdk mgSDK) ListChannelUserGroups(channelID string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, fmt.Sprintf("%s/%s/%s", channelsEndpoint, channelID, groupsEndpoint), pm) if err != nil { return GroupsPage{}, errors.NewSDKError(err) @@ -228,7 +228,7 @@ func (sdk mfSDK) ListChannelUserGroups(channelID string, pm PageMetadata, token return gp, nil } -func (sdk mfSDK) Connect(conn Connection, token string) errors.SDKError { +func (sdk mgSDK) Connect(conn Connection, token string) errors.SDKError { data, err := json.Marshal(conn) if err != nil { return errors.NewSDKError(err) @@ -241,7 +241,7 @@ func (sdk mfSDK) Connect(conn Connection, token string) errors.SDKError { return sdkerr } -func (sdk mfSDK) Disconnect(connIDs Connection, token string) errors.SDKError { +func (sdk mgSDK) Disconnect(connIDs Connection, token string) errors.SDKError { data, err := json.Marshal(connIDs) if err != nil { return errors.NewSDKError(err) @@ -254,7 +254,7 @@ func (sdk mfSDK) Disconnect(connIDs Connection, token string) errors.SDKError { return sdkerr } -func (sdk mfSDK) ConnectThing(thingID, channelID, token string) errors.SDKError { +func (sdk mgSDK) ConnectThing(thingID, channelID, token string) errors.SDKError { url := fmt.Sprintf("%s/%s/%s/%s/%s/%s", sdk.thingsURL, channelsEndpoint, channelID, thingsEndpoint, thingID, connectEndpoint) _, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusCreated) @@ -262,7 +262,7 @@ func (sdk mfSDK) ConnectThing(thingID, channelID, token string) errors.SDKError return sdkerr } -func (sdk mfSDK) DisconnectThing(thingID, channelID, token string) errors.SDKError { +func (sdk mgSDK) DisconnectThing(thingID, channelID, token string) errors.SDKError { url := fmt.Sprintf("%s/%s/%s/%s/%s/%s", sdk.thingsURL, channelsEndpoint, channelID, thingsEndpoint, thingID, disconnectEndpoint) _, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusNoContent) @@ -270,15 +270,15 @@ func (sdk mfSDK) DisconnectThing(thingID, channelID, token string) errors.SDKErr return sdkerr } -func (sdk mfSDK) EnableChannel(id, token string) (Channel, errors.SDKError) { +func (sdk mgSDK) EnableChannel(id, token string) (Channel, errors.SDKError) { return sdk.changeChannelStatus(id, enableEndpoint, token) } -func (sdk mfSDK) DisableChannel(id, token string) (Channel, errors.SDKError) { +func (sdk mgSDK) DisableChannel(id, token string) (Channel, errors.SDKError) { return sdk.changeChannelStatus(id, disableEndpoint, token) } -func (sdk mfSDK) changeChannelStatus(id, status, token string) (Channel, errors.SDKError) { +func (sdk mgSDK) changeChannelStatus(id, status, token string) (Channel, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s/%s", sdk.thingsURL, channelsEndpoint, id, status) _, body, err := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusOK) diff --git a/pkg/sdk/go/channels_test.go b/pkg/sdk/go/channels_test.go index 77ff00aa6..a3126d3e6 100644 --- a/pkg/sdk/go/channels_test.go +++ b/pkg/sdk/go/channels_test.go @@ -15,10 +15,10 @@ import ( "github.com/absmach/magistrala/internal/groups" gmocks "github.com/absmach/magistrala/internal/groups/mocks" "github.com/absmach/magistrala/internal/testsutil" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mggroups "github.com/absmach/magistrala/pkg/groups" sdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/things" api "github.com/absmach/magistrala/things/api/http" @@ -37,7 +37,7 @@ func newChannelsServer() (*httptest.Server, *mocks.Repository, *gmocks.Repositor csvc := things.NewService(auth, cRepo, gRepo, thingCache, idProvider) gsvc := groups.NewService(gRepo, idProvider, auth) - logger := mflog.NewMock() + logger := mglog.NewMock() mux := chi.NewRouter() api.MakeHandler(csvc, gsvc, mux, logger, "") @@ -51,13 +51,13 @@ func TestCreateChannel(t *testing.T) { channel := sdk.Channel{ Name: "channelName", Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string channel sdk.Channel @@ -91,7 +91,7 @@ func TestCreateChannel(t *testing.T) { channel: sdk.Channel{ Name: gName, ParentID: testsutil.GenerateUUID(t), - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, err: nil, }, @@ -100,7 +100,7 @@ func TestCreateChannel(t *testing.T) { channel: sdk.Channel{ Name: gName, ParentID: gmocks.WrongID, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, err: errors.NewSDKErrorWithStatus(errors.ErrCreateEntity, http.StatusInternalServerError), }, @@ -109,14 +109,14 @@ func TestCreateChannel(t *testing.T) { channel: sdk.Channel{ Name: gName, OwnerID: gmocks.WrongID, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, err: errors.NewSDKErrorWithStatus(sdk.ErrFailedCreation, http.StatusInternalServerError), }, { desc: "create channel with missing name", channel: sdk.Channel{ - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, err: errors.NewSDKErrorWithStatus(errors.Wrap(apiutil.ErrValidation, apiutil.ErrNameSize), http.StatusBadRequest), }, @@ -131,7 +131,7 @@ func TestCreateChannel(t *testing.T) { Metadata: validMetadata, CreatedAt: time.Now(), UpdatedAt: time.Now(), - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, token: token, err: nil, @@ -139,7 +139,7 @@ func TestCreateChannel(t *testing.T) { } for _, tc := range cases { repoCall := gRepo.On("Save", mock.Anything, mock.Anything).Return(convertChannel(sdk.Channel{}), tc.err) - rChannel, err := mfsdk.CreateChannel(tc.channel, adminToken) + rChannel, err := mgsdk.CreateChannel(tc.channel, adminToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: unexpected error %s", tc.desc, err)) if err == nil { assert.NotEmpty(t, rChannel, fmt.Sprintf("%s: expected not nil on client ID", tc.desc)) @@ -158,19 +158,19 @@ func TestCreateChannels(t *testing.T) { { Name: "channelName", Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, { Name: "channelName2", Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, } conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string channels []sdk.Channel @@ -209,7 +209,7 @@ func TestCreateChannels(t *testing.T) { } for _, tc := range cases { repoCall := gRepo.On("Save", mock.Anything, mock.Anything).Return(convertChannels(tc.response), tc.err) - rChannel, err := mfsdk.CreateChannels(tc.channels, adminToken) + rChannel, err := mgsdk.CreateChannels(tc.channels, adminToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: unexpected error %s", tc.desc, err)) if err == nil { assert.NotEmpty(t, rChannel, fmt.Sprintf("%s: expected not nil on client ID", tc.desc)) @@ -228,14 +228,14 @@ func TestListChannels(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) for i := 10; i < 100; i++ { gr := sdk.Channel{ ID: generateUUID(t), Name: fmt.Sprintf("channel_%d", i), Metadata: sdk.Metadata{"name": fmt.Sprintf("thing_%d", i)}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } chs = append(chs, gr) } @@ -243,7 +243,7 @@ func TestListChannels(t *testing.T) { cases := []struct { desc string token string - status mfclients.Status + status mgclients.Status total uint64 offset uint64 limit uint64 @@ -325,9 +325,9 @@ func TestListChannels(t *testing.T) { } for _, tc := range cases { - repoCall1 := gRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mfgroups.Page{Groups: convertChannels(tc.response)}, tc.err) + repoCall1 := gRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mggroups.Page{Groups: convertChannels(tc.response)}, tc.err) pm := sdk.PageMetadata{} - page, err := mfsdk.Channels(pm, adminToken) + page, err := mgsdk.Channels(pm, adminToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, len(tc.response), len(page.Channels), fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page)) if tc.err == nil { @@ -347,13 +347,13 @@ func TestViewChannel(t *testing.T) { Description: description, Metadata: validMetadata, Children: []*sdk.Channel{}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) channel.ID = generateUUID(t) cases := []struct { @@ -388,7 +388,7 @@ func TestViewChannel(t *testing.T) { for _, tc := range cases { repoCall1 := gRepo.On("RetrieveByID", mock.Anything, tc.channelID).Return(convertChannel(tc.response), tc.err) - grp, err := mfsdk.Channel(tc.channelID, tc.token) + grp, err := mgsdk.Channel(tc.channelID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if len(tc.response.Children) == 0 { tc.response.Children = nil @@ -419,7 +419,7 @@ func TestUpdateChannel(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) channel.ID = generateUUID(t) @@ -553,7 +553,7 @@ func TestUpdateChannel(t *testing.T) { for _, tc := range cases { repoCall1 := gRepo.On("Update", mock.Anything, mock.Anything).Return(convertChannel(tc.response), tc.err) - _, err := mfsdk.UpdateChannel(tc.channel, tc.token) + _, err := mgsdk.UpdateChannel(tc.channel, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if tc.err == nil { ok := repoCall1.Parent.AssertCalled(t, "Update", mock.Anything, mock.Anything) @@ -571,7 +571,7 @@ func TestListChannelsByThing(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) nChannels := uint64(100) aChannels := []sdk.Channel{} @@ -580,7 +580,7 @@ func TestListChannelsByThing(t *testing.T) { channel := sdk.Channel{ Name: fmt.Sprintf("membership_%d@example.com", i), Metadata: sdk.Metadata{"role": "channel"}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } aChannels = append(aChannels, channel) } @@ -609,7 +609,7 @@ func TestListChannelsByThing(t *testing.T) { Offset: 6, Total: nChannels, Limit: nChannels, - Status: mfclients.AllStatus.String(), + Status: mgclients.AllStatus.String(), }, response: aChannels[6 : nChannels-1], err: nil, @@ -623,7 +623,7 @@ func TestListChannelsByThing(t *testing.T) { Offset: 6, Total: nChannels, Limit: nChannels, - Status: mfclients.AllStatus.String(), + Status: mgclients.AllStatus.String(), }, response: aChannels[6 : nChannels-1], err: nil, @@ -637,7 +637,7 @@ func TestListChannelsByThing(t *testing.T) { Offset: 6, Total: nChannels, Limit: nChannels, - Status: mfclients.AllStatus.String(), + Status: mgclients.AllStatus.String(), }, response: aChannels[6 : nChannels-1], err: nil, @@ -651,7 +651,7 @@ func TestListChannelsByThing(t *testing.T) { Offset: 6, Total: nChannels, Limit: nChannels, - Status: mfclients.AllStatus.String(), + Status: mgclients.AllStatus.String(), }, response: aChannels[6 : nChannels-1], err: nil, @@ -675,7 +675,7 @@ func TestListChannelsByThing(t *testing.T) { } for _, tc := range cases { - page, err := mfsdk.ChannelsByThing(tc.clientID, tc.page, tc.token) + page, err := mgsdk.ChannelsByThing(tc.clientID, tc.page, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, page.Channels, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page.Channels)) } @@ -688,7 +688,7 @@ func TestEnableChannel(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) creationTime := time.Now().UTC() channel := sdk.Channel{ @@ -697,30 +697,30 @@ func TestEnableChannel(t *testing.T) { OwnerID: generateUUID(t), CreatedAt: creationTime, UpdatedAt: creationTime, - Status: mfclients.Disabled, + Status: mgclients.Disabled, } repoCall1 := gRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(nil) repoCall2 := gRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(nil) - _, err := mfsdk.EnableChannel("wrongID", adminToken) - assert.Equal(t, err, errors.NewSDKErrorWithStatus(errors.Wrap(mfgroups.ErrEnableGroup, errors.ErrNotFound), http.StatusNotFound), fmt.Sprintf("Enable channel with wrong id: expected %v got %v", errors.ErrNotFound, err)) + _, err := mgsdk.EnableChannel("wrongID", adminToken) + assert.Equal(t, err, errors.NewSDKErrorWithStatus(errors.Wrap(mggroups.ErrEnableGroup, errors.ErrNotFound), http.StatusNotFound), fmt.Sprintf("Enable channel with wrong id: expected %v got %v", errors.ErrNotFound, err)) ok := repoCall1.Parent.AssertCalled(t, "RetrieveByID", mock.Anything, "wrongID") assert.True(t, ok, "RetrieveByID was not called on enabling channel") repoCall1.Unset() repoCall2.Unset() - ch := mfgroups.Group{ + ch := mggroups.Group{ ID: channel.ID, Name: channel.Name, Owner: channel.OwnerID, CreatedAt: creationTime, UpdatedAt: creationTime, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, } repoCall1 = gRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(ch, nil) repoCall2 = gRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(ch, nil) - res, err := mfsdk.EnableChannel(channel.ID, adminToken) + res, err := mgsdk.EnableChannel(channel.ID, adminToken) assert.Nil(t, err, fmt.Sprintf("Enable channel with correct id: expected %v got %v", nil, err)) assert.Equal(t, channel, res, fmt.Sprintf("Enable channel with correct id: expected %v got %v", channel, res)) ok = repoCall1.Parent.AssertCalled(t, "RetrieveByID", mock.Anything, channel.ID) @@ -738,7 +738,7 @@ func TestDisableChannel(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) creationTime := time.Now().UTC() channel := sdk.Channel{ @@ -747,30 +747,30 @@ func TestDisableChannel(t *testing.T) { OwnerID: generateUUID(t), CreatedAt: creationTime, UpdatedAt: creationTime, - Status: mfclients.Enabled, + Status: mgclients.Enabled, } repoCall1 := gRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(sdk.ErrFailedRemoval) repoCall2 := gRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(nil) - _, err := mfsdk.DisableChannel("wrongID", adminToken) - assert.Equal(t, err, errors.NewSDKErrorWithStatus(errors.Wrap(mfgroups.ErrDisableGroup, errors.ErrNotFound), http.StatusNotFound), fmt.Sprintf("Disable channel with wrong id: expected %v got %v", errors.ErrNotFound, err)) + _, err := mgsdk.DisableChannel("wrongID", adminToken) + assert.Equal(t, err, errors.NewSDKErrorWithStatus(errors.Wrap(mggroups.ErrDisableGroup, errors.ErrNotFound), http.StatusNotFound), fmt.Sprintf("Disable channel with wrong id: expected %v got %v", errors.ErrNotFound, err)) ok := repoCall1.Parent.AssertCalled(t, "RetrieveByID", mock.Anything, "wrongID") assert.True(t, ok, "Memberships was not called on disabling channel with wrong id") repoCall1.Unset() repoCall2.Unset() - ch := mfgroups.Group{ + ch := mggroups.Group{ ID: channel.ID, Name: channel.Name, Owner: channel.OwnerID, CreatedAt: creationTime, UpdatedAt: creationTime, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } repoCall1 = gRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(ch, nil) repoCall2 = gRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(ch, nil) - res, err := mfsdk.DisableChannel(channel.ID, adminToken) + res, err := mgsdk.DisableChannel(channel.ID, adminToken) assert.Nil(t, err, fmt.Sprintf("Disable channel with correct id: expected %v got %v", nil, err)) assert.Equal(t, channel, res, fmt.Sprintf("Disable channel with correct id: expected %v got %v", channel, res)) ok = repoCall1.Parent.AssertCalled(t, "RetrieveByID", mock.Anything, channel.ID) diff --git a/pkg/sdk/go/consumers.go b/pkg/sdk/go/consumers.go index a9942e603..a360f17c7 100644 --- a/pkg/sdk/go/consumers.go +++ b/pkg/sdk/go/consumers.go @@ -23,7 +23,7 @@ type Subscription struct { Contact string `json:"contact,omitempty"` } -func (sdk mfSDK) CreateSubscription(topic, contact, token string) (string, errors.SDKError) { +func (sdk mgSDK) CreateSubscription(topic, contact, token string) (string, errors.SDKError) { sub := Subscription{ Topic: topic, Contact: contact, @@ -45,7 +45,7 @@ func (sdk mfSDK) CreateSubscription(topic, contact, token string) (string, error return id, nil } -func (sdk mfSDK) ListSubscriptions(pm PageMetadata, token string) (SubscriptionPage, errors.SDKError) { +func (sdk mgSDK) ListSubscriptions(pm PageMetadata, token string) (SubscriptionPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, subscriptionEndpoint, pm) if err != nil { return SubscriptionPage{}, errors.NewSDKError(err) @@ -64,7 +64,7 @@ func (sdk mfSDK) ListSubscriptions(pm PageMetadata, token string) (SubscriptionP return sp, nil } -func (sdk mfSDK) ViewSubscription(id, token string) (Subscription, errors.SDKError) { +func (sdk mgSDK) ViewSubscription(id, token string) (Subscription, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, subscriptionEndpoint, id) _, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -80,7 +80,7 @@ func (sdk mfSDK) ViewSubscription(id, token string) (Subscription, errors.SDKErr return sub, nil } -func (sdk mfSDK) DeleteSubscription(id, token string) errors.SDKError { +func (sdk mgSDK) DeleteSubscription(id, token string) errors.SDKError { url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, subscriptionEndpoint, id) _, _, err := sdk.processRequest(http.MethodDelete, url, token, nil, nil, http.StatusNoContent) diff --git a/pkg/sdk/go/consumers_test.go b/pkg/sdk/go/consumers_test.go index 0abd55f24..feef47c89 100644 --- a/pkg/sdk/go/consumers_test.go +++ b/pkg/sdk/go/consumers_test.go @@ -61,7 +61,7 @@ func TestCreateSubscription(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) cases := []struct { desc string @@ -101,7 +101,7 @@ func TestCreateSubscription(t *testing.T) { } for _, tc := range cases { - loc, err := mfsdk.CreateSubscription(tc.subscription.Topic, tc.subscription.Contact, tc.token) + loc, err := mgsdk.CreateSubscription(tc.subscription.Topic, tc.subscription.Contact, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.empty, loc == "", fmt.Sprintf("%s: expected empty result location, got: %s", tc.desc, loc)) } @@ -117,8 +117,8 @@ func TestViewSubscription(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) - id, err := mfsdk.CreateSubscription("topic", "contact", exampleUser1) + mgsdk := sdk.NewSDK(sdkConf) + id, err := mgsdk.CreateSubscription("topic", "contact", exampleUser1) require.Nil(t, err, fmt.Sprintf("unexpected error during creating subscription: %s", err)) cases := []struct { @@ -152,7 +152,7 @@ func TestViewSubscription(t *testing.T) { } for _, tc := range cases { - respSub, err := mfsdk.ViewSubscription(tc.subID, tc.token) + respSub, err := mgsdk.ViewSubscription(tc.subID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) tc.response.ID = respSub.ID @@ -171,13 +171,13 @@ func TestListSubscription(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) nSubs := 10 subs := make([]sdk.Subscription, nSubs) for i := 0; i < nSubs; i++ { - id, err := mfsdk.CreateSubscription(fmt.Sprintf("topic_%d", i), fmt.Sprintf("contact_%d", i), exampleUser1) + id, err := mgsdk.CreateSubscription(fmt.Sprintf("topic_%d", i), fmt.Sprintf("contact_%d", i), exampleUser1) require.Nil(t, err, fmt.Sprintf("unexpected error during creating subscription: %s", err)) - sub, err := mfsdk.ViewSubscription(id, exampleUser1) + sub, err := mgsdk.ViewSubscription(id, exampleUser1) require.Nil(t, err, fmt.Sprintf("unexpected error during getting subscription: %s", err)) subs[i] = sub } @@ -213,7 +213,7 @@ func TestListSubscription(t *testing.T) { } for _, tc := range cases { - subs, err := mfsdk.ListSubscriptions(tc.page, tc.token) + subs, err := mgsdk.ListSubscriptions(tc.page, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, subs.Subscriptions, fmt.Sprintf("%s: expected response %v, got %v", tc.desc, tc.response, subs.Subscriptions)) } @@ -229,8 +229,8 @@ func TestDeleteSubscription(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) - id, err := mfsdk.CreateSubscription("topic", "contact", exampleUser1) + mgsdk := sdk.NewSDK(sdkConf) + id, err := mgsdk.CreateSubscription("topic", "contact", exampleUser1) require.Nil(t, err, fmt.Sprintf("unexpected error during creating subscription: %s", err)) cases := []struct { @@ -264,7 +264,7 @@ func TestDeleteSubscription(t *testing.T) { } for _, tc := range cases { - err := mfsdk.DeleteSubscription(tc.subID, tc.token) + err := mgsdk.DeleteSubscription(tc.subID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) } } diff --git a/pkg/sdk/go/groups.go b/pkg/sdk/go/groups.go index 0d8b1c83a..b9b1fc66f 100644 --- a/pkg/sdk/go/groups.go +++ b/pkg/sdk/go/groups.go @@ -37,7 +37,7 @@ type Group struct { Status string `json:"status,omitempty"` } -func (sdk mfSDK) CreateGroup(g Group, token string) (Group, errors.SDKError) { +func (sdk mgSDK) CreateGroup(g Group, token string) (Group, errors.SDKError) { data, err := json.Marshal(g) if err != nil { return Group{}, errors.NewSDKError(err) @@ -57,7 +57,7 @@ func (sdk mfSDK) CreateGroup(g Group, token string) (Group, errors.SDKError) { return g, nil } -func (sdk mfSDK) Groups(pm PageMetadata, token string) (GroupsPage, errors.SDKError) { +func (sdk mgSDK) Groups(pm PageMetadata, token string) (GroupsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, groupsEndpoint, pm) if err != nil { return GroupsPage{}, errors.NewSDKError(err) @@ -66,7 +66,7 @@ func (sdk mfSDK) Groups(pm PageMetadata, token string) (GroupsPage, errors.SDKEr return sdk.getGroups(url, token) } -func (sdk mfSDK) Parents(id string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { +func (sdk mgSDK) Parents(id string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { pm.Level = MaxLevel url, err := sdk.withQueryParams(fmt.Sprintf("%s/%s/%s", sdk.usersURL, groupsEndpoint, id), "parents", pm) if err != nil { @@ -76,7 +76,7 @@ func (sdk mfSDK) Parents(id string, pm PageMetadata, token string) (GroupsPage, return sdk.getGroups(url, token) } -func (sdk mfSDK) Children(id string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { +func (sdk mgSDK) Children(id string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { pm.Level = MaxLevel url, err := sdk.withQueryParams(fmt.Sprintf("%s/%s/%s", sdk.usersURL, groupsEndpoint, id), "children", pm) if err != nil { @@ -86,7 +86,7 @@ func (sdk mfSDK) Children(id string, pm PageMetadata, token string) (GroupsPage, return sdk.getGroups(url, token) } -func (sdk mfSDK) getGroups(url, token string) (GroupsPage, errors.SDKError) { +func (sdk mgSDK) getGroups(url, token string) (GroupsPage, errors.SDKError) { _, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) if err != nil { return GroupsPage{}, err @@ -100,7 +100,7 @@ func (sdk mfSDK) getGroups(url, token string) (GroupsPage, errors.SDKError) { return tp, nil } -func (sdk mfSDK) Group(id, token string) (Group, errors.SDKError) { +func (sdk mgSDK) Group(id, token string) (Group, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, groupsEndpoint, id) _, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -116,7 +116,7 @@ func (sdk mfSDK) Group(id, token string) (Group, errors.SDKError) { return t, nil } -func (sdk mfSDK) UpdateGroup(g Group, token string) (Group, errors.SDKError) { +func (sdk mgSDK) UpdateGroup(g Group, token string) (Group, errors.SDKError) { data, err := json.Marshal(g) if err != nil { return Group{}, errors.NewSDKError(err) @@ -137,15 +137,15 @@ func (sdk mfSDK) UpdateGroup(g Group, token string) (Group, errors.SDKError) { return g, nil } -func (sdk mfSDK) EnableGroup(id, token string) (Group, errors.SDKError) { +func (sdk mgSDK) EnableGroup(id, token string) (Group, errors.SDKError) { return sdk.changeGroupStatus(id, enableEndpoint, token) } -func (sdk mfSDK) DisableGroup(id, token string) (Group, errors.SDKError) { +func (sdk mgSDK) DisableGroup(id, token string) (Group, errors.SDKError) { return sdk.changeGroupStatus(id, disableEndpoint, token) } -func (sdk mfSDK) AddUserToGroup(groupID string, req UsersRelationRequest, token string) errors.SDKError { +func (sdk mgSDK) AddUserToGroup(groupID string, req UsersRelationRequest, token string) errors.SDKError { data, err := json.Marshal(req) if err != nil { return errors.NewSDKError(err) @@ -157,7 +157,7 @@ func (sdk mfSDK) AddUserToGroup(groupID string, req UsersRelationRequest, token return sdkerr } -func (sdk mfSDK) RemoveUserFromGroup(groupID string, req UsersRelationRequest, token string) errors.SDKError { +func (sdk mgSDK) RemoveUserFromGroup(groupID string, req UsersRelationRequest, token string) errors.SDKError { data, err := json.Marshal(req) if err != nil { return errors.NewSDKError(err) @@ -169,7 +169,7 @@ func (sdk mfSDK) RemoveUserFromGroup(groupID string, req UsersRelationRequest, t return sdkerr } -func (sdk mfSDK) ListGroupUsers(groupID string, pm PageMetadata, token string) (UsersPage, errors.SDKError) { +func (sdk mgSDK) ListGroupUsers(groupID string, pm PageMetadata, token string) (UsersPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, fmt.Sprintf("%s/%s/%s", groupsEndpoint, groupID, usersEndpoint), pm) if err != nil { return UsersPage{}, errors.NewSDKError(err) @@ -186,7 +186,7 @@ func (sdk mfSDK) ListGroupUsers(groupID string, pm PageMetadata, token string) ( return up, nil } -func (sdk mfSDK) ListGroupChannels(groupID string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { +func (sdk mgSDK) ListGroupChannels(groupID string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.thingsURL, fmt.Sprintf("%s/%s/%s", groupsEndpoint, groupID, channelsEndpoint), pm) if err != nil { return GroupsPage{}, errors.NewSDKError(err) @@ -203,7 +203,7 @@ func (sdk mfSDK) ListGroupChannels(groupID string, pm PageMetadata, token string return gp, nil } -func (sdk mfSDK) changeGroupStatus(id, status, token string) (Group, errors.SDKError) { +func (sdk mgSDK) changeGroupStatus(id, status, token string) (Group, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s/%s", sdk.usersURL, groupsEndpoint, id, status) _, body, err := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusOK) diff --git a/pkg/sdk/go/groups_test.go b/pkg/sdk/go/groups_test.go index 4122c7317..7fc21c7ef 100644 --- a/pkg/sdk/go/groups_test.go +++ b/pkg/sdk/go/groups_test.go @@ -15,10 +15,10 @@ import ( "github.com/absmach/magistrala/internal/groups" gmocks "github.com/absmach/magistrala/internal/groups/mocks" "github.com/absmach/magistrala/internal/testsutil" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mggroups "github.com/absmach/magistrala/pkg/groups" sdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/users" "github.com/absmach/magistrala/users/api" @@ -36,7 +36,7 @@ func newGroupsServer() (*httptest.Server, *mocks.Repository, *gmocks.Repository, csvc := users.NewService(cRepo, auth, emailer, phasher, idProvider, passRegex) gsvc := groups.NewService(gRepo, idProvider, auth) - logger := mflog.NewMock() + logger := mglog.NewMock() mux := chi.NewRouter() api.MakeHandler(csvc, gsvc, mux, logger, "") @@ -55,7 +55,7 @@ func TestCreateGroup(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string group sdk.Group @@ -139,7 +139,7 @@ func TestCreateGroup(t *testing.T) { } for _, tc := range cases { repoCall := gRepo.On("Save", mock.Anything, mock.Anything).Return(convertGroup(sdk.Group{}), tc.err) - rGroup, err := mfsdk.CreateGroup(tc.group, validToken) + rGroup, err := mgsdk.CreateGroup(tc.group, validToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: unexpected error %s", tc.desc, err)) if err == nil { assert.NotEmpty(t, rGroup, fmt.Sprintf("%s: expected not nil on client ID", tc.desc)) @@ -158,7 +158,7 @@ func TestListGroups(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) for i := 10; i < 100; i++ { gr := sdk.Group{ @@ -255,9 +255,9 @@ func TestListGroups(t *testing.T) { } for _, tc := range cases { - repoCall1 := gRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mfgroups.Page{Groups: convertGroups(tc.response)}, tc.err) + repoCall1 := gRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mggroups.Page{Groups: convertGroups(tc.response)}, tc.err) pm := sdk.PageMetadata{} - page, err := mfsdk.Groups(pm, validToken) + page, err := mgsdk.Groups(pm, validToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, len(tc.response), len(page.Groups), fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page)) if tc.err == nil { @@ -276,7 +276,7 @@ func TestListParentGroups(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) parentID := "" for i := 10; i < 100; i++ { @@ -376,9 +376,9 @@ func TestListParentGroups(t *testing.T) { } for _, tc := range cases { - repoCall1 := gRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mfgroups.Page{Groups: convertGroups(tc.response)}, tc.err) + repoCall1 := gRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mggroups.Page{Groups: convertGroups(tc.response)}, tc.err) pm := sdk.PageMetadata{} - page, err := mfsdk.Parents(parentID, pm, validToken) + page, err := mgsdk.Parents(parentID, pm, validToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, len(tc.response), len(page.Groups), fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page)) if tc.err == nil { @@ -397,7 +397,7 @@ func TestListChildrenGroups(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) parentID := "" for i := 10; i < 100; i++ { @@ -498,9 +498,9 @@ func TestListChildrenGroups(t *testing.T) { } for _, tc := range cases { - repoCall1 := gRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mfgroups.Page{Groups: convertGroups(tc.response)}, tc.err) + repoCall1 := gRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mggroups.Page{Groups: convertGroups(tc.response)}, tc.err) pm := sdk.PageMetadata{} - page, err := mfsdk.Children(childID, pm, validToken) + page, err := mgsdk.Children(childID, pm, validToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, len(tc.response), len(page.Groups), fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page)) if tc.err == nil { @@ -526,7 +526,7 @@ func TestViewGroup(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) group.ID = generateUUID(t) cases := []struct { @@ -561,7 +561,7 @@ func TestViewGroup(t *testing.T) { for _, tc := range cases { repoCall1 := gRepo.On("RetrieveByID", mock.Anything, tc.groupID).Return(convertGroup(tc.response), tc.err) - grp, err := mfsdk.Group(tc.groupID, tc.token) + grp, err := mgsdk.Group(tc.groupID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if len(tc.response.Children) == 0 { tc.response.Children = nil @@ -592,7 +592,7 @@ func TestUpdateGroup(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) group.ID = generateUUID(t) @@ -726,7 +726,7 @@ func TestUpdateGroup(t *testing.T) { for _, tc := range cases { repoCall1 := gRepo.On("Update", mock.Anything, mock.Anything).Return(convertGroup(tc.response), tc.err) - _, err := mfsdk.UpdateGroup(tc.group, tc.token) + _, err := mgsdk.UpdateGroup(tc.group, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if tc.err == nil { ok := repoCall1.Parent.AssertCalled(t, "Update", mock.Anything, mock.Anything) @@ -743,7 +743,7 @@ func TestEnableGroup(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) creationTime := time.Now().UTC() group := sdk.Group{ @@ -757,14 +757,14 @@ func TestEnableGroup(t *testing.T) { repoCall1 := gRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(nil) repoCall2 := gRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(sdk.ErrFailedRemoval) - _, err := mfsdk.EnableGroup("wrongID", validToken) + _, err := mgsdk.EnableGroup("wrongID", validToken) assert.Equal(t, err, errors.NewSDKErrorWithStatus(errors.ErrNotFound, http.StatusNotFound), fmt.Sprintf("Enable group with wrong id: expected %v got %v", errors.ErrNotFound, err)) ok := repoCall1.Parent.AssertCalled(t, "RetrieveByID", mock.Anything, "wrongID") assert.True(t, ok, "RetrieveByID was not called on enabling group") repoCall1.Unset() repoCall2.Unset() - g := mfgroups.Group{ + g := mggroups.Group{ ID: group.ID, Name: group.Name, Owner: group.OwnerID, @@ -775,7 +775,7 @@ func TestEnableGroup(t *testing.T) { repoCall1 = gRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(g, nil) repoCall2 = gRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(g, nil) - res, err := mfsdk.EnableGroup(group.ID, validToken) + res, err := mgsdk.EnableGroup(group.ID, validToken) assert.Nil(t, err, fmt.Sprintf("Enable group with correct id: expected %v got %v", nil, err)) assert.Equal(t, group, res, fmt.Sprintf("Enable group with correct id: expected %v got %v", group, res)) ok = repoCall1.Parent.AssertCalled(t, "RetrieveByID", mock.Anything, group.ID) @@ -793,7 +793,7 @@ func TestDisableGroup(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) creationTime := time.Now().UTC() group := sdk.Group{ @@ -807,14 +807,14 @@ func TestDisableGroup(t *testing.T) { repoCall1 := gRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(sdk.ErrFailedRemoval) repoCall2 := gRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(nil) - _, err := mfsdk.DisableGroup("wrongID", validToken) + _, err := mgsdk.DisableGroup("wrongID", validToken) assert.Equal(t, err, errors.NewSDKErrorWithStatus(errors.ErrNotFound, http.StatusNotFound), fmt.Sprintf("Disable group with wrong id: expected %v got %v", errors.ErrNotFound, err)) ok := repoCall1.Parent.AssertCalled(t, "RetrieveByID", mock.Anything, "wrongID") assert.True(t, ok, "Memberships was not called on disabling group with wrong id") repoCall1.Unset() repoCall2.Unset() - g := mfgroups.Group{ + g := mggroups.Group{ ID: group.ID, Name: group.Name, Owner: group.OwnerID, @@ -825,7 +825,7 @@ func TestDisableGroup(t *testing.T) { repoCall1 = gRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(g, nil) repoCall2 = gRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(g, nil) - res, err := mfsdk.DisableGroup(group.ID, validToken) + res, err := mgsdk.DisableGroup(group.ID, validToken) assert.Nil(t, err, fmt.Sprintf("Disable group with correct id: expected %v got %v", nil, err)) assert.Equal(t, group, res, fmt.Sprintf("Disable group with correct id: expected %v got %v", group, res)) ok = repoCall1.Parent.AssertCalled(t, "RetrieveByID", mock.Anything, group.ID) diff --git a/pkg/sdk/go/health.go b/pkg/sdk/go/health.go index 492e4cf8c..1c732c03a 100644 --- a/pkg/sdk/go/health.go +++ b/pkg/sdk/go/health.go @@ -29,7 +29,7 @@ type HealthInfo struct { BuildTime string `json:"build_time"` } -func (sdk mfSDK) Health(service string) (HealthInfo, errors.SDKError) { +func (sdk mgSDK) Health(service string) (HealthInfo, errors.SDKError) { var url string switch service { case "things": diff --git a/pkg/sdk/go/health_test.go b/pkg/sdk/go/health_test.go index 4a6ff27d1..674babed5 100644 --- a/pkg/sdk/go/health_test.go +++ b/pkg/sdk/go/health_test.go @@ -7,7 +7,7 @@ import ( "fmt" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/errors" sdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/stretchr/testify/assert" @@ -36,7 +36,7 @@ func TestHealth(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) cases := map[string]struct { service string empty bool @@ -67,12 +67,12 @@ func TestHealth(t *testing.T) { }, } for desc, tc := range cases { - h, err := mfsdk.Health(tc.service) + h, err := mgsdk.Health(tc.service) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", desc, tc.err, err)) assert.Equal(t, tc.status, h.Status, fmt.Sprintf("%s: expected %s status, got %s", desc, tc.status, h.Status)) assert.Equal(t, tc.empty, h.Version == "", fmt.Sprintf("%s: expected non-empty version", desc)) - assert.Equal(t, mainflux.Commit, h.Commit, fmt.Sprintf("%s: expected non-empty commit", desc)) + assert.Equal(t, magistrala.Commit, h.Commit, fmt.Sprintf("%s: expected non-empty commit", desc)) assert.Equal(t, tc.description, h.Description, fmt.Sprintf("%s: expected proper description, got %s", desc, h.Description)) - assert.Equal(t, mainflux.BuildTime, h.BuildTime, fmt.Sprintf("%s: expected default epoch date, got %s", desc, h.BuildTime)) + assert.Equal(t, magistrala.BuildTime, h.BuildTime, fmt.Sprintf("%s: expected default epoch date, got %s", desc, h.BuildTime)) } } diff --git a/pkg/sdk/go/message.go b/pkg/sdk/go/message.go index e1be8b87f..30f5a6336 100644 --- a/pkg/sdk/go/message.go +++ b/pkg/sdk/go/message.go @@ -15,7 +15,7 @@ import ( const channelParts = 2 -func (sdk mfSDK) SendMessage(chanName, msg, key string) errors.SDKError { +func (sdk mgSDK) SendMessage(chanName, msg, key string) errors.SDKError { chanNameParts := strings.SplitN(chanName, ".", channelParts) chanID := chanNameParts[0] subtopicPart := "" @@ -30,7 +30,7 @@ func (sdk mfSDK) SendMessage(chanName, msg, key string) errors.SDKError { return err } -func (sdk mfSDK) ReadMessages(chanName, token string) (MessagesPage, errors.SDKError) { +func (sdk mgSDK) ReadMessages(chanName, token string) (MessagesPage, errors.SDKError) { chanNameParts := strings.SplitN(chanName, ".", channelParts) chanID := chanNameParts[0] subtopicPart := "" @@ -56,7 +56,7 @@ func (sdk mfSDK) ReadMessages(chanName, token string) (MessagesPage, errors.SDKE return mp, nil } -func (sdk *mfSDK) SetContentType(ct ContentType) errors.SDKError { +func (sdk *mgSDK) SetContentType(ct ContentType) errors.SDKError { if ct != CTJSON && ct != CTJSONSenML && ct != CTBinary { return errors.NewSDKError(apiutil.ErrUnsupportedContentType) } diff --git a/pkg/sdk/go/message_test.go b/pkg/sdk/go/message_test.go index f140d0d95..bb4572045 100644 --- a/pkg/sdk/go/message_test.go +++ b/pkg/sdk/go/message_test.go @@ -9,7 +9,7 @@ import ( "net/http/httptest" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" adapter "github.com/absmach/magistrala/http" "github.com/absmach/magistrala/http/api" @@ -24,7 +24,7 @@ import ( "github.com/stretchr/testify/mock" ) -func newMessageService(cc mainflux.AuthzServiceClient) session.Handler { +func newMessageService(cc magistrala.AuthzServiceClient) session.Handler { pub := mocks.NewPublisher() return adapter.NewHandler(pub, logger.NewMock(), cc) @@ -60,23 +60,11 @@ func TestSendMessage(t *testing.T) { TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) - auth.On("Authorize", mock.Anything, &mainflux.AuthorizeReq{ - Subject: atoken, - Object: chanID, - Namespace: "", - SubjectType: "thing", - Permission: "publish", - ObjectType: "group"}).Return(&mainflux.AuthorizeRes{Authorized: true, Id: ""}, nil) - auth.On("Authorize", mock.Anything, &mainflux.AuthorizeReq{ - Subject: invalidToken, - Object: chanID, - Namespace: "", - SubjectType: "thing", - Permission: "publish", - ObjectType: "group"}).Return(&mainflux.AuthorizeRes{Authorized: true, Id: ""}, errors.ErrAuthentication) - auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: false, Id: ""}, nil) + auth.On("Authorize", mock.Anything, &magistrala.AuthorizeReq{Subject: atoken, Object: chanID, Namespace: "", SubjectType: "thing", Permission: "publish", ObjectType: "group"}).Return(&magistrala.AuthorizeRes{Authorized: true, Id: ""}, nil) + auth.On("Authorize", mock.Anything, &magistrala.AuthorizeReq{Subject: invalidToken, Object: chanID, Namespace: "", SubjectType: "thing", Permission: "publish", ObjectType: "group"}).Return(&magistrala.AuthorizeRes{Authorized: true, Id: ""}, errors.ErrAuthentication) + auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: false, Id: ""}, nil) cases := map[string]struct { chanID string @@ -122,7 +110,7 @@ func TestSendMessage(t *testing.T) { }, } for desc, tc := range cases { - err := mfsdk.SendMessage(tc.chanID, tc.msg, tc.auth) + err := mgsdk.SendMessage(tc.chanID, tc.msg, tc.auth) switch tc.err { case nil: assert.Nil(t, err, fmt.Sprintf("%s: got unexpected error: %s", desc, err)) @@ -146,7 +134,7 @@ func TestSetContentType(t *testing.T) { MsgContentType: "application/senml+json", TLSVerification: false, } - mfsdk := sdk.NewSDK(sdkConf) + mgsdk := sdk.NewSDK(sdkConf) cases := []struct { desc string @@ -165,7 +153,7 @@ func TestSetContentType(t *testing.T) { }, } for _, tc := range cases { - err := mfsdk.SetContentType(tc.cType) + err := mgsdk.SetContentType(tc.cType) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) } } diff --git a/pkg/sdk/go/sdk.go b/pkg/sdk/go/sdk.go index 04e4d0523..7fe3f55b9 100644 --- a/pkg/sdk/go/sdk.go +++ b/pkg/sdk/go/sdk.go @@ -42,7 +42,7 @@ const ( // ContentType represents all possible content types. type ContentType string -var _ SDK = (*mfSDK)(nil) +var _ SDK = (*mgSDK)(nil) var ( // ErrFailedCreation indicates that entity creation failed. @@ -103,7 +103,7 @@ type Credentials struct { // SDK contains Magistrala API. type SDK interface { - // CreateUser registers mainflux user. + // CreateUser registers magistrala user. // // example: // user := sdk.User{ @@ -960,7 +960,7 @@ type SDK interface { DeleteSubscription(id, token string) errors.SDKError } -type mfSDK struct { +type mgSDK struct { bootstrapURL string certsURL string httpAdapterURL string @@ -987,9 +987,9 @@ type Config struct { TLSVerification bool } -// NewSDK returns new mainflux SDK instance. +// NewSDK returns new magistrala SDK instance. func NewSDK(conf Config) SDK { - return &mfSDK{ + return &mgSDK{ bootstrapURL: conf.BootstrapURL, certsURL: conf.CertsURL, httpAdapterURL: conf.HTTPAdapterURL, @@ -1011,7 +1011,7 @@ func NewSDK(conf Config) SDK { // processRequest creates and send a new HTTP request, and checks for errors in the HTTP response. // It then returns the response headers, the response body, and the associated error(s) (if any). -func (sdk mfSDK) processRequest(method, url, token string, data []byte, headers map[string]string, expectedRespCodes ...int) (http.Header, []byte, errors.SDKError) { +func (sdk mgSDK) processRequest(method, url, token string, data []byte, headers map[string]string, expectedRespCodes ...int) (http.Header, []byte, errors.SDKError) { req, err := http.NewRequest(method, url, bytes.NewReader(data)) if err != nil { return make(http.Header), []byte{}, errors.NewSDKError(err) @@ -1051,7 +1051,7 @@ func (sdk mfSDK) processRequest(method, url, token string, data []byte, headers return resp.Header, body, nil } -func (sdk mfSDK) withQueryParams(baseURL, endpoint string, pm PageMetadata) (string, error) { +func (sdk mgSDK) withQueryParams(baseURL, endpoint string, pm PageMetadata) (string, error) { q, err := pm.query() if err != nil { return "", err diff --git a/pkg/sdk/go/setup_test.go b/pkg/sdk/go/setup_test.go index b9a7ae5f5..8c51595e2 100644 --- a/pkg/sdk/go/setup_test.go +++ b/pkg/sdk/go/setup_test.go @@ -9,8 +9,8 @@ import ( "regexp" "testing" - mfclients "github.com/absmach/magistrala/pkg/clients" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mgclients "github.com/absmach/magistrala/pkg/clients" + mggroups "github.com/absmach/magistrala/pkg/groups" sdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/users/hasher" @@ -36,14 +36,14 @@ var ( Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: secret}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } thing = sdk.Thing{ Name: "thingname", Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: generateUUID(&testing.T{})}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } description = "shortdescription" gName = "groupname" @@ -65,20 +65,20 @@ func generateUUID(t *testing.T) string { return ulid } -func convertClientsPage(cp sdk.UsersPage) mfclients.ClientsPage { - return mfclients.ClientsPage{ +func convertClientsPage(cp sdk.UsersPage) mgclients.ClientsPage { + return mgclients.ClientsPage{ Clients: convertClients(cp.Users), } } -func convertThingsPage(cp sdk.ThingsPage) mfclients.ClientsPage { - return mfclients.ClientsPage{ +func convertThingsPage(cp sdk.ThingsPage) mgclients.ClientsPage { + return mgclients.ClientsPage{ Clients: convertThings(cp.Things), } } -func convertClients(cs []sdk.User) []mfclients.Client { - ccs := []mfclients.Client{} +func convertClients(cs []sdk.User) []mgclients.Client { + ccs := []mgclients.Client{} for _, c := range cs { ccs = append(ccs, convertClient(c)) @@ -87,8 +87,8 @@ func convertClients(cs []sdk.User) []mfclients.Client { return ccs } -func convertThings(cs []sdk.Thing) []mfclients.Client { - ccs := []mfclients.Client{} +func convertThings(cs []sdk.Thing) []mgclients.Client { + ccs := []mgclients.Client{} for _, c := range cs { ccs = append(ccs, convertThing(c)) @@ -97,8 +97,8 @@ func convertThings(cs []sdk.Thing) []mfclients.Client { return ccs } -func convertGroups(cs []sdk.Group) []mfgroups.Group { - cgs := []mfgroups.Group{} +func convertGroups(cs []sdk.Group) []mggroups.Group { + cgs := []mggroups.Group{} for _, c := range cs { cgs = append(cgs, convertGroup(c)) @@ -107,8 +107,8 @@ func convertGroups(cs []sdk.Group) []mfgroups.Group { return cgs } -func convertChannels(cs []sdk.Channel) []mfgroups.Group { - cgs := []mfgroups.Group{} +func convertChannels(cs []sdk.Channel) []mggroups.Group { + cgs := []mggroups.Group{} for _, c := range cs { cgs = append(cgs, convertChannel(c)) @@ -117,42 +117,42 @@ func convertChannels(cs []sdk.Channel) []mfgroups.Group { return cgs } -func convertClientPage(p sdk.PageMetadata) mfclients.Page { +func convertClientPage(p sdk.PageMetadata) mgclients.Page { if p.Status == "" { - p.Status = mfclients.EnabledStatus.String() + p.Status = mgclients.EnabledStatus.String() } - status, err := mfclients.ToStatus(p.Status) + status, err := mgclients.ToStatus(p.Status) if err != nil { - return mfclients.Page{} + return mgclients.Page{} } - return mfclients.Page{ + return mgclients.Page{ Status: status, Total: p.Total, Offset: p.Offset, Limit: p.Limit, Name: p.Name, Tag: p.Tag, - Metadata: mfclients.Metadata(p.Metadata), + Metadata: mgclients.Metadata(p.Metadata), } } -func convertGroup(g sdk.Group) mfgroups.Group { +func convertGroup(g sdk.Group) mggroups.Group { if g.Status == "" { - g.Status = mfclients.EnabledStatus.String() + g.Status = mgclients.EnabledStatus.String() } - status, err := mfclients.ToStatus(g.Status) + status, err := mgclients.ToStatus(g.Status) if err != nil { - return mfgroups.Group{} + return mggroups.Group{} } - return mfgroups.Group{ + return mggroups.Group{ ID: g.ID, Owner: g.OwnerID, Parent: g.ParentID, Name: g.Name, Description: g.Description, - Metadata: mfclients.Metadata(g.Metadata), + Metadata: mgclients.Metadata(g.Metadata), Level: g.Level, Path: g.Path, Children: convertChildren(g.Children), @@ -162,8 +162,8 @@ func convertGroup(g sdk.Group) mfgroups.Group { } } -func convertChildren(gs []*sdk.Group) []*mfgroups.Group { - cg := []*mfgroups.Group{} +func convertChildren(gs []*sdk.Group) []*mggroups.Group { + cg := []*mggroups.Group{} if len(gs) == 0 { return cg @@ -177,64 +177,64 @@ func convertChildren(gs []*sdk.Group) []*mfgroups.Group { return cg } -func convertClient(c sdk.User) mfclients.Client { +func convertClient(c sdk.User) mgclients.Client { if c.Status == "" { - c.Status = mfclients.EnabledStatus.String() + c.Status = mgclients.EnabledStatus.String() } - status, err := mfclients.ToStatus(c.Status) + status, err := mgclients.ToStatus(c.Status) if err != nil { - return mfclients.Client{} + return mgclients.Client{} } - return mfclients.Client{ + return mgclients.Client{ ID: c.ID, Name: c.Name, Tags: c.Tags, Owner: c.Owner, - Credentials: mfclients.Credentials(c.Credentials), - Metadata: mfclients.Metadata(c.Metadata), + Credentials: mgclients.Credentials(c.Credentials), + Metadata: mgclients.Metadata(c.Metadata), CreatedAt: c.CreatedAt, UpdatedAt: c.UpdatedAt, Status: status, } } -func convertThing(c sdk.Thing) mfclients.Client { +func convertThing(c sdk.Thing) mgclients.Client { if c.Status == "" { - c.Status = mfclients.EnabledStatus.String() + c.Status = mgclients.EnabledStatus.String() } - status, err := mfclients.ToStatus(c.Status) + status, err := mgclients.ToStatus(c.Status) if err != nil { - return mfclients.Client{} + return mgclients.Client{} } - return mfclients.Client{ + return mgclients.Client{ ID: c.ID, Name: c.Name, Tags: c.Tags, Owner: c.Owner, - Credentials: mfclients.Credentials(c.Credentials), - Metadata: mfclients.Metadata(c.Metadata), + Credentials: mgclients.Credentials(c.Credentials), + Metadata: mgclients.Metadata(c.Metadata), CreatedAt: c.CreatedAt, UpdatedAt: c.UpdatedAt, Status: status, } } -func convertChannel(g sdk.Channel) mfgroups.Group { +func convertChannel(g sdk.Channel) mggroups.Group { if g.Status == "" { - g.Status = mfclients.EnabledStatus.String() + g.Status = mgclients.EnabledStatus.String() } - status, err := mfclients.ToStatus(g.Status) + status, err := mgclients.ToStatus(g.Status) if err != nil { - return mfgroups.Group{} + return mggroups.Group{} } - return mfgroups.Group{ + return mggroups.Group{ ID: g.ID, Owner: g.OwnerID, Parent: g.ParentID, Name: g.Name, Description: g.Description, - Metadata: mfclients.Metadata(g.Metadata), + Metadata: mgclients.Metadata(g.Metadata), Level: g.Level, Path: g.Path, CreatedAt: g.CreatedAt, diff --git a/pkg/sdk/go/things.go b/pkg/sdk/go/things.go index 60881c30b..94ac9834c 100644 --- a/pkg/sdk/go/things.go +++ b/pkg/sdk/go/things.go @@ -21,7 +21,7 @@ const ( unshareEndpoint = "unshare" ) -// Thing represents mainflux thing. +// Thing represents magistrala thing. type Thing struct { ID string `json:"id"` Name string `json:"name,omitempty"` @@ -34,7 +34,7 @@ type Thing struct { Status string `json:"status,omitempty"` } -func (sdk mfSDK) CreateThing(thing Thing, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) CreateThing(thing Thing, token string) (Thing, errors.SDKError) { data, err := json.Marshal(thing) if err != nil { return Thing{}, errors.NewSDKError(err) @@ -55,7 +55,7 @@ func (sdk mfSDK) CreateThing(thing Thing, token string) (Thing, errors.SDKError) return thing, nil } -func (sdk mfSDK) CreateThings(things []Thing, token string) ([]Thing, errors.SDKError) { +func (sdk mgSDK) CreateThings(things []Thing, token string) ([]Thing, errors.SDKError) { data, err := json.Marshal(things) if err != nil { return []Thing{}, errors.NewSDKError(err) @@ -76,7 +76,7 @@ func (sdk mfSDK) CreateThings(things []Thing, token string) ([]Thing, errors.SDK return ctr.Things, nil } -func (sdk mfSDK) Things(pm PageMetadata, token string) (ThingsPage, errors.SDKError) { +func (sdk mgSDK) Things(pm PageMetadata, token string) (ThingsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.thingsURL, thingsEndpoint, pm) if err != nil { return ThingsPage{}, errors.NewSDKError(err) @@ -95,7 +95,7 @@ func (sdk mfSDK) Things(pm PageMetadata, token string) (ThingsPage, errors.SDKEr return cp, nil } -func (sdk mfSDK) ThingsByChannel(chanID string, pm PageMetadata, token string) (ThingsPage, errors.SDKError) { +func (sdk mgSDK) ThingsByChannel(chanID string, pm PageMetadata, token string) (ThingsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.thingsURL, fmt.Sprintf("channels/%s/%s", chanID, thingsEndpoint), pm) if err != nil { return ThingsPage{}, errors.NewSDKError(err) @@ -114,7 +114,7 @@ func (sdk mfSDK) ThingsByChannel(chanID string, pm PageMetadata, token string) ( return tp, nil } -func (sdk mfSDK) Thing(id, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) Thing(id, token string) (Thing, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.thingsURL, thingsEndpoint, id) _, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -130,7 +130,7 @@ func (sdk mfSDK) Thing(id, token string) (Thing, errors.SDKError) { return t, nil } -func (sdk mfSDK) UpdateThing(t Thing, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) UpdateThing(t Thing, token string) (Thing, errors.SDKError) { data, err := json.Marshal(t) if err != nil { return Thing{}, errors.NewSDKError(err) @@ -151,7 +151,7 @@ func (sdk mfSDK) UpdateThing(t Thing, token string) (Thing, errors.SDKError) { return t, nil } -func (sdk mfSDK) UpdateThingTags(t Thing, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) UpdateThingTags(t Thing, token string) (Thing, errors.SDKError) { data, err := json.Marshal(t) if err != nil { return Thing{}, errors.NewSDKError(err) @@ -172,7 +172,7 @@ func (sdk mfSDK) UpdateThingTags(t Thing, token string) (Thing, errors.SDKError) return t, nil } -func (sdk mfSDK) UpdateThingSecret(id, secret, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) UpdateThingSecret(id, secret, token string) (Thing, errors.SDKError) { ucsr := updateThingSecretReq{Secret: secret} data, err := json.Marshal(ucsr) @@ -195,7 +195,7 @@ func (sdk mfSDK) UpdateThingSecret(id, secret, token string) (Thing, errors.SDKE return t, nil } -func (sdk mfSDK) UpdateThingOwner(t Thing, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) UpdateThingOwner(t Thing, token string) (Thing, errors.SDKError) { data, err := json.Marshal(t) if err != nil { return Thing{}, errors.NewSDKError(err) @@ -216,15 +216,15 @@ func (sdk mfSDK) UpdateThingOwner(t Thing, token string) (Thing, errors.SDKError return t, nil } -func (sdk mfSDK) EnableThing(id, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) EnableThing(id, token string) (Thing, errors.SDKError) { return sdk.changeThingStatus(id, enableEndpoint, token) } -func (sdk mfSDK) DisableThing(id, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) DisableThing(id, token string) (Thing, errors.SDKError) { return sdk.changeThingStatus(id, disableEndpoint, token) } -func (sdk mfSDK) changeThingStatus(id, status, token string) (Thing, errors.SDKError) { +func (sdk mgSDK) changeThingStatus(id, status, token string) (Thing, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s/%s", sdk.thingsURL, thingsEndpoint, id, status) _, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusOK) @@ -240,7 +240,7 @@ func (sdk mfSDK) changeThingStatus(id, status, token string) (Thing, errors.SDKE return t, nil } -func (sdk mfSDK) IdentifyThing(key string) (string, errors.SDKError) { +func (sdk mgSDK) IdentifyThing(key string) (string, errors.SDKError) { url := fmt.Sprintf("%s/%s", sdk.thingsURL, identifyEndpoint) _, body, sdkerr := sdk.processRequest(http.MethodPost, url, ThingPrefix+key, nil, nil, http.StatusOK) @@ -256,7 +256,7 @@ func (sdk mfSDK) IdentifyThing(key string) (string, errors.SDKError) { return i.ID, nil } -func (sdk mfSDK) ShareThing(thingID string, req UsersRelationRequest, token string) errors.SDKError { +func (sdk mgSDK) ShareThing(thingID string, req UsersRelationRequest, token string) errors.SDKError { data, err := json.Marshal(req) if err != nil { return errors.NewSDKError(err) @@ -268,7 +268,7 @@ func (sdk mfSDK) ShareThing(thingID string, req UsersRelationRequest, token stri return sdkerr } -func (sdk mfSDK) UnshareThing(thingID string, req UsersRelationRequest, token string) errors.SDKError { +func (sdk mgSDK) UnshareThing(thingID string, req UsersRelationRequest, token string) errors.SDKError { data, err := json.Marshal(req) if err != nil { return errors.NewSDKError(err) @@ -280,7 +280,7 @@ func (sdk mfSDK) UnshareThing(thingID string, req UsersRelationRequest, token st return sdkerr } -func (sdk mfSDK) ListThingUsers(thingID string, pm PageMetadata, token string) (UsersPage, errors.SDKError) { +func (sdk mgSDK) ListThingUsers(thingID string, pm PageMetadata, token string) (UsersPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, fmt.Sprintf("%s/%s/%s", thingsEndpoint, thingID, usersEndpoint), pm) if err != nil { return UsersPage{}, errors.NewSDKError(err) diff --git a/pkg/sdk/go/things_test.go b/pkg/sdk/go/things_test.go index 851213923..81a43ce79 100644 --- a/pkg/sdk/go/things_test.go +++ b/pkg/sdk/go/things_test.go @@ -15,8 +15,8 @@ import ( "github.com/absmach/magistrala/internal/groups" gmocks "github.com/absmach/magistrala/internal/groups/mocks" "github.com/absmach/magistrala/internal/testsutil" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" sdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/things" @@ -41,7 +41,7 @@ func newThingsServer() (*httptest.Server, *mocks.Repository, *gmocks.Repository, csvc := things.NewService(auth, cRepo, gRepo, thingCache, idProvider) gsvc := groups.NewService(gRepo, idProvider, auth) - logger := mflog.NewMock() + logger := mglog.NewMock() mux := chi.NewRouter() api.MakeHandler(csvc, gsvc, mux, logger, "") @@ -54,12 +54,12 @@ func TestCreateThing(t *testing.T) { thing := sdk.Thing{ Name: "test", - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string @@ -153,7 +153,7 @@ func TestCreateThing(t *testing.T) { Metadata: validMetadata, CreatedAt: time.Now(), UpdatedAt: time.Now(), - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, response: sdk.Thing{ ID: id, @@ -164,7 +164,7 @@ func TestCreateThing(t *testing.T) { Metadata: validMetadata, CreatedAt: time.Now(), UpdatedAt: time.Now(), - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, token: token, repoErr: nil, @@ -173,7 +173,7 @@ func TestCreateThing(t *testing.T) { } for _, tc := range cases { repoCall := cRepo.On("Save", mock.Anything, mock.Anything).Return(tc.response, tc.repoErr) - rThing, err := mfsdk.CreateThing(tc.client, tc.token) + rThing, err := mgsdk.CreateThing(tc.client, tc.token) tc.response.ID = rThing.ID tc.response.Owner = rThing.Owner @@ -198,17 +198,17 @@ func TestCreateThings(t *testing.T) { things := []sdk.Thing{ { Name: "test", - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, { Name: "test2", - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, } conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string @@ -255,7 +255,7 @@ func TestCreateThings(t *testing.T) { } for _, tc := range cases { repoCall := cRepo.On("Save", mock.Anything, mock.Anything).Return(tc.response, tc.err) - rThing, err := mfsdk.CreateThings(tc.things, tc.token) + rThing, err := mgsdk.CreateThings(tc.things, tc.token) for i, t := range rThing { tc.response[i].ID = t.ID tc.response[i].Owner = t.Owner @@ -282,7 +282,7 @@ func TestListThings(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) owner := generateUUID(t) for i := 10; i < 100; i++ { @@ -294,11 +294,11 @@ func TestListThings(t *testing.T) { Secret: generateUUID(t), }, Metadata: sdk.Metadata{"name": fmt.Sprintf("thing_%d", i)}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } if i == 50 { th.Owner = owner - th.Status = mfclients.DisabledStatus.String() + th.Status = mgclients.DisabledStatus.String() th.Tags = []string{"tag1", "tag2"} } ths = append(ths, th) @@ -416,7 +416,7 @@ func TestListThings(t *testing.T) { token: adminToken, offset: 0, limit: 1, - status: mfclients.DisabledStatus.String(), + status: mgclients.DisabledStatus.String(), response: []sdk.Thing{ths[50]}, err: nil, }, @@ -443,8 +443,8 @@ func TestListThings(t *testing.T) { Tag: tc.tag, } - repoCall := cRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mfclients.ClientsPage{Page: convertClientPage(pm), Clients: convertThings(tc.response)}, tc.err) - page, err := mfsdk.Things(pm, adminToken) + repoCall := cRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mgclients.ClientsPage{Page: convertClientPage(pm), Clients: convertThings(tc.response)}, tc.err) + page, err := mgsdk.Things(pm, adminToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, page.Things, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page)) repoCall.Unset() @@ -458,7 +458,7 @@ func TestListThingsByChannel(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) nThing := uint64(10) aThings := []sdk.Thing{} @@ -471,7 +471,7 @@ func TestListThingsByChannel(t *testing.T) { }, Tags: []string{"tag1", "tag2"}, Metadata: sdk.Metadata{"role": "client"}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } aThings = append(aThings, thing) } @@ -571,8 +571,8 @@ func TestListThingsByChannel(t *testing.T) { } for _, tc := range cases { - repoCall := cRepo.On("Members", mock.Anything, tc.channelID, mock.Anything).Return(mfclients.MembersPage{Members: convertThings(tc.response)}, tc.err) - membersPage, err := mfsdk.ThingsByChannel(tc.channelID, tc.page, tc.token) + repoCall := cRepo.On("Members", mock.Anything, tc.channelID, mock.Anything).Return(mgclients.MembersPage{Members: convertThings(tc.response)}, tc.err) + membersPage, err := mgsdk.ThingsByChannel(tc.channelID, tc.page, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, membersPage.Things, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, membersPage.Things)) if tc.err == nil { @@ -592,12 +592,12 @@ func TestThing(t *testing.T) { Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: generateUUID(t)}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string @@ -638,7 +638,7 @@ func TestThing(t *testing.T) { for _, tc := range cases { repoCall1 := cRepo.On("RetrieveByID", mock.Anything, tc.thingID).Return(convertThing(tc.response), tc.err) - rClient, err := mfsdk.Thing(tc.thingID, tc.token) + rClient, err := mgsdk.Thing(tc.thingID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, rClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, rClient)) if tc.err == nil { @@ -656,14 +656,14 @@ func TestUpdateThing(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) thing := sdk.Thing{ ID: generateUUID(t), Name: "clientname", Credentials: sdk.Credentials{Secret: generateUUID(t)}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } thing1 := thing @@ -717,7 +717,7 @@ func TestUpdateThing(t *testing.T) { for _, tc := range cases { repoCall1 := cRepo.On("Update", mock.Anything, mock.Anything).Return(convertThing(tc.response), tc.err) - uClient, err := mfsdk.UpdateThing(tc.thing, tc.token) + uClient, err := mgsdk.UpdateThing(tc.thing, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -735,14 +735,14 @@ func TestUpdateThingTags(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) thing := sdk.Thing{ ID: generateUUID(t), Name: "clientname", Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Secret: generateUUID(t)}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } thing1 := thing @@ -795,7 +795,7 @@ func TestUpdateThingTags(t *testing.T) { for _, tc := range cases { repoCall1 := cRepo.On("UpdateTags", mock.Anything, mock.Anything).Return(convertThing(tc.response), tc.err) - uClient, err := mfsdk.UpdateThingTags(tc.thing, tc.token) + uClient, err := mgsdk.UpdateThingTags(tc.thing, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -813,7 +813,7 @@ func TestUpdateThingSecret(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) user.ID = generateUUID(t) rthing := thing @@ -858,7 +858,7 @@ func TestUpdateThingSecret(t *testing.T) { } for _, tc := range cases { repoCall1 := cRepo.On("UpdateSecret", mock.Anything, mock.Anything).Return(convertThing(tc.response), tc.repoErr) - uClient, err := mfsdk.UpdateThingSecret(tc.oldSecret, tc.newSecret, tc.token) + uClient, err := mgsdk.UpdateThingSecret(tc.oldSecret, tc.newSecret, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -876,7 +876,7 @@ func TestUpdateThingOwner(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) thing = sdk.Thing{ ID: generateUUID(t), @@ -884,7 +884,7 @@ func TestUpdateThingOwner(t *testing.T) { Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: generateUUID(t)}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), Owner: "owner", } @@ -935,7 +935,7 @@ func TestUpdateThingOwner(t *testing.T) { for _, tc := range cases { repoCall1 := cRepo.On("UpdateOwner", mock.Anything, mock.Anything).Return(convertThing(tc.response), tc.err) - uClient, err := mfsdk.UpdateThingOwner(tc.thing, tc.token) + uClient, err := mgsdk.UpdateThingOwner(tc.thing, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -953,12 +953,12 @@ func TestEnableThing(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) - enabledThing1 := sdk.Thing{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client1@example.com", Secret: generateUUID(t)}, Status: mfclients.EnabledStatus.String()} - disabledThing1 := sdk.Thing{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client3@example.com", Secret: generateUUID(t)}, Status: mfclients.DisabledStatus.String()} + enabledThing1 := sdk.Thing{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client1@example.com", Secret: generateUUID(t)}, Status: mgclients.EnabledStatus.String()} + disabledThing1 := sdk.Thing{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client3@example.com", Secret: generateUUID(t)}, Status: mgclients.DisabledStatus.String()} endisabledThing1 := disabledThing1 - endisabledThing1.Status = mfclients.EnabledStatus.String() + endisabledThing1.Status = mgclients.EnabledStatus.String() endisabledThing1.ID = testsutil.GenerateUUID(t) cases := []struct { @@ -1002,7 +1002,7 @@ func TestEnableThing(t *testing.T) { for _, tc := range cases { repoCall1 := cRepo.On("RetrieveByID", mock.Anything, tc.id).Return(convertThing(tc.thing), tc.repoErr) repoCall2 := cRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(convertThing(tc.response), tc.repoErr) - eClient, err := mfsdk.EnableThing(tc.id, tc.token) + eClient, err := mgsdk.EnableThing(tc.id, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, eClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, eClient)) if tc.err == nil { @@ -1025,7 +1025,7 @@ func TestEnableThing(t *testing.T) { }{ { desc: "list enabled clients", - status: mfclients.EnabledStatus.String(), + status: mgclients.EnabledStatus.String(), size: 2, response: sdk.ThingsPage{ Things: []sdk.Thing{enabledThing1, endisabledThing1}, @@ -1033,7 +1033,7 @@ func TestEnableThing(t *testing.T) { }, { desc: "list disabled clients", - status: mfclients.DisabledStatus.String(), + status: mgclients.DisabledStatus.String(), size: 1, response: sdk.ThingsPage{ Things: []sdk.Thing{disabledThing1}, @@ -1041,7 +1041,7 @@ func TestEnableThing(t *testing.T) { }, { desc: "list enabled and disabled clients", - status: mfclients.AllStatus.String(), + status: mgclients.AllStatus.String(), size: 3, response: sdk.ThingsPage{ Things: []sdk.Thing{enabledThing1, disabledThing1, endisabledThing1}, @@ -1058,7 +1058,7 @@ func TestEnableThing(t *testing.T) { } repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(convertThingsPage(tc.response), nil) - clientsPage, err := mfsdk.Things(pm, adminToken) + clientsPage, err := mgsdk.Things(pm, adminToken) assert.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) size := uint64(len(clientsPage.Things)) assert.Equal(t, tc.size, size, fmt.Sprintf("%s: expected size %d got %d\n", tc.desc, tc.size, size)) @@ -1074,12 +1074,12 @@ func TestDisableThing(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) - enabledThing1 := sdk.Thing{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client1@example.com", Secret: generateUUID(t)}, Status: mfclients.EnabledStatus.String()} - disabledThing1 := sdk.Thing{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client3@example.com", Secret: generateUUID(t)}, Status: mfclients.DisabledStatus.String()} + enabledThing1 := sdk.Thing{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client1@example.com", Secret: generateUUID(t)}, Status: mgclients.EnabledStatus.String()} + disabledThing1 := sdk.Thing{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client3@example.com", Secret: generateUUID(t)}, Status: mgclients.DisabledStatus.String()} disenabledThing1 := enabledThing1 - disenabledThing1.Status = mfclients.DisabledStatus.String() + disenabledThing1.Status = mgclients.DisabledStatus.String() disenabledThing1.ID = testsutil.GenerateUUID(t) cases := []struct { @@ -1123,7 +1123,7 @@ func TestDisableThing(t *testing.T) { for _, tc := range cases { repoCall1 := cRepo.On("RetrieveByID", mock.Anything, tc.id).Return(convertThing(tc.thing), tc.repoErr) repoCall2 := cRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(convertThing(tc.response), tc.repoErr) - dThing, err := mfsdk.DisableThing(tc.id, tc.token) + dThing, err := mgsdk.DisableThing(tc.id, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, dThing, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, dThing)) if tc.err == nil { @@ -1146,7 +1146,7 @@ func TestDisableThing(t *testing.T) { }{ { desc: "list enabled things", - status: mfclients.EnabledStatus.String(), + status: mgclients.EnabledStatus.String(), size: 2, response: sdk.ThingsPage{ Things: []sdk.Thing{enabledThing1, disenabledThing1}, @@ -1154,7 +1154,7 @@ func TestDisableThing(t *testing.T) { }, { desc: "list disabled things", - status: mfclients.DisabledStatus.String(), + status: mgclients.DisabledStatus.String(), size: 1, response: sdk.ThingsPage{ Things: []sdk.Thing{disabledThing1}, @@ -1162,7 +1162,7 @@ func TestDisableThing(t *testing.T) { }, { desc: "list enabled and disabled things", - status: mfclients.AllStatus.String(), + status: mgclients.AllStatus.String(), size: 3, response: sdk.ThingsPage{ Things: []sdk.Thing{enabledThing1, disabledThing1, disenabledThing1}, @@ -1179,7 +1179,7 @@ func TestDisableThing(t *testing.T) { } repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(convertThingsPage(tc.response), nil) - page, err := mfsdk.Things(pm, adminToken) + page, err := mgsdk.Things(pm, adminToken) assert.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) size := uint64(len(page.Things)) assert.Equal(t, tc.size, size, fmt.Sprintf("%s: expected size %d got %d\n", tc.desc, tc.size, size)) @@ -1195,13 +1195,13 @@ func TestIdentify(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) thing = sdk.Thing{ ID: generateUUID(t), Name: "clientname", Credentials: sdk.Credentials{Identity: "clientidentity", Secret: generateUUID(t)}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } cases := []struct { @@ -1229,7 +1229,7 @@ func TestIdentify(t *testing.T) { for _, tc := range cases { repoCall := cRepo.On("RetrieveBySecret", mock.Anything, mock.Anything).Return(convertThing(thing), tc.repoErr) - id, err := mfsdk.IdentifyThing(tc.secret) + id, err := mgsdk.IdentifyThing(tc.secret) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, id, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, id)) if tc.err == nil { @@ -1248,7 +1248,7 @@ func TestShareThing(t *testing.T) { conf := sdk.Config{ ThingsURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string @@ -1287,7 +1287,7 @@ func TestShareThing(t *testing.T) { Relation: "viewer", UserIDs: []string{tc.channelID}, } - err := mfsdk.ShareThing(tc.thingID, req, tc.token) + err := mgsdk.ShareThing(tc.thingID, req, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) } } diff --git a/pkg/sdk/go/tokens.go b/pkg/sdk/go/tokens.go index b0d777710..634f71794 100644 --- a/pkg/sdk/go/tokens.go +++ b/pkg/sdk/go/tokens.go @@ -19,7 +19,7 @@ type Token struct { AccessType string `json:"access_type,omitempty"` } -func (sdk mfSDK) CreateToken(user User) (Token, errors.SDKError) { +func (sdk mgSDK) CreateToken(user User) (Token, errors.SDKError) { treq := tokenReq{ Identity: user.Credentials.Identity, Secret: user.Credentials.Secret, @@ -43,7 +43,7 @@ func (sdk mfSDK) CreateToken(user User) (Token, errors.SDKError) { return token, nil } -func (sdk mfSDK) RefreshToken(token string) (Token, errors.SDKError) { +func (sdk mgSDK) RefreshToken(token string) (Token, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, usersEndpoint, refreshTokenEndpoint) _, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, []byte{}, nil, http.StatusCreated) diff --git a/pkg/sdk/go/tokens_test.go b/pkg/sdk/go/tokens_test.go index 4603eff8d..c1a104a6c 100644 --- a/pkg/sdk/go/tokens_test.go +++ b/pkg/sdk/go/tokens_test.go @@ -22,7 +22,7 @@ func TestIssueToken(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) client := sdk.User{ ID: generateUUID(t), @@ -69,7 +69,7 @@ func TestIssueToken(t *testing.T) { } for _, tc := range cases { repoCall := cRepo.On("RetrieveByIdentity", mock.Anything, mock.Anything).Return(convertClient(tc.dbClient), tc.err) - token, err := mfsdk.CreateToken(tc.client) + token, err := mgsdk.CreateToken(tc.client) switch tc.err { case nil: assert.NotEmpty(t, token, fmt.Sprintf("%s: expected token, got empty", tc.desc)) @@ -89,7 +89,7 @@ func TestRefreshToken(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) user := sdk.User{ ID: generateUUID(t), @@ -126,7 +126,7 @@ func TestRefreshToken(t *testing.T) { } for _, tc := range cases { repoCall := cRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(convertClient(user), tc.err) - _, err := mfsdk.RefreshToken(tc.token) + _, err := mgsdk.RefreshToken(tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) if tc.err == nil { assert.NotEmpty(t, token, fmt.Sprintf("%s: expected token, got empty", tc.desc)) diff --git a/pkg/sdk/go/users.go b/pkg/sdk/go/users.go index eb6bab2e7..5702dc505 100644 --- a/pkg/sdk/go/users.go +++ b/pkg/sdk/go/users.go @@ -24,7 +24,7 @@ const ( PasswordResetEndpoint = "password" ) -// User represents mainflux user its credentials. +// User represents magistrala user its credentials. type User struct { ID string `json:"id"` Name string `json:"name,omitempty"` @@ -38,7 +38,7 @@ type User struct { Role string `json:"role,omitempty"` } -func (sdk mfSDK) CreateUser(user User, token string) (User, errors.SDKError) { +func (sdk mgSDK) CreateUser(user User, token string) (User, errors.SDKError) { data, err := json.Marshal(user) if err != nil { return User{}, errors.NewSDKError(err) @@ -59,7 +59,7 @@ func (sdk mfSDK) CreateUser(user User, token string) (User, errors.SDKError) { return user, nil } -func (sdk mfSDK) Users(pm PageMetadata, token string) (UsersPage, errors.SDKError) { +func (sdk mgSDK) Users(pm PageMetadata, token string) (UsersPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, usersEndpoint, pm) if err != nil { return UsersPage{}, errors.NewSDKError(err) @@ -78,7 +78,7 @@ func (sdk mfSDK) Users(pm PageMetadata, token string) (UsersPage, errors.SDKErro return cp, nil } -func (sdk mfSDK) Members(groupID string, meta PageMetadata, token string) (MembersPage, errors.SDKError) { +func (sdk mgSDK) Members(groupID string, meta PageMetadata, token string) (MembersPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, fmt.Sprintf("%s/%s/%s", groupsEndpoint, groupID, membersEndpoint), meta) if err != nil { return MembersPage{}, errors.NewSDKError(err) @@ -97,7 +97,7 @@ func (sdk mfSDK) Members(groupID string, meta PageMetadata, token string) (Membe return mp, nil } -func (sdk mfSDK) User(id, token string) (User, errors.SDKError) { +func (sdk mgSDK) User(id, token string) (User, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, usersEndpoint, id) _, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -113,7 +113,7 @@ func (sdk mfSDK) User(id, token string) (User, errors.SDKError) { return user, nil } -func (sdk mfSDK) UserProfile(token string) (User, errors.SDKError) { +func (sdk mgSDK) UserProfile(token string) (User, errors.SDKError) { url := fmt.Sprintf("%s/%s/profile", sdk.usersURL, usersEndpoint) _, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK) @@ -129,7 +129,7 @@ func (sdk mfSDK) UserProfile(token string) (User, errors.SDKError) { return user, nil } -func (sdk mfSDK) UpdateUser(user User, token string) (User, errors.SDKError) { +func (sdk mgSDK) UpdateUser(user User, token string) (User, errors.SDKError) { data, err := json.Marshal(user) if err != nil { return User{}, errors.NewSDKError(err) @@ -150,7 +150,7 @@ func (sdk mfSDK) UpdateUser(user User, token string) (User, errors.SDKError) { return user, nil } -func (sdk mfSDK) UpdateUserTags(user User, token string) (User, errors.SDKError) { +func (sdk mgSDK) UpdateUserTags(user User, token string) (User, errors.SDKError) { data, err := json.Marshal(user) if err != nil { return User{}, errors.NewSDKError(err) @@ -171,7 +171,7 @@ func (sdk mfSDK) UpdateUserTags(user User, token string) (User, errors.SDKError) return user, nil } -func (sdk mfSDK) UpdateUserIdentity(user User, token string) (User, errors.SDKError) { +func (sdk mgSDK) UpdateUserIdentity(user User, token string) (User, errors.SDKError) { ucir := updateClientIdentityReq{token: token, id: user.ID, Identity: user.Credentials.Identity} data, err := json.Marshal(ucir) @@ -194,7 +194,7 @@ func (sdk mfSDK) UpdateUserIdentity(user User, token string) (User, errors.SDKEr return user, nil } -func (sdk mfSDK) ResetPasswordRequest(email string) errors.SDKError { +func (sdk mgSDK) ResetPasswordRequest(email string) errors.SDKError { rpr := resetPasswordRequestreq{Email: email} data, err := json.Marshal(rpr) @@ -211,7 +211,7 @@ func (sdk mfSDK) ResetPasswordRequest(email string) errors.SDKError { return sdkerr } -func (sdk mfSDK) ResetPassword(password, confPass, token string) errors.SDKError { +func (sdk mgSDK) ResetPassword(password, confPass, token string) errors.SDKError { rpr := resetPasswordReq{Token: token, Password: password, ConfPass: confPass} data, err := json.Marshal(rpr) @@ -225,7 +225,7 @@ func (sdk mfSDK) ResetPassword(password, confPass, token string) errors.SDKError return sdkerr } -func (sdk mfSDK) UpdatePassword(oldPass, newPass, token string) (User, errors.SDKError) { +func (sdk mgSDK) UpdatePassword(oldPass, newPass, token string) (User, errors.SDKError) { ucsr := updateClientSecretReq{OldSecret: oldPass, NewSecret: newPass} data, err := json.Marshal(ucsr) @@ -248,7 +248,7 @@ func (sdk mfSDK) UpdatePassword(oldPass, newPass, token string) (User, errors.SD return user, nil } -func (sdk mfSDK) UpdateUserOwner(user User, token string) (User, errors.SDKError) { +func (sdk mgSDK) UpdateUserOwner(user User, token string) (User, errors.SDKError) { data, err := json.Marshal(user) if err != nil { return User{}, errors.NewSDKError(err) @@ -269,7 +269,7 @@ func (sdk mfSDK) UpdateUserOwner(user User, token string) (User, errors.SDKError return user, nil } -func (sdk mfSDK) ListUserChannels(userID string, pm PageMetadata, token string) (ChannelsPage, errors.SDKError) { +func (sdk mgSDK) ListUserChannels(userID string, pm PageMetadata, token string) (ChannelsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.thingsURL, fmt.Sprintf("%s/%s/%s", usersEndpoint, userID, channelsEndpoint), pm) if err != nil { return ChannelsPage{}, errors.NewSDKError(err) @@ -287,7 +287,7 @@ func (sdk mfSDK) ListUserChannels(userID string, pm PageMetadata, token string) return cp, nil } -func (sdk mfSDK) ListUserGroups(userID string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { +func (sdk mgSDK) ListUserGroups(userID string, pm PageMetadata, token string) (GroupsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.usersURL, fmt.Sprintf("%s/%s/%s", usersEndpoint, userID, groupsEndpoint), pm) if err != nil { return GroupsPage{}, errors.NewSDKError(err) @@ -304,7 +304,7 @@ func (sdk mfSDK) ListUserGroups(userID string, pm PageMetadata, token string) (G return gp, nil } -func (sdk mfSDK) ListUserThings(userID string, pm PageMetadata, token string) (ThingsPage, errors.SDKError) { +func (sdk mgSDK) ListUserThings(userID string, pm PageMetadata, token string) (ThingsPage, errors.SDKError) { url, err := sdk.withQueryParams(sdk.thingsURL, fmt.Sprintf("%s/%s/%s", usersEndpoint, userID, thingsEndpoint), pm) if err != nil { return ThingsPage{}, errors.NewSDKError(err) @@ -321,15 +321,15 @@ func (sdk mfSDK) ListUserThings(userID string, pm PageMetadata, token string) (T return tp, nil } -func (sdk mfSDK) EnableUser(id, token string) (User, errors.SDKError) { +func (sdk mgSDK) EnableUser(id, token string) (User, errors.SDKError) { return sdk.changeClientStatus(token, id, enableEndpoint) } -func (sdk mfSDK) DisableUser(id, token string) (User, errors.SDKError) { +func (sdk mgSDK) DisableUser(id, token string) (User, errors.SDKError) { return sdk.changeClientStatus(token, id, disableEndpoint) } -func (sdk mfSDK) changeClientStatus(token, id, status string) (User, errors.SDKError) { +func (sdk mgSDK) changeClientStatus(token, id, status string) (User, errors.SDKError) { url := fmt.Sprintf("%s/%s/%s/%s", sdk.usersURL, usersEndpoint, id, status) _, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusOK) diff --git a/pkg/sdk/go/users_test.go b/pkg/sdk/go/users_test.go index 21ae3884e..5adaf7631 100644 --- a/pkg/sdk/go/users_test.go +++ b/pkg/sdk/go/users_test.go @@ -15,8 +15,8 @@ import ( "github.com/absmach/magistrala/internal/groups" gmocks "github.com/absmach/magistrala/internal/groups/mocks" "github.com/absmach/magistrala/internal/testsutil" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" sdk "github.com/absmach/magistrala/pkg/sdk/go" "github.com/absmach/magistrala/users" @@ -40,7 +40,7 @@ func newClientServer() (*httptest.Server, *mocks.Repository, *gmocks.Repository, csvc := users.NewService(cRepo, auth, emailer, phasher, idProvider, passRegex) gsvc := groups.NewService(gRepo, idProvider, auth) - logger := mflog.NewMock() + logger := mglog.NewMock() mux := chi.NewRouter() api.MakeHandler(csvc, gsvc, mux, logger, "") @@ -53,12 +53,12 @@ func TestCreateClient(t *testing.T) { user := sdk.User{ Credentials: sdk.Credentials{Identity: "admin@example.com", Secret: "secret"}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string @@ -157,7 +157,7 @@ func TestCreateClient(t *testing.T) { Metadata: validMetadata, CreatedAt: time.Now(), UpdatedAt: time.Now(), - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, response: sdk.User{ ID: id, @@ -168,7 +168,7 @@ func TestCreateClient(t *testing.T) { Metadata: validMetadata, CreatedAt: time.Now(), UpdatedAt: time.Now(), - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), }, token: token, err: nil, @@ -176,7 +176,7 @@ func TestCreateClient(t *testing.T) { } for _, tc := range cases { repoCall := cRepo.On("Save", mock.Anything, mock.Anything).Return(tc.response, tc.err) - rClient, err := mfsdk.CreateUser(tc.client, tc.token) + rClient, err := mgsdk.CreateUser(tc.client, tc.token) tc.response.ID = rClient.ID tc.response.Owner = rClient.Owner tc.response.CreatedAt = rClient.CreatedAt @@ -200,7 +200,7 @@ func TestListClients(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) for i := 10; i < 100; i++ { cl := sdk.User{ @@ -211,11 +211,11 @@ func TestListClients(t *testing.T) { Secret: fmt.Sprintf("password_%d", i), }, Metadata: sdk.Metadata{"name": fmt.Sprintf("client_%d", i)}, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } if i == 50 { cl.Owner = "clientowner" - cl.Status = mfclients.DisabledStatus.String() + cl.Status = mgclients.DisabledStatus.String() cl.Tags = []string{"tag1", "tag2"} } cls = append(cls, cl) @@ -333,7 +333,7 @@ func TestListClients(t *testing.T) { token: validToken, offset: 0, limit: 1, - status: mfclients.DisabledStatus.String(), + status: mgclients.DisabledStatus.String(), response: []sdk.User{cls[50]}, err: nil, }, @@ -361,8 +361,8 @@ func TestListClients(t *testing.T) { } repoCall1 := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(errors.ErrAuthorization) - repoCall2 := cRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mfclients.ClientsPage{Page: convertClientPage(pm), Clients: convertClients(tc.response)}, tc.err) - page, err := mfsdk.Users(pm, validToken) + repoCall2 := cRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(mgclients.ClientsPage{Page: convertClientPage(pm), Clients: convertClients(tc.response)}, tc.err) + page, err := mgsdk.Users(pm, validToken) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, page.Users, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page)) repoCall1.Unset() @@ -379,12 +379,12 @@ func TestClient(t *testing.T) { Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: secret}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string @@ -427,7 +427,7 @@ func TestClient(t *testing.T) { repoCall := auth.On("Evaluate", mock.Anything, mock.Anything, mock.Anything).Return(nil) repoCall1 := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall2 := cRepo.On("RetrieveByID", mock.Anything, tc.clientID).Return(convertClient(tc.response), tc.err) - rClient, err := mfsdk.User(tc.clientID, tc.token) + rClient, err := mgsdk.User(tc.clientID, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) tc.response.Credentials.Secret = "" assert.Equal(t, tc.response, rClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, rClient)) @@ -452,12 +452,12 @@ func TestProfile(t *testing.T) { Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: secret}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) cases := []struct { desc string @@ -481,7 +481,7 @@ func TestProfile(t *testing.T) { for _, tc := range cases { repoCall := cRepo.On("RetrieveByID", mock.Anything, mock.Anything).Return(convertClient(tc.response), tc.err) - rClient, err := mfsdk.UserProfile(tc.token) + rClient, err := mgsdk.UserProfile(tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) tc.response.Credentials.Secret = "" assert.Equal(t, tc.response, rClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, rClient)) @@ -500,7 +500,7 @@ func TestUpdateClient(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) user = sdk.User{ ID: generateUUID(t), @@ -508,7 +508,7 @@ func TestUpdateClient(t *testing.T) { Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: secret}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } client1 := user @@ -566,7 +566,7 @@ func TestUpdateClient(t *testing.T) { for _, tc := range cases { repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("Update", mock.Anything, mock.Anything).Return(convertClient(tc.response), tc.err) - uClient, err := mfsdk.UpdateUser(tc.client, tc.token) + uClient, err := mgsdk.UpdateUser(tc.client, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -587,7 +587,7 @@ func TestUpdateClientTags(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) user = sdk.User{ ID: generateUUID(t), @@ -595,7 +595,7 @@ func TestUpdateClientTags(t *testing.T) { Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: secret}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } client1 := user @@ -653,7 +653,7 @@ func TestUpdateClientTags(t *testing.T) { for _, tc := range cases { repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("UpdateTags", mock.Anything, mock.Anything).Return(convertClient(tc.response), tc.err) - uClient, err := mfsdk.UpdateUserTags(tc.client, tc.token) + uClient, err := mgsdk.UpdateUserTags(tc.client, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -674,7 +674,7 @@ func TestUpdateClientIdentity(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) user = sdk.User{ ID: generateUUID(t), @@ -682,7 +682,7 @@ func TestUpdateClientIdentity(t *testing.T) { Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "updatedclientidentity", Secret: secret}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), } client2 := user @@ -738,7 +738,7 @@ func TestUpdateClientIdentity(t *testing.T) { for _, tc := range cases { repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("UpdateIdentity", mock.Anything, mock.Anything).Return(convertClient(tc.response), tc.err) - uClient, err := mfsdk.UpdateUserIdentity(tc.client, tc.token) + uClient, err := mgsdk.UpdateUserIdentity(tc.client, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -759,7 +759,7 @@ func TestUpdateClientSecret(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) user.ID = generateUUID(t) rclient := user @@ -807,7 +807,7 @@ func TestUpdateClientSecret(t *testing.T) { repoCall := cRepo.On("RetrieveByID", mock.Anything, user.ID).Return(convertClient(tc.response), tc.repoErr) repoCall1 := cRepo.On("RetrieveByIdentity", mock.Anything, user.Credentials.Identity).Return(convertClient(tc.response), tc.repoErr) repoCall2 := cRepo.On("UpdateSecret", mock.Anything, mock.Anything).Return(convertClient(tc.response), tc.repoErr) - uClient, err := mfsdk.UpdatePassword(tc.oldSecret, tc.newSecret, tc.token) + uClient, err := mgsdk.UpdatePassword(tc.oldSecret, tc.newSecret, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -831,7 +831,7 @@ func TestUpdateClientOwner(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) user = sdk.User{ ID: generateUUID(t), @@ -839,7 +839,7 @@ func TestUpdateClientOwner(t *testing.T) { Tags: []string{"tag1", "tag2"}, Credentials: sdk.Credentials{Identity: "clientidentity", Secret: secret}, Metadata: validMetadata, - Status: mfclients.EnabledStatus.String(), + Status: mgclients.EnabledStatus.String(), Owner: "owner", } @@ -894,7 +894,7 @@ func TestUpdateClientOwner(t *testing.T) { for _, tc := range cases { repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("UpdateOwner", mock.Anything, mock.Anything).Return(convertClient(tc.response), tc.err) - uClient, err := mfsdk.UpdateUserOwner(tc.client, tc.token) + uClient, err := mgsdk.UpdateUserOwner(tc.client, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, uClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, uClient)) if tc.err == nil { @@ -915,12 +915,12 @@ func TestEnableClient(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) - enabledClient1 := sdk.User{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mfclients.EnabledStatus.String()} - disabledClient1 := sdk.User{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mfclients.DisabledStatus.String()} + enabledClient1 := sdk.User{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mgclients.EnabledStatus.String()} + disabledClient1 := sdk.User{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mgclients.DisabledStatus.String()} endisabledClient1 := disabledClient1 - endisabledClient1.Status = mfclients.EnabledStatus.String() + endisabledClient1.Status = mgclients.EnabledStatus.String() endisabledClient1.ID = testsutil.GenerateUUID(t) cases := []struct { @@ -965,7 +965,7 @@ func TestEnableClient(t *testing.T) { repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("RetrieveByID", mock.Anything, tc.id).Return(convertClient(tc.client), tc.repoErr) repoCall2 := cRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(convertClient(tc.response), tc.repoErr) - eClient, err := mfsdk.EnableUser(tc.id, tc.token) + eClient, err := mgsdk.EnableUser(tc.id, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, eClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, eClient)) if tc.err == nil { @@ -991,7 +991,7 @@ func TestEnableClient(t *testing.T) { }{ { desc: "list enabled clients", - status: mfclients.EnabledStatus.String(), + status: mgclients.EnabledStatus.String(), size: 2, response: sdk.UsersPage{ Users: []sdk.User{enabledClient1, endisabledClient1}, @@ -999,7 +999,7 @@ func TestEnableClient(t *testing.T) { }, { desc: "list disabled clients", - status: mfclients.DisabledStatus.String(), + status: mgclients.DisabledStatus.String(), size: 1, response: sdk.UsersPage{ Users: []sdk.User{disabledClient1}, @@ -1007,7 +1007,7 @@ func TestEnableClient(t *testing.T) { }, { desc: "list enabled and disabled clients", - status: mfclients.AllStatus.String(), + status: mgclients.AllStatus.String(), size: 3, response: sdk.UsersPage{ Users: []sdk.User{enabledClient1, disabledClient1, endisabledClient1}, @@ -1024,7 +1024,7 @@ func TestEnableClient(t *testing.T) { } repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(convertClientsPage(tc.response), nil) - clientsPage, err := mfsdk.Users(pm, validToken) + clientsPage, err := mgsdk.Users(pm, validToken) assert.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) size := uint64(len(clientsPage.Users)) assert.Equal(t, tc.size, size, fmt.Sprintf("%s: expected size %d got %d\n", tc.desc, tc.size, size)) @@ -1040,12 +1040,12 @@ func TestDisableClient(t *testing.T) { conf := sdk.Config{ UsersURL: ts.URL, } - mfsdk := sdk.NewSDK(conf) + mgsdk := sdk.NewSDK(conf) - enabledClient1 := sdk.User{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mfclients.EnabledStatus.String()} - disabledClient1 := sdk.User{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mfclients.DisabledStatus.String()} + enabledClient1 := sdk.User{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mgclients.EnabledStatus.String()} + disabledClient1 := sdk.User{ID: testsutil.GenerateUUID(t), Credentials: sdk.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mgclients.DisabledStatus.String()} disenabledClient1 := enabledClient1 - disenabledClient1.Status = mfclients.DisabledStatus.String() + disenabledClient1.Status = mgclients.DisabledStatus.String() disenabledClient1.ID = testsutil.GenerateUUID(t) cases := []struct { @@ -1090,7 +1090,7 @@ func TestDisableClient(t *testing.T) { repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("RetrieveByID", mock.Anything, tc.id).Return(convertClient(tc.client), tc.repoErr) repoCall2 := cRepo.On("ChangeStatus", mock.Anything, mock.Anything).Return(convertClient(tc.response), tc.repoErr) - dClient, err := mfsdk.DisableUser(tc.id, tc.token) + dClient, err := mgsdk.DisableUser(tc.id, tc.token) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected error %s, got %s", tc.desc, tc.err, err)) assert.Equal(t, tc.response, dClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, dClient)) if tc.err == nil { @@ -1116,7 +1116,7 @@ func TestDisableClient(t *testing.T) { }{ { desc: "list enabled clients", - status: mfclients.EnabledStatus.String(), + status: mgclients.EnabledStatus.String(), size: 2, response: sdk.UsersPage{ Users: []sdk.User{enabledClient1, disenabledClient1}, @@ -1124,7 +1124,7 @@ func TestDisableClient(t *testing.T) { }, { desc: "list disabled clients", - status: mfclients.DisabledStatus.String(), + status: mgclients.DisabledStatus.String(), size: 1, response: sdk.UsersPage{ Users: []sdk.User{disabledClient1}, @@ -1132,7 +1132,7 @@ func TestDisableClient(t *testing.T) { }, { desc: "list enabled and disabled clients", - status: mfclients.AllStatus.String(), + status: mgclients.AllStatus.String(), size: 3, response: sdk.UsersPage{ Users: []sdk.User{enabledClient1, disabledClient1, disenabledClient1}, @@ -1149,7 +1149,7 @@ func TestDisableClient(t *testing.T) { } repoCall := auth.On("CheckAdmin", mock.Anything, mock.Anything).Return(nil) repoCall1 := cRepo.On("RetrieveAll", mock.Anything, mock.Anything).Return(convertClientsPage(tc.response), nil) - page, err := mfsdk.Users(pm, validToken) + page, err := mgsdk.Users(pm, validToken) assert.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) size := uint64(len(page.Users)) assert.Equal(t, tc.size, size, fmt.Sprintf("%s: expected size %d got %d\n", tc.desc, tc.size, size)) diff --git a/pkg/transformers/json/example_test.go b/pkg/transformers/json/example_test.go index 29ff77998..20420a8a3 100644 --- a/pkg/transformers/json/example_test.go +++ b/pkg/transformers/json/example_test.go @@ -7,7 +7,7 @@ import ( "encoding/json" "fmt" - mfjson "github.com/absmach/magistrala/pkg/transformers/json" + mgjson "github.com/absmach/magistrala/pkg/transformers/json" ) func ExampleParseFlat() { @@ -19,7 +19,7 @@ func ExampleParseFlat() { "key5/nested2/nested4": "value5", } - out := mfjson.ParseFlat(in) + out := mgjson.ParseFlat(in) b, err := json.MarshalIndent(out, "", " ") if err != nil { panic(err) @@ -54,7 +54,7 @@ func ExampleFlatten() { }, }, } - out, err := mfjson.Flatten(in) + out, err := mgjson.Flatten(in) if err != nil { panic(err) } diff --git a/pkg/transformers/senml/transformer_test.go b/pkg/transformers/senml/transformer_test.go index 1ad69b256..9339a1d56 100644 --- a/pkg/transformers/senml/transformer_test.go +++ b/pkg/transformers/senml/transformer_test.go @@ -11,7 +11,7 @@ import ( "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/pkg/transformers/senml" - mfsenml "github.com/mainflux/senml" + mgsenml "github.com/mainflux/senml" "github.com/stretchr/testify/assert" ) @@ -139,7 +139,7 @@ func TestTransformCBOR(t *testing.T) { desc: "test invalid payload", msg: tooManyMsg, msgs: nil, - err: mfsenml.ErrTooManyValues, + err: mgsenml.ErrTooManyValues, }, } diff --git a/pkg/ulid/ulid.go b/pkg/ulid/ulid.go index d47b15f2d..b3f7dbaa9 100644 --- a/pkg/ulid/ulid.go +++ b/pkg/ulid/ulid.go @@ -8,7 +8,7 @@ import ( "math/rand" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/errors" "github.com/oklog/ulid/v2" ) @@ -16,14 +16,14 @@ import ( // ErrGeneratingID indicates error in generating ULID. var ErrGeneratingID = errors.New("generating id failed") -var _ mainflux.IDProvider = (*ulidProvider)(nil) +var _ magistrala.IDProvider = (*ulidProvider)(nil) type ulidProvider struct { entropy *rand.Rand } // New instantiates a ULID provider. -func New() mainflux.IDProvider { +func New() magistrala.IDProvider { seed := time.Now().UnixNano() source := rand.NewSource(seed) return &ulidProvider{ diff --git a/pkg/uuid/mock.go b/pkg/uuid/mock.go index 5cf4bfd8b..6bcb1269d 100644 --- a/pkg/uuid/mock.go +++ b/pkg/uuid/mock.go @@ -7,13 +7,13 @@ import ( "fmt" "sync" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" ) // Prefix represents the prefix used to generate UUID mocks. const Prefix = "123e4567-e89b-12d3-a456-" -var _ mainflux.IDProvider = (*uuidProviderMock)(nil) +var _ magistrala.IDProvider = (*uuidProviderMock)(nil) type uuidProviderMock struct { mu sync.Mutex @@ -30,6 +30,6 @@ func (up *uuidProviderMock) ID() (string, error) { // NewMock creates "mirror" uuid provider, i.e. generated // token will hold value provided by the caller. -func NewMock() mainflux.IDProvider { +func NewMock() magistrala.IDProvider { return &uuidProviderMock{} } diff --git a/pkg/uuid/uuid.go b/pkg/uuid/uuid.go index e3b9ca357..9a78d870f 100644 --- a/pkg/uuid/uuid.go +++ b/pkg/uuid/uuid.go @@ -5,7 +5,7 @@ package uuid import ( - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/errors" "github.com/gofrs/uuid" ) @@ -13,12 +13,12 @@ import ( // ErrGeneratingID indicates error in generating UUID. var ErrGeneratingID = errors.New("failed to generate uuid") -var _ mainflux.IDProvider = (*uuidProvider)(nil) +var _ magistrala.IDProvider = (*uuidProvider)(nil) type uuidProvider struct{} // New instantiates a UUID provider. -func New() mainflux.IDProvider { +func New() magistrala.IDProvider { return &uuidProvider{} } diff --git a/provision/README.md b/provision/README.md index df4e891c6..daedb07c8 100644 --- a/provision/README.md +++ b/provision/README.md @@ -1,13 +1,13 @@ # Provision service -Provision service provides an HTTP API to interact with [Magistrala][mainflux]. -Provision service is used to setup initial applications configuration i.e. things, channels, connections and certificates that will be required for the specific use case especially useful for gateway provision. +Provision service provides an HTTP API to interact with [Magistrala][magistrala]. +Provision service is used to setup initial applications configuration i.e. things, channels, connections and certificates that will be required for the specific use case especially useful for gateway provision. -For gateways to communicate with [Magistrala][mainflux] configuration is required (mqtt host, thing, channels, certificates...). To get the configuration gateway will send a request to [Bootstrap][bootstrap] service providing `` and `` in request. To make a request to [Bootstrap][bootstrap] service you can use [Agent][agent] service on a gateway. +For gateways to communicate with [Magistrala][magistrala] configuration is required (mqtt host, thing, channels, certificates...). To get the configuration gateway will send a request to [Bootstrap][bootstrap] service providing `` and `` in request. To make a request to [Bootstrap][bootstrap] service you can use [Agent][agent] service on a gateway. -To create bootstrap configuration you can use [Bootstrap][bootstrap] or `Provision` service. [Magistrala UI][mfxui] uses [Bootstrap][bootstrap] service for creating gateway configurations. `Provision` service should provide an easy way of provisioning your gateways i.e creating bootstrap configuration and as many things and channels that your setup requires. +To create bootstrap configuration you can use [Bootstrap][bootstrap] or `Provision` service. [Magistrala UI][mgxui] uses [Bootstrap][bootstrap] service for creating gateway configurations. `Provision` service should provide an easy way of provisioning your gateways i.e creating bootstrap configuration and as many things and channels that your setup requires. -Also you may use provision service to create certificates for each thing. Each service running on gateway may require more than one thing and channel for communication. Let's say that you are using services [Agent][agent] and [Export](https://github.com/mainflux/export) on a gateway you will need two channels for `Agent` (`data` and `control`) and one for `Export` and one thing. Additionally if you enabled mtls each service will need its own thing and certificate for access to [Magistrala][mainflux]. Your setup could require any number of things and channels this kind of setup we can call `provision layout`. +Also you may use provision service to create certificates for each thing. Each service running on gateway may require more than one thing and channel for communication. Let's say that you are using services [Agent][agent] and [Export](https://github.com/mainflux/export) on a gateway you will need two channels for `Agent` (`data` and `control`) and one for `Export` and one thing. Additionally if you enabled mtls each service will need its own thing and certificate for access to [Magistrala][magistrala]. Your setup could require any number of things and channels this kind of setup we can call `provision layout`. Provision service provides a way of specifying this `provision layout` and creating a setup according to that layout by serving requests on `/mapping` endpoint. Provision layout is configured in [config.toml](configs/config.toml). @@ -17,33 +17,33 @@ The service is configured using the environment variables presented in the following table. Note that any unset variables will be replaced with their default values. -| Variable | Description | Default | -| ----------------------------------- | ------------------------------------------------- | --------------------------------------| -| MG_PROVISION_LOG_LEVEL | Service log level | debug | -| MG_PROVISION_USER | User (email) for accessing Magistrala | user@example.com | -| MG_PROVISION_PASS | Magistrala password | user123 | -| MG_PROVISION_API_KEY | Magistrala authentication token | | -| MG_PROVISION_CONFIG_FILE | Provision config file | config.toml | -| MG_PROVISION_HTTP_PORT | Provision service listening port | 9016 | -| MG_PROVISION_ENV_CLIENTS_TLS | Magistrala SDK TLS verification | false | -| MG_PROVISION_SERVER_CERT | Magistrala gRPC secure server cert | | -| MG_PROVISION_SERVER_KEY | Magistrala gRPC secure server key | | -| MG_PROVISION_USERS_LOCATION | Users service URL | http://users:9002 | -| MG_PROVISION_THINGS_LOCATION | Things service URL | http://things:9000 | -| MG_PROVISION_BS_SVC_URL | Magistrala Bootstrap service URL | http://bootstrap:9013/things | -| MG_PROVISION_BS_SVC_WHITELIST_URL | Magistrala Bootstrap service whitelist URL | http://bootstrap:9013/things/state | -| MG_PROVISION_CERTS_SVC_URL | Certificates service URL | http://certs:9019/certs | -| MG_PROVISION_X509_PROVISIONING | Should X509 client cert be provisioned | false | -| MG_PROVISION_BS_CONFIG_PROVISIONING | Should thing config be saved in Bootstrap service | true | -| MG_PROVISION_BS_AUTO_WHITELIST | Should thing be auto whitelisted | true | -| MG_PROVISION_BS_CONTENT | Bootstrap service configs content, JSON format | {} | -| MG_PROVISION_CERTS_RSA_BITS | Certificate RSA bits parameter | 4096 | -| MG_PROVISION_CERTS_HOURS_VALID | Number of hours that certificate is valid | "2400h" | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| Variable | Description | Default | +| ----------------------------------- | ------------------------------------------------- | ------------------------------------ | +| MG_PROVISION_LOG_LEVEL | Service log level | debug | +| MG_PROVISION_USER | User (email) for accessing Magistrala | | +| MG_PROVISION_PASS | Magistrala password | user123 | +| MG_PROVISION_API_KEY | Magistrala authentication token | | +| MG_PROVISION_CONFIG_FILE | Provision config file | config.toml | +| MG_PROVISION_HTTP_PORT | Provision service listening port | 9016 | +| MG_PROVISION_ENV_CLIENTS_TLS | Magistrala SDK TLS verification | false | +| MG_PROVISION_SERVER_CERT | Magistrala gRPC secure server cert | | +| MG_PROVISION_SERVER_KEY | Magistrala gRPC secure server key | | +| MG_PROVISION_USERS_LOCATION | Users service URL | | +| MG_PROVISION_THINGS_LOCATION | Things service URL | | +| MG_PROVISION_BS_SVC_URL | Magistrala Bootstrap service URL | | +| MG_PROVISION_BS_SVC_WHITELIST_URL | Magistrala Bootstrap service whitelist URL | | +| MG_PROVISION_CERTS_SVC_URL | Certificates service URL | | +| MG_PROVISION_X509_PROVISIONING | Should X509 client cert be provisioned | false | +| MG_PROVISION_BS_CONFIG_PROVISIONING | Should thing config be saved in Bootstrap service | true | +| MG_PROVISION_BS_AUTO_WHITELIST | Should thing be auto whitelisted | true | +| MG_PROVISION_BS_CONTENT | Bootstrap service configs content, JSON format | {} | +| MG_PROVISION_CERTS_RSA_BITS | Certificate RSA bits parameter | 4096 | +| MG_PROVISION_CERTS_HOURS_VALID | Number of hours that certificate is valid | "2400h" | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | By default, call to `/mapping` endpoint will create one thing and two channels (`control` and `data`) and connect it. If there is a requirement for different provision layout we can use [config](docker/configs/config.toml) file in addition to environment variables. -For the purposes of running provision as an add-on in docker composition environment variables seems more suitable. Environment variables are set in [.env](.env). +For the purposes of running provision as an add-on in docker composition environment variables seems more suitable. Environment variables are set in [.env](.env). Configuration can be specified in [config.toml](configs/config.toml). Config file can specify all the settings that environment variables can configure and in addition `/mapping` endpoint provision layout can be configured. @@ -54,6 +54,7 @@ Metadata can be whatever suits your needs except that at least one thing needs t For channels metadata `type` is reserved for `control` and `data` which we use with [Agent][agent]. Example of provision layout below + ```toml [[things]] name = "thing" @@ -82,37 +83,43 @@ Example of provision layout below ``` ## Authentication + In order to create necessary entities provision service needs to authenticate against Magistrala. To provide authentication credentials to the provision service you can pass it in an environment variable or in a config file as Magistrala user and password or as API token that can be issued on `/users/tokens/issue`. Additionally users or API token can be passed in Authorization header, this authentication takes precedence over others. -* `username`, `password` - (`MG_PROVISION_USER`, `MG_PROVISION_PASSWORD` in [.env](../.env), `mf_user`, `mf_pass` in [config.toml](../docker/addons/provision/configs/config.toml)) -* API Key - (`MG_PROVISION_API_KEY` in [.env](../.env) or [config.toml](../docker/addons/provision/configs/config.toml)) -* `Authorization: Bearer Token` - request authorization header containing either users token. +- `username`, `password` - (`MG_PROVISION_USER`, `MG_PROVISION_PASSWORD` in [.env](../.env), `mg_user`, `mg_pass` in [config.toml](../docker/addons/provision/configs/config.toml)) +- API Key - (`MG_PROVISION_API_KEY` in [.env](../.env) or [config.toml](../docker/addons/provision/configs/config.toml)) +- `Authorization: Bearer Token` - request authorization header containing either users token. ## Running + Provision service can be run as a standalone or in docker composition as addon to the core docker composition. Standalone: + ```bash MG_PROVISION_BS_SVC_URL=http://localhost:9013/things \ MG_PROVISION_THINGS_LOCATION=http://localhost:9000 \ MG_PROVISION_USERS_LOCATION=http://localhost:9002 \ MG_PROVISION_CONFIG_FILE=docker/addons/provision/configs/config.toml \ -build/mainflux-provision +build/magistrala-provision ``` Docker composition: + ```bash docker-compose -f docker/addons/provision/docker-compose.yml up ``` For the case that credentials or API token is passed in configuration file or environment variables, call to `/mapping` endpoint doesn't require `Authentication` header: + ```bash curl -s -S -X POST http://localhost:/mapping -H 'Content-Type: application/json' -d '{"external_id": "33:52:77:99:43", "external_key": "223334fw2"}' ``` In the case that provision service is not deployed with credentials or API key or you want to use user other than one being set in environment (or config file): + ```bash curl -s -S -X POST http://localhost:/mapping -H "Authorization: Bearer " -H 'Content-Type: application/json' -d '{"external_id": "", "external_key": ""}' ``` @@ -120,10 +127,15 @@ curl -s -S -X POST http://localhost:/mapping -H "Autho Or if you want to specify a name for thing different than in `config.toml` you can specify post data as: ```json -{"name": "", "external_id": "", "external_key": ""} +{ + "name": "", + "external_id": "", + "external_key": "" +} ``` Response contains created things, channels and certificates if any: + ```json { "things": [ @@ -159,21 +171,25 @@ Response contains created things, channels and certificates if any: ``` ## Certificates + Provision service has `/certs` endpoint that can be used to generate certificates for things when mTLS is required: + - `users_token` - users authentication token or API token - `thing_id` - id of the thing for which certificate is going to be generated + ```bash curl -s -X POST http://localhost:8190/certs -H "Authorization: Bearer " -H 'Content-Type: application/json' -d '{"thing_id": "", "ttl":"2400h" }' ``` -```json + +```json { - "thing_cert": "-----BEGIN CERTIFICATE-----\nMIIEmDCCA4CgAwIBAgIQCZ0NOq2oKLo+XftbAu0TfzANBgkqhkiG9w0BAQsFADBX\nMRIwEAYDVQQDDAlsb2NhbGhvc3QxETAPBgNVBAoMCE1haW5mbHV4MQwwCgYDVQQL\nDANJb1QxIDAeBgkqhkiG9w0BCQEWEWluZm9AbWFpbmZsdXguY29tMB4XDTIwMDYw\nNTEyMzc1M1oXDTIwMDkxMzEyMzc1M1owVTERMA8GA1UEChMITWFpbmZsdXgxETAP\nBgNVBAsTCG1haW5mbHV4MS0wKwYDVQQDEyQyYmZlYmZmMC05ODZhLTQ3ZTAtOGQ3\nYS00YTRiN2UyYjU3OGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCn\nWvTuOIdhqOLEREcEJqfQAtDoYu3rUDijOffXuWFZgNqfZTGmoD5ZqJXxwbZ4tCST\npdSteHtyr7JXnPJQN1dsslU+q3haKjFoZRc39/7u4/8XCTwlqbMl9YVcwqS+FLkM\niLSyyqzryP7Y8H8cidTKg56p5JALaEKfzZS6Km3G+CCinR6hNNW9ckWsy29a0/9E\nMAUtM+Lsk5OjsHzOnWruuqHsCx4ODI5aJQaMC1qntkbXkht0WDiwAt9SDQ3uLWru\nAoSJDK9a6EgR3a0Jf7ZiVPiwlZNjrB/I5OQyFDGqcmSAl2rdJqPkmaDXKKFyL1cG\nMIyHv62QzJoMdRoXu20lxyGxAvEjQNVHux4LA3dbf/85nEVTI2uP8crMf2Jnzbg5\n9zF+iTMJGpUlatCyK2RJS/mvHbbUIf5Ro3VbcPHbgFroJ7qMFz0Fc5kYY8IdwXjG\nlyG9MobKEO2CfBGRjPmCuTQq2HcuOy7F6KfQf3HToI8MmC5hBtCmTNbV8I3GIjWA\n/xJQLm2pVZ41QhrnNGtuqAYoe3Zt6OldxGRcoAj7KlIpYcPZ55PJ6mWcV6dB9Fnl\n5mYOwQL8jtfybbGWvqJldhTxUqm7/EbAaF0Qjmh4oOHMl2xADrmYzJHvf0llwr6g\noRQuzqxPi0aW3tkFNsm63NX1Ab5BXFQhMSj5+82blwIDAQABo2IwYDAOBgNVHQ8B\nAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA4GA1UdDgQH\nBAUBAgMEBjAfBgNVHSMEGDAWgBRs4xR91qEjNRGmw391xS7x6Tc+8jANBgkqhkiG\n9w0BAQsFAAOCAQEAphLT8PjawRRWswU1B5oWnnqeTllnvGB88sjDPLAG0UiBlDLX\nwoPiBVPWuYV+MMJuaREgheYF1Ahx4Jrfy9stFDU7B99ON1T58oM1aKEq4rKc+/Ke\nyxrAFTonclC0LNaaOvpZZjsPFWr2muTQO8XHiS8icw3BLxEzoF+5aJ8ihtxRtfKL\nUvtHDqC6IPAbSUcvqyjrFh3RrTUAyGOzW12IEWSXP9DLwoiLPwJ6kCVoXdG/asjz\nUpk/jj7AUn9oJNF8nUbyhdOnmeJ2z0x1ylgYrIAxvGzm8zs+NEVN67CrBYKwstlN\nvw7DRQsCvGJjZzWj28VV3FGLtXFgu52bFZNBww==\n-----END CERTIFICATE-----\n", + "thing_cert": "-----BEGIN CERTIFICATE-----\nMIIEmDCCA4CgAwIBAgIQCZ0NOq2oKLo+XftbAu0TfzANBgkqhkiG9w0BAQsFADBX\nMRIwEAYDVQQDDAlsb2NhbGhvc3QxETAPBgNVBAoMCE1haW5mbHV4MQwwCgYDVQQL\nDANJb1QxIDAeBgkqhkiG9w0BCQEWEWluZm9AbWFpbmZsdXguY29tMB4XDTIwMDYw\nNTEyMzc1M1oXDTIwMDkxMzEyMzc1M1owVTERMA8GA1UEChMITWFpbmZsdXgxETAP\nBgNVBAsTCG1haW5mbHV4MS0wKwYDVQQDEyQyYmZlYmZmMC05ODZhLTQ3ZTAtOGQ3\nYS00YTRiN2UyYjU3OGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCn\nWvTuOIdhqOLEREcEJqfQAtDoYu3rUDijOffXuWFZgNqfZTGmoD5ZqJXxwbZ4tCST\npdSteHtyr7JXnPJQN1dsslU+q3haKjFoZRc39/7u4/8XCTwlqbMl9YVcwqS+FLkM\niLSyyqzryP7Y8H8cidTKg56p5JALaEKfzZS6Km3G+CCinR6hNNW9ckWsy29a0/9E\nMAUtM+Lsk5OjsHzOnWruuqHsCx4ODI5aJQaMC1qntkbXkht0WDiwAt9SDQ3uLWru\nAoSJDK9a6EgR3a0Jf7ZiVPiwlZNjrB/I5OQyFDGqcmSAl2rdJqPkmaDXKKFyL1cG\nMIyHv62QzJoMdRoXu20lxyGxAvEjQNVHux4LA3dbf/85nEVTI2uP8crMf2Jnzbg5\n9zF+iTMJGpUlatCyK2RJS/mvHbbUIf5Ro3VbcPHbgFroJ7qMFz0Fc5kYY8IdwXjG\nlyG9MobKEO2CfBGRjPmCuTQq2HcuOy7F6KfQf3HToI8MmC5hBtCmTNbV8I3GIjWA\n/xJQLm2pVZ41QhrnNGtuqAYoe3Zt6OldxGRcoAj7KlIpYcPZ55PJ6mWcV6dB9Fnl\n5mYOwQL8jtfybbGWvqJldhTxUqm7/EbAaF0Qjmh4oOHMl2xADrmYzJHvf0llwr6g\noRQuzqxPi0aW3tkFNsm63NX1Ab5BXFQhMSj5+82blwIDAQABo2IwYDAOBgNVHQ8B\nAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA4GA1UdDgQH\nBAUBAgMEBjAfBgNVHSMEGDAWgBRs4xR91qEjNRGmw391xS7x6Tc+8jANBgkqhkiG\n9w0BAQsFAAOCAQEAphLT8PjawRRWswU1B5oWnnqeTllnvGB88sjDPLAG0UiBlDLX\nwoPiBVPWuYV+MMJuaREgheYF1Ahx4Jrfy9stFDU7B99ON1T58oM1aKEq4rKc+/Ke\nyxrAFTonclC0LNaaOvpZZjsPFWr2muTQO8XHiS8icw3BLxEzoF+5aJ8ihtxRtfKL\nUvtHDqC6IPAbSUcvqyjrFh3RrTUAyGOzW12IEWSXP9DLwoiLPwJ6kCVoXdG/asjz\nUpk/jj7AUn9oJNF8nUbyhdOnmeJ2z0x1ylgYrIAxvGzm8zs+NEVN67CrBYKwstlN\nvw7DRQsCvGJjZzWj28VV3FGLtXFgu52bFZNBww==\n-----END CERTIFICATE-----\n", "thing_cert_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIJJwIBAAKCAgEAp1r07jiHYajixERHBCan0ALQ6GLt61A4ozn317lhWYDan2Ux\npqA+WaiV8cG2eLQkk6XUrXh7cq+yV5zyUDdXbLJVPqt4WioxaGUXN/f+7uP/Fwk8\nJamzJfWFXMKkvhS5DIi0ssqs68j+2PB/HInUyoOeqeSQC2hCn82Uuiptxvggop0e\noTTVvXJFrMtvWtP/RDAFLTPi7JOTo7B8zp1q7rqh7AseDgyOWiUGjAtap7ZG15Ib\ndFg4sALfUg0N7i1q7gKEiQyvWuhIEd2tCX+2YlT4sJWTY6wfyOTkMhQxqnJkgJdq\n3Saj5Jmg1yihci9XBjCMh7+tkMyaDHUaF7ttJcchsQLxI0DVR7seCwN3W3//OZxF\nUyNrj/HKzH9iZ824OfcxfokzCRqVJWrQsitkSUv5rx221CH+UaN1W3Dx24Ba6Ce6\njBc9BXOZGGPCHcF4xpchvTKGyhDtgnwRkYz5grk0Kth3Ljsuxein0H9x06CPDJgu\nYQbQpkzW1fCNxiI1gP8SUC5tqVWeNUIa5zRrbqgGKHt2bejpXcRkXKAI+ypSKWHD\n2eeTyeplnFenQfRZ5eZmDsEC/I7X8m2xlr6iZXYU8VKpu/xGwGhdEI5oeKDhzJds\nQA65mMyR739JZcK+oKEULs6sT4tGlt7ZBTbJutzV9QG+QVxUITEo+fvNm5cCAwEA\nAQKCAgAmCIfNc89gpG8Ux6eUC+zrWxh7F7CWX97fSZdH0XuMSbplqyvDgHtrCOM6\n1BlSCS6e13skCVOU1tUjECoJjOoza7vvyCxL4XblEMRcFeI8DFi2tYST0qNCJzAt\nypaCFFeRv6fBUkpGM6GnT9Czfad8drkiRy1tSj6J7sC0JlxYcZ+JFUgWvtksesHW\n6UzfSXqj1n32reoOdeOBueRDWIcqxgNyj3w/GR9o4S1BunrZzpT+/Nd8c2g+qAh0\nrz7ROEUq3iucseNQN6XZWZWvqPScGE+EYhni9wUqNMqfjvNSlzi7+K1yoQtyMm/Z\nNgSq3JNcdsAZQbiCRd1ko2BQsGm3ZBnbsAJ1Dxcn+i9nF5DT/ddWjUWin6LYWuUM\n/0Bqfv3etlrFuP6yxc8bPEMX0ucJg4yVxdkDrm1tYlJ+ANEQoOlZqhngvjz0f8uO\nOtEcDLmiG5VG6Yl72UtWIw+ALnKc5U7ib43Qve0bDAKR5zlHODcRetN9BCMvpekY\nOA4hohkllTP25xmMzLokBqY9n38zEt74kJOp67VKMvhoF7QkrLOfKWCRJjFL7/9I\nHDa6jb31INA9Wu+p/2LIa6I1SUYnMvCUqISgF2hBG9Q9S9TZvKnYUvfurhFS9jZv\n18sxW7IFYWmQyioo+gsAmfKLolJtLl9hCmTfYi7oqCh/EtZdIQKCAQEA0Umkp0Uu\nimVilLjgYGTWLcg8T3NWaELQzb2HYRXSzEq/M8GOtEr7TR7noJBm8fcgl55HEnPl\ni4cEJrr+VprzGbdMtXjHbCD+I945GA6vv3khg7mbqS9a1Uw6gjrQEZgZQU+/IVCu\n9Pbvx8Af32xaBWuN2cFzC7Z6iB815LPc2O5qyZ3+3nEUPah+Z+a9WEeTR6M0hy5c\nkkaRqhehugHDgqMRWGt8GfsFOmaR13kvfFfKadPRPkaGkftCSKBMWjrU4uX7aulm\nD7k4VDbnXIBMhI039+0znSkhZdcV1zk6qwBYn9TtZ11PTlspFPjtPxqS5M6IGflw\nsXkZGv4rZ5CkiQKCAQEAzLVdw2qw/8rWGsCV39EKp7hXLvp7+FuodPvX1L55lWB0\nvmSOldGcNvb2ZsK3RNvgteb8VfKRgaY6waeN5Qm1UXazsOX4F+GThPGHstdNuzkt\nJofRQQHQVR3npZbCngSkSZdahQ9SjiLIDKn8baPN8I8HfpJ4oHLUvkayavbch1kJ\nYWUfGtVKxHGX5m/nnxLdgbJEx9Q+3Qa7DDHuxTqsEqhkk0R0Ganred34HjpDNMs6\nV95HFNolW3yKfuHETKA1bLhej+XdMa11Ts5hBVGCMnnT07WcGhxtyK2dSa656SyT\ngT9+Hd1VWZ/KPpAkQmH9boOr2ihE+oAXiZ4D1t53HwKCAQAD0cA7fTu4Mtl1tVoC\n6FQwSbMwD/7HsFB3MLpDv041hDexDhs4lxW29pVrjLcUO1pQ6gaKA6twvGoK+uah\nVfqRwZKYzTd2dbOtm+SW183FRMSjzsNUdxTFR7rZnZEmgQwU8Quf5AUNW2RM1Oi/\n/w41gxz3mFwtHotl6IvnPJEPNGqme0enb5Da/zQvWTqjXcsGR6gxv1rZIIiP/hZp\nepbCz48FehCtuLMDudN3hzKipkd/Xuo2pLrX9ynigWpjSyePbHsGHHRMXSj2AHqA\naab71EftMlr6x0FgxmgToWu8qyjy4cPjWwSTfX5mb5SEzktX+ZzqPG8eDgOzRmgs\nX6thAoIBADL3kQG/hZQaL1Z3zpjsFggOKH7E1KrQP0/pCCKqzeC4JDjnFm0MxCUX\nNd/96N1XFUqU2QyZGUs7VPO0QOrekOtYb4LCrxNbEXyPGicX3f2YTbqDJEFYL0OR\n74PV1ly7cR/1dA8e8oH6/O3SQMwXdYXIRqhn1Wq1TGyXc4KYNe3o6CH8qFLo+fWR\nBq3T/MopS0coWGGcYY5sR5PQts8aPY9jp67W40UkfkFYV5dHEEaLttn7uJzjd1ug\n1Waj1VjypnqMKNcQ9xKQSl21mohVc+IXXPsgA16o51iIiVm4DAeXFp6ebUsIOWDY\nHOWYw75XYV7rn5TwY8Qusi2MTw5nUycCggEAB/45U0LW7ZGpks/aF/BeGaSWiLIG\nodBWUjRQ4w+Le/pTC8Ci9fiidxuCDH6TQbsUTGKOk7GsfncWHTQJogaMyO26IJ1N\nmYGgK2JJvs7PKyIkocPDVD/Yh0gIzQIE92ZdyXUT21pIYKDUB9e3p0fy/+E0pyeI\nsmsV8oaLr4tZRY1cMogI+pvtUUferbLQmZHhFd9X3m3RslR43Dl1qpYQyzE3x/a3\nWA2NJZbJhh+LiAKzqk7swXOqrTrmXuzLcjMG+T/3lizrbLLuKjQrf+eehlpw0db0\nHVVvkMLOP5ZH/ImkmvOZJY7xxup89VV7LD7TfMKwXafOrjMDdvTAYPtgxw==\n-----END RSA PRIVATE KEY-----\n" } ``` -[mainflux]: https://github.com/absmach/magistrala +[magistrala]: https://github.com/absmach/magistrala [bootstrap]: https://github.com/absmach/magistrala/tree/master/bootstrap [export]: https://github.com/mainflux/export [agent]: https://github.com/mainflux/agent -[mfxui]: https://github.com/absmach/magistrala/ui +[mgxui]: https://github.com/absmach/magistrala/ui diff --git a/provision/api/logging.go b/provision/api/logging.go index 2e2007558..15dca2e4a 100644 --- a/provision/api/logging.go +++ b/provision/api/logging.go @@ -9,19 +9,19 @@ import ( "fmt" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/provision" ) var _ provision.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc provision.Service } // NewLoggingMiddleware adds logging facilities to the core service. -func NewLoggingMiddleware(svc provision.Service, logger mflog.Logger) provision.Service { +func NewLoggingMiddleware(svc provision.Service, logger mglog.Logger) provision.Service { return &loggingMiddleware{logger, svc} } diff --git a/provision/api/requests.go b/provision/api/requests.go index 79c28b319..c94b805e5 100644 --- a/provision/api/requests.go +++ b/provision/api/requests.go @@ -1,3 +1,6 @@ +// Copyright (c) Magistrala +// SPDX-License-Identifier: Apache-2.0 + package api import "github.com/absmach/magistrala/internal/apiutil" diff --git a/provision/api/transport.go b/provision/api/transport.go index 3d57502ff..0f1d6b94c 100644 --- a/provision/api/transport.go +++ b/provision/api/transport.go @@ -8,7 +8,7 @@ import ( "encoding/json" "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" @@ -45,7 +45,7 @@ func MakeHandler(svc provision.Service, logger logger.Logger, instanceID string) )) r.Handle("/metrics", promhttp.Handler()) - r.GetFunc("/health", mainflux.Health("provision", instanceID)) + r.GetFunc("/health", magistrala.Health("provision", instanceID)) return r } @@ -53,7 +53,7 @@ func MakeHandler(svc provision.Service, logger logger.Logger, instanceID string) func encodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { w.Header().Set("Content-Type", contentType) - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/provision/config.go b/provision/config.go index b822176ff..3a3ea6844 100644 --- a/provision/config.go +++ b/provision/config.go @@ -7,7 +7,7 @@ import ( "fmt" "os" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/groups" "github.com/pelletier/go-toml" @@ -23,12 +23,12 @@ type ServiceConf struct { ThingsURL string `toml:"things_url" env:"MG_PROVISION_THINGS_LOCATION" envDefault:"http://localhost"` UsersURL string `toml:"users_url" env:"MG_PROVISION_USERS_LOCATION" envDefault:"http://localhost"` HTTPPort string `toml:"http_port" env:"MG_PROVISION_HTTP_PORT" envDefault:"9016"` - MfUser string `toml:"mf_user" env:"MG_PROVISION_USER" envDefault:"test@example.com"` - MfPass string `toml:"mf_pass" env:"MG_PROVISION_PASS" envDefault:"test"` - MfAPIKey string `toml:"mf_api_key" env:"MG_PROVISION_API_KEY" envDefault:""` - MfBSURL string `toml:"mf_bs_url" env:"MG_PROVISION_BS_SVC_URL" envDefault:"http://localhost:9000/things/configs"` - MfWhiteListURL string `toml:"mf_white_list" env:"MG_PROVISION_BS_SVC_WHITELIST_URL" envDefault:"http://localhost:9000/things/state"` - MfCertsURL string `toml:"mf_certs_url" env:"MG_PROVISION_CERTS_SVC_URL" envDefault:"http://localhost:9019"` + MgUser string `toml:"mg_user" env:"MG_PROVISION_USER" envDefault:"test@example.com"` + MgPass string `toml:"mg_pass" env:"MG_PROVISION_PASS" envDefault:"test"` + MgAPIKey string `toml:"mg_api_key" env:"MG_PROVISION_API_KEY" envDefault:""` + MgBSURL string `toml:"mg_bs_url" env:"MG_PROVISION_BS_SVC_URL" envDefault:"http://localhost:9000/things/configs"` + MgWhiteListURL string `toml:"mg_white_list" env:"MG_PROVISION_BS_SVC_WHITELIST_URL" envDefault:"http://localhost:9000/things/state"` + MgCertsURL string `toml:"mg_certs_url" env:"MG_PROVISION_CERTS_SVC_URL" envDefault:"http://localhost:9019"` } // Bootstrap represetns the Bootstrap config. @@ -61,7 +61,7 @@ type Config struct { File string `toml:"file" env:"MG_PROVISION_CONFIG_FILE" envDefault:"config.toml"` Server ServiceConf `toml:"server" mapstructure:"server"` Bootstrap Bootstrap `toml:"bootstrap" mapstructure:"bootstrap"` - Things []mfclients.Client `toml:"things" mapstructure:"things"` + Things []mgclients.Client `toml:"things" mapstructure:"things"` Channels []groups.Group `toml:"channels" mapstructure:"channels"` Cert Cert `toml:"cert" mapstructure:"cert"` BSContent string `env:"MG_PROVISION_BS_CONTENT" envDefault:""` diff --git a/provision/configs/config.toml b/provision/configs/config.toml index a9e5afc0d..b40f33857 100644 --- a/provision/configs/config.toml +++ b/provision/configs/config.toml @@ -11,12 +11,12 @@ file = "config.toml" LogLevel = "info" ca_certs = "" http_port = "8190" - mf_api_key = "" - mf_bs_url = "http://localhost:9013" - mf_certs_url = "http://localhost:9019/certs" - mf_pass = "" - mf_user = "" - mf_white_list = "http://localhost:9013/things/state" + mg_api_key = "" + mg_bs_url = "http://localhost:9013" + mg_certs_url = "http://localhost:9019/certs" + mg_pass = "" + mg_user = "" + mg_white_list = "http://localhost:9013/things/state" mqtt_url = "" port = "" server_cert = "" diff --git a/provision/service.go b/provision/service.go index 3be9d0474..be810551a 100644 --- a/provision/service.go +++ b/provision/service.go @@ -7,7 +7,7 @@ import ( "encoding/json" "fmt" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" sdk "github.com/absmach/magistrala/pkg/sdk/go" ) @@ -68,7 +68,7 @@ type Service interface { } type provisionService struct { - logger mflog.Logger + logger mglog.Logger sdk sdk.SDK conf Config } @@ -85,7 +85,7 @@ type Result struct { } // New returns new provision service. -func New(cfg Config, sdk sdk.SDK, logger mflog.Logger) Service { +func New(cfg Config, sdk sdk.SDK, logger mglog.Logger) Service { return &provisionService{ logger: logger, conf: cfg, @@ -275,19 +275,19 @@ func (ps *provisionService) createTokenIfEmpty(token string) (string, error) { // If no token in request is provided // use API key provided in config file or env - if ps.conf.Server.MfAPIKey != "" { - return ps.conf.Server.MfAPIKey, nil + if ps.conf.Server.MgAPIKey != "" { + return ps.conf.Server.MgAPIKey, nil } // If no API key use username and password provided to create access token. - if ps.conf.Server.MfUser == "" || ps.conf.Server.MfPass == "" { + if ps.conf.Server.MgUser == "" || ps.conf.Server.MgPass == "" { return token, ErrMissingCredentials } u := sdk.User{ Credentials: sdk.Credentials{ - Identity: ps.conf.Server.MfUser, - Secret: ps.conf.Server.MfPass, + Identity: ps.conf.Server.MgUser, + Secret: ps.conf.Server.MgPass, }, } tkn, err := ps.sdk.CreateToken(u) diff --git a/readers/api/endpoint_test.go b/readers/api/endpoint_test.go index dddc7b3ba..f6dc65467 100644 --- a/readers/api/endpoint_test.go +++ b/readers/api/endpoint_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/internal/testsutil" @@ -714,10 +714,10 @@ func TestReadAll(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, mock.Anything).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, mock.Anything).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) if tc.key != "" { - repoCall1 = tauth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) + repoCall1 = tauth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) } req := testRequest{ client: ts.Client(), diff --git a/readers/api/responses.go b/readers/api/responses.go index 99dae0480..384e89ccb 100644 --- a/readers/api/responses.go +++ b/readers/api/responses.go @@ -6,11 +6,11 @@ package api import ( "net/http" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/readers" ) -var _ mainflux.Response = (*pageRes)(nil) +var _ magistrala.Response = (*pageRes)(nil) type pageRes struct { readers.PageMetadata diff --git a/readers/cassandra/README.md b/readers/cassandra/README.md index c591bfda7..1f7a73d24 100644 --- a/readers/cassandra/README.md +++ b/readers/cassandra/README.md @@ -16,8 +16,8 @@ default values. | MG_CASSANDRA_READER_HTTP_SERVER_CERT | Cassandra service HTTP server cert | "" | | MG_CASSANDRA_READER_HTTP_SERVER_KEY | Cassandra service HTTP server key | "" | | MG_CASSANDRA_CLUSTER | Cassandra cluster comma separated addresses | localhost | -| MG_CASSANDRA_USER | Cassandra DB username | mainflux | -| MG_CASSANDRA_PASS | Cassandra DB password | mainflux | +| MG_CASSANDRA_USER | Cassandra DB username | magistrala | +| MG_CASSANDRA_PASS | Cassandra DB password | magistrala | | MG_CASSANDRA_KEYSPACE | Cassandra keyspace name | messages | | MG_CASSANDRA_PORT | Cassandra DB port | 9042 | | MG_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:7000 | @@ -29,7 +29,7 @@ default values. | MG_AUTH_GRPC_CLIENT_TLS | Users service gRPC TLS enabled | false | | MG_AUTH_GRPC_CA_CERT | Users service gRPC CA certificates | "" | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_CASSANDRA_READER_INSTANCE_ID | Cassandra Reader instance ID | "" | ## Deployment @@ -43,7 +43,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the cassandra make cassandra-reader @@ -71,9 +71,9 @@ MG_AUTH_GRPC_TIMEOUT=[Users service gRPC request timeout in seconds] \ MG_AUTH_GRPC_CLIENT_TLS=[Users service gRPC TLS enabled] \ MG_AUTH_GRPC_CA_CERT=[Users service gRPC CA certificates] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_CASSANDRA_READER_INSTANCE_ID=[Cassandra Reader instance ID] \ -$GOBIN/mainflux-cassandra-reader +$GOBIN/magistrala-cassandra-reader ``` ### Using docker-compose diff --git a/readers/cassandra/setup_test.go b/readers/cassandra/setup_test.go index 51b58cb04..f301f8683 100644 --- a/readers/cassandra/setup_test.go +++ b/readers/cassandra/setup_test.go @@ -9,12 +9,12 @@ import ( "testing" casclient "github.com/absmach/magistrala/internal/clients/cassandra" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/gocql/gocql" "github.com/ory/dockertest/v3" ) -var logger, _ = mflog.New(os.Stdout, mflog.Info.String()) +var logger, _ = mglog.New(os.Stdout, mglog.Info.String()) func TestMain(m *testing.M) { pool, err := dockertest.NewPool("") diff --git a/readers/influxdb/README.md b/readers/influxdb/README.md index c61b3eccf..1f9019717 100644 --- a/readers/influxdb/README.md +++ b/readers/influxdb/README.md @@ -18,12 +18,12 @@ default values. | MG_INFLUXDB_PROTOCOL | InfluxDB protocol | http | | MG_INFLUXDB_HOST | InfluxDB host name | localhost | | MG_INFLUXDB_PORT | Default port of InfluxDB database | 8086 | -| MG_INFLUXDB_ADMIN_USER | Default user of InfluxDB database | mainflux | -| MG_INFLUXDB_ADMIN_PASSWORD | Default password of InfluxDB user | mainflux | -| MG_INFLUXDB_NAME | InfluxDB database name | mainflux | -| MG_INFLUXDB_BUCKET | InfluxDB bucket name | mainflux-bucket | -| MG_INFLUXDB_ORG | InfluxDB organization name | mainflux | -| MG_INFLUXDB_TOKEN | InfluxDB API token | mainflux-token | +| MG_INFLUXDB_ADMIN_USER | Default user of InfluxDB database | magistrala | +| MG_INFLUXDB_ADMIN_PASSWORD | Default password of InfluxDB user | magistrala | +| MG_INFLUXDB_NAME | InfluxDB database name | magistrala | +| MG_INFLUXDB_BUCKET | InfluxDB bucket name | magistrala-bucket | +| MG_INFLUXDB_ORG | InfluxDB organization name | magistrala | +| MG_INFLUXDB_TOKEN | InfluxDB API token | magistrala-token | | MG_INFLUXDB_DBURL | InfluxDB database URL | "" | | MG_INFLUXDB_USER_AGENT | InfluxDB user agent | "" | | MG_INFLUXDB_TIMEOUT | InfluxDB client connection readiness timeout | 1s | @@ -37,7 +37,7 @@ default values. | MG_AUTH_GRPC_CLIENT_TLS | Flag that indicates if TLS should be turned on | false | | MG_AUTH_GRPC_CA_CERTS | Path to trusted CAs in PEM format | "" | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_INFLUX_READER_INSTANCE_ID | InfluxDB reader instance ID | | ## Deployment @@ -50,7 +50,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the influxdb-reader make influxdb-reader @@ -86,9 +86,9 @@ MG_AUTH_GRPC_TIMEOUT=[Users service gRPC request timeout in seconds] \ MG_AUTH_GRPC_CLIENT_TLS=[Flag that indicates if TLS should be turned on] \ MG_AUTH_GRPC_CA_CERTS=[Path to trusted CAs in PEM format] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_INFLUX_READER_INSTANCE_ID=[InfluxDB reader instance ID] \ -$GOBIN/mainflux-influxdb +$GOBIN/magistrala-influxdb ``` diff --git a/readers/influxdb/doc.go b/readers/influxdb/doc.go index b9132a1d4..3a6e0cdf7 100644 --- a/readers/influxdb/doc.go +++ b/readers/influxdb/doc.go @@ -1,3 +1,6 @@ +// Copyright (c) Magistrala +// SPDX-License-Identifier: Apache-2.0 + // Package influxdb contains the domain concept definitions needed to // support Magistrala InfluxDB reader service functionality. package influxdb diff --git a/readers/influxdb/setup_test.go b/readers/influxdb/setup_test.go index a26d5417a..15d2bdf5b 100644 --- a/readers/influxdb/setup_test.go +++ b/readers/influxdb/setup_test.go @@ -13,13 +13,13 @@ import ( "testing" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" influxdata "github.com/influxdata/influxdb-client-go/v2" "github.com/ory/dockertest/v3" ) var ( - testLog, _ = mflog.New(os.Stdout, mflog.Info.String()) + testLog, _ = mglog.New(os.Stdout, mglog.Info.String()) address string ) diff --git a/readers/mongodb/README.md b/readers/mongodb/README.md index bbb28cbb5..abfba4e1b 100644 --- a/readers/mongodb/README.md +++ b/readers/mongodb/README.md @@ -27,7 +27,7 @@ default values. | MG_AUTH_GRPC_CLIENT_TLS | Flag that indicates if TLS should be turned on | false | | MG_AUTH_GRPC_CA_CERT | Path to trusted CAs in PEM format | "" | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_MONGO_READER_INSTANCE_ID | Service instance ID | "" | ## Deployment @@ -41,7 +41,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the mongodb reader make mongodb-reader @@ -67,9 +67,9 @@ MG_AUTH_GRPC_TIMEOUT=[Users service gRPC request timeout in seconds] \ MG_AUTH_GRPC_CLIENT_TLS=[Flag that indicates if TLS should be turned on] \ MG_AUTH_GRPC_CA_CERT=[Path to trusted CAs in PEM format] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_MONGO_READER_INSTANCE_ID=[Service instance ID] \ -$GOBIN/mainflux-mongodb-reader +$GOBIN/magistrala-mongodb-reader ``` diff --git a/readers/mongodb/setup_test.go b/readers/mongodb/setup_test.go index 8aa428d5b..6e529de4f 100644 --- a/readers/mongodb/setup_test.go +++ b/readers/mongodb/setup_test.go @@ -9,13 +9,13 @@ import ( "os" "testing" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/ory/dockertest/v3" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) -var testLog, _ = mflog.New(os.Stdout, mflog.Info.String()) +var testLog, _ = mglog.New(os.Stdout, mglog.Info.String()) func TestMain(m *testing.M) { pool, err := dockertest.NewPool("") diff --git a/readers/postgres/README.md b/readers/postgres/README.md index 709774148..3ef0bca31 100644 --- a/readers/postgres/README.md +++ b/readers/postgres/README.md @@ -17,8 +17,8 @@ default values. | MG_POSTGRES_READER_HTTP_SERVER_KEY | Service HTTP server key | "" | | MG_POSTGRES_HOST | Postgres DB host | localhost | | MG_POSTGRES_PORT | Postgres DB port | 5432 | -| MG_POSTGRES_USER | Postgres user | mainflux | -| MG_POSTGRES_PASS | Postgres password | mainflux | +| MG_POSTGRES_USER | Postgres user | magistrala | +| MG_POSTGRES_PASS | Postgres password | magistrala | | MG_POSTGRES_NAME | Postgres database name | messages | | MG_POSTGRES_SSL_MODE | Postgres SSL mode | disabled | | MG_POSTGRES_SSL_CERT | Postgres SSL certificate path | "" | @@ -33,7 +33,7 @@ default values. | MG_AUTH_GRPC_CLIENT_TLS | Users service gRPC TLS mode flag | false | | MG_AUTH_GRPC_CA_CERTS | Users service gRPC CA certificates | "" | | MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_POSTGRES_READER_INSTANCE_ID | Postgres reader instance ID | | ## Deployment @@ -47,7 +47,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the postgres writer make postgres-writer @@ -79,9 +79,9 @@ MG_AUTH_GRPC_TIMEOUT=[Users service gRPC request timeout in seconds] \ MG_AUTH_GRPC_CLIENT_TLS=[Users service gRPC TLS mode flag] \ MG_AUTH_GRPC_CA_CERTS=[Users service gRPC CA certificates] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_POSTGRES_READER_INSTANCE_ID=[Postgres reader instance ID] \ -$GOBIN/mainflux-postgres-reader +$GOBIN/magistrala-postgres-reader ``` ## Usage diff --git a/readers/timescale/README.md b/readers/timescale/README.md index 0b9b9182d..3c78b5718 100644 --- a/readers/timescale/README.md +++ b/readers/timescale/README.md @@ -8,33 +8,33 @@ The service is configured using the environment variables presented in the following table. Note that any unset variables will be replaced with their default values. -| Variable | Description | Default | -| ------------------------------------ | ------------------------------------------- | ------------------------------ | -| MG_TIMESCALE_READER_LOG_LEVEL | Service log level | info | -| MG_TIMESCALE_READER_HTTP_HOST | Service HTTP host | localhost | -| MG_TIMESCALE_READER_HTTP_PORT | Service HTTP port | 8180 | -| MG_TIMESCALE_READER_HTTP_SERVER_CERT | Service HTTP server certificate path | "" | -| MG_TIMESCALE_READER_HTTP_SERVER_KEY | Service HTTP server key path | "" | -| MG_TIMESCALE_HOST | Timescale DB host | localhost | -| MG_TIMESCALE_PORT | Timescale DB port | 5432 | -| MG_TIMESCALE_USER | Timescale user | mainflux | -| MG_TIMESCALE_PASS | Timescale password | mainflux | -| MG_TIMESCALE_NAME | Timescale database name | messages | -| MG_TIMESCALE_SSL_MODE | Timescale SSL mode | disabled | -| MG_TIMESCALE_SSL_CERT | Timescale SSL certificate path | "" | -| MG_TIMESCALE_SSL_KEY | Timescale SSL key | "" | -| MG_TIMESCALE_SSL_ROOT_CERT | Timescale SSL root certificate path | "" | -| MG_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:7000 | -| MG_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC timeout in seconds | 1s | -| MG_THINGS_AUTH_GRPC_CLIENT_TLS | Things service Auth gRPC TLS enabled flag | false | -| MG_THINGS_AUTH_GRPC_CA_CERTS | Things service Auth gRPC CA certificates | "" | -| MG_AUTH_GRPC_URL | Users service gRPC URL | localhost:7001 | -| MG_AUTH_GRPC_TIMEOUT | Users service gRPC timeout in seconds | 1s | -| MG_AUTH_GRPC_CLIENT_TLS | Users service gRPC TLS enabled flag | false | -| MG_AUTH_GRPC_CA_CERT | Users service gRPC CA certificate | "" | -| MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | -| MG_TIMESCALE_READER_INSTANCE_ID | Timescale reader instance ID | "" | +| Variable | Description | Default | +| ------------------------------------ | --------------------------------------------- | ------------------------------ | +| MG_TIMESCALE_READER_LOG_LEVEL | Service log level | info | +| MG_TIMESCALE_READER_HTTP_HOST | Service HTTP host | localhost | +| MG_TIMESCALE_READER_HTTP_PORT | Service HTTP port | 8180 | +| MG_TIMESCALE_READER_HTTP_SERVER_CERT | Service HTTP server certificate path | "" | +| MG_TIMESCALE_READER_HTTP_SERVER_KEY | Service HTTP server key path | "" | +| MG_TIMESCALE_HOST | Timescale DB host | localhost | +| MG_TIMESCALE_PORT | Timescale DB port | 5432 | +| MG_TIMESCALE_USER | Timescale user | magistrala | +| MG_TIMESCALE_PASS | Timescale password | magistrala | +| MG_TIMESCALE_NAME | Timescale database name | messages | +| MG_TIMESCALE_SSL_MODE | Timescale SSL mode | disabled | +| MG_TIMESCALE_SSL_CERT | Timescale SSL certificate path | "" | +| MG_TIMESCALE_SSL_KEY | Timescale SSL key | "" | +| MG_TIMESCALE_SSL_ROOT_CERT | Timescale SSL root certificate path | "" | +| MG_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:7000 | +| MG_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC timeout in seconds | 1s | +| MG_THINGS_AUTH_GRPC_CLIENT_TLS | Things service Auth gRPC TLS enabled flag | false | +| MG_THINGS_AUTH_GRPC_CA_CERTS | Things service Auth gRPC CA certificates | "" | +| MG_AUTH_GRPC_URL | Users service gRPC URL | localhost:7001 | +| MG_AUTH_GRPC_TIMEOUT | Users service gRPC timeout in seconds | 1s | +| MG_AUTH_GRPC_CLIENT_TLS | Users service gRPC TLS enabled flag | false | +| MG_AUTH_GRPC_CA_CERT | Users service gRPC CA certificate | "" | +| MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | +| MG_TIMESCALE_READER_INSTANCE_ID | Timescale reader instance ID | "" | ## Deployment @@ -46,7 +46,7 @@ To start the service, execute the following shell script: # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the timescale writer make timescale-writer @@ -78,9 +78,9 @@ MG_AUTH_GRPC_TIMEOUT=[Users service Auth gRPC request timeout in seconds] \ MG_AUTH_GRPC_CLIENT_TLS=[Users service Auth gRPC TLS enabled flag] \ MG_AUTH_GRPC_CA_CERT=[Users service Auth gRPC CA certificates] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_TIMESCALE_READER_INSTANCE_ID=[Timescale reader instance ID] \ -$GOBIN/mainflux-timescale-reader +$GOBIN/magistrala-timescale-reader ``` ## Usage diff --git a/scripts/ci.sh b/scripts/ci.sh index 823dc3385..8ada56dec 100755 --- a/scripts/ci.sh +++ b/scripts/ci.sh @@ -44,7 +44,7 @@ setup_protoc() { export PATH=$PATH:/usr/local/bin/protoc } -setup_mf() { +setup_mg() { echo "Setting up Magistrala..." for p in $(ls *.pb.go); do mv $p $p.tmp @@ -81,7 +81,7 @@ setup() { echo "Setting up..." update_go setup_protoc - setup_mf + setup_mg setup_lint } diff --git a/scripts/run.sh b/scripts/run.sh index 62a223557..8e0097a16 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -12,9 +12,9 @@ BUILD_DIR=../build -# Kill all mainflux-* stuff +# Kill all magistrala-* stuff function cleanup { - pkill mainflux + pkill magistrala pkill nats } @@ -38,32 +38,32 @@ done ### # Users ### -MG_USERS_LOG_LEVEL=info MG_USERS_HTTP_PORT=9002 MG_USERS_GRPC_PORT=7001 MG_USERS_ADMIN_EMAIL=admin@mainflux.com MG_USERS_ADMIN_PASSWORD=12345678 MG_EMAIL_TEMPLATE=../docker/templates/users.tmpl $BUILD_DIR/mainflux-users & +MG_USERS_LOG_LEVEL=info MG_USERS_HTTP_PORT=9002 MG_USERS_GRPC_PORT=7001 MG_USERS_ADMIN_EMAIL=admin@magistrala.com MG_USERS_ADMIN_PASSWORD=12345678 MG_EMAIL_TEMPLATE=../docker/templates/users.tmpl $BUILD_DIR/magistrala-users & ### # Things ### -MG_THINGS_LOG_LEVEL=info MG_THINGS_HTTP_PORT=9000 MG_THINGS_AUTH_GRPC_PORT=7000 MG_THINGS_AUTH_HTTP_PORT=9002 $BUILD_DIR/mainflux-things & +MG_THINGS_LOG_LEVEL=info MG_THINGS_HTTP_PORT=9000 MG_THINGS_AUTH_GRPC_PORT=7000 MG_THINGS_AUTH_HTTP_PORT=9002 $BUILD_DIR/magistrala-things & ### # HTTP ### -MG_HTTP_ADAPTER_LOG_LEVEL=info MG_HTTP_ADAPTER_PORT=8008 MG_THINGS_AUTH_GRPC_URL=localhost:7000 $BUILD_DIR/mainflux-http & +MG_HTTP_ADAPTER_LOG_LEVEL=info MG_HTTP_ADAPTER_PORT=8008 MG_THINGS_AUTH_GRPC_URL=localhost:7000 $BUILD_DIR/magistrala-http & ### # WS ### -MG_WS_ADAPTER_LOG_LEVEL=info MG_WS_ADAPTER_HTTP_PORT=8190 MG_THINGS_AUTH_GRPC_URL=localhost:7000 $BUILD_DIR/mainflux-ws & +MG_WS_ADAPTER_LOG_LEVEL=info MG_WS_ADAPTER_HTTP_PORT=8190 MG_THINGS_AUTH_GRPC_URL=localhost:7000 $BUILD_DIR/magistrala-ws & ### # MQTT ### -MG_MQTT_ADAPTER_LOG_LEVEL=info MG_THINGS_AUTH_GRPC_URL=localhost:7000 $BUILD_DIR/mainflux-mqtt & +MG_MQTT_ADAPTER_LOG_LEVEL=info MG_THINGS_AUTH_GRPC_URL=localhost:7000 $BUILD_DIR/magistrala-mqtt & ### # CoAP ### -MG_COAP_ADAPTER_LOG_LEVEL=info MG_COAP_ADAPTER_PORT=5683 MG_THINGS_AUTH_GRPC_URL=localhost:7000 $BUILD_DIR/mainflux-coap & +MG_COAP_ADAPTER_LOG_LEVEL=info MG_COAP_ADAPTER_PORT=5683 MG_THINGS_AUTH_GRPC_URL=localhost:7000 $BUILD_DIR/magistrala-coap & trap cleanup EXIT diff --git a/things/README.md b/things/README.md index 3aad86deb..2b8a148b0 100644 --- a/things/README.md +++ b/things/README.md @@ -16,42 +16,42 @@ The service is configured using the environment variables presented in the following table. Note that any unset variables will be replaced with their default values. -| Variable | Description | Default | -| ------------------------------- | ----------------------------------------------------------------------- | ------------------------------ | -| MG_THINGS_LOG_LEVEL | Log level for Things (debug, info, warn, error) | info | -| MG_THINGS_HTTP_HOST | Things service HTTP host | localhost | -| MG_THINGS_HTTP_PORT | Things service HTTP port | 9000 | -| MG_THINGS_SERVER_CERT | Path to the PEM encoded server certificate file | "" | -| MG_THINGS_SERVER_KEY | Path to the PEM encoded server key file | "" | -| MG_THINGS_AUTH_GRPC_HOST | Things service gRPC host | localhost | -| MG_THINGS_AUTH_GRPC_PORT | Things service gRPC port | 7000 | -| MG_THINGS_AUTH_GRPC_SERVER_CERT | Path to the PEM encoded server certificate file | "" | -| MG_THINGS_AUTH_GRPC_SERVER_KEY | Path to the PEM encoded server key file | "" | -| MG_THINGS_DB_HOST | Database host address | localhost | -| MG_THINGS_DB_PORT | Database host port | 5432 | -| MG_THINGS_DB_USER | Database user | mainflux | -| MG_THINGS_DB_PASS | Database password | mainflux | -| MG_THINGS_DB_NAME | Name of the database used by the service | things | -| MG_THINGS_DB_SSL_MODE | Database connection SSL mode (disable, require, verify-ca, verify-full) | disable | -| MG_THINGS_DB_SSL_CERT | Path to the PEM encoded certificate file | "" | -| MG_THINGS_DB_SSL_KEY | Path to the PEM encoded key file | "" | -| MG_THINGS_DB_SSL_ROOT_CERT | Path to the PEM encoded root certificate file | "" | -| MG_THINGS_CACHE_URL | Cache database URL | redis://localhost:6379/0 | -| MG_THINGS_CACHE_KEY_DURATION | Cache key duration in seconds | 3600 | -| MG_THINGS_ES_URL | Event store URL | localhost:6379 | -| MG_THINGS_ES_PASS | Event store password | "" | -| MG_THINGS_ES_DB | Event store instance name | 0 | -| MG_THINGS_STANDALONE_ID | User ID for standalone mode (no gRPC communication with users) | "" | -| MG_THINGS_STANDALONE_TOKEN | User token for standalone mode that should be passed in auth header | "" | -| MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_AUTH_GRPC_URL | Users service gRPC URL | localhost:7001 | -| MG_AUTH_GRPC_TIMEOUT | Users service gRPC request timeout in seconds | 1s | -| MG_AUTH_GRPC_CLIENT_TLS | Enable TLS for gRPC client | false | -| MG_AUTH_GRPC_CA_CERT | Path to the CA certificate file | "" | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server. | true | -| MG_THINGS_INSTANCE_ID | Things instance ID | "" | +| Variable | Description | Default | +| ------------------------------- | ----------------------------------------------------------------------- | -------------------------------- | +| MG_THINGS_LOG_LEVEL | Log level for Things (debug, info, warn, error) | info | +| MG_THINGS_HTTP_HOST | Things service HTTP host | localhost | +| MG_THINGS_HTTP_PORT | Things service HTTP port | 9000 | +| MG_THINGS_SERVER_CERT | Path to the PEM encoded server certificate file | "" | +| MG_THINGS_SERVER_KEY | Path to the PEM encoded server key file | "" | +| MG_THINGS_AUTH_GRPC_HOST | Things service gRPC host | localhost | +| MG_THINGS_AUTH_GRPC_PORT | Things service gRPC port | 7000 | +| MG_THINGS_AUTH_GRPC_SERVER_CERT | Path to the PEM encoded server certificate file | "" | +| MG_THINGS_AUTH_GRPC_SERVER_KEY | Path to the PEM encoded server key file | "" | +| MG_THINGS_DB_HOST | Database host address | localhost | +| MG_THINGS_DB_PORT | Database host port | 5432 | +| MG_THINGS_DB_USER | Database user | magistrala | +| MG_THINGS_DB_PASS | Database password | magistrala | +| MG_THINGS_DB_NAME | Name of the database used by the service | things | +| MG_THINGS_DB_SSL_MODE | Database connection SSL mode (disable, require, verify-ca, verify-full) | disable | +| MG_THINGS_DB_SSL_CERT | Path to the PEM encoded certificate file | "" | +| MG_THINGS_DB_SSL_KEY | Path to the PEM encoded key file | "" | +| MG_THINGS_DB_SSL_ROOT_CERT | Path to the PEM encoded root certificate file | "" | +| MG_THINGS_CACHE_URL | Cache database URL | | +| MG_THINGS_CACHE_KEY_DURATION | Cache key duration in seconds | 3600 | +| MG_THINGS_ES_URL | Event store URL | | +| MG_THINGS_ES_PASS | Event store password | "" | +| MG_THINGS_ES_DB | Event store instance name | 0 | +| MG_THINGS_STANDALONE_ID | User ID for standalone mode (no gRPC communication with users) | "" | +| MG_THINGS_STANDALONE_TOKEN | User token for standalone mode that should be passed in auth header | "" | +| MG_JAEGER_URL | Jaeger server URL | | +| MG_AUTH_GRPC_URL | Users service gRPC URL | localhost:7001 | +| MG_AUTH_GRPC_TIMEOUT | Users service gRPC request timeout in seconds | 1s | +| MG_AUTH_GRPC_CLIENT_TLS | Enable TLS for gRPC client | false | +| MG_AUTH_GRPC_CA_CERT | Path to the CA certificate file | "" | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server. | true | +| MG_THINGS_INSTANCE_ID | Things instance ID | "" | -**Note** that if you want `thin gs` service to have only one user locally, you should use `MG_THINGS_STANDALONE` env vars. By specifying these, you don't need `auth` service in your deployment for users' authorization. +**Note** that if you want `things` service to have only one user locally, you should use `MG_THINGS_STANDALONE` env vars. By specifying these, you don't need `auth` service in your deployment for users' authorization. ## Deployment @@ -64,7 +64,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the things make things @@ -103,9 +103,9 @@ MG_AUTH_GRPC_TIMEOUT=[Users service gRPC request timeout in seconds] \ MG_AUTH_GRPC_CLIENT_TLS=[Enable TLS for gRPC client] \ MG_AUTH_GRPC_CA_CERT=[Path to trusted CA certificate file] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_THINGS_INSTANCE_ID=[Things instance ID] \ -$GOBIN/mainflux-things +$GOBIN/magistrala-things ``` Setting `MG_THINGS_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Users gRPC endpoint trusting only those CAs that are provided. diff --git a/things/api/grpc/client.go b/things/api/grpc/client.go index 29be0e960..838b51612 100644 --- a/things/api/grpc/client.go +++ b/things/api/grpc/client.go @@ -7,15 +7,15 @@ import ( "context" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/go-kit/kit/endpoint" kitgrpc "github.com/go-kit/kit/transport/grpc" "google.golang.org/grpc" ) -const svcName = "mainflux.AuthzService" +const svcName = "magistrala.AuthzService" -var _ mainflux.AuthzServiceClient = (*grpcClient)(nil) +var _ magistrala.AuthzServiceClient = (*grpcClient)(nil) type grpcClient struct { timeout time.Duration @@ -23,7 +23,7 @@ type grpcClient struct { } // NewClient returns new gRPC client instance. -func NewClient(conn *grpc.ClientConn, timeout time.Duration) mainflux.AuthzServiceClient { +func NewClient(conn *grpc.ClientConn, timeout time.Duration) magistrala.AuthzServiceClient { return &grpcClient{ authorize: kitgrpc.NewClient( conn, @@ -31,34 +31,34 @@ func NewClient(conn *grpc.ClientConn, timeout time.Duration) mainflux.AuthzServi "Authorize", encodeAuthorizeRequest, decodeAuthorizeResponse, - mainflux.AuthorizeRes{}, + magistrala.AuthorizeRes{}, ).Endpoint(), timeout: timeout, } } -func (client grpcClient) Authorize(ctx context.Context, req *mainflux.AuthorizeReq, _ ...grpc.CallOption) (r *mainflux.AuthorizeRes, err error) { +func (client grpcClient) Authorize(ctx context.Context, req *magistrala.AuthorizeReq, _ ...grpc.CallOption) (r *magistrala.AuthorizeRes, err error) { ctx, close := context.WithTimeout(ctx, client.timeout) defer close() res, err := client.authorize(ctx, req) if err != nil { - return &mainflux.AuthorizeRes{}, err + return &magistrala.AuthorizeRes{}, err } ar := res.(authorizeRes) - return &mainflux.AuthorizeRes{Authorized: ar.authorized, Id: ar.id}, err + return &magistrala.AuthorizeRes{Authorized: ar.authorized, Id: ar.id}, err } func decodeAuthorizeResponse(_ context.Context, grpcRes interface{}) (interface{}, error) { - res := grpcRes.(*mainflux.AuthorizeRes) + res := grpcRes.(*magistrala.AuthorizeRes) return authorizeRes{authorized: res.Authorized, id: res.Id}, nil } func encodeAuthorizeRequest(_ context.Context, grpcReq interface{}) (interface{}, error) { - req := grpcReq.(*mainflux.AuthorizeReq) - return &mainflux.AuthorizeReq{ + req := grpcReq.(*magistrala.AuthorizeReq) + return &magistrala.AuthorizeReq{ Namespace: req.GetNamespace(), SubjectType: req.GetSubjectType(), Subject: req.GetSubject(), diff --git a/things/api/grpc/endpoint.go b/things/api/grpc/endpoint.go index eef682fe3..be15189d4 100644 --- a/things/api/grpc/endpoint.go +++ b/things/api/grpc/endpoint.go @@ -6,14 +6,14 @@ package grpc import ( "context" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/things" "github.com/go-kit/kit/endpoint" ) func authorizeEndpoint(svc things.Service) endpoint.Endpoint { return func(ctx context.Context, request interface{}) (interface{}, error) { - req := request.(*mainflux.AuthorizeReq) + req := request.(*magistrala.AuthorizeReq) id, err := svc.Authorize(ctx, req) if err != nil { diff --git a/things/api/grpc/server.go b/things/api/grpc/server.go index 90f3affcc..2090146ac 100644 --- a/things/api/grpc/server.go +++ b/things/api/grpc/server.go @@ -6,7 +6,7 @@ package grpc import ( "context" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/auth" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/pkg/errors" @@ -16,15 +16,15 @@ import ( "google.golang.org/grpc/status" ) -var _ mainflux.AuthzServiceServer = (*grpcServer)(nil) +var _ magistrala.AuthzServiceServer = (*grpcServer)(nil) type grpcServer struct { - mainflux.UnimplementedAuthzServiceServer + magistrala.UnimplementedAuthzServiceServer authorize kitgrpc.Handler } // NewServer returns new AuthServiceServer instance. -func NewServer(svc things.Service) mainflux.AuthzServiceServer { +func NewServer(svc things.Service) magistrala.AuthzServiceServer { return &grpcServer{ authorize: kitgrpc.NewServer( (authorizeEndpoint(svc)), @@ -34,22 +34,22 @@ func NewServer(svc things.Service) mainflux.AuthzServiceServer { } } -func (s *grpcServer) Authorize(ctx context.Context, req *mainflux.AuthorizeReq) (*mainflux.AuthorizeRes, error) { +func (s *grpcServer) Authorize(ctx context.Context, req *magistrala.AuthorizeReq) (*magistrala.AuthorizeRes, error) { _, res, err := s.authorize.ServeGRPC(ctx, req) if err != nil { return nil, encodeError(err) } - return res.(*mainflux.AuthorizeRes), nil + return res.(*magistrala.AuthorizeRes), nil } func decodeAuthorizeRequest(_ context.Context, grpcReq interface{}) (interface{}, error) { - req := grpcReq.(*mainflux.AuthorizeReq) + req := grpcReq.(*magistrala.AuthorizeReq) return req, nil } func encodeAuthorizeResponse(_ context.Context, grpcRes interface{}) (interface{}, error) { res := grpcRes.(authorizeRes) - return &mainflux.AuthorizeRes{Authorized: res.authorized, Id: res.id}, nil + return &magistrala.AuthorizeRes{Authorized: res.authorized, Id: res.id}, nil } func encodeError(err error) error { diff --git a/things/api/http/clients.go b/things/api/http/clients.go index fb640ceae..954ddc19f 100644 --- a/things/api/http/clients.go +++ b/things/api/http/clients.go @@ -11,8 +11,8 @@ import ( "github.com/absmach/magistrala/internal/api" "github.com/absmach/magistrala/internal/apiutil" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/things" "github.com/go-chi/chi/v5" @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" ) -func clientsHandler(svc things.Service, r *chi.Mux, logger mflog.Logger) http.Handler { +func clientsHandler(svc things.Service, r *chi.Mux, logger mglog.Logger) http.Handler { opts := []kithttp.ServerOption{ kithttp.ServerErrorEncoder(apiutil.LoggingErrorEncoder(logger, api.EncodeError)), } @@ -178,7 +178,7 @@ func decodeListClients(_ context.Context, r *http.Request) (interface{}, error) if oid != "" { ownerID = oid } - st, err := mfclients.ToStatus(s) + st, err := mgclients.ToStatus(s) if err != nil { return nil, errors.Wrap(apiutil.ErrValidation, err) } @@ -266,7 +266,7 @@ func decodeCreateClientReq(_ context.Context, r *http.Request) (interface{}, err return nil, errors.Wrap(apiutil.ErrValidation, apiutil.ErrUnsupportedContentType) } - var c mfclients.Client + var c mgclients.Client if err := json.NewDecoder(r.Body).Decode(&c); err != nil { return nil, errors.Wrap(apiutil.ErrValidation, errors.Wrap(errors.ErrMalformedEntity, err)) } @@ -317,7 +317,7 @@ func decodeListMembersRequest(_ context.Context, r *http.Request) (interface{}, if err != nil { return nil, errors.Wrap(apiutil.ErrValidation, err) } - st, err := mfclients.ToStatus(s) + st, err := mgclients.ToStatus(s) if err != nil { return nil, errors.Wrap(apiutil.ErrValidation, err) } @@ -327,7 +327,7 @@ func decodeListMembersRequest(_ context.Context, r *http.Request) (interface{}, } req := listMembersReq{ token: apiutil.ExtractBearerToken(r), - Page: mfclients.Page{ + Page: mgclients.Page{ Status: st, Offset: o, Limit: l, diff --git a/things/api/http/endpoints.go b/things/api/http/endpoints.go index 6b0f7123a..e802357d0 100644 --- a/things/api/http/endpoints.go +++ b/things/api/http/endpoints.go @@ -7,7 +7,7 @@ import ( "context" "github.com/absmach/magistrala/internal/apiutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/groups" "github.com/absmach/magistrala/things" @@ -82,7 +82,7 @@ func listClientsEndpoint(svc things.Service) endpoint.Endpoint { return nil, errors.Wrap(apiutil.ErrValidation, err) } - pm := mfclients.Page{ + pm := mgclients.Page{ Status: req.status, Offset: req.offset, Limit: req.limit, @@ -136,7 +136,7 @@ func updateClientEndpoint(svc things.Service) endpoint.Endpoint { return nil, errors.Wrap(apiutil.ErrValidation, err) } - cli := mfclients.Client{ + cli := mgclients.Client{ ID: req.id, Name: req.Name, Metadata: req.Metadata, @@ -157,7 +157,7 @@ func updateClientTagsEndpoint(svc things.Service) endpoint.Endpoint { return nil, errors.Wrap(apiutil.ErrValidation, err) } - cli := mfclients.Client{ + cli := mgclients.Client{ ID: req.id, Tags: req.Tags, } @@ -193,7 +193,7 @@ func updateClientOwnerEndpoint(svc things.Service) endpoint.Endpoint { return nil, errors.Wrap(apiutil.ErrValidation, err) } - cli := mfclients.Client{ + cli := mgclients.Client{ ID: req.id, Owner: req.Owner, } @@ -238,7 +238,7 @@ func disableClientEndpoint(svc things.Service) endpoint.Endpoint { } } -func buildClientsResponse(cp mfclients.MembersPage) clientsPageRes { +func buildClientsResponse(cp mgclients.MembersPage) clientsPageRes { res := clientsPageRes{ pageRes: pageRes{ Total: cp.Total, diff --git a/things/api/http/requests.go b/things/api/http/requests.go index e6939fcb0..11012f44b 100644 --- a/things/api/http/requests.go +++ b/things/api/http/requests.go @@ -6,12 +6,12 @@ package http import ( "github.com/absmach/magistrala/internal/api" "github.com/absmach/magistrala/internal/apiutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" ) type createClientReq struct { - client mfclients.Client + client mgclients.Client token string } @@ -31,7 +31,7 @@ func (req createClientReq) validate() error { type createClientsReq struct { token string - Clients []mfclients.Client + Clients []mgclients.Client } func (req createClientsReq) validate() error { @@ -66,7 +66,7 @@ func (req viewClientReq) validate() error { type listClientsReq struct { token string - status mfclients.Status + status mgclients.Status offset uint64 limit uint64 name string @@ -75,7 +75,7 @@ type listClientsReq struct { permission string visibility string userID string - metadata mfclients.Metadata + metadata mgclients.Metadata } func (req listClientsReq) validate() error { @@ -99,7 +99,7 @@ func (req listClientsReq) validate() error { } type listMembersReq struct { - mfclients.Page + mgclients.Page token string groupID string } diff --git a/things/api/http/responses.go b/things/api/http/responses.go index b2f00f473..91e738b31 100644 --- a/things/api/http/responses.go +++ b/things/api/http/responses.go @@ -7,20 +7,20 @@ import ( "fmt" "net/http" - mainflux "github.com/absmach/magistrala" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mgclients "github.com/absmach/magistrala/pkg/clients" ) var ( - _ mainflux.Response = (*viewClientRes)(nil) - _ mainflux.Response = (*createClientRes)(nil) - _ mainflux.Response = (*deleteClientRes)(nil) - _ mainflux.Response = (*clientsPageRes)(nil) - _ mainflux.Response = (*viewMembersRes)(nil) - _ mainflux.Response = (*assignUsersGroupsRes)(nil) - _ mainflux.Response = (*unassignUsersGroupsRes)(nil) - _ mainflux.Response = (*connectChannelThingRes)(nil) - _ mainflux.Response = (*disconnectChannelThingRes)(nil) + _ magistrala.Response = (*viewClientRes)(nil) + _ magistrala.Response = (*createClientRes)(nil) + _ magistrala.Response = (*deleteClientRes)(nil) + _ magistrala.Response = (*clientsPageRes)(nil) + _ magistrala.Response = (*viewMembersRes)(nil) + _ magistrala.Response = (*assignUsersGroupsRes)(nil) + _ magistrala.Response = (*unassignUsersGroupsRes)(nil) + _ magistrala.Response = (*connectChannelThingRes)(nil) + _ magistrala.Response = (*disconnectChannelThingRes)(nil) ) type pageRes struct { @@ -30,7 +30,7 @@ type pageRes struct { } type createClientRes struct { - mfclients.Client + mgclients.Client created bool } @@ -57,7 +57,7 @@ func (res createClientRes) Empty() bool { } type updateClientRes struct { - mfclients.Client + mgclients.Client } func (res updateClientRes) Code() int { @@ -73,7 +73,7 @@ func (res updateClientRes) Empty() bool { } type viewClientRes struct { - mfclients.Client + mgclients.Client } func (res viewClientRes) Code() int { @@ -106,7 +106,7 @@ func (res clientsPageRes) Empty() bool { } type viewMembersRes struct { - mfclients.Client + mgclients.Client } func (res viewMembersRes) Code() int { @@ -122,7 +122,7 @@ func (res viewMembersRes) Empty() bool { } type deleteClientRes struct { - mfclients.Client + mgclients.Client } func (res deleteClientRes) Code() int { diff --git a/things/api/http/transport.go b/things/api/http/transport.go index 1068d6f0f..7a36f7174 100644 --- a/things/api/http/transport.go +++ b/things/api/http/transport.go @@ -6,8 +6,8 @@ package http import ( "net/http" - mainflux "github.com/absmach/magistrala" - mflog "github.com/absmach/magistrala/logger" + "github.com/absmach/magistrala" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/groups" "github.com/absmach/magistrala/things" "github.com/go-chi/chi/v5" @@ -15,11 +15,11 @@ import ( ) // MakeHandler returns a HTTP handler for Things and Groups API endpoints. -func MakeHandler(tsvc things.Service, grps groups.Service, mux *chi.Mux, logger mflog.Logger, instanceID string) http.Handler { +func MakeHandler(tsvc things.Service, grps groups.Service, mux *chi.Mux, logger mglog.Logger, instanceID string) http.Handler { clientsHandler(tsvc, mux, logger) groupsHandler(grps, mux, logger) - mux.Get("/health", mainflux.Health("things", instanceID)) + mux.Get("/health", magistrala.Health("things", instanceID)) mux.Handle("/metrics", promhttp.Handler()) return mux diff --git a/things/api/logging.go b/things/api/logging.go index 0113672c8..f280966f3 100644 --- a/things/api/logging.go +++ b/things/api/logging.go @@ -8,24 +8,24 @@ import ( "fmt" "time" - mainflux "github.com/absmach/magistrala" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/things" ) var _ things.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc things.Service } -func LoggingMiddleware(svc things.Service, logger mflog.Logger) things.Service { +func LoggingMiddleware(svc things.Service, logger mglog.Logger) things.Service { return &loggingMiddleware{logger, svc} } -func (lm *loggingMiddleware) CreateThings(ctx context.Context, token string, clients ...mfclients.Client) (cs []mfclients.Client, err error) { +func (lm *loggingMiddleware) CreateThings(ctx context.Context, token string, clients ...mgclients.Client) (cs []mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method create_things %d things using token %s took %s to complete", len(cs), token, time.Since(begin)) if err != nil { @@ -37,7 +37,7 @@ func (lm *loggingMiddleware) CreateThings(ctx context.Context, token string, cli return lm.svc.CreateThings(ctx, token, clients...) } -func (lm *loggingMiddleware) ViewClient(ctx context.Context, token, id string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) ViewClient(ctx context.Context, token, id string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method view_thing for thing with id %s using token %s took %s to complete", id, token, time.Since(begin)) if err != nil { @@ -49,7 +49,7 @@ func (lm *loggingMiddleware) ViewClient(ctx context.Context, token, id string) ( return lm.svc.ViewClient(ctx, token, id) } -func (lm *loggingMiddleware) ListClients(ctx context.Context, token string, reqUserID string, pm mfclients.Page) (cp mfclients.ClientsPage, err error) { +func (lm *loggingMiddleware) ListClients(ctx context.Context, token string, reqUserID string, pm mgclients.Page) (cp mgclients.ClientsPage, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method list_things using token %s took %s to complete", token, time.Since(begin)) if err != nil { @@ -61,7 +61,7 @@ func (lm *loggingMiddleware) ListClients(ctx context.Context, token string, reqU return lm.svc.ListClients(ctx, token, reqUserID, pm) } -func (lm *loggingMiddleware) UpdateClient(ctx context.Context, token string, client mfclients.Client) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClient(ctx context.Context, token string, client mgclients.Client) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_thing_name_and_metadata for thing with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -73,7 +73,7 @@ func (lm *loggingMiddleware) UpdateClient(ctx context.Context, token string, cli return lm.svc.UpdateClient(ctx, token, client) } -func (lm *loggingMiddleware) UpdateClientTags(ctx context.Context, token string, client mfclients.Client) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClientTags(ctx context.Context, token string, client mgclients.Client) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_thing_tags for thing with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -85,7 +85,7 @@ func (lm *loggingMiddleware) UpdateClientTags(ctx context.Context, token string, return lm.svc.UpdateClientTags(ctx, token, client) } -func (lm *loggingMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_thing_secret for thing with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -97,7 +97,7 @@ func (lm *loggingMiddleware) UpdateClientSecret(ctx context.Context, token, oldS return lm.svc.UpdateClientSecret(ctx, token, oldSecret, newSecret) } -func (lm *loggingMiddleware) UpdateClientOwner(ctx context.Context, token string, client mfclients.Client) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClientOwner(ctx context.Context, token string, client mgclients.Client) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_thing_owner for thing with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -109,7 +109,7 @@ func (lm *loggingMiddleware) UpdateClientOwner(ctx context.Context, token string return lm.svc.UpdateClientOwner(ctx, token, client) } -func (lm *loggingMiddleware) EnableClient(ctx context.Context, token string, id string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) EnableClient(ctx context.Context, token string, id string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method enable_thing for thing with id %s using token %s took %s to complete", id, token, time.Since(begin)) if err != nil { @@ -121,7 +121,7 @@ func (lm *loggingMiddleware) EnableClient(ctx context.Context, token string, id return lm.svc.EnableClient(ctx, token, id) } -func (lm *loggingMiddleware) DisableClient(ctx context.Context, token string, id string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) DisableClient(ctx context.Context, token string, id string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method disable_thing for thing with id %s using token %s took %s to complete", id, token, time.Since(begin)) if err != nil { @@ -133,7 +133,7 @@ func (lm *loggingMiddleware) DisableClient(ctx context.Context, token string, id return lm.svc.DisableClient(ctx, token, id) } -func (lm *loggingMiddleware) ListClientsByGroup(ctx context.Context, token, channelID string, cp mfclients.Page) (mp mfclients.MembersPage, err error) { +func (lm *loggingMiddleware) ListClientsByGroup(ctx context.Context, token, channelID string, cp mgclients.Page) (mp mgclients.MembersPage, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method list_things_by_channel for channel with id %s using token %s took %s to complete", channelID, token, time.Since(begin)) if err != nil { @@ -157,7 +157,7 @@ func (lm *loggingMiddleware) Identify(ctx context.Context, key string) (id strin return lm.svc.Identify(ctx, key) } -func (lm *loggingMiddleware) Authorize(ctx context.Context, req *mainflux.AuthorizeReq) (id string, err error) { +func (lm *loggingMiddleware) Authorize(ctx context.Context, req *magistrala.AuthorizeReq) (id string, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method authorize for thing key %s and channnel %s took %s to complete", req.Subject, req.Object, time.Since(begin)) if err != nil { diff --git a/things/api/metrics.go b/things/api/metrics.go index 438c591c3..622cd9f3c 100644 --- a/things/api/metrics.go +++ b/things/api/metrics.go @@ -7,8 +7,8 @@ import ( "context" "time" - mainflux "github.com/absmach/magistrala" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/things" "github.com/go-kit/kit/metrics" ) @@ -30,7 +30,7 @@ func MetricsMiddleware(svc things.Service, counter metrics.Counter, latency metr } } -func (ms *metricsMiddleware) CreateThings(ctx context.Context, token string, clients ...mfclients.Client) ([]mfclients.Client, error) { +func (ms *metricsMiddleware) CreateThings(ctx context.Context, token string, clients ...mgclients.Client) ([]mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "register_things").Add(1) ms.latency.With("method", "register_things").Observe(time.Since(begin).Seconds()) @@ -38,7 +38,7 @@ func (ms *metricsMiddleware) CreateThings(ctx context.Context, token string, cli return ms.svc.CreateThings(ctx, token, clients...) } -func (ms *metricsMiddleware) ViewClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (ms *metricsMiddleware) ViewClient(ctx context.Context, token, id string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "view_thing").Add(1) ms.latency.With("method", "view_thing").Observe(time.Since(begin).Seconds()) @@ -46,7 +46,7 @@ func (ms *metricsMiddleware) ViewClient(ctx context.Context, token, id string) ( return ms.svc.ViewClient(ctx, token, id) } -func (ms *metricsMiddleware) ListClients(ctx context.Context, token string, reqUserID string, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (ms *metricsMiddleware) ListClients(ctx context.Context, token string, reqUserID string, pm mgclients.Page) (mgclients.ClientsPage, error) { defer func(begin time.Time) { ms.counter.With("method", "list_things").Add(1) ms.latency.With("method", "list_things").Observe(time.Since(begin).Seconds()) @@ -54,7 +54,7 @@ func (ms *metricsMiddleware) ListClients(ctx context.Context, token string, reqU return ms.svc.ListClients(ctx, token, reqUserID, pm) } -func (ms *metricsMiddleware) UpdateClient(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClient(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_thing_name_and_metadata").Add(1) ms.latency.With("method", "update_thing_name_and_metadata").Observe(time.Since(begin).Seconds()) @@ -62,7 +62,7 @@ func (ms *metricsMiddleware) UpdateClient(ctx context.Context, token string, cli return ms.svc.UpdateClient(ctx, token, client) } -func (ms *metricsMiddleware) UpdateClientTags(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClientTags(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_thing_tags").Add(1) ms.latency.With("method", "update_thing_tags").Observe(time.Since(begin).Seconds()) @@ -70,7 +70,7 @@ func (ms *metricsMiddleware) UpdateClientTags(ctx context.Context, token string, return ms.svc.UpdateClientTags(ctx, token, client) } -func (ms *metricsMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_thing_secret").Add(1) ms.latency.With("method", "update_thing_secret").Observe(time.Since(begin).Seconds()) @@ -78,7 +78,7 @@ func (ms *metricsMiddleware) UpdateClientSecret(ctx context.Context, token, oldS return ms.svc.UpdateClientSecret(ctx, token, oldSecret, newSecret) } -func (ms *metricsMiddleware) UpdateClientOwner(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClientOwner(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_thing_owner").Add(1) ms.latency.With("method", "update_thing_owner").Observe(time.Since(begin).Seconds()) @@ -86,7 +86,7 @@ func (ms *metricsMiddleware) UpdateClientOwner(ctx context.Context, token string return ms.svc.UpdateClientOwner(ctx, token, client) } -func (ms *metricsMiddleware) EnableClient(ctx context.Context, token string, id string) (mfclients.Client, error) { +func (ms *metricsMiddleware) EnableClient(ctx context.Context, token string, id string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "enable_thing").Add(1) ms.latency.With("method", "enable_thing").Observe(time.Since(begin).Seconds()) @@ -94,7 +94,7 @@ func (ms *metricsMiddleware) EnableClient(ctx context.Context, token string, id return ms.svc.EnableClient(ctx, token, id) } -func (ms *metricsMiddleware) DisableClient(ctx context.Context, token string, id string) (mfclients.Client, error) { +func (ms *metricsMiddleware) DisableClient(ctx context.Context, token string, id string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "disable_thing").Add(1) ms.latency.With("method", "disable_thing").Observe(time.Since(begin).Seconds()) @@ -102,7 +102,7 @@ func (ms *metricsMiddleware) DisableClient(ctx context.Context, token string, id return ms.svc.DisableClient(ctx, token, id) } -func (ms *metricsMiddleware) ListClientsByGroup(ctx context.Context, token, groupID string, pm mfclients.Page) (mp mfclients.MembersPage, err error) { +func (ms *metricsMiddleware) ListClientsByGroup(ctx context.Context, token, groupID string, pm mgclients.Page) (mp mgclients.MembersPage, err error) { defer func(begin time.Time) { ms.counter.With("method", "list_things_by_channel").Add(1) ms.latency.With("method", "list_things_by_channel").Observe(time.Since(begin).Seconds()) @@ -118,7 +118,7 @@ func (ms *metricsMiddleware) Identify(ctx context.Context, key string) (string, return ms.svc.Identify(ctx, key) } -func (ms *metricsMiddleware) Authorize(ctx context.Context, req *mainflux.AuthorizeReq) (id string, err error) { +func (ms *metricsMiddleware) Authorize(ctx context.Context, req *magistrala.AuthorizeReq) (id string, err error) { defer func(begin time.Time) { ms.counter.With("method", "authorize").Add(1) ms.latency.With("method", "authorize").Observe(time.Since(begin).Seconds()) diff --git a/things/events/events.go b/things/events/events.go index 9165d6660..cc8537f69 100644 --- a/things/events/events.go +++ b/things/events/events.go @@ -9,7 +9,7 @@ import ( "strings" "time" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/events" ) @@ -38,7 +38,7 @@ var ( ) type createClientEvent struct { - mfclients.Client + mgclients.Client } func (cce createClientEvent) Encode() (map[string]interface{}, error) { @@ -75,7 +75,7 @@ func (cce createClientEvent) Encode() (map[string]interface{}, error) { } type updateClientEvent struct { - mfclients.Client + mgclients.Client operation string } @@ -141,7 +141,7 @@ func (rce removeClientEvent) Encode() (map[string]interface{}, error) { } type viewClientEvent struct { - mfclients.Client + mgclients.Client } func (vce viewClientEvent) Encode() (map[string]interface{}, error) { @@ -189,7 +189,7 @@ func (vce viewClientEvent) Encode() (map[string]interface{}, error) { type listClientEvent struct { reqUserID string - mfclients.Page + mgclients.Page } func (lce listClientEvent) Encode() (map[string]interface{}, error) { @@ -242,7 +242,7 @@ func (lce listClientEvent) Encode() (map[string]interface{}, error) { } type listClientByGroupEvent struct { - mfclients.Page + mgclients.Page channelID string } diff --git a/things/events/streams.go b/things/events/streams.go index a038386a1..cabad28ff 100644 --- a/things/events/streams.go +++ b/things/events/streams.go @@ -6,14 +6,14 @@ package events import ( "context" - mainflux "github.com/absmach/magistrala" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/events/store" "github.com/absmach/magistrala/things" ) -const streamID = "mainflux.things" +const streamID = "magistrala.things" var _ things.Service = (*eventStore)(nil) @@ -36,7 +36,7 @@ func NewEventStoreMiddleware(ctx context.Context, svc things.Service, url string }, nil } -func (es *eventStore) CreateThings(ctx context.Context, token string, thing ...mfclients.Client) ([]mfclients.Client, error) { +func (es *eventStore) CreateThings(ctx context.Context, token string, thing ...mgclients.Client) ([]mgclients.Client, error) { sths, err := es.svc.CreateThings(ctx, token, thing...) if err != nil { return sths, err @@ -54,7 +54,7 @@ func (es *eventStore) CreateThings(ctx context.Context, token string, thing ...m return sths, nil } -func (es *eventStore) UpdateClient(ctx context.Context, token string, thing mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) UpdateClient(ctx context.Context, token string, thing mgclients.Client) (mgclients.Client, error) { cli, err := es.svc.UpdateClient(ctx, token, thing) if err != nil { return cli, err @@ -63,7 +63,7 @@ func (es *eventStore) UpdateClient(ctx context.Context, token string, thing mfcl return es.update(ctx, "", cli) } -func (es *eventStore) UpdateClientOwner(ctx context.Context, token string, thing mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) UpdateClientOwner(ctx context.Context, token string, thing mgclients.Client) (mgclients.Client, error) { cli, err := es.svc.UpdateClientOwner(ctx, token, thing) if err != nil { return cli, err @@ -72,7 +72,7 @@ func (es *eventStore) UpdateClientOwner(ctx context.Context, token string, thing return es.update(ctx, "owner", cli) } -func (es *eventStore) UpdateClientTags(ctx context.Context, token string, thing mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) UpdateClientTags(ctx context.Context, token string, thing mgclients.Client) (mgclients.Client, error) { cli, err := es.svc.UpdateClientTags(ctx, token, thing) if err != nil { return cli, err @@ -81,7 +81,7 @@ func (es *eventStore) UpdateClientTags(ctx context.Context, token string, thing return es.update(ctx, "tags", cli) } -func (es *eventStore) UpdateClientSecret(ctx context.Context, token, id, key string) (mfclients.Client, error) { +func (es *eventStore) UpdateClientSecret(ctx context.Context, token, id, key string) (mgclients.Client, error) { cli, err := es.svc.UpdateClientSecret(ctx, token, id, key) if err != nil { return cli, err @@ -90,7 +90,7 @@ func (es *eventStore) UpdateClientSecret(ctx context.Context, token, id, key str return es.update(ctx, "secret", cli) } -func (es *eventStore) update(ctx context.Context, operation string, thing mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) update(ctx context.Context, operation string, thing mgclients.Client) (mgclients.Client, error) { event := updateClientEvent{ thing, operation, } @@ -102,7 +102,7 @@ func (es *eventStore) update(ctx context.Context, operation string, thing mfclie return thing, nil } -func (es *eventStore) ViewClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (es *eventStore) ViewClient(ctx context.Context, token, id string) (mgclients.Client, error) { cli, err := es.svc.ViewClient(ctx, token, id) if err != nil { return cli, err @@ -118,7 +118,7 @@ func (es *eventStore) ViewClient(ctx context.Context, token, id string) (mfclien return cli, nil } -func (es *eventStore) ListClients(ctx context.Context, token string, reqUserID string, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (es *eventStore) ListClients(ctx context.Context, token string, reqUserID string, pm mgclients.Page) (mgclients.ClientsPage, error) { cp, err := es.svc.ListClients(ctx, token, reqUserID, pm) if err != nil { return cp, err @@ -134,7 +134,7 @@ func (es *eventStore) ListClients(ctx context.Context, token string, reqUserID s return cp, nil } -func (es *eventStore) ListClientsByGroup(ctx context.Context, token, chID string, pm mfclients.Page) (mfclients.MembersPage, error) { +func (es *eventStore) ListClientsByGroup(ctx context.Context, token, chID string, pm mgclients.Page) (mgclients.MembersPage, error) { mp, err := es.svc.ListClientsByGroup(ctx, token, chID, pm) if err != nil { return mp, err @@ -149,7 +149,7 @@ func (es *eventStore) ListClientsByGroup(ctx context.Context, token, chID string return mp, nil } -func (es *eventStore) EnableClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (es *eventStore) EnableClient(ctx context.Context, token, id string) (mgclients.Client, error) { cli, err := es.svc.EnableClient(ctx, token, id) if err != nil { return cli, err @@ -158,7 +158,7 @@ func (es *eventStore) EnableClient(ctx context.Context, token, id string) (mfcli return es.delete(ctx, cli) } -func (es *eventStore) DisableClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (es *eventStore) DisableClient(ctx context.Context, token, id string) (mgclients.Client, error) { cli, err := es.svc.DisableClient(ctx, token, id) if err != nil { return cli, err @@ -167,7 +167,7 @@ func (es *eventStore) DisableClient(ctx context.Context, token, id string) (mfcl return es.delete(ctx, cli) } -func (es *eventStore) delete(ctx context.Context, cli mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) delete(ctx context.Context, cli mgclients.Client) (mgclients.Client, error) { event := removeClientEvent{ id: cli.ID, updatedAt: cli.UpdatedAt, @@ -196,7 +196,7 @@ func (es *eventStore) Identify(ctx context.Context, key string) (string, error) return thingID, nil } -func (es *eventStore) Authorize(ctx context.Context, req *mainflux.AuthorizeReq) (string, error) { +func (es *eventStore) Authorize(ctx context.Context, req *magistrala.AuthorizeReq) (string, error) { thingID, err := es.svc.Authorize(ctx, req) if err != nil { return thingID, err diff --git a/things/mocks/auth.go b/things/mocks/auth.go index cf149a17b..7ad9b68da 100644 --- a/things/mocks/auth.go +++ b/things/mocks/auth.go @@ -6,26 +6,26 @@ package mocks import ( "context" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/mock" "google.golang.org/grpc" ) -var _ mainflux.AuthzServiceClient = (*Service)(nil) +var _ magistrala.AuthzServiceClient = (*Service)(nil) type Service struct { mock.Mock } -func (m *Service) Authorize(ctx context.Context, in *mainflux.AuthorizeReq, opts ...grpc.CallOption) (*mainflux.AuthorizeRes, error) { +func (m *Service) Authorize(ctx context.Context, in *magistrala.AuthorizeReq, opts ...grpc.CallOption) (*magistrala.AuthorizeRes, error) { ret := m.Called(ctx, in) if in.GetSubject() == WrongID || in.GetSubject() == "" { - return &mainflux.AuthorizeRes{}, errors.ErrAuthorization + return &magistrala.AuthorizeRes{}, errors.ErrAuthorization } if in.GetObject() == WrongID || in.GetObject() == "" { - return &mainflux.AuthorizeRes{}, errors.ErrAuthorization + return &magistrala.AuthorizeRes{}, errors.ErrAuthorization } - return ret.Get(0).(*mainflux.AuthorizeRes), ret.Error(1) + return ret.Get(0).(*magistrala.AuthorizeRes), ret.Error(1) } diff --git a/things/mocks/clients.go b/things/mocks/clients.go index c63723c36..7ed5fd5cf 100644 --- a/things/mocks/clients.go +++ b/things/mocks/clients.go @@ -6,140 +6,140 @@ package mocks import ( "context" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/mock" ) const WrongID = "wrongID" -var _ mfclients.Repository = (*Repository)(nil) +var _ mgclients.Repository = (*Repository)(nil) type Repository struct { mock.Mock } // RetrieveByIdentity retrieves client by its unique credentials. -func (*Repository) RetrieveByIdentity(ctx context.Context, identity string) (mfclients.Client, error) { - return mfclients.Client{}, nil +func (*Repository) RetrieveByIdentity(ctx context.Context, identity string) (mgclients.Client, error) { + return mgclients.Client{}, nil } -func (m *Repository) ChangeStatus(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) ChangeStatus(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - if client.Status != mfclients.EnabledStatus && client.Status != mfclients.DisabledStatus { - return mfclients.Client{}, errors.ErrMalformedEntity + if client.Status != mgclients.EnabledStatus && client.Status != mgclients.DisabledStatus { + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) Members(ctx context.Context, groupID string, pm mfclients.Page) (mfclients.MembersPage, error) { +func (m *Repository) Members(ctx context.Context, groupID string, pm mgclients.Page) (mgclients.MembersPage, error) { ret := m.Called(ctx, groupID, pm) if groupID == WrongID { - return mfclients.MembersPage{}, errors.ErrNotFound + return mgclients.MembersPage{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.MembersPage), ret.Error(1) + return ret.Get(0).(mgclients.MembersPage), ret.Error(1) } -func (m *Repository) RetrieveAll(ctx context.Context, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (m *Repository) RetrieveAll(ctx context.Context, pm mgclients.Page) (mgclients.ClientsPage, error) { ret := m.Called(ctx, pm) - return ret.Get(0).(mfclients.ClientsPage), ret.Error(1) + return ret.Get(0).(mgclients.ClientsPage), ret.Error(1) } -func (m *Repository) RetrieveByID(ctx context.Context, id string) (mfclients.Client, error) { +func (m *Repository) RetrieveByID(ctx context.Context, id string) (mgclients.Client, error) { ret := m.Called(ctx, id) if id == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) RetrieveBySecret(ctx context.Context, secret string) (mfclients.Client, error) { +func (m *Repository) RetrieveBySecret(ctx context.Context, secret string) (mgclients.Client, error) { ret := m.Called(ctx, secret) if secret == "" { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) Save(ctx context.Context, clis ...mfclients.Client) ([]mfclients.Client, error) { +func (m *Repository) Save(ctx context.Context, clis ...mgclients.Client) ([]mgclients.Client, error) { ret := m.Called(ctx, clis) for _, cli := range clis { if cli.Owner == WrongID { - return []mfclients.Client{}, errors.ErrMalformedEntity + return []mgclients.Client{}, errors.ErrMalformedEntity } } return clis, ret.Error(1) } -func (m *Repository) Update(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) Update(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) UpdateIdentity(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) UpdateIdentity(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } if client.Credentials.Identity == "" { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) UpdateSecret(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) UpdateSecret(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } if client.Credentials.Secret == "" { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) UpdateTags(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) UpdateTags(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) UpdateOwner(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) UpdateOwner(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) RetrieveAllByIDs(ctx context.Context, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (m *Repository) RetrieveAllByIDs(ctx context.Context, pm mgclients.Page) (mgclients.ClientsPage, error) { ret := m.Called(ctx, pm) - return ret.Get(0).(mfclients.ClientsPage), ret.Error(1) + return ret.Get(0).(mgclients.ClientsPage), ret.Error(1) } diff --git a/things/postgres/clients.go b/things/postgres/clients.go index c82cd4992..8bb3f85e9 100644 --- a/things/postgres/clients.go +++ b/things/postgres/clients.go @@ -9,26 +9,26 @@ import ( "fmt" "github.com/absmach/magistrala/internal/postgres" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" pgclients "github.com/absmach/magistrala/pkg/clients/postgres" "github.com/absmach/magistrala/pkg/errors" ) -var _ mfclients.Repository = (*clientRepo)(nil) +var _ mgclients.Repository = (*clientRepo)(nil) type clientRepo struct { pgclients.ClientRepository } type Repository interface { - mfclients.Repository + mgclients.Repository // Save persists the client account. A non-nil error is returned to indicate // operation failure. - Save(ctx context.Context, client ...mfclients.Client) ([]mfclients.Client, error) + Save(ctx context.Context, client ...mgclients.Client) ([]mgclients.Client, error) // RetrieveBySecret retrieves a client based on the secret (key). - RetrieveBySecret(ctx context.Context, key string) (mfclients.Client, error) + RetrieveBySecret(ctx context.Context, key string) (mgclients.Client, error) } // NewRepository instantiates a PostgreSQL @@ -39,12 +39,12 @@ func NewRepository(db postgres.Database) Repository { } } -func (repo clientRepo) Save(ctx context.Context, cs ...mfclients.Client) ([]mfclients.Client, error) { +func (repo clientRepo) Save(ctx context.Context, cs ...mgclients.Client) ([]mgclients.Client, error) { tx, err := repo.ClientRepository.DB.BeginTxx(ctx, nil) if err != nil { - return []mfclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) + return []mgclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) } - var clients []mfclients.Client + var clients []mgclients.Client for _, cli := range cs { q := `INSERT INTO clients (id, name, tags, owner_id, identity, secret, metadata, created_at, updated_at, updated_by, status) @@ -53,41 +53,41 @@ func (repo clientRepo) Save(ctx context.Context, cs ...mfclients.Client) ([]mfcl dbcli, err := pgclients.ToDBClient(cli) if err != nil { - return []mfclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) + return []mgclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) } row, err := repo.ClientRepository.DB.NamedQueryContext(ctx, q, dbcli) if err != nil { if err := tx.Rollback(); err != nil { - return []mfclients.Client{}, postgres.HandleError(err, errors.ErrCreateEntity) + return []mgclients.Client{}, postgres.HandleError(err, errors.ErrCreateEntity) } - return []mfclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) + return []mgclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) } defer row.Close() row.Next() dbcli = pgclients.DBClient{} if err := row.StructScan(&dbcli); err != nil { - return []mfclients.Client{}, err + return []mgclients.Client{}, err } client, err := pgclients.ToClient(dbcli) if err != nil { - return []mfclients.Client{}, err + return []mgclients.Client{}, err } clients = append(clients, client) } if err = tx.Commit(); err != nil { - return []mfclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) + return []mgclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) } return clients, nil } -func (repo clientRepo) RetrieveBySecret(ctx context.Context, key string) (mfclients.Client, error) { +func (repo clientRepo) RetrieveBySecret(ctx context.Context, key string) (mgclients.Client, error) { q := fmt.Sprintf(`SELECT id, name, tags, COALESCE(owner_id, '') AS owner_id, identity, secret, metadata, created_at, updated_at, updated_by, status FROM clients - WHERE secret = $1 AND status = %d`, mfclients.EnabledStatus) + WHERE secret = $1 AND status = %d`, mgclients.EnabledStatus) dbc := pgclients.DBClient{ Secret: key, @@ -95,9 +95,9 @@ func (repo clientRepo) RetrieveBySecret(ctx context.Context, key string) (mfclie if err := repo.DB.QueryRowxContext(ctx, q, key).StructScan(&dbc); err != nil { if err == sql.ErrNoRows { - return mfclients.Client{}, errors.Wrap(errors.ErrNotFound, err) + return mgclients.Client{}, errors.Wrap(errors.ErrNotFound, err) } - return mfclients.Client{}, errors.Wrap(errors.ErrViewEntity, err) + return mgclients.Client{}, errors.Wrap(errors.ErrViewEntity, err) } return pgclients.ToClient(dbc) diff --git a/things/service.go b/things/service.go index 1536886c7..29fc5e722 100644 --- a/things/service.go +++ b/things/service.go @@ -8,9 +8,9 @@ import ( "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/apiutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" - mfgroups "github.com/absmach/magistrala/pkg/groups" + mggroups "github.com/absmach/magistrala/pkg/groups" "github.com/absmach/magistrala/things/postgres" ) @@ -35,11 +35,11 @@ type service struct { clients postgres.Repository clientCache Cache idProvider magistrala.IDProvider - grepo mfgroups.Repository + grepo mggroups.Repository } // NewService returns a new Clients service implementation. -func NewService(uauth magistrala.AuthServiceClient, c postgres.Repository, grepo mfgroups.Repository, tcache Cache, idp magistrala.IDProvider) Service { +func NewService(uauth magistrala.AuthServiceClient, c postgres.Repository, grepo mggroups.Repository, tcache Cache, idp magistrala.IDProvider) Service { return service{ auth: uauth, clients: c, @@ -73,32 +73,32 @@ func (svc service) Authorize(ctx context.Context, req *magistrala.AuthorizeReq) return thingID, nil } -func (svc service) CreateThings(ctx context.Context, token string, cls ...mfclients.Client) ([]mfclients.Client, error) { +func (svc service) CreateThings(ctx context.Context, token string, cls ...mgclients.Client) ([]mgclients.Client, error) { user, err := svc.auth.Identify(ctx, &magistrala.IdentityReq{Token: token}) if err != nil { - return []mfclients.Client{}, errors.Wrap(errors.ErrAuthorization, err) + return []mgclients.Client{}, errors.Wrap(errors.ErrAuthorization, err) } - var clients []mfclients.Client + var clients []mgclients.Client for _, c := range cls { if c.ID == "" { clientID, err := svc.idProvider.ID() if err != nil { - return []mfclients.Client{}, err + return []mgclients.Client{}, err } c.ID = clientID } if c.Credentials.Secret == "" { key, err := svc.idProvider.ID() if err != nil { - return []mfclients.Client{}, err + return []mgclients.Client{}, err } c.Credentials.Secret = key } if c.Owner == "" { c.Owner = user.GetId() } - if c.Status != mfclients.DisabledStatus && c.Status != mfclients.EnabledStatus { - return []mfclients.Client{}, apiutil.ErrInvalidStatus + if c.Status != mgclients.DisabledStatus && c.Status != mgclients.EnabledStatus { + return []mgclients.Client{}, apiutil.ErrInvalidStatus } c.CreatedAt = time.Now() clients = append(clients, c) @@ -125,46 +125,46 @@ func (svc service) CreateThings(ctx context.Context, token string, cls ...mfclie return saved, nil } -func (svc service) ViewClient(ctx context.Context, token string, id string) (mfclients.Client, error) { +func (svc service) ViewClient(ctx context.Context, token string, id string) (mgclients.Client, error) { _, err := svc.authorize(ctx, userType, tokenKind, token, viewPermission, thingType, id) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } return svc.clients.RetrieveByID(ctx, id) } -func (svc service) ListClients(ctx context.Context, token string, reqUserID string, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (svc service) ListClients(ctx context.Context, token string, reqUserID string, pm mgclients.Page) (mgclients.ClientsPage, error) { var ids []string userID, err := svc.identify(ctx, token) if err != nil { - return mfclients.ClientsPage{}, err + return mgclients.ClientsPage{}, err } switch { case (reqUserID != "" && reqUserID != userID): if _, err := svc.authorize(ctx, userType, userKind, userID, ownerRelation, userType, reqUserID); err != nil { - return mfclients.ClientsPage{}, err + return mgclients.ClientsPage{}, err } rtids, err := svc.listClientIDs(ctx, reqUserID, pm.Permission) if err != nil { - return mfclients.ClientsPage{}, err + return mgclients.ClientsPage{}, err } ids, err = svc.filterAllowedThingIDs(ctx, userID, pm.Permission, rtids) if err != nil { - return mfclients.ClientsPage{}, err + return mgclients.ClientsPage{}, err } default: ids, err = svc.listClientIDs(ctx, userID, pm.Permission) if err != nil { - return mfclients.ClientsPage{}, err + return mgclients.ClientsPage{}, err } } if len(ids) == 0 { - return mfclients.ClientsPage{ - Page: mfclients.Page{Total: 0, Limit: pm.Limit, Offset: pm.Offset}, + return mgclients.ClientsPage{ + Page: mgclients.Page{Total: 0, Limit: pm.Limit, Offset: pm.Offset}, }, nil } @@ -207,13 +207,13 @@ func (svc service) filterAllowedThingIDs(ctx context.Context, userID, permission return ids, nil } -func (svc service) UpdateClient(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (svc service) UpdateClient(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { userID, err := svc.authorize(ctx, userType, tokenKind, token, editPermission, thingType, cli.ID) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } - client := mfclients.Client{ + client := mgclients.Client{ ID: cli.ID, Name: cli.Name, Metadata: cli.Metadata, @@ -223,13 +223,13 @@ func (svc service) UpdateClient(ctx context.Context, token string, cli mfclients return svc.clients.Update(ctx, client) } -func (svc service) UpdateClientTags(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (svc service) UpdateClientTags(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { userID, err := svc.authorize(ctx, userType, tokenKind, token, editPermission, thingType, cli.ID) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } - client := mfclients.Client{ + client := mgclients.Client{ ID: cli.ID, Tags: cli.Tags, UpdatedAt: time.Now(), @@ -238,63 +238,63 @@ func (svc service) UpdateClientTags(ctx context.Context, token string, cli mfcli return svc.clients.UpdateTags(ctx, client) } -func (svc service) UpdateClientSecret(ctx context.Context, token, id, key string) (mfclients.Client, error) { +func (svc service) UpdateClientSecret(ctx context.Context, token, id, key string) (mgclients.Client, error) { userID, err := svc.authorize(ctx, userType, tokenKind, token, editPermission, thingType, id) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } - client := mfclients.Client{ + client := mgclients.Client{ ID: id, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Secret: key, }, UpdatedAt: time.Now(), UpdatedBy: userID, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } return svc.clients.UpdateSecret(ctx, client) } -func (svc service) UpdateClientOwner(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (svc service) UpdateClientOwner(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { userID, err := svc.authorize(ctx, userType, tokenKind, token, editPermission, thingType, cli.ID) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } - client := mfclients.Client{ + client := mgclients.Client{ ID: cli.ID, Owner: cli.Owner, UpdatedAt: time.Now(), UpdatedBy: userID, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } return svc.clients.UpdateOwner(ctx, client) } -func (svc service) EnableClient(ctx context.Context, token, id string) (mfclients.Client, error) { - client := mfclients.Client{ +func (svc service) EnableClient(ctx context.Context, token, id string) (mgclients.Client, error) { + client := mgclients.Client{ ID: id, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, UpdatedAt: time.Now(), } client, err := svc.changeClientStatus(ctx, token, client) if err != nil { - return mfclients.Client{}, errors.Wrap(mfclients.ErrEnableClient, err) + return mgclients.Client{}, errors.Wrap(mgclients.ErrEnableClient, err) } return client, nil } -func (svc service) DisableClient(ctx context.Context, token, id string) (mfclients.Client, error) { - client := mfclients.Client{ +func (svc service) DisableClient(ctx context.Context, token, id string) (mgclients.Client, error) { + client := mgclients.Client{ ID: id, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, UpdatedAt: time.Now(), } client, err := svc.changeClientStatus(ctx, token, client) if err != nil { - return mfclients.Client{}, errors.Wrap(mfclients.ErrDisableClient, err) + return mgclients.Client{}, errors.Wrap(mgclients.ErrDisableClient, err) } if err := svc.clientCache.Remove(ctx, client.ID); err != nil { @@ -356,26 +356,26 @@ func (svc service) Unshare(ctx context.Context, token, id, relation string, user return nil } -func (svc service) changeClientStatus(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (svc service) changeClientStatus(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { userID, err := svc.authorize(ctx, userType, tokenKind, token, deletePermission, thingType, client.ID) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } dbClient, err := svc.clients.RetrieveByID(ctx, client.ID) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if dbClient.Status == client.Status { - return mfclients.Client{}, mfclients.ErrStatusAlreadyAssigned + return mgclients.Client{}, mgclients.ErrStatusAlreadyAssigned } client.UpdatedBy = userID return svc.clients.ChangeStatus(ctx, client) } -func (svc service) ListClientsByGroup(ctx context.Context, token, groupID string, pm mfclients.Page) (mfclients.MembersPage, error) { +func (svc service) ListClientsByGroup(ctx context.Context, token, groupID string, pm mgclients.Page) (mgclients.MembersPage, error) { if _, err := svc.authorize(ctx, userType, tokenKind, token, pm.Permission, groupType, groupID); err != nil { - return mfclients.MembersPage{}, err + return mgclients.MembersPage{}, err } tids, err := svc.auth.ListAllObjects(ctx, &magistrala.ListObjectsReq{ @@ -385,17 +385,17 @@ func (svc service) ListClientsByGroup(ctx context.Context, token, groupID string ObjectType: thingType, }) if err != nil { - return mfclients.MembersPage{}, err + return mgclients.MembersPage{}, err } pm.IDs = tids.Policies cp, err := svc.clients.RetrieveAllByIDs(ctx, pm) if err != nil { - return mfclients.MembersPage{}, err + return mgclients.MembersPage{}, err } - return mfclients.MembersPage{ + return mgclients.MembersPage{ Page: cp.Page, Members: cp.Clients, }, nil diff --git a/things/service_test.go b/things/service_test.go index a59d3dfa7..6bdf3ec70 100644 --- a/things/service_test.go +++ b/things/service_test.go @@ -9,12 +9,12 @@ import ( "testing" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/internal/apiutil" gmocks "github.com/absmach/magistrala/internal/groups/mocks" "github.com/absmach/magistrala/internal/testsutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/things" @@ -26,15 +26,15 @@ import ( var ( secret = "strongsecret" - validCMetadata = mfclients.Metadata{"role": "client"} + validCMetadata = mgclients.Metadata{"role": "client"} ID = testsutil.GenerateUUID(&testing.T{}) - client = mfclients.Client{ + client = mgclients.Client{ ID: ID, Name: "clientname", Tags: []string{"tag1", "tag2"}, - Credentials: mfclients.Credentials{Identity: "clientidentity", Secret: secret}, + Credentials: mgclients.Credentials{Identity: "clientidentity", Secret: secret}, Metadata: validCMetadata, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } withinDuration = 5 * time.Second adminEmail = "admin@example.com" @@ -58,7 +58,7 @@ func TestRegisterClient(t *testing.T) { cases := []struct { desc string - client mfclients.Client + client mgclients.Client token string err error }{ @@ -76,22 +76,22 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new enabled client with name", - client: mfclients.Client{ + client: mgclients.Client{ Name: "clientWithName", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithname@example.com", Secret: secret, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, err: nil, token: validToken, }, { desc: "register a new disabled client with name", - client: mfclients.Client{ + client: mgclients.Client{ Name: "clientWithName", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithname@example.com", Secret: secret, }, @@ -101,47 +101,47 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new enabled client with tags", - client: mfclients.Client{ + client: mgclients.Client{ Tags: []string{"tag1", "tag2"}, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithtags@example.com", Secret: secret, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, err: nil, token: validToken, }, { desc: "register a new disabled client with tags", - client: mfclients.Client{ + client: mgclients.Client{ Tags: []string{"tag1", "tag2"}, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithtags@example.com", Secret: secret, }, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, }, err: nil, token: validToken, }, { desc: "register a new enabled client with metadata", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithmetadata@example.com", Secret: secret, }, Metadata: validCMetadata, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, err: nil, token: validToken, }, { desc: "register a new disabled client with metadata", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithmetadata@example.com", Secret: secret, }, @@ -152,8 +152,8 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new disabled client", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithvalidstatus@example.com", Secret: secret, }, @@ -163,38 +163,38 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new client with valid disabled status", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithvalidstatus@example.com", Secret: secret, }, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, }, err: nil, token: validToken, }, { desc: "register a new client with all fields", - client: mfclients.Client{ + client: mgclients.Client{ Name: "newclientwithallfields", Tags: []string{"tag1", "tag2"}, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithallfields@example.com", Secret: secret, }, - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "name": "newclientwithallfields", }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, err: nil, token: validToken, }, { desc: "register a new client with missing identity", - client: mfclients.Client{ + client: mgclients.Client{ Name: "clientWithMissingIdentity", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Secret: secret, }, }, @@ -203,9 +203,9 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new client with invalid owner", - client: mfclients.Client{ + client: mgclients.Client{ Owner: mocks.WrongID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithinvalidowner@example.com", Secret: secret, }, @@ -215,9 +215,9 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new client with empty secret", - client: mfclients.Client{ + client: mgclients.Client{ Owner: testsutil.GenerateUUID(t), - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithemptysecret@example.com", }, }, @@ -226,12 +226,12 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new client with invalid status", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithinvalidstatus@example.com", Secret: secret, }, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, err: apiutil.ErrInvalidStatus, token: validToken, @@ -239,9 +239,9 @@ func TestRegisterClient(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("AddPolicy", mock.Anything, mock.Anything).Return(&mainflux.AddPolicyRes{Authorized: true}, nil) - repoCall2 := cRepo.On("Save", context.Background(), mock.Anything).Return(&mfclients.Client{}, tc.err) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("AddPolicy", mock.Anything, mock.Anything).Return(&magistrala.AddPolicyRes{Authorized: true}, nil) + repoCall2 := cRepo.On("Save", context.Background(), mock.Anything).Return(&mgclients.Client{}, tc.err) registerTime := time.Now() expected, err := svc.CreateThings(context.Background(), tc.token, tc.client) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) @@ -269,7 +269,7 @@ func TestViewClient(t *testing.T) { desc string token string clientID string - response mfclients.Client + response mgclients.Client err error }{ { @@ -281,21 +281,21 @@ func TestViewClient(t *testing.T) { }, { desc: "view client with an invalid token", - response: mfclients.Client{}, + response: mgclients.Client{}, token: authmocks.InvalidValue, clientID: "", err: errors.ErrAuthorization, }, { desc: "view client with valid token and invalid client id", - response: mfclients.Client{}, + response: mgclients.Client{}, token: validToken, clientID: mocks.WrongID, err: errors.ErrNotFound, }, { desc: "view client with an invalid token and invalid client id", - response: mfclients.Client{}, + response: mgclients.Client{}, token: authmocks.InvalidValue, clientID: mocks.WrongID, err: errors.ErrAuthorization, @@ -303,9 +303,9 @@ func TestViewClient(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, tc.err) + repoCall := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, tc.err) if tc.token == authmocks.InvalidValue { - repoCall = auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: false}, errors.ErrAuthorization) + repoCall = auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: false}, errors.ErrAuthorization) } repoCall1 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(tc.response, tc.err) rClient, err := svc.ViewClient(context.Background(), tc.token, tc.clientID) @@ -320,18 +320,18 @@ func TestListClients(t *testing.T) { svc, cRepo, auth := newService() nClients := uint64(200) - aClients := []mfclients.Client{} + aClients := []mgclients.Client{} OwnerID := testsutil.GenerateUUID(t) for i := uint64(1); i < nClients; i++ { identity := fmt.Sprintf("TestListClients_%d@example.com", i) - client := mfclients.Client{ + client := mgclients.Client{ Name: identity, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: identity, Secret: "password", }, Tags: []string{"tag1", "tag2"}, - Metadata: mfclients.Metadata{"role": "client"}, + Metadata: mgclients.Metadata{"role": "client"}, } if i%50 == 0 { client.Owner = OwnerID @@ -343,8 +343,8 @@ func TestListClients(t *testing.T) { cases := []struct { desc string token string - page mfclients.Page - response mfclients.ClientsPage + page mgclients.Page + response mgclients.ClientsPage size uint64 err error }{ @@ -352,29 +352,29 @@ func TestListClients(t *testing.T) { desc: "list clients with authorized token", token: validToken, - page: mfclients.Page{ - Status: mfclients.AllStatus, + page: mgclients.Page{ + Status: mgclients.AllStatus, }, size: 0, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client(nil), + Clients: []mgclients.Client(nil), }, err: nil, }, { desc: "list clients with an invalid token", token: authmocks.InvalidValue, - page: mfclients.Page{ - Status: mfclients.AllStatus, + page: mgclients.Page{ + Status: mgclients.AllStatus, }, size: 0, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, @@ -385,169 +385,169 @@ func TestListClients(t *testing.T) { { desc: "list clients that are shared with me", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that are shared with me with a specific name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Name: "TestListClients3", - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that are shared with me with an invalid name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Limit: nClients, Name: "notpresentclient", - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Limit: nClients, }, - Clients: []mfclients.Client(nil), + Clients: []mgclients.Client(nil), }, size: 0, }, { desc: "list clients that I own", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that I own with a specific name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, Name: "TestListClients3", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that I own with an invalid name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Limit: nClients, Owner: myKey, Name: "notpresentclient", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: nClients, }, - Clients: []mfclients.Client(nil), + Clients: []mgclients.Client(nil), }, size: 0, }, { desc: "list clients that I own and are shared with me", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that I own and are shared with me with a specific name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, Name: "TestListClients3", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that I own and are shared with me with an invalid name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Limit: nClients, Owner: myKey, Name: "notpresentclient", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: nClients, }, - Clients: []mfclients.Client(nil), + Clients: []mgclients.Client(nil), }, size: 0, }, @@ -555,13 +555,13 @@ func TestListClients(t *testing.T) { desc: "list clients with offset and limit", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: nClients - 6, Offset: 0, Limit: 0, @@ -573,11 +573,11 @@ func TestListClients(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&mainflux.ListObjectsRes{Policies: getIDs(tc.response.Clients)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&magistrala.ListObjectsRes{Policies: getIDs(tc.response.Clients)}, nil) if tc.token == authmocks.InvalidValue { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: authmocks.InvalidValue}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) - repoCall1 = auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&mainflux.ListObjectsRes{}, errors.ErrAuthorization) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: authmocks.InvalidValue}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) + repoCall1 = auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&magistrala.ListObjectsRes{}, errors.ErrAuthorization) } repoCall2 := cRepo.On("RetrieveAllByIDs", context.Background(), mock.Anything).Return(tc.response, tc.err) page, err := svc.ListClients(context.Background(), tc.token, "", tc.page) @@ -595,12 +595,12 @@ func TestUpdateClient(t *testing.T) { client1 := client client2 := client client1.Name = "Updated client" - client2.Metadata = mfclients.Metadata{"role": "test"} + client2.Metadata = mgclients.Metadata{"role": "test"} cases := []struct { desc string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client token string err error }{ @@ -614,17 +614,17 @@ func TestUpdateClient(t *testing.T) { { desc: "update client name with invalid token", client: client1, - response: mfclients.Client{}, + response: mgclients.Client{}, token: "non-existent", err: errors.ErrAuthentication, }, { desc: "update client name with invalid ID", - client: mfclients.Client{ + client: mgclients.Client{ ID: mocks.WrongID, Name: "Updated Client", }, - response: mfclients.Client{}, + response: mgclients.Client{}, token: validToken, err: errors.ErrNotFound, }, @@ -638,16 +638,16 @@ func TestUpdateClient(t *testing.T) { { desc: "update client metadata with invalid token", client: client2, - response: mfclients.Client{}, + response: mgclients.Client{}, token: "non-existent", err: errors.ErrAuthentication, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, nil) - repoCall2 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(mfclients.Client{}, tc.err) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil) + repoCall2 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(mgclients.Client{}, tc.err) repoCall3 := cRepo.On("Update", context.Background(), mock.Anything).Return(tc.response, tc.err) updatedClient, err := svc.UpdateClient(context.Background(), tc.token, tc.client) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) @@ -666,8 +666,8 @@ func TestUpdateClientTags(t *testing.T) { cases := []struct { desc string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client token string err error }{ @@ -682,25 +682,25 @@ func TestUpdateClientTags(t *testing.T) { desc: "update client tags with invalid token", client: client, token: "non-existent", - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrAuthentication, }, { desc: "update client name with invalid ID", - client: mfclients.Client{ + client: mgclients.Client{ ID: mocks.WrongID, Name: "Updated name", }, - response: mfclients.Client{}, + response: mgclients.Client{}, token: validToken, err: errors.ErrNotFound, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, nil) - repoCall2 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(mfclients.Client{}, tc.err) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil) + repoCall2 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(mgclients.Client{}, tc.err) repoCall3 := cRepo.On("UpdateTags", context.Background(), mock.Anything).Return(tc.response, tc.err) updatedClient, err := svc.UpdateClientTags(context.Background(), tc.token, tc.client) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) @@ -719,8 +719,8 @@ func TestUpdateClientOwner(t *testing.T) { cases := []struct { desc string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client token string err error }{ @@ -735,25 +735,25 @@ func TestUpdateClientOwner(t *testing.T) { desc: "update client owner with invalid token", client: client, token: "non-existent", - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrAuthentication, }, { desc: "update client owner with invalid ID", - client: mfclients.Client{ + client: mgclients.Client{ ID: mocks.WrongID, Owner: "updatedowner@mail.com", }, - response: mfclients.Client{}, + response: mgclients.Client{}, token: validToken, err: errors.ErrNotFound, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, nil) - repoCall2 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(mfclients.Client{}, tc.err) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil) + repoCall2 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(mgclients.Client{}, tc.err) repoCall3 := cRepo.On("UpdateOwner", context.Background(), mock.Anything).Return(tc.response, tc.err) updatedClient, err := svc.UpdateClientOwner(context.Background(), tc.token, tc.client) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) @@ -773,7 +773,7 @@ func TestUpdateClientSecret(t *testing.T) { id string newSecret string token string - response mfclients.Client + response mgclients.Client err error }{ { @@ -789,14 +789,14 @@ func TestUpdateClientSecret(t *testing.T) { id: client.ID, newSecret: "newPassword", token: "non-existent", - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrAuthentication, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil) repoCall2 := cRepo.On("UpdateSecret", context.Background(), mock.Anything).Return(tc.response, tc.err) updatedClient, err := svc.UpdateClientSecret(context.Background(), tc.token, tc.id, tc.newSecret) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) @@ -810,17 +810,17 @@ func TestUpdateClientSecret(t *testing.T) { func TestEnableClient(t *testing.T) { svc, cRepo, auth := newService() - enabledClient1 := mfclients.Client{ID: ID, Credentials: mfclients.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mfclients.EnabledStatus} - disabledClient1 := mfclients.Client{ID: ID, Credentials: mfclients.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mfclients.DisabledStatus} + enabledClient1 := mgclients.Client{ID: ID, Credentials: mgclients.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mgclients.EnabledStatus} + disabledClient1 := mgclients.Client{ID: ID, Credentials: mgclients.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mgclients.DisabledStatus} endisabledClient1 := disabledClient1 - endisabledClient1.Status = mfclients.EnabledStatus + endisabledClient1.Status = mgclients.EnabledStatus cases := []struct { desc string id string token string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client err error }{ { @@ -837,21 +837,21 @@ func TestEnableClient(t *testing.T) { token: validToken, client: enabledClient1, response: enabledClient1, - err: mfclients.ErrStatusAlreadyAssigned, + err: mgclients.ErrStatusAlreadyAssigned, }, { desc: "enable non-existing client", id: mocks.WrongID, token: validToken, - client: mfclients.Client{}, - response: mfclients.Client{}, + client: mgclients.Client{}, + response: mgclients.Client{}, err: errors.ErrNotFound, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil) repoCall2 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(tc.client, tc.err) repoCall3 := cRepo.On("ChangeStatus", context.Background(), mock.Anything).Return(tc.response, tc.err) _, err := svc.EnableClient(context.Background(), tc.token, tc.id) @@ -864,59 +864,59 @@ func TestEnableClient(t *testing.T) { cases2 := []struct { desc string - status mfclients.Status + status mgclients.Status size uint64 - response mfclients.ClientsPage + response mgclients.ClientsPage }{ { desc: "list enabled clients", - status: mfclients.EnabledStatus, + status: mgclients.EnabledStatus, size: 2, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 2, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{enabledClient1, endisabledClient1}, + Clients: []mgclients.Client{enabledClient1, endisabledClient1}, }, }, { desc: "list disabled clients", - status: mfclients.DisabledStatus, + status: mgclients.DisabledStatus, size: 1, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 1, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{disabledClient1}, + Clients: []mgclients.Client{disabledClient1}, }, }, { desc: "list enabled and disabled clients", - status: mfclients.AllStatus, + status: mgclients.AllStatus, size: 3, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 3, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{enabledClient1, disabledClient1, endisabledClient1}, + Clients: []mgclients.Client{enabledClient1, disabledClient1, endisabledClient1}, }, }, } for _, tc := range cases2 { - pm := mfclients.Page{ + pm := mgclients.Page{ Offset: 0, Limit: 100, Status: tc.status, } - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&mainflux.ListObjectsRes{Policies: getIDs(tc.response.Clients)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&magistrala.ListObjectsRes{Policies: getIDs(tc.response.Clients)}, nil) repoCall2 := cRepo.On("RetrieveAllByIDs", context.Background(), mock.Anything).Return(tc.response, nil) page, err := svc.ListClients(context.Background(), validToken, "", pm) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) @@ -931,17 +931,17 @@ func TestEnableClient(t *testing.T) { func TestDisableClient(t *testing.T) { svc, cRepo, auth := newService() - enabledClient1 := mfclients.Client{ID: ID, Credentials: mfclients.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mfclients.EnabledStatus} - disabledClient1 := mfclients.Client{ID: ID, Credentials: mfclients.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mfclients.DisabledStatus} + enabledClient1 := mgclients.Client{ID: ID, Credentials: mgclients.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mgclients.EnabledStatus} + disabledClient1 := mgclients.Client{ID: ID, Credentials: mgclients.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mgclients.DisabledStatus} disenabledClient1 := enabledClient1 - disenabledClient1.Status = mfclients.DisabledStatus + disenabledClient1.Status = mgclients.DisabledStatus cases := []struct { desc string id string token string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client err error }{ { @@ -957,22 +957,22 @@ func TestDisableClient(t *testing.T) { id: disabledClient1.ID, token: validToken, client: disabledClient1, - response: mfclients.Client{}, - err: mfclients.ErrStatusAlreadyAssigned, + response: mgclients.Client{}, + err: mgclients.ErrStatusAlreadyAssigned, }, { desc: "disable non-existing client", id: mocks.WrongID, - client: mfclients.Client{}, + client: mgclients.Client{}, token: validToken, - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrNotFound, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil) repoCall2 := cRepo.On("RetrieveByID", context.Background(), mock.Anything).Return(tc.client, tc.err) repoCall3 := cRepo.On("ChangeStatus", context.Background(), mock.Anything).Return(tc.response, tc.err) _, err := svc.DisableClient(context.Background(), tc.token, tc.id) @@ -985,59 +985,59 @@ func TestDisableClient(t *testing.T) { cases2 := []struct { desc string - status mfclients.Status + status mgclients.Status size uint64 - response mfclients.ClientsPage + response mgclients.ClientsPage }{ { desc: "list enabled clients", - status: mfclients.EnabledStatus, + status: mgclients.EnabledStatus, size: 1, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 1, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{enabledClient1}, + Clients: []mgclients.Client{enabledClient1}, }, }, { desc: "list disabled clients", - status: mfclients.DisabledStatus, + status: mgclients.DisabledStatus, size: 2, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 2, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{disenabledClient1, disabledClient1}, + Clients: []mgclients.Client{disenabledClient1, disabledClient1}, }, }, { desc: "list enabled and disabled clients", - status: mfclients.AllStatus, + status: mgclients.AllStatus, size: 3, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 3, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{enabledClient1, disabledClient1, disenabledClient1}, + Clients: []mgclients.Client{enabledClient1, disabledClient1, disenabledClient1}, }, }, } for _, tc := range cases2 { - pm := mfclients.Page{ + pm := mgclients.Page{ Offset: 0, Limit: 100, Status: tc.status, } - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&mainflux.ListObjectsRes{Policies: getIDs(tc.response.Clients)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&magistrala.ListObjectsRes{Policies: getIDs(tc.response.Clients)}, nil) repoCall2 := cRepo.On("RetrieveAllByIDs", context.Background(), mock.Anything).Return(tc.response, nil) page, err := svc.ListClients(context.Background(), validToken, "", pm) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) @@ -1053,19 +1053,19 @@ func TestListMembers(t *testing.T) { svc, cRepo, auth := newService() nClients := uint64(10) - aClients := []mfclients.Client{} + aClients := []mgclients.Client{} owner := testsutil.GenerateUUID(t) for i := uint64(0); i < nClients; i++ { identity := fmt.Sprintf("member_%d@example.com", i) - client := mfclients.Client{ + client := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: identity, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: identity, Secret: "password", }, Tags: []string{"tag1", "tag2"}, - Metadata: mfclients.Metadata{"role": "client"}, + Metadata: mgclients.Metadata{"role": "client"}, } if i%3 == 0 { client.Owner = owner @@ -1077,24 +1077,24 @@ func TestListMembers(t *testing.T) { desc string token string groupID string - page mfclients.Page - response mfclients.MembersPage + page mgclients.Page + response mgclients.MembersPage err error }{ { desc: "list clients with authorized token", token: validToken, groupID: testsutil.GenerateUUID(t), - page: mfclients.Page{ + page: mgclients.Page{ Owner: adminEmail, }, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, }, - Members: []mfclients.Client{}, + Members: []mgclients.Client{}, }, err: nil, }, @@ -1102,14 +1102,14 @@ func TestListMembers(t *testing.T) { desc: "list clients with offset and limit", token: validToken, groupID: testsutil.GenerateUUID(t), - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, Owner: adminEmail, }, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: nClients - 6 - 1, }, Members: aClients[6 : nClients-1], @@ -1119,11 +1119,11 @@ func TestListMembers(t *testing.T) { desc: "list clients with an invalid token", token: authmocks.InvalidValue, groupID: testsutil.GenerateUUID(t), - page: mfclients.Page{ + page: mgclients.Page{ Owner: adminEmail, }, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, @@ -1135,11 +1135,11 @@ func TestListMembers(t *testing.T) { desc: "list clients with an invalid id", token: validToken, groupID: mocks.WrongID, - page: mfclients.Page{ + page: mgclients.Page{ Owner: adminEmail, }, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, @@ -1151,24 +1151,24 @@ func TestListMembers(t *testing.T) { desc: "list clients for an owner", token: validToken, groupID: testsutil.GenerateUUID(t), - page: mfclients.Page{ + page: mgclients.Page{ Owner: adminEmail, }, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: 4, }, - Members: []mfclients.Client{aClients[0], aClients[3], aClients[6], aClients[9]}, + Members: []mgclients.Client{aClients[0], aClients[3], aClients[6], aClients[9]}, }, err: nil, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: validID}, nil) - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, nil) - repoCall2 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&mainflux.ListObjectsRes{}, nil) - repoCall3 := cRepo.On("RetrieveAllByIDs", context.Background(), tc.page).Return(mfclients.ClientsPage{Page: tc.response.Page, Clients: tc.response.Members}, tc.err) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: validID}, nil) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil) + repoCall2 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&magistrala.ListObjectsRes{}, nil) + repoCall3 := cRepo.On("RetrieveAllByIDs", context.Background(), tc.page).Return(mgclients.ClientsPage{Page: tc.response.Page, Clients: tc.response.Members}, tc.err) page, err := svc.ListClientsByGroup(context.Background(), tc.token, tc.groupID, tc.page) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) assert.Equal(t, tc.response, page, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page)) @@ -1179,7 +1179,7 @@ func TestListMembers(t *testing.T) { } } -func getIDs(clients []mfclients.Client) []string { +func getIDs(clients []mgclients.Client) []string { ids := []string{} for _, client := range clients { ids = append(ids, client.ID) diff --git a/things/things.go b/things/things.go index 1d6bab36d..0ecb9d51f 100644 --- a/things/things.go +++ b/things/things.go @@ -6,7 +6,7 @@ package things import ( "context" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/clients" ) @@ -56,7 +56,7 @@ type Service interface { Identify(ctx context.Context, key string) (string, error) // Authorize used for AuthZ gRPC server implementation and Things authorization. - Authorize(ctx context.Context, req *mainflux.AuthorizeReq) (string, error) + Authorize(ctx context.Context, req *magistrala.AuthorizeReq) (string, error) } // Cache contains thing caching interface. diff --git a/things/tracing/tracing.go b/things/tracing/tracing.go index 8d303c8cc..0a9053647 100644 --- a/things/tracing/tracing.go +++ b/things/tracing/tracing.go @@ -6,8 +6,8 @@ package tracing import ( "context" - mainflux "github.com/absmach/magistrala" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/things" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/trace" @@ -26,7 +26,7 @@ func New(svc things.Service, tracer trace.Tracer) things.Service { } // CreateThings traces the "CreateThings" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) CreateThings(ctx context.Context, token string, clis ...mfclients.Client) ([]mfclients.Client, error) { +func (tm *tracingMiddleware) CreateThings(ctx context.Context, token string, clis ...mgclients.Client) ([]mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_create_client") defer span.End() @@ -34,21 +34,21 @@ func (tm *tracingMiddleware) CreateThings(ctx context.Context, token string, cli } // ViewClient traces the "ViewClient" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) ViewClient(ctx context.Context, token string, id string) (mfclients.Client, error) { +func (tm *tracingMiddleware) ViewClient(ctx context.Context, token string, id string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_view_client", trace.WithAttributes(attribute.String("id", id))) defer span.End() return tm.svc.ViewClient(ctx, token, id) } // ListClients traces the "ListClients" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) ListClients(ctx context.Context, token string, reqUserID string, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (tm *tracingMiddleware) ListClients(ctx context.Context, token string, reqUserID string, pm mgclients.Page) (mgclients.ClientsPage, error) { ctx, span := tm.tracer.Start(ctx, "svc_list_clients") defer span.End() return tm.svc.ListClients(ctx, token, reqUserID, pm) } // UpdateClient traces the "UpdateClient" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) UpdateClient(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClient(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_name_and_metadata", trace.WithAttributes(attribute.String("id", cli.ID))) defer span.End() @@ -56,7 +56,7 @@ func (tm *tracingMiddleware) UpdateClient(ctx context.Context, token string, cli } // UpdateClientTags traces the "UpdateClientTags" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) UpdateClientTags(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClientTags(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_tags", trace.WithAttributes( attribute.String("id", cli.ID), attribute.StringSlice("tags", cli.Tags), @@ -67,7 +67,7 @@ func (tm *tracingMiddleware) UpdateClientTags(ctx context.Context, token string, } // UpdateClientSecret traces the "UpdateClientSecret" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_secret") defer span.End() @@ -75,7 +75,7 @@ func (tm *tracingMiddleware) UpdateClientSecret(ctx context.Context, token, oldS } // UpdateClientOwner traces the "UpdateClientOwner" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) UpdateClientOwner(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClientOwner(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_owner", trace.WithAttributes( attribute.String("id", cli.ID), attribute.String("owner", cli.Owner), @@ -86,7 +86,7 @@ func (tm *tracingMiddleware) UpdateClientOwner(ctx context.Context, token string } // EnableClient traces the "EnableClient" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) EnableClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (tm *tracingMiddleware) EnableClient(ctx context.Context, token, id string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_enable_client", trace.WithAttributes(attribute.String("id", id))) defer span.End() @@ -94,7 +94,7 @@ func (tm *tracingMiddleware) EnableClient(ctx context.Context, token, id string) } // DisableClient traces the "DisableClient" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) DisableClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (tm *tracingMiddleware) DisableClient(ctx context.Context, token, id string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_disable_client", trace.WithAttributes(attribute.String("id", id))) defer span.End() @@ -102,7 +102,7 @@ func (tm *tracingMiddleware) DisableClient(ctx context.Context, token, id string } // ListClientsByGroup traces the "ListClientsByGroup" operation of the wrapped policies.Service. -func (tm *tracingMiddleware) ListClientsByGroup(ctx context.Context, token, groupID string, pm mfclients.Page) (mfclients.MembersPage, error) { +func (tm *tracingMiddleware) ListClientsByGroup(ctx context.Context, token, groupID string, pm mgclients.Page) (mgclients.MembersPage, error) { ctx, span := tm.tracer.Start(ctx, "svc_list_things_by_channel", trace.WithAttributes(attribute.String("groupID", groupID))) defer span.End() @@ -117,7 +117,7 @@ func (tm *tracingMiddleware) Identify(ctx context.Context, key string) (string, return tm.svc.Identify(ctx, key) } -func (tm *tracingMiddleware) Authorize(ctx context.Context, req *mainflux.AuthorizeReq) (string, error) { +func (tm *tracingMiddleware) Authorize(ctx context.Context, req *magistrala.AuthorizeReq) (string, error) { ctx, span := tm.tracer.Start(ctx, "connect", trace.WithAttributes(attribute.String("subject", req.Subject), attribute.String("object", req.Object))) defer span.End() diff --git a/tools/e2e/cmd/main.go b/tools/e2e/cmd/main.go index a2039699a..cc146109f 100644 --- a/tools/e2e/cmd/main.go +++ b/tools/e2e/cmd/main.go @@ -20,13 +20,13 @@ func main() { rootCmd := &cobra.Command{ Use: "e2e", Short: "e2e is end-to-end testing tool for Magistrala", - Long: "Tool for testing end-to-end flow of mainflux by doing a couple of operations namely:\n" + + Long: "Tool for testing end-to-end flow of magistrala by doing a couple of operations namely:\n" + "1. Creating, viewing, updating and changing status of users, groups, things and channels.\n" + "2. Connecting users and groups to each other and things and channels to each other.\n" + "3. Sending messages from things to channels on all 4 protocol adapters (HTTP, WS, CoAP and MQTT).\n" + "Complete documentation is available at https://docs.mainflux.io", Example: "Here is a simple example of using e2e tool.\n" + - "Use the following commands from the root mainflux directory:\n\n" + + "Use the following commands from the root magistrala directory:\n\n" + "go run tools/e2e/cmd/main.go\n" + "go run tools/e2e/cmd/main.go --host 142.93.118.47\n" + "go run tools/e2e/cmd/main.go --host localhost --num 10 --num_of_messages 100 --prefix e2e", @@ -47,7 +47,7 @@ func main() { }) // Root Flags - rootCmd.PersistentFlags().StringVarP(&econf.Host, "host", "H", "localhost", "address for a running mainflux instance") + rootCmd.PersistentFlags().StringVarP(&econf.Host, "host", "H", "localhost", "address for a running magistrala instance") rootCmd.PersistentFlags().StringVarP(&econf.Prefix, "prefix", "p", "", "name prefix for users, groups, things and channels") rootCmd.PersistentFlags().Uint64VarP(&econf.Num, "num", "n", defNum, "number of users, groups, channels and things to create and connect") rootCmd.PersistentFlags().Uint64VarP(&econf.NumOfMsg, "num_of_messages", "N", defNum, "number of messages to send") diff --git a/tools/mqtt-bench/README.md b/tools/mqtt-bench/README.md index 71bb46cd0..35399e004 100644 --- a/tools/mqtt-bench/README.md +++ b/tools/mqtt-bench/README.md @@ -8,12 +8,14 @@ uses other Magistrala things to publish messages and create MQTT load. Magistrala things used must be pre-provisioned first, and Magistrala `provision` tool can be used for this purpose. ## Installation + ``` cd tools/mqtt-bench make ``` ## Usage + The tool supports multiple concurrent clients, publishers and subscribers configurable message size, etc: ``` @@ -31,7 +33,7 @@ Flags: -n, --count int Number of messages sent per publisher (default 100) -f, --format string Output format: text|json (default "text") -h, --help help for mqtt-bench - -m, --mainflux string config file for Magistrala connections (default "connections.toml") + -m, --magistrala string config file for Magistrala connections (default "connections.toml") --mtls Use mtls for connection -p, --pubs int Number of publishers (default 10) -q, --qos int QoS for published messages, values 0 1 2 @@ -44,47 +46,52 @@ Flags: Two output formats supported: human-readable plain text and JSON. -Before use you need a `mfconn.toml` - a TOML file that describes Magistrala connection data (channels, thingIDs, thingKeys, certs). +Before use you need a `mgconn.toml` - a TOML file that describes Magistrala connection data (channels, thingIDs, thingKeys, certs). You can use `provision` tool (in tools/provision) to create this TOML config file. ```bash -go run tools/mqtt-bench/cmd/main.go -u test@mainflux.com -p test1234 --host http://127.0.0.1 --num 100 > tools/mqtt-bench/mfconn.toml +go run tools/mqtt-bench/cmd/main.go -u test@magistrala.com -p test1234 --host http://127.0.0.1 --num 100 > tools/mqtt-bench/mgconn.toml ``` Example use and output Without mtls: + ``` -go run tools/mqtt-bench/cmd/main.go --broker tcp://localhost:1883 --count 100 --size 100 --qos 0 --format text --pubs 10 --mainflux tools/mqtt-bench/mfconn.toml +go run tools/mqtt-bench/cmd/main.go --broker tcp://localhost:1883 --count 100 --size 100 --qos 0 --format text --pubs 10 --magistrala tools/mqtt-bench/mgconn.toml ``` With mtls -go run tools/mqtt-bench/cmd/main.go --broker tcps://localhost:8883 --count 100 --size 100 --qos 0 --format text --pubs 10 --mainflux tools/mqtt-bench/mfconn.toml --mtls -ca docker/ssl/certs/ca.crt +go run tools/mqtt-bench/cmd/main.go --broker tcps://localhost:8883 --count 100 --size 100 --qos 0 --format text --pubs 10 --magistrala tools/mqtt-bench/mgconn.toml --mtls -ca docker/ssl/certs/ca.crt + ``` You can use `config.toml` to create tests with this tool: ``` + go run tools/mqtt-bench/cmd/main.go --config tools/mqtt-bench/config.toml + ``` Example of `config.toml`: ``` + [mqtt] - [mqtt.broker] - url = "tcp://localhost:1883" +[mqtt.broker] +url = "tcp://localhost:1883" - [mqtt.message] - size = 100 - format = "text" - qos = 2 - retain = true +[mqtt.message] +size = 100 +format = "text" +qos = 2 +retain = true - [mqtt.tls] - mtls = false - skiptlsver = true - ca = "ca.crt" +[mqtt.tls] +mtls = false +skiptlsver = true +ca = "ca.crt" [test] pubs = 3 @@ -93,8 +100,10 @@ count = 100 [log] quiet = false -[mainflux] -connections_file = "mfconn.toml" +[magistrala] +connections_file = "mgconn.toml" + ``` Based on this, a test scenario is provided in `templates/reference.toml` file. +``` diff --git a/tools/mqtt-bench/bench.go b/tools/mqtt-bench/bench.go index 7f20c4d98..8a16e746f 100644 --- a/tools/mqtt-bench/bench.go +++ b/tools/mqtt-bench/bench.go @@ -13,7 +13,7 @@ import ( "strconv" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/pelletier/go-toml" ) @@ -22,7 +22,7 @@ func Benchmark(cfg Config) error { if err := checkConnection(cfg.MQTT.Broker.URL, 1); err != nil { return err } - logger, err := mflog.New(os.Stdout, mflog.Debug.String()) + logger, err := mglog.New(os.Stdout, mglog.Debug.String()) if err != nil { return err } @@ -43,14 +43,14 @@ func Benchmark(cfg Config) error { caByte, _ = io.ReadAll(caFile) } - data, err := os.ReadFile(cfg.Mf.ConnFile) + data, err := os.ReadFile(cfg.Mg.ConnFile) if err != nil { return fmt.Errorf("error loading connections file: %s", err) } - mf := mainflux{} - if err := toml.Unmarshal(data, &mf); err != nil { - return fmt.Errorf("cannot load Magistrala connections config %s \nUse tools/provision to create file", cfg.Mf.ConnFile) + mg := magistrala{} + if err := toml.Unmarshal(data, &mg); err != nil { + return fmt.Errorf("cannot load Magistrala connections config %s \nUse tools/provision to create file", cfg.Mg.ConnFile) } resCh := make(chan *runResults) @@ -58,23 +58,23 @@ func Benchmark(cfg Config) error { startStamp := time.Now() - n := len(mf.Channels) + n := len(mg.Channels) var cert tls.Certificate start := time.Now() // Publishers for i := 0; i < cfg.Test.Pubs; i++ { - mfChan := mf.Channels[i%n] - mfThing := mf.Things[i%n] + mgChan := mg.Channels[i%n] + mgThing := mg.Things[i%n] if cfg.MQTT.TLS.MTLS { - cert, err = tls.X509KeyPair([]byte(mfThing.MTLSCert), []byte(mfThing.MTLSKey)) + cert, err = tls.X509KeyPair([]byte(mgThing.MTLSCert), []byte(mgThing.MTLSKey)) if err != nil { return err } } - c, err := makeClient(i, cfg, mfChan, mfThing, startStamp, caByte, cert) + c, err := makeClient(i, cfg, mgChan, mgThing, startStamp, caByte, cert) if err != nil { return fmt.Errorf("unable to create message payload %s", err.Error()) } @@ -160,13 +160,13 @@ func getBytePayload(size int, m message) (handler, error) { return ret, nil } -func makeClient(i int, cfg Config, mfChan mfChannel, mfThing mfThing, start time.Time, caCert []byte, clientCert tls.Certificate) (*Client, error) { +func makeClient(i int, cfg Config, mgChan mgChannel, mgThing mgThing, start time.Time, caCert []byte, clientCert tls.Certificate) (*Client, error) { c := &Client{ ID: strconv.Itoa(i), BrokerURL: cfg.MQTT.Broker.URL, - BrokerUser: mfThing.ThingID, - BrokerPass: mfThing.ThingKey, - MsgTopic: fmt.Sprintf("channels/%s/messages/%d/test", mfChan.ChannelID, start.UnixNano()), + BrokerUser: mgThing.ThingID, + BrokerPass: mgThing.ThingKey, + MsgTopic: fmt.Sprintf("channels/%s/messages/%d/test", mgChan.ChannelID, start.UnixNano()), MsgSize: cfg.MQTT.Message.Size, MsgCount: cfg.Test.Count, MsgQoS: byte(cfg.MQTT.Message.QoS), diff --git a/tools/mqtt-bench/cmd/main.go b/tools/mqtt-bench/cmd/main.go index 3c15c778d..bd1d2b163 100644 --- a/tools/mqtt-bench/cmd/main.go +++ b/tools/mqtt-bench/cmd/main.go @@ -69,7 +69,7 @@ Complete documentation is available at https://docs.mainflux.io`, // Config file rootCmd.PersistentFlags().StringVarP(&confFile, "config", "c", "config.toml", "config file for mqtt-bench") - rootCmd.PersistentFlags().StringVarP(&bconf.Mf.ConnFile, "magistrala", "m", "connections.toml", "config file for Magistrala connections") + rootCmd.PersistentFlags().StringVarP(&bconf.Mg.ConnFile, "magistrala", "m", "connections.toml", "config file for Magistrala connections") if err := rootCmd.Execute(); err != nil { log.Fatal(err) diff --git a/tools/mqtt-bench/config.go b/tools/mqtt-bench/config.go index 558bb1c5d..580c4ab74 100644 --- a/tools/mqtt-bench/config.go +++ b/tools/mqtt-bench/config.go @@ -39,30 +39,30 @@ type logConfig struct { Quiet bool `toml:"quiet" mapstructure:"quiet"` } -type mainfluxFile struct { +type magistralaFile struct { ConnFile string `toml:"connections_file" mapstructure:"connections_file"` } -type mfThing struct { +type mgThing struct { ThingID string `toml:"thing_id" mapstructure:"thing_id"` ThingKey string `toml:"thing_key" mapstructure:"thing_key"` MTLSCert string `toml:"mtls_cert" mapstructure:"mtls_cert"` MTLSKey string `toml:"mtls_key" mapstructure:"mtls_key"` } -type mfChannel struct { +type mgChannel struct { ChannelID string `toml:"channel_id" mapstructure:"channel_id"` } -type mainflux struct { - Things []mfThing `toml:"things" mapstructure:"things"` - Channels []mfChannel `toml:"channels" mapstructure:"channels"` +type magistrala struct { + Things []mgThing `toml:"things" mapstructure:"things"` + Channels []mgChannel `toml:"channels" mapstructure:"channels"` } // Config struct holds benchmark configuration. type Config struct { - MQTT mqttConfig `toml:"mqtt" mapstructure:"mqtt"` - Test testConfig `toml:"test" mapstructure:"test"` - Log logConfig `toml:"log" mapstructure:"log"` - Mf mainfluxFile `toml:"magistrala" mapstructure:"magistrala"` + MQTT mqttConfig `toml:"mqtt" mapstructure:"mqtt"` + Test testConfig `toml:"test" mapstructure:"test"` + Log logConfig `toml:"log" mapstructure:"log"` + Mg magistralaFile `toml:"magistrala" mapstructure:"magistrala"` } diff --git a/tools/mqtt-bench/templates/reference.toml b/tools/mqtt-bench/templates/reference.toml index d0b04cde2..ebaeb6130 100644 --- a/tools/mqtt-bench/templates/reference.toml +++ b/tools/mqtt-bench/templates/reference.toml @@ -22,5 +22,5 @@ count = 70 [log] quiet = true -[mainflux] -connections_file = "../provision/mfconn.toml" +[magistrala] +connections_file = "../provision/mgconn.toml" diff --git a/tools/provision/README.md b/tools/provision/README.md index 3235b2a1b..11b1d0859 100644 --- a/tools/provision/README.md +++ b/tools/provision/README.md @@ -24,23 +24,23 @@ Flags: --ca string CA for creating and signing things certificate (default "ca.crt") --cakey string ca.key for creating and signing things certificate (default "ca.key") -h, --help help for provision - --host string address for mainflux instance (default "https://localhost") + --host string address for magistrala instance (default "https://localhost") --num int number of channels and things to create and connect (default 10) - -p, --password string mainflux users password + -p, --password string magistrala users password --ssl create certificates for mTLS access - -u, --username string mainflux user + -u, --username string magistrala user --prefix string name prefix for things and channels ``` Example: ``` -go run tools/provision/cmd/main.go -u test@mainflux.com -p test1234 --host https://142.93.118.47 +go run tools/provision/cmd/main.go -u test@magistrala.com -p test1234 --host https://142.93.118.47 ``` If you want to create a list of channels with certificates: ``` -go run tools/provision/cmd/main.go --host http://localhost --num 10 -u test@mainflux.com -p test1234 --ssl true --ca docker/ssl/certs/ca.crt --cakey docker/ssl/certs/ca.key +go run tools/provision/cmd/main.go --host http://localhost --num 10 -u test@magistrala.com -p test1234 --ssl true --ca docker/ssl/certs/ca.crt --cakey docker/ssl/certs/ca.key ``` diff --git a/tools/provision/cmd/main.go b/tools/provision/cmd/main.go index 9bfbe82e6..5debe4c92 100644 --- a/tools/provision/cmd/main.go +++ b/tools/provision/cmd/main.go @@ -19,7 +19,7 @@ func main() { Short: "provision is provisioning tool for Magistrala", Long: `Tool for provisioning series of Magistrala channels and things and connecting them together. Complete documentation is available at https://docs.mainflux.io`, - Run: func(cmd *cobra.Command, args []string) { + Run: func(_ *cobra.Command, _ []string) { if err := provision.Provision(pconf); err != nil { log.Fatal(err) } @@ -27,10 +27,10 @@ Complete documentation is available at https://docs.mainflux.io`, } // Root Flags - rootCmd.PersistentFlags().StringVarP(&pconf.Host, "host", "", "https://localhost", "address for mainflux instance") + rootCmd.PersistentFlags().StringVarP(&pconf.Host, "host", "", "https://localhost", "address for magistrala instance") rootCmd.PersistentFlags().StringVarP(&pconf.Prefix, "prefix", "", "", "name prefix for things and channels") - rootCmd.PersistentFlags().StringVarP(&pconf.Username, "username", "u", "", "mainflux user") - rootCmd.PersistentFlags().StringVarP(&pconf.Password, "password", "p", "", "mainflux users password") + rootCmd.PersistentFlags().StringVarP(&pconf.Username, "username", "u", "", "magistrala user") + rootCmd.PersistentFlags().StringVarP(&pconf.Password, "password", "p", "", "magistrala users password") rootCmd.PersistentFlags().IntVarP(&pconf.Num, "num", "", 10, "number of channels and things to create and connect") rootCmd.PersistentFlags().BoolVarP(&pconf.SSL, "ssl", "", false, "create certificates for mTLS access") rootCmd.PersistentFlags().StringVarP(&pconf.CAKey, "cakey", "", "ca.key", "ca.key for creating and signing things certificate") diff --git a/tools/provision/provision.go b/tools/provision/provision.go index 537f7ac3a..b1220db05 100644 --- a/tools/provision/provision.go +++ b/tools/provision/provision.go @@ -28,8 +28,8 @@ const ( defReaderURL = "http://localhost:9005" ) -// MfConn - structure describing Magistrala connection set. -type MfConn struct { +// MgConn - structure describing Magistrala connection set. +type MgConn struct { ChannelID string ThingID string ThingKey string diff --git a/twins/README.md b/twins/README.md index 9a50f4eb0..7df3603d9 100644 --- a/twins/README.md +++ b/twins/README.md @@ -12,26 +12,26 @@ The service is configured using the environment variables presented in the following table. Note that any unset variables will be replaced with their default values. -| Variable | Description | Default | -| -------------------------- | ------------------------------------------------------------------- | ------------------------------ | -| MG_TWINS_LOG_LEVEL | Log level for twin service (debug, info, warn, error) | info | -| MG_TWINS_HTTP_PORT | Twins service HTTP port | 9018 | -| MG_TWINS_SERVER_CERT | Path to server certificate in PEM format | | -| MG_TWINS_SERVER_KEY | Path to server key in PEM format | | -| MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_TWINS_DB | Database name | mainflux | -| MG_TWINS_DB_HOST | Database host address | localhost | -| MG_TWINS_DB_PORT | Database host port | 27017 | -| MG_THINGS_STANDALONE_ID | User ID for standalone mode (no gRPC communication with users) | | -| MG_THINGS_STANDALONE_TOKEN | User token for standalone mode that should be passed in auth header | | -| MG_TWINS_CLIENT_TLS | Flag that indicates if TLS should be turned on | false | -| MG_TWINS_CA_CERTS | Path to trusted CAs in PEM format | | -| MG_TWINS_CHANNEL_ID | Message broker notifications channel ID | | -| MG_MESSAGE_BROKER_URL | Magistrala Message broker URL | nats://localhost:4222 | -| MG_AUTH_GRPC_URL | Users service gRPC URL | localhost:7001 | -| MG_AUTH_GRPC_TIMEOUT | Users service gRPC request timeout in seconds | 1s | -| MG_TWINS_CACHE_URL | Cache database URL | redis://localhost:6379/0 | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | +| Variable | Description | Default | +| -------------------------- | ------------------------------------------------------------------- | -------------------------------- | +| MG_TWINS_LOG_LEVEL | Log level for twin service (debug, info, warn, error) | info | +| MG_TWINS_HTTP_PORT | Twins service HTTP port | 9018 | +| MG_TWINS_SERVER_CERT | Path to server certificate in PEM format | | +| MG_TWINS_SERVER_KEY | Path to server key in PEM format | | +| MG_JAEGER_URL | Jaeger server URL | | +| MG_TWINS_DB | Database name | magistrala | +| MG_TWINS_DB_HOST | Database host address | localhost | +| MG_TWINS_DB_PORT | Database host port | 27017 | +| MG_THINGS_STANDALONE_ID | User ID for standalone mode (no gRPC communication with users) | | +| MG_THINGS_STANDALONE_TOKEN | User token for standalone mode that should be passed in auth header | | +| MG_TWINS_CLIENT_TLS | Flag that indicates if TLS should be turned on | false | +| MG_TWINS_CA_CERTS | Path to trusted CAs in PEM format | | +| MG_TWINS_CHANNEL_ID | Message broker notifications channel ID | | +| MG_MESSAGE_BROKER_URL | Magistrala Message broker URL | | +| MG_AUTH_GRPC_URL | Users service gRPC URL | | +| MG_AUTH_GRPC_TIMEOUT | Users service gRPC request timeout in seconds | 1s | +| MG_TWINS_CACHE_URL | Cache database URL | | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | ## Deployment @@ -71,7 +71,7 @@ MG_MESSAGE_BROKER_URL=[Magistrala Message broker URL] \ MG_AUTH_GRPC_URL=[Users service gRPC URL] \ MG_AUTH_GRPC_TIMEOUT=[Users service gRPC request timeout in seconds] \ MG_TWINS_CACHE_URL=[Cache database URL] \ -$GOBIN/mainflux-twins +$GOBIN/magistrala-twins ``` ## Usage @@ -94,7 +94,7 @@ MG_TWINS_CHANNEL_ID= ``` with the corresponding values of the desired channel. If you are running -mainflux natively, than do the same thing in the corresponding console +magistrala natively, than do the same thing in the corresponding console environment. For more information about service capabilities and its usage, please check out diff --git a/twins/api/http/endpoint_states_test.go b/twins/api/http/endpoint_states_test.go index 485954107..0a2c19999 100644 --- a/twins/api/http/endpoint_states_test.go +++ b/twins/api/http/endpoint_states_test.go @@ -10,7 +10,7 @@ import ( "net/http" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/internal/testsutil" "github.com/absmach/magistrala/twins" @@ -49,7 +49,7 @@ func TestListStates(t *testing.T) { Owner: email, } def := mocks.CreateDefinition(channels[0:2], subtopics[0:2]) - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) tw, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() @@ -185,7 +185,7 @@ func TestListStates(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, mock.Anything).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, mock.Anything).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) req := testRequest{ client: ts.Client(), method: http.MethodGet, diff --git a/twins/api/http/endpoint_twins_test.go b/twins/api/http/endpoint_twins_test.go index 14077c4ad..4dc3627d3 100644 --- a/twins/api/http/endpoint_twins_test.go +++ b/twins/api/http/endpoint_twins_test.go @@ -14,7 +14,7 @@ import ( "strings" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/internal/testsutil" @@ -188,7 +188,7 @@ func TestAddTwin(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.auth}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.auth}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) req := testRequest{ client: ts.Client(), method: http.MethodPost, @@ -214,7 +214,7 @@ func TestUpdateTwin(t *testing.T) { twin := twins.Twin{} def := twins.Definition{} - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) stw, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() @@ -310,7 +310,7 @@ func TestUpdateTwin(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.auth}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.auth}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) req := testRequest{ client: ts.Client(), method: http.MethodPut, @@ -333,7 +333,7 @@ func TestViewTwin(t *testing.T) { def := twins.Definition{} twin := twins.Twin{} - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) stw, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() @@ -391,7 +391,7 @@ func TestViewTwin(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.auth}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.auth}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) req := testRequest{ client: ts.Client(), method: http.MethodGet, @@ -423,7 +423,7 @@ func TestListTwins(t *testing.T) { Owner: email, Name: name, } - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: userID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: userID}, nil) tw, err := svc.AddTwin(context.Background(), token, twin, twins.Definition{}) assert.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() @@ -568,7 +568,7 @@ func TestListTwins(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.auth}).Return(&mainflux.IdentityRes{Id: userID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.auth}).Return(&magistrala.IdentityRes{Id: userID}, nil) req := testRequest{ client: ts.Client(), method: http.MethodGet, @@ -597,7 +597,7 @@ func TestRemoveTwin(t *testing.T) { def := twins.Definition{} twin := twins.Twin{} - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) stw, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() @@ -641,7 +641,7 @@ func TestRemoveTwin(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.auth}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.auth}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) req := testRequest{ client: ts.Client(), method: http.MethodDelete, diff --git a/twins/api/http/responses.go b/twins/api/http/responses.go index a24dadcd8..98077c9e0 100644 --- a/twins/api/http/responses.go +++ b/twins/api/http/responses.go @@ -8,17 +8,17 @@ import ( "net/http" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/twins" ) var ( - _ mainflux.Response = (*twinRes)(nil) - _ mainflux.Response = (*viewTwinRes)(nil) - _ mainflux.Response = (*viewStateRes)(nil) - _ mainflux.Response = (*twinsPageRes)(nil) - _ mainflux.Response = (*statesPageRes)(nil) - _ mainflux.Response = (*removeRes)(nil) + _ magistrala.Response = (*twinRes)(nil) + _ magistrala.Response = (*viewTwinRes)(nil) + _ magistrala.Response = (*viewStateRes)(nil) + _ magistrala.Response = (*twinsPageRes)(nil) + _ magistrala.Response = (*statesPageRes)(nil) + _ magistrala.Response = (*removeRes)(nil) ) type twinRes struct { diff --git a/twins/api/http/transport.go b/twins/api/http/transport.go index 06d67cf40..dda4760f8 100644 --- a/twins/api/http/transport.go +++ b/twins/api/http/transport.go @@ -9,7 +9,7 @@ import ( "net/http" "strings" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" @@ -80,7 +80,7 @@ func MakeHandler(svc twins.Service, logger logger.Logger, instanceID string) htt opts..., ), "list_states")) - r.GetFunc("/health", mainflux.Health("twins", instanceID)) + r.GetFunc("/health", magistrala.Health("twins", instanceID)) r.Handle("/metrics", promhttp.Handler()) return r @@ -180,7 +180,7 @@ func decodeListStates(_ context.Context, r *http.Request) (interface{}, error) { func encodeResponse(_ context.Context, w http.ResponseWriter, response interface{}) error { w.Header().Set("Content-Type", contentType) - if ar, ok := response.(mainflux.Response); ok { + if ar, ok := response.(magistrala.Response); ok { for k, v := range ar.Headers() { w.Header().Set(k, v) } diff --git a/twins/api/logging.go b/twins/api/logging.go index 162045f19..95c15e944 100644 --- a/twins/api/logging.go +++ b/twins/api/logging.go @@ -10,7 +10,7 @@ import ( "fmt" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/messaging" "github.com/absmach/magistrala/twins" ) @@ -18,12 +18,12 @@ import ( var _ twins.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc twins.Service } // LoggingMiddleware adds logging facilities to the core service. -func LoggingMiddleware(svc twins.Service, logger mflog.Logger) twins.Service { +func LoggingMiddleware(svc twins.Service, logger mglog.Logger) twins.Service { return &loggingMiddleware{logger, svc} } diff --git a/twins/events/streams.go b/twins/events/streams.go index 4b1722573..7cbe24d6f 100644 --- a/twins/events/streams.go +++ b/twins/events/streams.go @@ -12,7 +12,7 @@ import ( "github.com/absmach/magistrala/twins" ) -const streamID = "mainflux.twins" +const streamID = "magistrala.twins" var _ twins.Service = (*eventStore)(nil) diff --git a/twins/mongodb/twins_test.go b/twins/mongodb/twins_test.go index ee2025e31..41ec3865e 100644 --- a/twins/mongodb/twins_test.go +++ b/twins/mongodb/twins_test.go @@ -10,7 +10,7 @@ import ( "strings" "testing" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/twins" @@ -27,15 +27,15 @@ const ( maxNameSize = 1024 testDB = "test" collection = "twins" - email = "mfx_twin@example.com" - validName = "mfx_twin" + email = "mgx_twin@example.com" + validName = "mgx_twin" subtopic = "engine" ) var ( port string addr string - testLog, _ = mflog.New(os.Stdout, mflog.Info.String()) + testLog, _ = mglog.New(os.Stdout, mglog.Info.String()) idProvider = uuid.New() invalidName = strings.Repeat("m", maxNameSize+1) ) diff --git a/twins/service_test.go b/twins/service_test.go index 2fc924012..fa10bac25 100644 --- a/twins/service_test.go +++ b/twins/service_test.go @@ -8,7 +8,7 @@ import ( "fmt" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/internal/testsutil" "github.com/absmach/magistrala/pkg/errors" @@ -59,7 +59,7 @@ func TestAddTwin(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) _, err := svc.AddTwin(context.Background(), tc.token, tc.twin, def) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) repoCall.Unset() @@ -73,7 +73,7 @@ func TestUpdateTwin(t *testing.T) { def := twins.Definition{} other.ID = wrongID - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) saved, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s\n", err)) repoCall.Unset() @@ -107,7 +107,7 @@ func TestUpdateTwin(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) err := svc.UpdateTwin(context.Background(), tc.token, tc.twin, def) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) repoCall.Unset() @@ -118,7 +118,7 @@ func TestViewTwin(t *testing.T) { svc, auth := mocks.NewService() twin := twins.Twin{} def := twins.Definition{} - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) saved, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s\n", err)) repoCall.Unset() @@ -150,7 +150,7 @@ func TestViewTwin(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) _, err := svc.ViewTwin(context.Background(), tc.token, tc.id) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) repoCall.Unset() @@ -167,7 +167,7 @@ func TestListTwins(t *testing.T) { n := uint64(10) for i := uint64(0); i < n; i++ { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) _, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s\n", err)) repoCall.Unset() @@ -216,7 +216,7 @@ func TestListTwins(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) _, err := svc.ListTwins(context.Background(), tc.token, tc.offset, tc.limit, twinName, tc.metadata) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) repoCall.Unset() @@ -227,7 +227,7 @@ func TestRemoveTwin(t *testing.T) { svc, auth := mocks.NewService() twin := twins.Twin{} def := twins.Definition{} - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) saved, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s\n", err)) repoCall.Unset() @@ -265,7 +265,7 @@ func TestRemoveTwin(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) err := svc.RemoveTwin(context.Background(), tc.token, tc.id) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) repoCall.Unset() @@ -279,13 +279,13 @@ func TestSaveStates(t *testing.T) { def := mocks.CreateDefinition(channels[0:2], subtopics[0:2]) attr := def.Attributes[0] attrSansTwin := mocks.CreateDefinition(channels[2:3], subtopics[2:3]).Attributes[0] - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) tw, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() defWildcard := mocks.CreateDefinition(channels[0:2], []string{twins.SubtopicWildcard, twins.SubtopicWildcard}) - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) twWildcard, err := svc.AddTwin(context.Background(), token, twin, defWildcard) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() @@ -333,7 +333,7 @@ func TestSaveStates(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) message, err := mocks.CreateMessage(tc.attr, tc.recs) assert.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) @@ -358,12 +358,12 @@ func TestListStates(t *testing.T) { twin := twins.Twin{Owner: email} def := mocks.CreateDefinition(channels[0:2], subtopics[0:2]) attr := def.Attributes[0] - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) tw, err := svc.AddTwin(context.Background(), token, twin, def) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) tw2, err := svc.AddTwin(context.Background(), token, twins.Twin{Owner: email}, mocks.CreateDefinition(channels[2:3], subtopics[2:3])) @@ -374,7 +374,7 @@ func TestListStates(t *testing.T) { mocks.CreateSenML(recs) message, err := mocks.CreateMessage(attr, recs) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) err = svc.SaveStates(context.Background(), message) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) repoCall.Unset() @@ -454,7 +454,7 @@ func TestListStates(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: tc.token}).Return(&mainflux.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: tc.token}).Return(&magistrala.IdentityRes{Id: testsutil.GenerateUUID(t)}, nil) page, err := svc.ListStates(context.TODO(), tc.token, tc.offset, tc.limit, tc.id) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) assert.Equal(t, tc.size, len(page.States), fmt.Sprintf("%s: expected %d total got %d total\n", tc.desc, tc.size, len(page.States))) diff --git a/users/README.md b/users/README.md index 270ca2e29..2495a794f 100644 --- a/users/README.md +++ b/users/README.md @@ -16,43 +16,43 @@ The service is configured using the environment variables presented in the following table. Note that any unset variables will be replaced with their default values. -| Variable | Description | Default | -| ------------------------------- | ----------------------------------------------------------------------- | ------------------------------ | -| MG_USERS_LOG_LEVEL | Log level for Users (debug, info, warn, error) | info | -| MG_USERS_SECRET_KEY | Default secret key used to generate tokens | mainflux | -| MG_USERS_ADMIN_EMAIL | Default user, created on startup | admin@example.com | -| MG_USERS_ADMIN_PASSWORD | Default user password, created on startup | 12345678 | -| MG_USERS_PASS_REGEX | Password regex | `^.{8,}$` | -| MG_USERS_ACCESS_TOKEN_DURATION | Duration for an access token to be valid | 15m | -| MG_USERS_REFRESH_TOKEN_DURATION | Duration for a refresh token to be valid | 24h | -| MG_TOKEN_RESET_ENDPOINT | Password request reset endpoint, for constructing link | /reset-request | -| MG_USERS_HTTP_HOST | Users service HTTP host | localhost | -| MG_USERS_HTTP_PORT | Users service HTTP port | 9002 | -| MG_USERS_HTTP_SERVER_CERT | Path to server certificate in pem format | "" | -| MG_USERS_HTTP_SERVER_KEY | Path to server key in pem format | "" | -| MG_USERS_GRPC_HOST | Users service GRPC host | localhost | -| MG_USERS_GRPC_PORT | Users service GRPC port | 7001 | -| MG_USERS_GRPC_SERVER_CERT | Path to server certificate in pem format | "" | -| MG_USERS_GRPC_SERVER_KEY | Path to server key in pem format | "" | -| MG_USERS_DB_HOST | Database host address | localhost | -| MG_USERS_DB_PORT | Database host port | 5432 | -| MG_USERS_DB_USER | Database user | mainflux | -| MG_USERS_DB_PASS | Database password | mainflux | -| MG_USERS_DB_NAME | Name of the database used by the service | users | -| MG_USERS_DB_SSL_MODE | Database connection SSL mode (disable, require, verify-ca, verify-full) | disable | -| MG_USERS_DB_SSL_CERT | Path to the PEM encoded certificate file | "" | -| MG_USERS_DB_SSL_KEY | Path to the PEM encoded key file | "" | -| MG_USERS_DB_SSL_ROOT_CERT | Path to the PEM encoded root certificate file | "" | -| MG_EMAIL_HOST | Mail server host | localhost | -| MG_EMAIL_PORT | Mail server port | 25 | -| MG_EMAIL_USERNAME | Mail server username | | -| MG_EMAIL_PASSWORD | Mail server password | | -| MG_EMAIL_FROM_ADDRESS | Email "from" address | | -| MG_EMAIL_FROM_NAME | Email "from" name | | -| MG_EMAIL_TEMPLATE | Email template for sending emails with password reset link | email.tmpl | -| MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server. | true | -| MG_INSTANCE_ID | Magistrala instance ID | "" | +| Variable | Description | Default | +| ------------------------------- | ----------------------------------------------------------------------- | -------------------------------- | +| MG_USERS_LOG_LEVEL | Log level for Users (debug, info, warn, error) | info | +| MG_USERS_SECRET_KEY | Default secret key used to generate tokens | magistrala | +| MG_USERS_ADMIN_EMAIL | Default user, created on startup | | +| MG_USERS_ADMIN_PASSWORD | Default user password, created on startup | 12345678 | +| MG_USERS_PASS_REGEX | Password regex | `^.{8,}$` | +| MG_USERS_ACCESS_TOKEN_DURATION | Duration for an access token to be valid | 15m | +| MG_USERS_REFRESH_TOKEN_DURATION | Duration for a refresh token to be valid | 24h | +| MG_TOKEN_RESET_ENDPOINT | Password request reset endpoint, for constructing link | /reset-request | +| MG_USERS_HTTP_HOST | Users service HTTP host | localhost | +| MG_USERS_HTTP_PORT | Users service HTTP port | 9002 | +| MG_USERS_HTTP_SERVER_CERT | Path to server certificate in pem format | "" | +| MG_USERS_HTTP_SERVER_KEY | Path to server key in pem format | "" | +| MG_USERS_GRPC_HOST | Users service GRPC host | localhost | +| MG_USERS_GRPC_PORT | Users service GRPC port | 7001 | +| MG_USERS_GRPC_SERVER_CERT | Path to server certificate in pem format | "" | +| MG_USERS_GRPC_SERVER_KEY | Path to server key in pem format | "" | +| MG_USERS_DB_HOST | Database host address | localhost | +| MG_USERS_DB_PORT | Database host port | 5432 | +| MG_USERS_DB_USER | Database user | magistrala | +| MG_USERS_DB_PASS | Database password | magistrala | +| MG_USERS_DB_NAME | Name of the database used by the service | users | +| MG_USERS_DB_SSL_MODE | Database connection SSL mode (disable, require, verify-ca, verify-full) | disable | +| MG_USERS_DB_SSL_CERT | Path to the PEM encoded certificate file | "" | +| MG_USERS_DB_SSL_KEY | Path to the PEM encoded key file | "" | +| MG_USERS_DB_SSL_ROOT_CERT | Path to the PEM encoded root certificate file | "" | +| MG_EMAIL_HOST | Mail server host | localhost | +| MG_EMAIL_PORT | Mail server port | 25 | +| MG_EMAIL_USERNAME | Mail server username | | +| MG_EMAIL_PASSWORD | Mail server password | | +| MG_EMAIL_FROM_ADDRESS | Email "from" address | | +| MG_EMAIL_FROM_NAME | Email "from" name | | +| MG_EMAIL_TEMPLATE | Email template for sending emails with password reset link | email.tmpl | +| MG_JAEGER_URL | Jaeger server URL | | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server. | true | +| MG_INSTANCE_ID | Magistrala instance ID | "" | ## Deployment @@ -64,7 +64,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the service make users @@ -108,7 +108,7 @@ MG_EMAIL_TEMPLATE=[Email template file] \ MG_JAEGER_URL=[Jaeger server URL] \ MG_SEND_TELEMETRY=[Send telemetry to Jaeger (true/false)] \ MG_USERS_INSTANCE_ID=[Instance ID] \ -$GOBIN/mainflux-users +$GOBIN/magistrala-users ``` If `MG_EMAIL_TEMPLATE` doesn't point to any file service will function but password reset functionality will not work. diff --git a/users/api/clients.go b/users/api/clients.go index 25632d48d..44c291bb3 100644 --- a/users/api/clients.go +++ b/users/api/clients.go @@ -11,8 +11,8 @@ import ( "github.com/absmach/magistrala/internal/api" "github.com/absmach/magistrala/internal/apiutil" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/users" "github.com/go-chi/chi/v5" @@ -21,7 +21,7 @@ import ( ) // MakeHandler returns a HTTP handler for API endpoints. -func clientsHandler(svc users.Service, r *chi.Mux, logger mflog.Logger) http.Handler { +func clientsHandler(svc users.Service, r *chi.Mux, logger mglog.Logger) http.Handler { opts := []kithttp.ServerOption{ kithttp.ServerErrorEncoder(apiutil.LoggingErrorEncoder(logger, api.EncodeError)), } @@ -231,7 +231,7 @@ func decodeListClients(_ context.Context, r *http.Request) (interface{}, error) if oid != "" { ownerID = oid } - st, err := mfclients.ToStatus(s) + st, err := mgclients.ToStatus(s) if err != nil { return nil, errors.Wrap(apiutil.ErrValidation, err) } @@ -381,7 +381,7 @@ func decodeCreateClientReq(_ context.Context, r *http.Request) (interface{}, err return nil, errors.Wrap(apiutil.ErrValidation, apiutil.ErrUnsupportedContentType) } - var c mfclients.Client + var c mgclients.Client if err := json.NewDecoder(r.Body).Decode(&c); err != nil { return nil, errors.Wrap(apiutil.ErrValidation, errors.Wrap(err, errors.ErrMalformedEntity)) } @@ -444,48 +444,48 @@ func decodeListMembersByThing(_ context.Context, r *http.Request) (interface{}, return req, nil } -func queryPageParams(r *http.Request) (mfclients.Page, error) { +func queryPageParams(r *http.Request) (mgclients.Page, error) { s, err := apiutil.ReadStringQuery(r, api.StatusKey, api.DefClientStatus) if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } o, err := apiutil.ReadNumQuery[uint64](r, api.OffsetKey, api.DefOffset) if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } l, err := apiutil.ReadNumQuery[uint64](r, api.LimitKey, api.DefLimit) if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } m, err := apiutil.ReadMetadataQuery(r, api.MetadataKey, nil) if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } n, err := apiutil.ReadStringQuery(r, api.NameKey, "") if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } i, err := apiutil.ReadStringQuery(r, api.IdentityKey, "") if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } t, err := apiutil.ReadStringQuery(r, api.TagKey, "") if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } oid, err := apiutil.ReadStringQuery(r, api.OwnerKey, "") if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } - st, err := mfclients.ToStatus(s) + st, err := mgclients.ToStatus(s) if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } p, err := apiutil.ReadStringQuery(r, api.PermissionKey, api.DefPermission) if err != nil { - return mfclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) + return mgclients.Page{}, errors.Wrap(apiutil.ErrValidation, err) } - return mfclients.Page{ + return mgclients.Page{ Status: st, Offset: o, Limit: l, diff --git a/users/api/endpoints.go b/users/api/endpoints.go index f5ed6ad05..565ee0f6c 100644 --- a/users/api/endpoints.go +++ b/users/api/endpoints.go @@ -7,7 +7,7 @@ import ( "context" "github.com/absmach/magistrala/internal/apiutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/users" "github.com/go-kit/kit/endpoint" @@ -71,7 +71,7 @@ func listClientsEndpoint(svc users.Service) endpoint.Endpoint { return nil, errors.Wrap(apiutil.ErrValidation, err) } - pm := mfclients.Page{ + pm := mgclients.Page{ Status: req.status, Offset: req.offset, Limit: req.limit, @@ -164,7 +164,7 @@ func updateClientEndpoint(svc users.Service) endpoint.Endpoint { return nil, errors.Wrap(apiutil.ErrValidation, err) } - client := mfclients.Client{ + client := mgclients.Client{ ID: req.id, Name: req.Name, Metadata: req.Metadata, @@ -185,7 +185,7 @@ func updateClientTagsEndpoint(svc users.Service) endpoint.Endpoint { return nil, errors.Wrap(apiutil.ErrValidation, err) } - client := mfclients.Client{ + client := mgclients.Client{ ID: req.id, Tags: req.Tags, } @@ -219,7 +219,7 @@ func updateClientIdentityEndpoint(svc users.Service) endpoint.Endpoint { // Link is generated using MG_TOKEN_RESET_ENDPOINT env. // and value from Referer header for host. // {Referer}+{MG_TOKEN_RESET_ENDPOINT}+{token=TOKEN} -// http://mainflux.com/reset-request?token=xxxxxxxxxxx. +// http://magistrala.com/reset-request?token=xxxxxxxxxxx. // Email with a link is being sent to the user. // When user clicks on a link it should get the ui with form to // enter new password, when form is submitted token and new password @@ -280,7 +280,7 @@ func updateClientOwnerEndpoint(svc users.Service) endpoint.Endpoint { return nil, errors.Wrap(apiutil.ErrValidation, err) } - client := mfclients.Client{ + client := mgclients.Client{ ID: req.id, Owner: req.Owner, } @@ -365,7 +365,7 @@ func disableClientEndpoint(svc users.Service) endpoint.Endpoint { } } -func buildClientsResponse(cp mfclients.MembersPage) clientsPageRes { +func buildClientsResponse(cp mgclients.MembersPage) clientsPageRes { res := clientsPageRes{ pageRes: pageRes{ Total: cp.Total, diff --git a/users/api/logging.go b/users/api/logging.go index 0666d9ad5..71cc53060 100644 --- a/users/api/logging.go +++ b/users/api/logging.go @@ -8,27 +8,27 @@ import ( "fmt" "time" - mainflux "github.com/absmach/magistrala" - mflog "github.com/absmach/magistrala/logger" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mglog "github.com/absmach/magistrala/logger" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/users" ) var _ users.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc users.Service } // LoggingMiddleware adds logging facilities to the clients service. -func LoggingMiddleware(svc users.Service, logger mflog.Logger) users.Service { +func LoggingMiddleware(svc users.Service, logger mglog.Logger) users.Service { return &loggingMiddleware{logger, svc} } // RegisterClient logs the register_client request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) RegisterClient(ctx context.Context, token string, client mfclients.Client) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) RegisterClient(ctx context.Context, token string, client mgclients.Client) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method register_client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -42,7 +42,7 @@ func (lm *loggingMiddleware) RegisterClient(ctx context.Context, token string, c // IssueToken logs the issue_token request. It logs the client identity and token type and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) IssueToken(ctx context.Context, identity, secret string) (t *mainflux.Token, err error) { +func (lm *loggingMiddleware) IssueToken(ctx context.Context, identity, secret string) (t *magistrala.Token, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method issue_token of type %s for client %s took %s to complete", t.GetAccessType(), identity, time.Since(begin)) if err != nil { @@ -56,7 +56,7 @@ func (lm *loggingMiddleware) IssueToken(ctx context.Context, identity, secret st // RefreshToken logs the refresh_token request. It logs the refreshtoken, token type and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) RefreshToken(ctx context.Context, refreshToken string) (t *mainflux.Token, err error) { +func (lm *loggingMiddleware) RefreshToken(ctx context.Context, refreshToken string) (t *magistrala.Token, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method refresh_token of type %s for refresh token %s took %s to complete", t.AccessType, refreshToken, time.Since(begin)) if err != nil { @@ -70,7 +70,7 @@ func (lm *loggingMiddleware) RefreshToken(ctx context.Context, refreshToken stri // ViewClient logs the view_client request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) ViewClient(ctx context.Context, token, id string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) ViewClient(ctx context.Context, token, id string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method view_client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -84,7 +84,7 @@ func (lm *loggingMiddleware) ViewClient(ctx context.Context, token, id string) ( // ViewProfile logs the view_profile request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) ViewProfile(ctx context.Context, token string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) ViewProfile(ctx context.Context, token string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method view_profile with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -98,7 +98,7 @@ func (lm *loggingMiddleware) ViewProfile(ctx context.Context, token string) (c m // ListClients logs the list_clients request. It logs the token and page metadata and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) ListClients(ctx context.Context, token string, pm mfclients.Page) (cp mfclients.ClientsPage, err error) { +func (lm *loggingMiddleware) ListClients(ctx context.Context, token string, pm mgclients.Page) (cp mgclients.ClientsPage, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method list_clients %d clients using token %s took %s to complete", cp.Total, token, time.Since(begin)) if err != nil { @@ -112,7 +112,7 @@ func (lm *loggingMiddleware) ListClients(ctx context.Context, token string, pm m // UpdateClient logs the update_client request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) UpdateClient(ctx context.Context, token string, client mfclients.Client) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClient(ctx context.Context, token string, client mgclients.Client) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_client_name_and_metadata for client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -126,7 +126,7 @@ func (lm *loggingMiddleware) UpdateClient(ctx context.Context, token string, cli // UpdateClientTags logs the update_client_tags request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) UpdateClientTags(ctx context.Context, token string, client mfclients.Client) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClientTags(ctx context.Context, token string, client mgclients.Client) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_client_tags for client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -140,7 +140,7 @@ func (lm *loggingMiddleware) UpdateClientTags(ctx context.Context, token string, // UpdateClientIdentity logs the update_client_identity request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) UpdateClientIdentity(ctx context.Context, token, id, identity string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClientIdentity(ctx context.Context, token, id, identity string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_client_identity for client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -154,7 +154,7 @@ func (lm *loggingMiddleware) UpdateClientIdentity(ctx context.Context, token, id // UpdateClientSecret logs the update_client_secret request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_client_secret for client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -210,7 +210,7 @@ func (lm *loggingMiddleware) SendPasswordReset(ctx context.Context, host, email, // UpdateClientOwner logs the update_client_owner request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) UpdateClientOwner(ctx context.Context, token string, client mfclients.Client) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) UpdateClientOwner(ctx context.Context, token string, client mgclients.Client) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method update_client_owner for client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -224,7 +224,7 @@ func (lm *loggingMiddleware) UpdateClientOwner(ctx context.Context, token string // EnableClient logs the enable_client request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) EnableClient(ctx context.Context, token, id string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) EnableClient(ctx context.Context, token, id string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method enable_client for client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -238,7 +238,7 @@ func (lm *loggingMiddleware) EnableClient(ctx context.Context, token, id string) // DisableClient logs the disable_client request. It logs the client id and token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) DisableClient(ctx context.Context, token, id string) (c mfclients.Client, err error) { +func (lm *loggingMiddleware) DisableClient(ctx context.Context, token, id string) (c mgclients.Client, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method disable_client for client with id %s using token %s took %s to complete", c.ID, token, time.Since(begin)) if err != nil { @@ -252,7 +252,7 @@ func (lm *loggingMiddleware) DisableClient(ctx context.Context, token, id string // ListMembers logs the list_members request. It logs the group id, token and the time it took to complete the request. // If the request fails, it logs the error. -func (lm *loggingMiddleware) ListMembers(ctx context.Context, token, objectKind, objectID string, cp mfclients.Page) (mp mfclients.MembersPage, err error) { +func (lm *loggingMiddleware) ListMembers(ctx context.Context, token, objectKind, objectID string, cp mgclients.Page) (mp mgclients.MembersPage, err error) { defer func(begin time.Time) { message := fmt.Sprintf("Method list_members %d members for object kind %s and object id %s and token %s took %s to complete", mp.Total, objectKind, objectID, token, time.Since(begin)) if err != nil { diff --git a/users/api/metrics.go b/users/api/metrics.go index 10aaa5ceb..8457eef60 100644 --- a/users/api/metrics.go +++ b/users/api/metrics.go @@ -7,8 +7,8 @@ import ( "context" "time" - mainflux "github.com/absmach/magistrala" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/users" "github.com/go-kit/kit/metrics" ) @@ -31,7 +31,7 @@ func MetricsMiddleware(svc users.Service, counter metrics.Counter, latency metri } // RegisterClient instruments RegisterClient method with metrics. -func (ms *metricsMiddleware) RegisterClient(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (ms *metricsMiddleware) RegisterClient(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "register_client").Add(1) ms.latency.With("method", "register_client").Observe(time.Since(begin).Seconds()) @@ -40,7 +40,7 @@ func (ms *metricsMiddleware) RegisterClient(ctx context.Context, token string, c } // IssueToken instruments IssueToken method with metrics. -func (ms *metricsMiddleware) IssueToken(ctx context.Context, identity, secret string) (*mainflux.Token, error) { +func (ms *metricsMiddleware) IssueToken(ctx context.Context, identity, secret string) (*magistrala.Token, error) { defer func(begin time.Time) { ms.counter.With("method", "issue_token").Add(1) ms.latency.With("method", "issue_token").Observe(time.Since(begin).Seconds()) @@ -49,7 +49,7 @@ func (ms *metricsMiddleware) IssueToken(ctx context.Context, identity, secret st } // RefreshToken instruments RefreshToken method with metrics. -func (ms *metricsMiddleware) RefreshToken(ctx context.Context, accessToken string) (token *mainflux.Token, err error) { +func (ms *metricsMiddleware) RefreshToken(ctx context.Context, accessToken string) (token *magistrala.Token, err error) { defer func(begin time.Time) { ms.counter.With("method", "refresh_token").Add(1) ms.latency.With("method", "refresh_token").Observe(time.Since(begin).Seconds()) @@ -58,7 +58,7 @@ func (ms *metricsMiddleware) RefreshToken(ctx context.Context, accessToken strin } // ViewClient instruments ViewClient method with metrics. -func (ms *metricsMiddleware) ViewClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (ms *metricsMiddleware) ViewClient(ctx context.Context, token, id string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "view_client").Add(1) ms.latency.With("method", "view_client").Observe(time.Since(begin).Seconds()) @@ -67,7 +67,7 @@ func (ms *metricsMiddleware) ViewClient(ctx context.Context, token, id string) ( } // ViewProfile instruments ViewProfile method with metrics. -func (ms *metricsMiddleware) ViewProfile(ctx context.Context, token string) (mfclients.Client, error) { +func (ms *metricsMiddleware) ViewProfile(ctx context.Context, token string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "view_profile").Add(1) ms.latency.With("method", "view_profile").Observe(time.Since(begin).Seconds()) @@ -76,7 +76,7 @@ func (ms *metricsMiddleware) ViewProfile(ctx context.Context, token string) (mfc } // ListClients instruments ListClients method with metrics. -func (ms *metricsMiddleware) ListClients(ctx context.Context, token string, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (ms *metricsMiddleware) ListClients(ctx context.Context, token string, pm mgclients.Page) (mgclients.ClientsPage, error) { defer func(begin time.Time) { ms.counter.With("method", "list_clients").Add(1) ms.latency.With("method", "list_clients").Observe(time.Since(begin).Seconds()) @@ -85,7 +85,7 @@ func (ms *metricsMiddleware) ListClients(ctx context.Context, token string, pm m } // UpdateClient instruments UpdateClient method with metrics. -func (ms *metricsMiddleware) UpdateClient(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClient(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_client_name_and_metadata").Add(1) ms.latency.With("method", "update_client_name_and_metadata").Observe(time.Since(begin).Seconds()) @@ -94,7 +94,7 @@ func (ms *metricsMiddleware) UpdateClient(ctx context.Context, token string, cli } // UpdateClientTags instruments UpdateClientTags method with metrics. -func (ms *metricsMiddleware) UpdateClientTags(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClientTags(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_client_tags").Add(1) ms.latency.With("method", "update_client_tags").Observe(time.Since(begin).Seconds()) @@ -103,7 +103,7 @@ func (ms *metricsMiddleware) UpdateClientTags(ctx context.Context, token string, } // UpdateClientIdentity instruments UpdateClientIdentity method with metrics. -func (ms *metricsMiddleware) UpdateClientIdentity(ctx context.Context, token, id, identity string) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClientIdentity(ctx context.Context, token, id, identity string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_client_identity").Add(1) ms.latency.With("method", "update_client_identity").Observe(time.Since(begin).Seconds()) @@ -112,7 +112,7 @@ func (ms *metricsMiddleware) UpdateClientIdentity(ctx context.Context, token, id } // UpdateClientSecret instruments UpdateClientSecret method with metrics. -func (ms *metricsMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_client_secret").Add(1) ms.latency.With("method", "update_client_secret").Observe(time.Since(begin).Seconds()) @@ -148,7 +148,7 @@ func (ms *metricsMiddleware) SendPasswordReset(ctx context.Context, host, email, } // UpdateClientOwner instruments UpdateClientOwner method with metrics. -func (ms *metricsMiddleware) UpdateClientOwner(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (ms *metricsMiddleware) UpdateClientOwner(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "update_client_owner").Add(1) ms.latency.With("method", "update_client_owner").Observe(time.Since(begin).Seconds()) @@ -157,7 +157,7 @@ func (ms *metricsMiddleware) UpdateClientOwner(ctx context.Context, token string } // EnableClient instruments EnableClient method with metrics. -func (ms *metricsMiddleware) EnableClient(ctx context.Context, token string, id string) (mfclients.Client, error) { +func (ms *metricsMiddleware) EnableClient(ctx context.Context, token string, id string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "enable_client").Add(1) ms.latency.With("method", "enable_client").Observe(time.Since(begin).Seconds()) @@ -166,7 +166,7 @@ func (ms *metricsMiddleware) EnableClient(ctx context.Context, token string, id } // DisableClient instruments DisableClient method with metrics. -func (ms *metricsMiddleware) DisableClient(ctx context.Context, token string, id string) (mfclients.Client, error) { +func (ms *metricsMiddleware) DisableClient(ctx context.Context, token string, id string) (mgclients.Client, error) { defer func(begin time.Time) { ms.counter.With("method", "disable_client").Add(1) ms.latency.With("method", "disable_client").Observe(time.Since(begin).Seconds()) @@ -175,7 +175,7 @@ func (ms *metricsMiddleware) DisableClient(ctx context.Context, token string, id } // ListMembers instruments ListMembers method with metrics. -func (ms *metricsMiddleware) ListMembers(ctx context.Context, token, objectKind, objectID string, pm mfclients.Page) (mp mfclients.MembersPage, err error) { +func (ms *metricsMiddleware) ListMembers(ctx context.Context, token, objectKind, objectID string, pm mgclients.Page) (mp mgclients.MembersPage, err error) { defer func(begin time.Time) { ms.counter.With("method", "list_members").Add(1) ms.latency.With("method", "list_members").Observe(time.Since(begin).Seconds()) diff --git a/users/api/requests.go b/users/api/requests.go index 3e9495aa3..a206fadd1 100644 --- a/users/api/requests.go +++ b/users/api/requests.go @@ -6,13 +6,13 @@ package api import ( "github.com/absmach/magistrala/internal/api" "github.com/absmach/magistrala/internal/apiutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" ) const maxLimitSize = 100 type createClientReq struct { - client mfclients.Client + client mgclients.Client token string } @@ -54,7 +54,7 @@ func (req viewProfileReq) validate() error { type listClientsReq struct { token string - status mfclients.Status + status mgclients.Status offset uint64 limit uint64 name string @@ -63,7 +63,7 @@ type listClientsReq struct { visibility string owner string sharedBy string - metadata mfclients.Metadata + metadata mgclients.Metadata } func (req listClientsReq) validate() error { @@ -84,7 +84,7 @@ func (req listClientsReq) validate() error { } type listMembersByObjectReq struct { - mfclients.Page + mgclients.Page token string objectKind string objectID string @@ -108,7 +108,7 @@ type updateClientReq struct { token string id string Name string `json:"name,omitempty"` - Metadata mfclients.Metadata `json:"metadata,omitempty"` + Metadata mgclients.Metadata `json:"metadata,omitempty"` } func (req updateClientReq) validate() error { diff --git a/users/api/responses.go b/users/api/responses.go index e8d9c9d9a..acf8c6e31 100644 --- a/users/api/responses.go +++ b/users/api/responses.go @@ -7,20 +7,20 @@ import ( "fmt" "net/http" - mainflux "github.com/absmach/magistrala" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mgclients "github.com/absmach/magistrala/pkg/clients" ) // MailSent message response when link is sent. const MailSent = "Email with reset link is sent" var ( - _ mainflux.Response = (*tokenRes)(nil) - _ mainflux.Response = (*viewClientRes)(nil) - _ mainflux.Response = (*createClientRes)(nil) - _ mainflux.Response = (*deleteClientRes)(nil) - _ mainflux.Response = (*clientsPageRes)(nil) - _ mainflux.Response = (*viewMembersRes)(nil) + _ magistrala.Response = (*tokenRes)(nil) + _ magistrala.Response = (*viewClientRes)(nil) + _ magistrala.Response = (*createClientRes)(nil) + _ magistrala.Response = (*deleteClientRes)(nil) + _ magistrala.Response = (*clientsPageRes)(nil) + _ magistrala.Response = (*viewMembersRes)(nil) ) type pageRes struct { @@ -30,7 +30,7 @@ type pageRes struct { } type createClientRes struct { - mfclients.Client `json:",inline"` + mgclients.Client `json:",inline"` created bool } @@ -75,7 +75,7 @@ func (res tokenRes) Empty() bool { } type updateClientRes struct { - mfclients.Client `json:",inline"` + mgclients.Client `json:",inline"` } func (res updateClientRes) Code() int { @@ -91,7 +91,7 @@ func (res updateClientRes) Empty() bool { } type viewClientRes struct { - mfclients.Client `json:",inline"` + mgclients.Client `json:",inline"` } func (res viewClientRes) Code() int { @@ -124,7 +124,7 @@ func (res clientsPageRes) Empty() bool { } type viewMembersRes struct { - mfclients.Client `json:",inline"` + mgclients.Client `json:",inline"` } func (res viewMembersRes) Code() int { @@ -140,7 +140,7 @@ func (res viewMembersRes) Empty() bool { } type deleteClientRes struct { - mfclients.Client `json:",inline"` + mgclients.Client `json:",inline"` } func (res deleteClientRes) Code() int { diff --git a/users/api/transport.go b/users/api/transport.go index f81666580..5d8067997 100644 --- a/users/api/transport.go +++ b/users/api/transport.go @@ -6,8 +6,8 @@ package api import ( "net/http" - mainflux "github.com/absmach/magistrala" - mflog "github.com/absmach/magistrala/logger" + "github.com/absmach/magistrala" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/groups" "github.com/absmach/magistrala/users" "github.com/go-chi/chi/v5" @@ -15,11 +15,11 @@ import ( ) // MakeHandler returns a HTTP handler for Users and Groups API endpoints. -func MakeHandler(cls users.Service, grps groups.Service, mux *chi.Mux, logger mflog.Logger, instanceID string) http.Handler { +func MakeHandler(cls users.Service, grps groups.Service, mux *chi.Mux, logger mglog.Logger, instanceID string) http.Handler { clientsHandler(cls, mux, logger) groupsHandler(grps, mux, logger) - mux.Get("/health", mainflux.Health("users", instanceID)) + mux.Get("/health", magistrala.Health("users", instanceID)) mux.Handle("/metrics", promhttp.Handler()) return mux diff --git a/users/clients.go b/users/clients.go index 850fa4fa6..bf79ee715 100644 --- a/users/clients.go +++ b/users/clients.go @@ -6,7 +6,7 @@ package users import ( "context" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/clients" ) @@ -65,10 +65,10 @@ type Service interface { Identify(ctx context.Context, tkn string) (string, error) // IssueToken issues a new access and refresh token. - IssueToken(ctx context.Context, identity, secret string) (*mainflux.Token, error) + IssueToken(ctx context.Context, identity, secret string) (*magistrala.Token, error) // RefreshToken refreshes expired access tokens. // After an access token expires, the refresh token is used to get // a new pair of access and refresh tokens. - RefreshToken(ctx context.Context, accessToken string) (*mainflux.Token, error) + RefreshToken(ctx context.Context, accessToken string) (*magistrala.Token, error) } diff --git a/users/events/events.go b/users/events/events.go index d3fb6aad0..ada53f9dd 100644 --- a/users/events/events.go +++ b/users/events/events.go @@ -9,7 +9,7 @@ import ( "strings" "time" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/events" ) @@ -47,7 +47,7 @@ var ( ) type createClientEvent struct { - mfclients.Client + mgclients.Client } func (cce createClientEvent) Encode() (map[string]interface{}, error) { @@ -84,7 +84,7 @@ func (cce createClientEvent) Encode() (map[string]interface{}, error) { } type updateClientEvent struct { - mfclients.Client + mgclients.Client operation string } @@ -147,7 +147,7 @@ func (rce removeClientEvent) Encode() (map[string]interface{}, error) { } type viewClientEvent struct { - mfclients.Client + mgclients.Client } func (vce viewClientEvent) Encode() (map[string]interface{}, error) { @@ -194,7 +194,7 @@ func (vce viewClientEvent) Encode() (map[string]interface{}, error) { } type viewProfileEvent struct { - mfclients.Client + mgclients.Client } func (vpe viewProfileEvent) Encode() (map[string]interface{}, error) { @@ -241,7 +241,7 @@ func (vpe viewProfileEvent) Encode() (map[string]interface{}, error) { } type listClientEvent struct { - mfclients.Page + mgclients.Page } func (lce listClientEvent) Encode() (map[string]interface{}, error) { @@ -289,7 +289,7 @@ func (lce listClientEvent) Encode() (map[string]interface{}, error) { } type listClientByGroupEvent struct { - mfclients.Page + mgclients.Page objectKind string objectID string } diff --git a/users/events/streams.go b/users/events/streams.go index b53b63083..93ae66cac 100644 --- a/users/events/streams.go +++ b/users/events/streams.go @@ -6,14 +6,14 @@ package events import ( "context" - mainflux "github.com/absmach/magistrala" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/events" "github.com/absmach/magistrala/pkg/events/store" "github.com/absmach/magistrala/users" ) -const streamID = "mainflux.users" +const streamID = "magistrala.users" var _ users.Service = (*eventStore)(nil) @@ -36,7 +36,7 @@ func NewEventStoreMiddleware(ctx context.Context, svc users.Service, url string) }, nil } -func (es *eventStore) RegisterClient(ctx context.Context, token string, user mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) RegisterClient(ctx context.Context, token string, user mgclients.Client) (mgclients.Client, error) { user, err := es.svc.RegisterClient(ctx, token, user) if err != nil { return user, err @@ -53,7 +53,7 @@ func (es *eventStore) RegisterClient(ctx context.Context, token string, user mfc return user, nil } -func (es *eventStore) UpdateClient(ctx context.Context, token string, user mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) UpdateClient(ctx context.Context, token string, user mgclients.Client) (mgclients.Client, error) { user, err := es.svc.UpdateClient(ctx, token, user) if err != nil { return user, err @@ -62,7 +62,7 @@ func (es *eventStore) UpdateClient(ctx context.Context, token string, user mfcli return es.update(ctx, "", user) } -func (es *eventStore) UpdateClientOwner(ctx context.Context, token string, user mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) UpdateClientOwner(ctx context.Context, token string, user mgclients.Client) (mgclients.Client, error) { user, err := es.svc.UpdateClientOwner(ctx, token, user) if err != nil { return user, err @@ -71,7 +71,7 @@ func (es *eventStore) UpdateClientOwner(ctx context.Context, token string, user return es.update(ctx, "owner", user) } -func (es *eventStore) UpdateClientTags(ctx context.Context, token string, user mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) UpdateClientTags(ctx context.Context, token string, user mgclients.Client) (mgclients.Client, error) { user, err := es.svc.UpdateClientTags(ctx, token, user) if err != nil { return user, err @@ -80,7 +80,7 @@ func (es *eventStore) UpdateClientTags(ctx context.Context, token string, user m return es.update(ctx, "tags", user) } -func (es *eventStore) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mfclients.Client, error) { +func (es *eventStore) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mgclients.Client, error) { user, err := es.svc.UpdateClientSecret(ctx, token, oldSecret, newSecret) if err != nil { return user, err @@ -89,7 +89,7 @@ func (es *eventStore) UpdateClientSecret(ctx context.Context, token, oldSecret, return es.update(ctx, "secret", user) } -func (es *eventStore) UpdateClientIdentity(ctx context.Context, token, id, identity string) (mfclients.Client, error) { +func (es *eventStore) UpdateClientIdentity(ctx context.Context, token, id, identity string) (mgclients.Client, error) { user, err := es.svc.UpdateClientIdentity(ctx, token, id, identity) if err != nil { return user, err @@ -98,7 +98,7 @@ func (es *eventStore) UpdateClientIdentity(ctx context.Context, token, id, ident return es.update(ctx, "identity", user) } -func (es *eventStore) update(ctx context.Context, operation string, user mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) update(ctx context.Context, operation string, user mgclients.Client) (mgclients.Client, error) { event := updateClientEvent{ user, operation, } @@ -110,7 +110,7 @@ func (es *eventStore) update(ctx context.Context, operation string, user mfclien return user, nil } -func (es *eventStore) ViewClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (es *eventStore) ViewClient(ctx context.Context, token, id string) (mgclients.Client, error) { user, err := es.svc.ViewClient(ctx, token, id) if err != nil { return user, err @@ -127,7 +127,7 @@ func (es *eventStore) ViewClient(ctx context.Context, token, id string) (mfclien return user, nil } -func (es *eventStore) ViewProfile(ctx context.Context, token string) (mfclients.Client, error) { +func (es *eventStore) ViewProfile(ctx context.Context, token string) (mgclients.Client, error) { user, err := es.svc.ViewProfile(ctx, token) if err != nil { return user, err @@ -144,7 +144,7 @@ func (es *eventStore) ViewProfile(ctx context.Context, token string) (mfclients. return user, nil } -func (es *eventStore) ListClients(ctx context.Context, token string, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (es *eventStore) ListClients(ctx context.Context, token string, pm mgclients.Page) (mgclients.ClientsPage, error) { cp, err := es.svc.ListClients(ctx, token, pm) if err != nil { return cp, err @@ -160,7 +160,7 @@ func (es *eventStore) ListClients(ctx context.Context, token string, pm mfclient return cp, nil } -func (es *eventStore) ListMembers(ctx context.Context, token, objectKind, objectID string, pm mfclients.Page) (mfclients.MembersPage, error) { +func (es *eventStore) ListMembers(ctx context.Context, token, objectKind, objectID string, pm mgclients.Page) (mgclients.MembersPage, error) { mp, err := es.svc.ListMembers(ctx, token, objectKind, objectID, pm) if err != nil { return mp, err @@ -176,7 +176,7 @@ func (es *eventStore) ListMembers(ctx context.Context, token, objectKind, object return mp, nil } -func (es *eventStore) EnableClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (es *eventStore) EnableClient(ctx context.Context, token, id string) (mgclients.Client, error) { user, err := es.svc.EnableClient(ctx, token, id) if err != nil { return user, err @@ -185,7 +185,7 @@ func (es *eventStore) EnableClient(ctx context.Context, token, id string) (mfcli return es.delete(ctx, user) } -func (es *eventStore) DisableClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (es *eventStore) DisableClient(ctx context.Context, token, id string) (mgclients.Client, error) { user, err := es.svc.DisableClient(ctx, token, id) if err != nil { return user, err @@ -194,7 +194,7 @@ func (es *eventStore) DisableClient(ctx context.Context, token, id string) (mfcl return es.delete(ctx, user) } -func (es *eventStore) delete(ctx context.Context, user mfclients.Client) (mfclients.Client, error) { +func (es *eventStore) delete(ctx context.Context, user mgclients.Client) (mgclients.Client, error) { event := removeClientEvent{ id: user.ID, updatedAt: user.UpdatedAt, @@ -239,7 +239,7 @@ func (es *eventStore) GenerateResetToken(ctx context.Context, email, host string return es.Publish(ctx, event) } -func (es *eventStore) IssueToken(ctx context.Context, identity, secret string) (*mainflux.Token, error) { +func (es *eventStore) IssueToken(ctx context.Context, identity, secret string) (*magistrala.Token, error) { token, err := es.svc.IssueToken(ctx, identity, secret) if err != nil { return token, err @@ -256,7 +256,7 @@ func (es *eventStore) IssueToken(ctx context.Context, identity, secret string) ( return token, nil } -func (es *eventStore) RefreshToken(ctx context.Context, refreshToken string) (*mainflux.Token, error) { +func (es *eventStore) RefreshToken(ctx context.Context, refreshToken string) (*magistrala.Token, error) { token, err := es.svc.RefreshToken(ctx, refreshToken) if err != nil { return token, err diff --git a/users/mocks/clients.go b/users/mocks/clients.go index 7ad8e6763..eca93cdfb 100644 --- a/users/mocks/clients.go +++ b/users/mocks/clients.go @@ -6,7 +6,7 @@ package mocks import ( "context" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/users/postgres" "github.com/stretchr/testify/mock" @@ -20,130 +20,130 @@ type Repository struct { mock.Mock } -func (m *Repository) ChangeStatus(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) ChangeStatus(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - if client.Status != mfclients.EnabledStatus && client.Status != mfclients.DisabledStatus { - return mfclients.Client{}, errors.ErrMalformedEntity + if client.Status != mgclients.EnabledStatus && client.Status != mgclients.DisabledStatus { + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) Members(ctx context.Context, groupID string, pm mfclients.Page) (mfclients.MembersPage, error) { +func (m *Repository) Members(ctx context.Context, groupID string, pm mgclients.Page) (mgclients.MembersPage, error) { ret := m.Called(ctx, groupID, pm) if groupID == WrongID { - return mfclients.MembersPage{}, errors.ErrNotFound + return mgclients.MembersPage{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.MembersPage), ret.Error(1) + return ret.Get(0).(mgclients.MembersPage), ret.Error(1) } -func (m *Repository) RetrieveAll(ctx context.Context, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (m *Repository) RetrieveAll(ctx context.Context, pm mgclients.Page) (mgclients.ClientsPage, error) { ret := m.Called(ctx, pm) - return ret.Get(0).(mfclients.ClientsPage), ret.Error(1) + return ret.Get(0).(mgclients.ClientsPage), ret.Error(1) } -func (m *Repository) RetrieveByID(ctx context.Context, id string) (mfclients.Client, error) { +func (m *Repository) RetrieveByID(ctx context.Context, id string) (mgclients.Client, error) { ret := m.Called(ctx, id) if id == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) RetrieveByIdentity(ctx context.Context, identity string) (mfclients.Client, error) { +func (m *Repository) RetrieveByIdentity(ctx context.Context, identity string) (mgclients.Client, error) { ret := m.Called(ctx, identity) if identity == "" { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) Save(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) Save(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.Owner == WrongID { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } if client.Credentials.Secret == "" { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } return client, ret.Error(1) } -func (m *Repository) Update(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) Update(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) UpdateIdentity(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) UpdateIdentity(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } if client.Credentials.Identity == "" { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) UpdateSecret(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) UpdateSecret(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } if client.Credentials.Secret == "" { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) UpdateTags(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) UpdateTags(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) UpdateOwner(ctx context.Context, client mfclients.Client) (mfclients.Client, error) { +func (m *Repository) UpdateOwner(ctx context.Context, client mgclients.Client) (mgclients.Client, error) { ret := m.Called(ctx, client) if client.ID == WrongID { - return mfclients.Client{}, errors.ErrNotFound + return mgclients.Client{}, errors.ErrNotFound } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } -func (m *Repository) RetrieveBySecret(ctx context.Context, key string) (mfclients.Client, error) { +func (m *Repository) RetrieveBySecret(ctx context.Context, key string) (mgclients.Client, error) { ret := m.Called(ctx, key) if key == "" { - return mfclients.Client{}, errors.ErrMalformedEntity + return mgclients.Client{}, errors.ErrMalformedEntity } - return ret.Get(0).(mfclients.Client), ret.Error(1) + return ret.Get(0).(mgclients.Client), ret.Error(1) } func (m *Repository) IsOwner(ctx context.Context, clientID string, ownerID string) error { @@ -156,8 +156,8 @@ func (m *Repository) IsOwner(ctx context.Context, clientID string, ownerID strin return ret.Error(0) } -func (m *Repository) RetrieveAllByIDs(ctx context.Context, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (m *Repository) RetrieveAllByIDs(ctx context.Context, pm mgclients.Page) (mgclients.ClientsPage, error) { ret := m.Called(ctx, pm) - return ret.Get(0).(mfclients.ClientsPage), ret.Error(1) + return ret.Get(0).(mgclients.ClientsPage), ret.Error(1) } diff --git a/users/postgres/clients.go b/users/postgres/clients.go index 4ceb8cbc9..5b8132636 100644 --- a/users/postgres/clients.go +++ b/users/postgres/clients.go @@ -8,23 +8,23 @@ import ( "database/sql" "github.com/absmach/magistrala/internal/postgres" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" pgclients "github.com/absmach/magistrala/pkg/clients/postgres" "github.com/absmach/magistrala/pkg/errors" ) -var _ mfclients.Repository = (*clientRepo)(nil) +var _ mgclients.Repository = (*clientRepo)(nil) type clientRepo struct { pgclients.ClientRepository } type Repository interface { - mfclients.Repository + mgclients.Repository // Save persists the client account. A non-nil error is returned to indicate // operation failure. - Save(ctx context.Context, client mfclients.Client) (mfclients.Client, error) + Save(ctx context.Context, client mgclients.Client) (mgclients.Client, error) IsOwner(ctx context.Context, clientID string, ownerID string) error } @@ -37,30 +37,30 @@ func NewRepository(db postgres.Database) Repository { } } -func (repo clientRepo) Save(ctx context.Context, c mfclients.Client) (mfclients.Client, error) { +func (repo clientRepo) Save(ctx context.Context, c mgclients.Client) (mgclients.Client, error) { q := `INSERT INTO clients (id, name, tags, owner_id, identity, secret, metadata, created_at, status, role) VALUES (:id, :name, :tags, :owner_id, :identity, :secret, :metadata, :created_at, :status, :role) RETURNING id, name, tags, identity, metadata, COALESCE(owner_id, '') AS owner_id, status, created_at` dbc, err := pgclients.ToDBClient(c) if err != nil { - return mfclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) + return mgclients.Client{}, errors.Wrap(errors.ErrCreateEntity, err) } row, err := repo.ClientRepository.DB.NamedQueryContext(ctx, q, dbc) if err != nil { - return mfclients.Client{}, postgres.HandleError(err, errors.ErrCreateEntity) + return mgclients.Client{}, postgres.HandleError(err, errors.ErrCreateEntity) } defer row.Close() row.Next() dbc = pgclients.DBClient{} if err := row.StructScan(&dbc); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } client, err := pgclients.ToClient(dbc) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } return client, nil diff --git a/users/postgres/clients_test.go b/users/postgres/clients_test.go index 43abd8776..8e2d4b57d 100644 --- a/users/postgres/clients_test.go +++ b/users/postgres/clients_test.go @@ -10,7 +10,7 @@ import ( "testing" "github.com/absmach/magistrala/internal/testsutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" cpostgres "github.com/absmach/magistrala/users/postgres" "github.com/stretchr/testify/assert" @@ -39,129 +39,129 @@ func TestClientsSave(t *testing.T) { cases := []struct { desc string - client mfclients.Client + client mgclients.Client err error }{ { desc: "add new client successfully", - client: mfclients.Client{ + client: mgclients.Client{ ID: uid, Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: clientIdentity, Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: nil, }, { desc: "add new client with an owner", - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), Owner: uid, Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "withowner-client@example.com", Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: nil, }, { desc: "add client with duplicate client identity", - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: clientIdentity, Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: errors.ErrConflict, }, { desc: "add client with invalid client id", - client: mfclients.Client{ + client: mgclients.Client{ ID: invalidName, Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "invalidid-client@example.com", Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: errors.ErrMalformedEntity, }, { desc: "add client with invalid client name", - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: invalidName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "invalidname-client@example.com", Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: errors.ErrMalformedEntity, }, { desc: "add client with invalid client owner", - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), Owner: invalidName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "invalidowner-client@example.com", Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: errors.ErrMalformedEntity, }, { desc: "add client with invalid client identity", - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: invalidName, Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: errors.ErrMalformedEntity, }, { desc: "add client with a missing client identity", - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "", Secret: password, }, - Metadata: mfclients.Metadata{}, + Metadata: mgclients.Metadata{}, }, err: nil, }, { desc: "add client with a missing client secret", - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "missing-client-secret@example.com", Secret: "", }, - Metadata: mfclients.Metadata{}, + Metadata: mgclients.Metadata{}, }, err: nil, }, @@ -183,15 +183,15 @@ func TestIsOwner(t *testing.T) { }) repo := cpostgres.NewRepository(database) - owner := mfclients.Client{ + owner := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: "owner", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "owner@example.com", Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, } owner, err := repo.Save(context.Background(), owner) require.Nil(t, err, fmt.Sprintf("save owner unexpected error: %s", err)) @@ -199,37 +199,37 @@ func TestIsOwner(t *testing.T) { cases := []struct { desc string ownerID string - client mfclients.Client + client mgclients.Client err error }{ { desc: "add new client successfully with an owner", ownerID: owner.ID, - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "withowner@example.com", Secret: password, }, Owner: owner.ID, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: nil, }, { desc: "add new client successfully without an owner", ownerID: owner.ID, - client: mfclients.Client{ + client: mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: clientName, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "withoutowner@example.com", Secret: password, }, - Metadata: mfclients.Metadata{}, - Status: mfclients.EnabledStatus, + Metadata: mgclients.Metadata{}, + Status: mgclients.EnabledStatus, }, err: errors.ErrAuthorization, }, diff --git a/users/service.go b/users/service.go index 78f613458..8af1b548e 100644 --- a/users/service.go +++ b/users/service.go @@ -11,7 +11,7 @@ import ( "github.com/absmach/magistrala" "github.com/absmach/magistrala/auth" "github.com/absmach/magistrala/internal/apiutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/users/postgres" ) @@ -58,41 +58,41 @@ func NewService(crepo postgres.Repository, auth magistrala.AuthServiceClient, em } } -func (svc service) RegisterClient(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (svc service) RegisterClient(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { // We don't check the error currently since we can register client with empty token ownerID, _ := svc.Identify(ctx, token) clientID, err := svc.idProvider.ID() if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if cli.Owner == "" && ownerID != "" { cli.Owner = ownerID } if cli.Credentials.Secret == "" { - return mfclients.Client{}, apiutil.ErrMissingSecret + return mgclients.Client{}, apiutil.ErrMissingSecret } hash, err := svc.hasher.Hash(cli.Credentials.Secret) if err != nil { - return mfclients.Client{}, errors.Wrap(errors.ErrMalformedEntity, err) + return mgclients.Client{}, errors.Wrap(errors.ErrMalformedEntity, err) } cli.Credentials.Secret = hash - if cli.Status != mfclients.DisabledStatus && cli.Status != mfclients.EnabledStatus { - return mfclients.Client{}, apiutil.ErrInvalidStatus + if cli.Status != mgclients.DisabledStatus && cli.Status != mgclients.EnabledStatus { + return mgclients.Client{}, apiutil.ErrInvalidStatus } - if cli.Role != mfclients.UserRole && cli.Role != mfclients.AdminRole { - return mfclients.Client{}, apiutil.ErrInvalidRole + if cli.Role != mgclients.UserRole && cli.Role != mgclients.AdminRole { + return mgclients.Client{}, apiutil.ErrInvalidRole } cli.ID = clientID cli.CreatedAt = time.Now() client, err := svc.clients.Save(ctx, cli) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if err := svc.addOwnerPolicy(ctx, ownerID, client.ID); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } return client, nil @@ -114,67 +114,67 @@ func (svc service) RefreshToken(ctx context.Context, refreshToken string) (*magi return svc.auth.Refresh(ctx, &magistrala.RefreshReq{Value: refreshToken}) } -func (svc service) ViewClient(ctx context.Context, token string, id string) (mfclients.Client, error) { +func (svc service) ViewClient(ctx context.Context, token string, id string) (mgclients.Client, error) { tokenUserID, err := svc.Identify(ctx, token) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if tokenUserID != id { if err := svc.isOwner(ctx, id, tokenUserID); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } } client, err := svc.clients.RetrieveByID(ctx, id) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } client.Credentials.Secret = "" return client, nil } -func (svc service) ViewProfile(ctx context.Context, token string) (mfclients.Client, error) { +func (svc service) ViewProfile(ctx context.Context, token string) (mgclients.Client, error) { id, err := svc.Identify(ctx, token) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } client, err := svc.clients.RetrieveByID(ctx, id) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } client.Credentials.Secret = "" return client, nil } -func (svc service) ListClients(ctx context.Context, token string, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (svc service) ListClients(ctx context.Context, token string, pm mgclients.Page) (mgclients.ClientsPage, error) { id, err := svc.Identify(ctx, token) if err != nil { - return mfclients.ClientsPage{}, err + return mgclients.ClientsPage{}, err } pm.Owner = id clients, err := svc.clients.RetrieveAll(ctx, pm) if err != nil { - return mfclients.ClientsPage{}, err + return mgclients.ClientsPage{}, err } return clients, nil } -func (svc service) UpdateClient(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (svc service) UpdateClient(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { tokenUserID, err := svc.Identify(ctx, token) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if tokenUserID != cli.ID { if err := svc.isOwner(ctx, cli.ID, tokenUserID); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } } - client := mfclients.Client{ + client := mgclients.Client{ ID: cli.ID, Name: cli.Name, Metadata: cli.Metadata, @@ -185,19 +185,19 @@ func (svc service) UpdateClient(ctx context.Context, token string, cli mfclients return svc.clients.Update(ctx, client) } -func (svc service) UpdateClientTags(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (svc service) UpdateClientTags(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { tokenUserID, err := svc.Identify(ctx, token) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if tokenUserID != cli.ID { if err := svc.isOwner(ctx, cli.ID, tokenUserID); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } } - client := mfclients.Client{ + client := mgclients.Client{ ID: cli.ID, Tags: cli.Tags, UpdatedAt: time.Now(), @@ -207,21 +207,21 @@ func (svc service) UpdateClientTags(ctx context.Context, token string, cli mfcli return svc.clients.UpdateTags(ctx, client) } -func (svc service) UpdateClientIdentity(ctx context.Context, token, clientID, identity string) (mfclients.Client, error) { +func (svc service) UpdateClientIdentity(ctx context.Context, token, clientID, identity string) (mgclients.Client, error) { tokenUserID, err := svc.Identify(ctx, token) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if tokenUserID != clientID { if err := svc.isOwner(ctx, clientID, tokenUserID); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } } - cli := mfclients.Client{ + cli := mgclients.Client{ ID: clientID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: identity, }, UpdatedAt: time.Now(), @@ -266,8 +266,8 @@ func (svc service) ResetSecret(ctx context.Context, resetToken, secret string) e if err != nil { return err } - c = mfclients.Client{ - Credentials: mfclients.Credentials{ + c = mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: c.Credentials.Identity, Secret: secret, }, @@ -280,24 +280,24 @@ func (svc service) ResetSecret(ctx context.Context, resetToken, secret string) e return nil } -func (svc service) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mfclients.Client, error) { +func (svc service) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mgclients.Client, error) { id, err := svc.Identify(ctx, token) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if !svc.passRegex.MatchString(newSecret) { - return mfclients.Client{}, ErrPasswordFormat + return mgclients.Client{}, ErrPasswordFormat } dbClient, err := svc.clients.RetrieveByID(ctx, id) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if _, err := svc.IssueToken(ctx, dbClient.Credentials.Identity, oldSecret); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } newSecret, err = svc.hasher.Hash(newSecret) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } dbClient.Credentials.Secret = newSecret dbClient.UpdatedAt = time.Now() @@ -311,18 +311,18 @@ func (svc service) SendPasswordReset(_ context.Context, host, email, user, token return svc.email.SendPasswordReset(to, host, user, token) } -func (svc service) UpdateClientOwner(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (svc service) UpdateClientOwner(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { tokenUserID, err := svc.Identify(ctx, token) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if tokenUserID != cli.ID { if err := svc.isOwner(ctx, cli.ID, tokenUserID); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } } - client := mfclients.Client{ + client := mgclients.Client{ ID: cli.ID, Owner: cli.Owner, UpdatedAt: time.Now(), @@ -330,61 +330,61 @@ func (svc service) UpdateClientOwner(ctx context.Context, token string, cli mfcl } if err := svc.updateOwnerPolicy(ctx, tokenUserID, cli.Owner, cli.ID); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } return svc.clients.UpdateOwner(ctx, client) } -func (svc service) EnableClient(ctx context.Context, token, id string) (mfclients.Client, error) { - client := mfclients.Client{ +func (svc service) EnableClient(ctx context.Context, token, id string) (mgclients.Client, error) { + client := mgclients.Client{ ID: id, UpdatedAt: time.Now(), - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } client, err := svc.changeClientStatus(ctx, token, client) if err != nil { - return mfclients.Client{}, errors.Wrap(mfclients.ErrEnableClient, err) + return mgclients.Client{}, errors.Wrap(mgclients.ErrEnableClient, err) } return client, nil } -func (svc service) DisableClient(ctx context.Context, token, id string) (mfclients.Client, error) { - client := mfclients.Client{ +func (svc service) DisableClient(ctx context.Context, token, id string) (mgclients.Client, error) { + client := mgclients.Client{ ID: id, UpdatedAt: time.Now(), - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, } client, err := svc.changeClientStatus(ctx, token, client) if err != nil { - return mfclients.Client{}, errors.Wrap(mfclients.ErrDisableClient, err) + return mgclients.Client{}, errors.Wrap(mgclients.ErrDisableClient, err) } return client, nil } -func (svc service) changeClientStatus(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (svc service) changeClientStatus(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { tokenUserID, err := svc.Identify(ctx, token) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if tokenUserID != client.ID { if err := svc.isOwner(ctx, client.ID, tokenUserID); err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } } dbClient, err := svc.clients.RetrieveByID(ctx, client.ID) if err != nil { - return mfclients.Client{}, err + return mgclients.Client{}, err } if dbClient.Status == client.Status { - return mfclients.Client{}, mfclients.ErrStatusAlreadyAssigned + return mgclients.Client{}, mgclients.ErrStatusAlreadyAssigned } client.UpdatedBy = tokenUserID return svc.clients.ChangeStatus(ctx, client) } -func (svc service) ListMembers(ctx context.Context, token, objectKind string, objectID string, pm mfclients.Page) (mfclients.MembersPage, error) { +func (svc service) ListMembers(ctx context.Context, token, objectKind string, objectID string, pm mgclients.Page) (mgclients.MembersPage, error) { var objectType string var authzPerm string switch objectKind { @@ -399,7 +399,7 @@ func (svc service) ListMembers(ctx context.Context, token, objectKind string, ob } if _, err := svc.authorize(ctx, userType, tokenKind, token, authzPerm, objectType, objectID); err != nil { - return mfclients.MembersPage{}, err + return mgclients.MembersPage{}, err } uids, err := svc.auth.ListAllSubjects(ctx, &magistrala.ListSubjectsReq{ SubjectType: userType, @@ -408,11 +408,11 @@ func (svc service) ListMembers(ctx context.Context, token, objectKind string, ob ObjectType: objectType, }) if err != nil { - return mfclients.MembersPage{}, err + return mgclients.MembersPage{}, err } if len(uids.Policies) == 0 { - return mfclients.MembersPage{ - Page: mfclients.Page{Total: 0, Offset: pm.Offset, Limit: pm.Limit}, + return mgclients.MembersPage{ + Page: mgclients.Page{Total: 0, Offset: pm.Offset, Limit: pm.Limit}, }, nil } @@ -420,10 +420,10 @@ func (svc service) ListMembers(ctx context.Context, token, objectKind string, ob cp, err := svc.clients.RetrieveAll(ctx, pm) if err != nil { - return mfclients.MembersPage{}, err + return mgclients.MembersPage{}, err } - return mfclients.MembersPage{ + return mgclients.MembersPage{ Page: cp.Page, Members: cp.Clients, }, nil diff --git a/users/service_test.go b/users/service_test.go index e4399d47e..96f0894b6 100644 --- a/users/service_test.go +++ b/users/service_test.go @@ -10,11 +10,11 @@ import ( "testing" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/internal/apiutil" "github.com/absmach/magistrala/internal/testsutil" - mfclients "github.com/absmach/magistrala/pkg/clients" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/uuid" "github.com/absmach/magistrala/users" @@ -29,14 +29,14 @@ var ( idProvider = uuid.New() phasher = hasher.New() secret = "strongsecret" - validCMetadata = mfclients.Metadata{"role": "client"} - client = mfclients.Client{ + validCMetadata = mgclients.Metadata{"role": "client"} + client = mgclients.Client{ ID: testsutil.GenerateUUID(&testing.T{}), Name: "clientname", Tags: []string{"tag1", "tag2"}, - Credentials: mfclients.Credentials{Identity: "clientidentity", Secret: secret}, + Credentials: mgclients.Credentials{Identity: "clientidentity", Secret: secret}, Metadata: validCMetadata, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, } withinDuration = 5 * time.Second passRegex = regexp.MustCompile("^.{8,}$") @@ -54,7 +54,7 @@ func TestRegisterClient(t *testing.T) { cases := []struct { desc string - client mfclients.Client + client mgclients.Client token string err error }{ @@ -72,22 +72,22 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new enabled client with name", - client: mfclients.Client{ + client: mgclients.Client{ Name: "clientWithName", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithname@example.com", Secret: secret, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, err: nil, token: validToken, }, { desc: "register a new disabled client with name", - client: mfclients.Client{ + client: mgclients.Client{ Name: "clientWithName", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithname@example.com", Secret: secret, }, @@ -97,47 +97,47 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new enabled client with tags", - client: mfclients.Client{ + client: mgclients.Client{ Tags: []string{"tag1", "tag2"}, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithtags@example.com", Secret: secret, }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, err: nil, token: validToken, }, { desc: "register a new disabled client with tags", - client: mfclients.Client{ + client: mgclients.Client{ Tags: []string{"tag1", "tag2"}, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithtags@example.com", Secret: secret, }, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, }, err: nil, token: validToken, }, { desc: "register a new enabled client with metadata", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithmetadata@example.com", Secret: secret, }, Metadata: validCMetadata, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, err: nil, token: validToken, }, { desc: "register a new disabled client with metadata", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithmetadata@example.com", Secret: secret, }, @@ -148,8 +148,8 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new disabled client", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithvalidstatus@example.com", Secret: secret, }, @@ -159,38 +159,38 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new client with valid disabled status", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithvalidstatus@example.com", Secret: secret, }, - Status: mfclients.DisabledStatus, + Status: mgclients.DisabledStatus, }, err: nil, token: validToken, }, { desc: "register a new client with all fields", - client: mfclients.Client{ + client: mgclients.Client{ Name: "newclientwithallfields", Tags: []string{"tag1", "tag2"}, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithallfields@example.com", Secret: secret, }, - Metadata: mfclients.Metadata{ + Metadata: mgclients.Metadata{ "name": "newclientwithallfields", }, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, err: nil, token: validToken, }, { desc: "register a new client with missing identity", - client: mfclients.Client{ + client: mgclients.Client{ Name: "clientWithMissingIdentity", - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Secret: secret, }, }, @@ -199,9 +199,9 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new client with invalid owner", - client: mfclients.Client{ + client: mgclients.Client{ Owner: mocks.WrongID, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithinvalidowner@example.com", Secret: secret, }, @@ -211,9 +211,9 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new client with empty secret", - client: mfclients.Client{ + client: mgclients.Client{ Owner: testsutil.GenerateUUID(t), - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: "newclientwithemptysecret@example.com", }, }, @@ -222,12 +222,12 @@ func TestRegisterClient(t *testing.T) { }, { desc: "register a new client with invalid status", - client: mfclients.Client{ - Credentials: mfclients.Credentials{ + client: mgclients.Client{ + Credentials: mgclients.Credentials{ Identity: "newclientwithinvalidstatus@example.com", Secret: secret, }, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, err: apiutil.ErrInvalidStatus, token: validToken, @@ -235,11 +235,11 @@ func TestRegisterClient(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) } - repoCall1 := cRepo.On("Save", context.Background(), mock.Anything).Return(&mfclients.Client{}, tc.err) + repoCall1 := cRepo.On("Save", context.Background(), mock.Anything).Return(&mgclients.Client{}, tc.err) registerTime := time.Now() expected, err := svc.RegisterClient(context.Background(), tc.token, tc.client) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) @@ -271,7 +271,7 @@ func TestViewClient(t *testing.T) { desc string token string clientID string - response mfclients.Client + response mgclients.Client err error }{ { @@ -283,21 +283,21 @@ func TestViewClient(t *testing.T) { }, { desc: "view client with an invalid token", - response: mfclients.Client{}, + response: mgclients.Client{}, token: inValidToken, clientID: client.ID, err: errors.ErrAuthentication, }, { desc: "view client with valid token and invalid client id", - response: mfclients.Client{}, + response: mgclients.Client{}, token: validToken, clientID: mocks.WrongID, err: errors.ErrNotFound, }, { desc: "view client with an invalid token and invalid client id", - response: mfclients.Client{}, + response: mgclients.Client{}, token: inValidToken, clientID: mocks.WrongID, err: errors.ErrAuthentication, @@ -305,10 +305,10 @@ func TestViewClient(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) repoCall1 := cRepo.On("IsOwner", context.Background(), tc.clientID, validID).Return(nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) repoCall1 = cRepo.On("IsOwner", context.Background(), tc.clientID, validID).Return(errors.ErrAuthentication) } repoCall2 := cRepo.On("RetrieveByID", context.Background(), tc.clientID).Return(tc.response, tc.err) @@ -335,18 +335,18 @@ func TestListClients(t *testing.T) { svc := users.NewService(cRepo, auth, e, phasher, idProvider, passRegex) nClients := uint64(200) - aClients := []mfclients.Client{} + aClients := []mgclients.Client{} OwnerID := testsutil.GenerateUUID(t) for i := uint64(1); i < nClients; i++ { identity := fmt.Sprintf("TestListClients_%d@example.com", i) - client := mfclients.Client{ + client := mgclients.Client{ Name: identity, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: identity, Secret: "password", }, Tags: []string{"tag1", "tag2"}, - Metadata: mfclients.Metadata{"role": "client"}, + Metadata: mgclients.Metadata{"role": "client"}, } if i%50 == 0 { client.Owner = OwnerID @@ -358,8 +358,8 @@ func TestListClients(t *testing.T) { cases := []struct { desc string token string - page mfclients.Page - response mfclients.ClientsPage + page mgclients.Page + response mgclients.ClientsPage size uint64 err error }{ @@ -367,29 +367,29 @@ func TestListClients(t *testing.T) { desc: "list clients with authorized token", token: validToken, - page: mfclients.Page{ - Status: mfclients.AllStatus, + page: mgclients.Page{ + Status: mgclients.AllStatus, }, size: 0, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{}, + Clients: []mgclients.Client{}, }, err: nil, }, { desc: "list clients with an invalid token", token: inValidToken, - page: mfclients.Page{ - Status: mfclients.AllStatus, + page: mgclients.Page{ + Status: mgclients.AllStatus, }, size: 0, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, @@ -400,174 +400,174 @@ func TestListClients(t *testing.T) { { desc: "list clients that are shared with me", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that are shared with me with a specific name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Name: "TestListClients3", - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that are shared with me with an invalid name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Name: "notpresentclient", - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{}, + Clients: []mgclients.Client{}, }, size: 0, }, { desc: "list clients that I own", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, - Status: mfclients.EnabledStatus, + Status: mgclients.EnabledStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that I own with a specific name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, Name: "TestListClients3", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that I own with an invalid name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, Name: "notpresentclient", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{}, + Clients: []mgclients.Client{}, }, size: 0, }, { desc: "list clients that I own and are shared with me", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that I own and are shared with me with a specific name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, Name: "TestListClients3", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 4, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, + Clients: []mgclients.Client{aClients[0], aClients[50], aClients[100], aClients[150]}, }, size: 4, }, { desc: "list clients that I own and are shared with me with an invalid name", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, Owner: myKey, Name: "notpresentclient", - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, }, - Clients: []mfclients.Client{}, + Clients: []mgclients.Client{}, }, size: 0, }, @@ -575,13 +575,13 @@ func TestListClients(t *testing.T) { desc: "list clients with offset and limit", token: validToken, - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: nClients - 6, Offset: 0, Limit: 0, @@ -593,9 +593,9 @@ func TestListClients(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) } repoCall1 := cRepo.On("RetrieveAll", context.Background(), mock.Anything).Return(tc.response, tc.err) page, err := svc.ListClients(context.Background(), tc.token, tc.page) @@ -619,12 +619,12 @@ func TestUpdateClient(t *testing.T) { client1 := client client2 := client client1.Name = "Updated client" - client2.Metadata = mfclients.Metadata{"role": "test"} + client2.Metadata = mgclients.Metadata{"role": "test"} cases := []struct { desc string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client token string err error }{ @@ -638,17 +638,17 @@ func TestUpdateClient(t *testing.T) { { desc: "update client name with invalid token", client: client1, - response: mfclients.Client{}, + response: mgclients.Client{}, token: inValidToken, err: errors.ErrAuthentication, }, { desc: "update client name with invalid ID", - client: mfclients.Client{ + client: mgclients.Client{ ID: mocks.WrongID, Name: "Updated Client", }, - response: mfclients.Client{}, + response: mgclients.Client{}, token: inValidToken, err: errors.ErrAuthentication, }, @@ -662,17 +662,17 @@ func TestUpdateClient(t *testing.T) { { desc: "update client metadata with invalid token", client: client2, - response: mfclients.Client{}, + response: mgclients.Client{}, token: inValidToken, err: errors.ErrAuthentication, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) repoCall1 := cRepo.On("IsOwner", context.Background(), tc.client.ID, validID).Return(nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) repoCall1 = cRepo.On("IsOwner", context.Background(), tc.client.ID, validID).Return(errors.ErrAuthentication) } repoCall2 := cRepo.On("Update", context.Background(), mock.Anything).Return(tc.response, tc.err) @@ -699,8 +699,8 @@ func TestUpdateClientTags(t *testing.T) { cases := []struct { desc string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client token string err error }{ @@ -715,26 +715,26 @@ func TestUpdateClientTags(t *testing.T) { desc: "update client tags with invalid token", client: client, token: inValidToken, - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrAuthentication, }, { desc: "update client name with invalid ID", - client: mfclients.Client{ + client: mgclients.Client{ ID: mocks.WrongID, Name: "Updated name", }, - response: mfclients.Client{}, + response: mgclients.Client{}, token: inValidToken, err: errors.ErrAuthentication, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) repoCall1 := cRepo.On("IsOwner", context.Background(), tc.client.ID, validID).Return(nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) repoCall1 = cRepo.On("IsOwner", context.Background(), tc.client.ID, validID).Return(errors.ErrAuthentication) } repoCall2 := cRepo.On("UpdateTags", context.Background(), mock.Anything).Return(tc.response, tc.err) @@ -763,7 +763,7 @@ func TestUpdateClientIdentity(t *testing.T) { cases := []struct { desc string identity string - response mfclients.Client + response mgclients.Client token string id string err error @@ -781,7 +781,7 @@ func TestUpdateClientIdentity(t *testing.T) { identity: "updated@example.com", token: validToken, id: mocks.WrongID, - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrNotFound, }, { @@ -789,16 +789,16 @@ func TestUpdateClientIdentity(t *testing.T) { identity: "updated@example.com", token: inValidToken, id: client2.ID, - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrAuthentication, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) repoCall1 := cRepo.On("IsOwner", context.Background(), tc.id, validID).Return(nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) repoCall1 = cRepo.On("IsOwner", context.Background(), tc.id, validID).Return(errors.ErrAuthentication) } repoCall2 := cRepo.On("UpdateIdentity", context.Background(), mock.Anything).Return(tc.response, tc.err) @@ -825,8 +825,8 @@ func TestUpdateClientOwner(t *testing.T) { cases := []struct { desc string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client token string err error }{ @@ -841,26 +841,26 @@ func TestUpdateClientOwner(t *testing.T) { desc: "update client owner with invalid token", client: client, token: inValidToken, - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrAuthentication, }, { desc: "update client owner with invalid ID", - client: mfclients.Client{ + client: mgclients.Client{ ID: mocks.WrongID, Owner: "updatedowner@mail.com", }, - response: mfclients.Client{}, + response: mgclients.Client{}, token: inValidToken, err: errors.ErrAuthentication, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) repoCall1 := cRepo.On("IsOwner", context.Background(), tc.client.ID, validID).Return(nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) repoCall1 = cRepo.On("IsOwner", context.Background(), tc.client.ID, validID).Return(errors.ErrAuthentication) } repoCall2 := cRepo.On("UpdateOwner", context.Background(), mock.Anything).Return(tc.response, tc.err) @@ -891,7 +891,7 @@ func TestUpdateClientSecret(t *testing.T) { oldSecret string newSecret string token string - response mfclients.Client + response mgclients.Client err error }{ { @@ -907,7 +907,7 @@ func TestUpdateClientSecret(t *testing.T) { oldSecret: client.Credentials.Secret, newSecret: "newPassword", token: inValidToken, - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrAuthentication, }, { @@ -915,20 +915,20 @@ func TestUpdateClientSecret(t *testing.T) { oldSecret: "oldSecret", newSecret: "newSecret", token: validToken, - response: mfclients.Client{}, + response: mgclients.Client{}, err: apiutil.ErrInvalidSecret, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: client.ID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: client.ID}, nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) } repoCall1 := cRepo.On("RetrieveByID", context.Background(), client.ID).Return(tc.response, tc.err) repoCall2 := cRepo.On("RetrieveByIdentity", context.Background(), client.Credentials.Identity).Return(tc.response, tc.err) repoCall3 := cRepo.On("UpdateSecret", context.Background(), mock.Anything).Return(tc.response, tc.err) - repoCall4 := auth.On("Issue", mock.Anything, mock.Anything).Return(&mainflux.Token{}, nil) + repoCall4 := auth.On("Issue", mock.Anything, mock.Anything).Return(&magistrala.Token{}, nil) updatedClient, err := svc.UpdateClientSecret(context.Background(), tc.token, tc.oldSecret, tc.newSecret) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) assert.Equal(t, tc.response, updatedClient, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, updatedClient)) @@ -954,17 +954,17 @@ func TestEnableClient(t *testing.T) { e := mocks.NewEmailer() svc := users.NewService(cRepo, auth, e, phasher, idProvider, passRegex) - enabledClient1 := mfclients.Client{ID: testsutil.GenerateUUID(t), Credentials: mfclients.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mfclients.EnabledStatus} - disabledClient1 := mfclients.Client{ID: testsutil.GenerateUUID(t), Credentials: mfclients.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mfclients.DisabledStatus} + enabledClient1 := mgclients.Client{ID: testsutil.GenerateUUID(t), Credentials: mgclients.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mgclients.EnabledStatus} + disabledClient1 := mgclients.Client{ID: testsutil.GenerateUUID(t), Credentials: mgclients.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mgclients.DisabledStatus} endisabledClient1 := disabledClient1 - endisabledClient1.Status = mfclients.EnabledStatus + endisabledClient1.Status = mgclients.EnabledStatus cases := []struct { desc string id string token string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client err error }{ { @@ -981,20 +981,20 @@ func TestEnableClient(t *testing.T) { token: validToken, client: enabledClient1, response: enabledClient1, - err: mfclients.ErrStatusAlreadyAssigned, + err: mgclients.ErrStatusAlreadyAssigned, }, { desc: "enable non-existing client", id: mocks.WrongID, token: validToken, - client: mfclients.Client{}, - response: mfclients.Client{}, + client: mgclients.Client{}, + response: mgclients.Client{}, err: errors.ErrNotFound, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) repoCall1 := cRepo.On("IsOwner", context.Background(), tc.id, validID).Return(nil) repoCall2 := cRepo.On("RetrieveByID", context.Background(), tc.id).Return(tc.client, tc.err) repoCall3 := cRepo.On("ChangeStatus", context.Background(), mock.Anything).Return(tc.response, tc.err) @@ -1014,58 +1014,58 @@ func TestEnableClient(t *testing.T) { cases2 := []struct { desc string - status mfclients.Status + status mgclients.Status size uint64 - response mfclients.ClientsPage + response mgclients.ClientsPage }{ { desc: "list enabled clients", - status: mfclients.EnabledStatus, + status: mgclients.EnabledStatus, size: 2, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 2, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{enabledClient1, endisabledClient1}, + Clients: []mgclients.Client{enabledClient1, endisabledClient1}, }, }, { desc: "list disabled clients", - status: mfclients.DisabledStatus, + status: mgclients.DisabledStatus, size: 1, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 1, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{disabledClient1}, + Clients: []mgclients.Client{disabledClient1}, }, }, { desc: "list enabled and disabled clients", - status: mfclients.AllStatus, + status: mgclients.AllStatus, size: 3, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 3, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{enabledClient1, disabledClient1, endisabledClient1}, + Clients: []mgclients.Client{enabledClient1, disabledClient1, endisabledClient1}, }, }, } for _, tc := range cases2 { - pm := mfclients.Page{ + pm := mgclients.Page{ Offset: 0, Limit: 100, Status: tc.status, } - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: client.ID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: client.ID}, nil) repoCall1 := cRepo.On("RetrieveAll", context.Background(), mock.Anything).Return(tc.response, nil) page, err := svc.ListClients(context.Background(), validToken, pm) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) @@ -1082,17 +1082,17 @@ func TestDisableClient(t *testing.T) { e := mocks.NewEmailer() svc := users.NewService(cRepo, auth, e, phasher, idProvider, passRegex) - enabledClient1 := mfclients.Client{ID: testsutil.GenerateUUID(t), Credentials: mfclients.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mfclients.EnabledStatus} - disabledClient1 := mfclients.Client{ID: testsutil.GenerateUUID(t), Credentials: mfclients.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mfclients.DisabledStatus} + enabledClient1 := mgclients.Client{ID: testsutil.GenerateUUID(t), Credentials: mgclients.Credentials{Identity: "client1@example.com", Secret: "password"}, Status: mgclients.EnabledStatus} + disabledClient1 := mgclients.Client{ID: testsutil.GenerateUUID(t), Credentials: mgclients.Credentials{Identity: "client3@example.com", Secret: "password"}, Status: mgclients.DisabledStatus} disenabledClient1 := enabledClient1 - disenabledClient1.Status = mfclients.DisabledStatus + disenabledClient1.Status = mgclients.DisabledStatus cases := []struct { desc string id string token string - client mfclients.Client - response mfclients.Client + client mgclients.Client + response mgclients.Client err error }{ { @@ -1108,21 +1108,21 @@ func TestDisableClient(t *testing.T) { id: disabledClient1.ID, token: validToken, client: disabledClient1, - response: mfclients.Client{}, - err: mfclients.ErrStatusAlreadyAssigned, + response: mgclients.Client{}, + err: mgclients.ErrStatusAlreadyAssigned, }, { desc: "disable non-existing client", id: mocks.WrongID, - client: mfclients.Client{}, + client: mgclients.Client{}, token: validToken, - response: mfclients.Client{}, + response: mgclients.Client{}, err: errors.ErrNotFound, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) repoCall1 := cRepo.On("IsOwner", context.Background(), tc.id, validID).Return(nil) repoCall2 := cRepo.On("RetrieveByID", context.Background(), tc.id).Return(tc.client, tc.err) repoCall3 := cRepo.On("ChangeStatus", context.Background(), mock.Anything).Return(tc.response, tc.err) @@ -1142,58 +1142,58 @@ func TestDisableClient(t *testing.T) { cases2 := []struct { desc string - status mfclients.Status + status mgclients.Status size uint64 - response mfclients.ClientsPage + response mgclients.ClientsPage }{ { desc: "list enabled clients", - status: mfclients.EnabledStatus, + status: mgclients.EnabledStatus, size: 1, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 1, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{enabledClient1}, + Clients: []mgclients.Client{enabledClient1}, }, }, { desc: "list disabled clients", - status: mfclients.DisabledStatus, + status: mgclients.DisabledStatus, size: 2, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 2, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{disenabledClient1, disabledClient1}, + Clients: []mgclients.Client{disenabledClient1, disabledClient1}, }, }, { desc: "list enabled and disabled clients", - status: mfclients.AllStatus, + status: mgclients.AllStatus, size: 3, - response: mfclients.ClientsPage{ - Page: mfclients.Page{ + response: mgclients.ClientsPage{ + Page: mgclients.Page{ Total: 3, Offset: 0, Limit: 100, }, - Clients: []mfclients.Client{enabledClient1, disabledClient1, disenabledClient1}, + Clients: []mgclients.Client{enabledClient1, disabledClient1, disenabledClient1}, }, }, } for _, tc := range cases2 { - pm := mfclients.Page{ + pm := mgclients.Page{ Offset: 0, Limit: 100, Status: tc.status, } - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: client.ID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: client.ID}, nil) repoCall1 := cRepo.On("RetrieveAll", context.Background(), mock.Anything).Return(tc.response, nil) page, err := svc.ListClients(context.Background(), validToken, pm) require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err)) @@ -1211,19 +1211,19 @@ func TestListMembers(t *testing.T) { svc := users.NewService(cRepo, auth, e, phasher, idProvider, passRegex) nClients := uint64(10) - aClients := []mfclients.Client{} + aClients := []mgclients.Client{} owner := testsutil.GenerateUUID(t) for i := uint64(0); i < nClients; i++ { identity := fmt.Sprintf("member_%d@example.com", i) - client := mfclients.Client{ + client := mgclients.Client{ ID: testsutil.GenerateUUID(t), Name: identity, - Credentials: mfclients.Credentials{ + Credentials: mgclients.Credentials{ Identity: identity, Secret: "password", }, Tags: []string{"tag1", "tag2"}, - Metadata: mfclients.Metadata{"role": "client"}, + Metadata: mgclients.Metadata{"role": "client"}, } if i%3 == 0 { client.Owner = owner @@ -1235,22 +1235,22 @@ func TestListMembers(t *testing.T) { desc string token string groupID string - page mfclients.Page - response mfclients.MembersPage + page mgclients.Page + response mgclients.MembersPage err error }{ { desc: "list clients with authorized token", token: validToken, groupID: testsutil.GenerateUUID(t), - page: mfclients.Page{}, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + page: mgclients.Page{}, + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, }, - Members: []mfclients.Client{}, + Members: []mgclients.Client{}, }, err: nil, }, @@ -1258,13 +1258,13 @@ func TestListMembers(t *testing.T) { desc: "list clients with offset and limit", token: validToken, groupID: testsutil.GenerateUUID(t), - page: mfclients.Page{ + page: mgclients.Page{ Offset: 6, Limit: nClients, - Status: mfclients.AllStatus, + Status: mgclients.AllStatus, }, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: nClients - 6 - 1, }, Members: aClients[6 : nClients-1], @@ -1274,9 +1274,9 @@ func TestListMembers(t *testing.T) { desc: "list clients with an invalid token", token: inValidToken, groupID: testsutil.GenerateUUID(t), - page: mfclients.Page{}, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + page: mgclients.Page{}, + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, @@ -1288,9 +1288,9 @@ func TestListMembers(t *testing.T) { desc: "list clients with an invalid id", token: validToken, groupID: mocks.WrongID, - page: mfclients.Page{}, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + page: mgclients.Page{}, + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: 0, Offset: 0, Limit: 0, @@ -1302,25 +1302,25 @@ func TestListMembers(t *testing.T) { desc: "list clients for an owner", token: validToken, groupID: testsutil.GenerateUUID(t), - page: mfclients.Page{}, - response: mfclients.MembersPage{ - Page: mfclients.Page{ + page: mgclients.Page{}, + response: mgclients.MembersPage{ + Page: mgclients.Page{ Total: 4, }, - Members: []mfclients.Client{aClients[0], aClients[3], aClients[6], aClients[9]}, + Members: []mgclients.Client{aClients[0], aClients[3], aClients[6], aClients[9]}, }, err: nil, }, } for _, tc := range cases { - repoCall := auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: validToken}).Return(&mainflux.IdentityRes{Id: validID}, nil) + repoCall := auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: validToken}).Return(&magistrala.IdentityRes{Id: validID}, nil) if tc.token == inValidToken { - repoCall = auth.On("Identify", mock.Anything, &mainflux.IdentityReq{Token: inValidToken}).Return(&mainflux.IdentityRes{}, errors.ErrAuthentication) + repoCall = auth.On("Identify", mock.Anything, &magistrala.IdentityReq{Token: inValidToken}).Return(&magistrala.IdentityRes{}, errors.ErrAuthentication) } - repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true}, nil) - repoCall2 := auth.On("ListAllSubjects", mock.Anything, mock.Anything).Return(&mainflux.ListSubjectsRes{}, nil) - repoCall3 := cRepo.On("RetrieveAll", context.Background(), tc.page).Return(mfclients.ClientsPage{Page: tc.response.Page, Clients: tc.response.Members}, tc.err) + repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil) + repoCall2 := auth.On("ListAllSubjects", mock.Anything, mock.Anything).Return(&magistrala.ListSubjectsRes{}, nil) + repoCall3 := cRepo.On("RetrieveAll", context.Background(), tc.page).Return(mgclients.ClientsPage{Page: tc.response.Page, Clients: tc.response.Members}, tc.err) page, err := svc.ListMembers(context.Background(), tc.token, "groups", tc.groupID, tc.page) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) assert.Equal(t, tc.response, page, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page)) @@ -1350,8 +1350,8 @@ func TestIssueToken(t *testing.T) { cases := []struct { desc string - client mfclients.Client - rClient mfclients.Client + client mgclients.Client + rClient mgclients.Client err error }{ { @@ -1363,7 +1363,7 @@ func TestIssueToken(t *testing.T) { { desc: "issue token for a non-existing client", client: client, - rClient: mfclients.Client{}, + rClient: mgclients.Client{}, err: errors.ErrAuthentication, }, { @@ -1375,7 +1375,7 @@ func TestIssueToken(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Issue", mock.Anything, mock.Anything).Return(&mainflux.Token{AccessToken: validToken, RefreshToken: &validToken, AccessType: "3"}, tc.err) + repoCall := auth.On("Issue", mock.Anything, mock.Anything).Return(&magistrala.Token{AccessToken: validToken, RefreshToken: &validToken, AccessType: "3"}, tc.err) repoCall1 := cRepo.On("RetrieveByIdentity", context.Background(), tc.client.Credentials.Identity).Return(tc.rClient, tc.err) token, err := svc.IssueToken(context.Background(), tc.client.Credentials.Identity, tc.client.Credentials.Secret) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) @@ -1402,7 +1402,7 @@ func TestRefreshToken(t *testing.T) { cases := []struct { desc string token string - client mfclients.Client + client mgclients.Client err error }{ { @@ -1414,7 +1414,7 @@ func TestRefreshToken(t *testing.T) { { desc: "refresh token with refresh token for a non-existing client", token: validToken, - client: mfclients.Client{}, + client: mgclients.Client{}, err: errors.ErrAuthentication, }, { @@ -1426,7 +1426,7 @@ func TestRefreshToken(t *testing.T) { { desc: "refresh token with access token for a non-existing client", token: validToken, - client: mfclients.Client{}, + client: mgclients.Client{}, err: errors.ErrAuthentication, }, { @@ -1438,7 +1438,7 @@ func TestRefreshToken(t *testing.T) { } for _, tc := range cases { - repoCall := auth.On("Refresh", mock.Anything, mock.Anything).Return(&mainflux.Token{AccessToken: validToken, RefreshToken: &validToken, AccessType: "3"}, tc.err) + repoCall := auth.On("Refresh", mock.Anything, mock.Anything).Return(&magistrala.Token{AccessToken: validToken, RefreshToken: &validToken, AccessType: "3"}, tc.err) token, err := svc.RefreshToken(context.Background(), tc.token) assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) if err == nil { diff --git a/users/tracing/tracing.go b/users/tracing/tracing.go index 61b5fe365..a0a6193ec 100644 --- a/users/tracing/tracing.go +++ b/users/tracing/tracing.go @@ -6,8 +6,8 @@ package tracing import ( "context" - mainflux "github.com/absmach/magistrala" - mfclients "github.com/absmach/magistrala/pkg/clients" + "github.com/absmach/magistrala" + mgclients "github.com/absmach/magistrala/pkg/clients" "github.com/absmach/magistrala/users" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/trace" @@ -26,7 +26,7 @@ func New(svc users.Service, tracer trace.Tracer) users.Service { } // RegisterClient traces the "RegisterClient" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) RegisterClient(ctx context.Context, token string, client mfclients.Client) (mfclients.Client, error) { +func (tm *tracingMiddleware) RegisterClient(ctx context.Context, token string, client mgclients.Client) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_register_client", trace.WithAttributes(attribute.String("identity", client.Credentials.Identity))) defer span.End() @@ -34,7 +34,7 @@ func (tm *tracingMiddleware) RegisterClient(ctx context.Context, token string, c } // IssueToken traces the "IssueToken" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) IssueToken(ctx context.Context, identity, secret string) (*mainflux.Token, error) { +func (tm *tracingMiddleware) IssueToken(ctx context.Context, identity, secret string) (*magistrala.Token, error) { ctx, span := tm.tracer.Start(ctx, "svc_issue_token", trace.WithAttributes(attribute.String("identity", identity))) defer span.End() @@ -42,7 +42,7 @@ func (tm *tracingMiddleware) IssueToken(ctx context.Context, identity, secret st } // RefreshToken traces the "RefreshToken" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) RefreshToken(ctx context.Context, accessToken string) (*mainflux.Token, error) { +func (tm *tracingMiddleware) RefreshToken(ctx context.Context, accessToken string) (*magistrala.Token, error) { ctx, span := tm.tracer.Start(ctx, "svc_refresh_token", trace.WithAttributes(attribute.String("access_token", accessToken))) defer span.End() @@ -50,7 +50,7 @@ func (tm *tracingMiddleware) RefreshToken(ctx context.Context, accessToken strin } // ViewClient traces the "ViewClient" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) ViewClient(ctx context.Context, token string, id string) (mfclients.Client, error) { +func (tm *tracingMiddleware) ViewClient(ctx context.Context, token string, id string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_view_client", trace.WithAttributes(attribute.String("id", id))) defer span.End() @@ -58,7 +58,7 @@ func (tm *tracingMiddleware) ViewClient(ctx context.Context, token string, id st } // ListClients traces the "ListClients" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) ListClients(ctx context.Context, token string, pm mfclients.Page) (mfclients.ClientsPage, error) { +func (tm *tracingMiddleware) ListClients(ctx context.Context, token string, pm mgclients.Page) (mgclients.ClientsPage, error) { ctx, span := tm.tracer.Start(ctx, "svc_list_clients") defer span.End() @@ -66,7 +66,7 @@ func (tm *tracingMiddleware) ListClients(ctx context.Context, token string, pm m } // UpdateClient traces the "UpdateClient" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) UpdateClient(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClient(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_name_and_metadata", trace.WithAttributes( attribute.String("id", cli.ID), attribute.String("name", cli.Name), @@ -77,7 +77,7 @@ func (tm *tracingMiddleware) UpdateClient(ctx context.Context, token string, cli } // UpdateClientTags traces the "UpdateClientTags" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) UpdateClientTags(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClientTags(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_tags", trace.WithAttributes( attribute.String("id", cli.ID), attribute.StringSlice("tags", cli.Tags), @@ -88,7 +88,7 @@ func (tm *tracingMiddleware) UpdateClientTags(ctx context.Context, token string, } // UpdateClientIdentity traces the "UpdateClientIdentity" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) UpdateClientIdentity(ctx context.Context, token, id, identity string) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClientIdentity(ctx context.Context, token, id, identity string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_identity", trace.WithAttributes( attribute.String("id", id), attribute.String("identity", identity), @@ -99,7 +99,7 @@ func (tm *tracingMiddleware) UpdateClientIdentity(ctx context.Context, token, id } // UpdateClientSecret traces the "UpdateClientSecret" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClientSecret(ctx context.Context, token, oldSecret, newSecret string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_secret") defer span.End() @@ -137,7 +137,7 @@ func (tm *tracingMiddleware) SendPasswordReset(ctx context.Context, host, email, } // ViewProfile traces the "ViewProfile" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) ViewProfile(ctx context.Context, token string) (mfclients.Client, error) { +func (tm *tracingMiddleware) ViewProfile(ctx context.Context, token string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_view_profile") defer span.End() @@ -145,7 +145,7 @@ func (tm *tracingMiddleware) ViewProfile(ctx context.Context, token string) (mfc } // UpdateClientOwner traces the "UpdateClientOwner" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) UpdateClientOwner(ctx context.Context, token string, cli mfclients.Client) (mfclients.Client, error) { +func (tm *tracingMiddleware) UpdateClientOwner(ctx context.Context, token string, cli mgclients.Client) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_update_client_owner", trace.WithAttributes( attribute.String("id", cli.ID), attribute.StringSlice("tags", cli.Tags), @@ -156,7 +156,7 @@ func (tm *tracingMiddleware) UpdateClientOwner(ctx context.Context, token string } // EnableClient traces the "EnableClient" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) EnableClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (tm *tracingMiddleware) EnableClient(ctx context.Context, token, id string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_enable_client", trace.WithAttributes(attribute.String("id", id))) defer span.End() @@ -164,7 +164,7 @@ func (tm *tracingMiddleware) EnableClient(ctx context.Context, token, id string) } // DisableClient traces the "DisableClient" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) DisableClient(ctx context.Context, token, id string) (mfclients.Client, error) { +func (tm *tracingMiddleware) DisableClient(ctx context.Context, token, id string) (mgclients.Client, error) { ctx, span := tm.tracer.Start(ctx, "svc_disable_client", trace.WithAttributes(attribute.String("id", id))) defer span.End() @@ -172,7 +172,7 @@ func (tm *tracingMiddleware) DisableClient(ctx context.Context, token, id string } // ListMembers traces the "ListMembers" operation of the wrapped clients.Service. -func (tm *tracingMiddleware) ListMembers(ctx context.Context, token, objectKind, objectID string, pm mfclients.Page) (mfclients.MembersPage, error) { +func (tm *tracingMiddleware) ListMembers(ctx context.Context, token, objectKind, objectID string, pm mgclients.Page) (mgclients.MembersPage, error) { ctx, span := tm.tracer.Start(ctx, "svc_list_members", trace.WithAttributes(attribute.String("object_kind", objectKind)), trace.WithAttributes(attribute.String("object_id", objectID))) defer span.End() diff --git a/ws/README.md b/ws/README.md index 59dd157a1..11f357add 100644 --- a/ws/README.md +++ b/ws/README.md @@ -8,21 +8,21 @@ The service is configured using the environment variables presented in the following table. Note that any unset variables will be replaced with their default values. -| Variable | Description | Default | -| ------------------------------ | --------------------------------------------------- | ------------------------------ | -| MG_WS_ADAPTER_LOG_LEVEL | Log level for the WS Adapter | info | -| MG_WS_ADAPTER_HTTP_HOST | Service WS host | | -| MG_WS_ADAPTER_HTTP_PORT | Service WS port | 8190 | -| MG_WS_ADAPTER_HTTP_SERVER_CERT | Service WS server certificate | | -| MG_WS_ADAPTER_HTTP_SERVER_KEY | Service WS server key | | -| MG_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:7000 | -| MG_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC request timeout in seconds | 1s | -| MG_THINGS_AUTH_GRPC_CLIENT_TLS | Flag that indicates if TLS should be turned on | false | -| MG_THINGS_AUTH_GRPC_CA_CERTS | Path to trusted CAs in PEM format | | -| MG_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | -| MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to mainflux call home server | true | -| MG_WS_ADAPTER_INSTANCE_ID | Service instance ID | "" | +| Variable | Description | Default | +| ------------------------------ | --------------------------------------------------- | -------------------------------- | +| MG_WS_ADAPTER_LOG_LEVEL | Log level for the WS Adapter | info | +| MG_WS_ADAPTER_HTTP_HOST | Service WS host | | +| MG_WS_ADAPTER_HTTP_PORT | Service WS port | 8190 | +| MG_WS_ADAPTER_HTTP_SERVER_CERT | Service WS server certificate | | +| MG_WS_ADAPTER_HTTP_SERVER_KEY | Service WS server key | | +| MG_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | | +| MG_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC request timeout in seconds | 1s | +| MG_THINGS_AUTH_GRPC_CLIENT_TLS | Flag that indicates if TLS should be turned on | false | +| MG_THINGS_AUTH_GRPC_CA_CERTS | Path to trusted CAs in PEM format | | +| MG_MESSAGE_BROKER_URL | Message broker instance URL | | +| MG_JAEGER_URL | Jaeger server URL | | +| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | +| MG_WS_ADAPTER_INSTANCE_ID | Service instance ID | "" | ## Deployment @@ -35,7 +35,7 @@ To start the service outside of the container, execute the following shell scrip # download the latest version of the service git clone https://github.com/absmach/magistrala -cd mainflux +cd magistrala # compile the ws make ws @@ -55,9 +55,9 @@ MG_THINGS_AUTH_GRPC_CLIENT_TLS=[Flag that indicates if TLS should be turned on] MG_THINGS_AUTH_GRPC_CA_CERTS=[Path to trusted CAs in PEM format] \ MG_MESSAGE_BROKER_URL=[Message broker instance URL] \ MG_JAEGER_URL=[Jaeger server URL] \ -MG_SEND_TELEMETRY=[Send telemetry to mainflux call home server] \ +MG_SEND_TELEMETRY=[Send telemetry to magistrala call home server] \ MG_WS_ADAPTER_INSTANCE_ID=[Service instance ID] \ -$GOBIN/mainflux-ws +$GOBIN/magistrala-ws ``` ## Usage diff --git a/ws/adapter.go b/ws/adapter.go index c22b8edfc..fb98ca1d7 100644 --- a/ws/adapter.go +++ b/ws/adapter.go @@ -7,7 +7,7 @@ import ( "context" "fmt" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/messaging" ) @@ -51,12 +51,12 @@ type Service interface { var _ Service = (*adapterService)(nil) type adapterService struct { - auth mainflux.AuthzServiceClient + auth magistrala.AuthzServiceClient pubsub messaging.PubSub } // New instantiates the WS adapter implementation. -func New(auth mainflux.AuthzServiceClient, pubsub messaging.PubSub) Service { +func New(auth magistrala.AuthzServiceClient, pubsub messaging.PubSub) Service { return &adapterService{ auth: auth, pubsub: pubsub, @@ -95,7 +95,7 @@ func (svc *adapterService) Subscribe(ctx context.Context, thingKey, chanID, subt // authorize checks if the thingKey is authorized to access the channel // and returns the thingID if it is. func (svc *adapterService) authorize(ctx context.Context, thingKey, chanID, action string) (string, error) { - ar := &mainflux.AuthorizeReq{ + ar := &magistrala.AuthorizeReq{ Namespace: "", SubjectType: "thing", Permission: action, diff --git a/ws/adapter_test.go b/ws/adapter_test.go index d30b47751..d36a46a55 100644 --- a/ws/adapter_test.go +++ b/ws/adapter_test.go @@ -8,7 +8,7 @@ import ( "fmt" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/internal/testsutil" "github.com/absmach/magistrala/pkg/errors" @@ -115,7 +115,7 @@ func TestSubscribe(t *testing.T) { for _, tc := range cases { pubsub.SetFail(tc.fail) - repocall := auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) + repocall := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true, Id: testsutil.GenerateUUID(t)}, nil) err := svc.Subscribe(context.Background(), tc.thingKey, tc.chanID, tc.subtopic, c) assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err)) repocall.Unset() diff --git a/ws/api/endpoint_test.go b/ws/api/endpoint_test.go index e886bf0e4..eb0fdfd3d 100644 --- a/ws/api/endpoint_test.go +++ b/ws/api/endpoint_test.go @@ -12,7 +12,7 @@ import ( "strings" "testing" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" authmocks "github.com/absmach/magistrala/auth/mocks" "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/ws" @@ -36,7 +36,7 @@ const ( var msg = []byte(`[{"n":"current","t":-1,"v":1.6}]`) -func newService(auth mainflux.AuthzServiceClient) (ws.Service, mocks.MockPubSub) { +func newService(auth magistrala.AuthzServiceClient) (ws.Service, mocks.MockPubSub) { pubsub := mocks.NewPubSub() return ws.New(auth, pubsub), pubsub } @@ -98,21 +98,9 @@ func TestHandshake(t *testing.T) { ts, err := newProxyHTPPServer(handler, target) require.Nil(t, err) defer ts.Close() - auth.On("Authorize", mock.Anything, &mainflux.AuthorizeReq{ - Subject: thingKey, - Object: id, - Namespace: "", - SubjectType: "thing", - Permission: "publish", - ObjectType: "group"}).Return(&mainflux.AuthorizeRes{Authorized: true, Id: "1"}, nil) - auth.On("Authorize", mock.Anything, &mainflux.AuthorizeReq{ - Subject: thingKey, - Object: id, - Namespace: "", - SubjectType: "thing", - Permission: "subscribe", - ObjectType: "group"}).Return(&mainflux.AuthorizeRes{Authorized: true, Id: "2"}, nil) - auth.On("Authorize", mock.Anything, mock.Anything).Return(&mainflux.AuthorizeRes{Authorized: false, Id: "3"}, nil) + auth.On("Authorize", mock.Anything, &magistrala.AuthorizeReq{Subject: thingKey, Object: id, Namespace: "", SubjectType: "thing", Permission: "publish", ObjectType: "group"}).Return(&magistrala.AuthorizeRes{Authorized: true, Id: "1"}, nil) + auth.On("Authorize", mock.Anything, &magistrala.AuthorizeReq{Subject: thingKey, Object: id, Namespace: "", SubjectType: "thing", Permission: "subscribe", ObjectType: "group"}).Return(&magistrala.AuthorizeRes{Authorized: true, Id: "2"}, nil) + auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: false, Id: "3"}, nil) cases := []struct { desc string diff --git a/ws/api/logging.go b/ws/api/logging.go index 0c87e4c48..6426702fe 100644 --- a/ws/api/logging.go +++ b/ws/api/logging.go @@ -8,19 +8,19 @@ import ( "fmt" "time" - mflog "github.com/absmach/magistrala/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/ws" ) var _ ws.Service = (*loggingMiddleware)(nil) type loggingMiddleware struct { - logger mflog.Logger + logger mglog.Logger svc ws.Service } // LoggingMiddleware adds logging facilities to the websocket service. -func LoggingMiddleware(svc ws.Service, logger mflog.Logger) ws.Service { +func LoggingMiddleware(svc ws.Service, logger mglog.Logger) ws.Service { return &loggingMiddleware{logger, svc} } diff --git a/ws/api/transport.go b/ws/api/transport.go index 6105bf5e8..d5441921e 100644 --- a/ws/api/transport.go +++ b/ws/api/transport.go @@ -8,8 +8,8 @@ import ( "errors" "net/http" - mainflux "github.com/absmach/magistrala" - mflog "github.com/absmach/magistrala/logger" + "github.com/absmach/magistrala" + mglog "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/ws" "github.com/go-zoo/bone" "github.com/gorilla/websocket" @@ -32,17 +32,17 @@ var ( WriteBufferSize: readwriteBufferSize, CheckOrigin: func(r *http.Request) bool { return true }, } - logger mflog.Logger + logger mglog.Logger ) // MakeHandler returns http handler with handshake endpoint. -func MakeHandler(ctx context.Context, svc ws.Service, l mflog.Logger, instanceID string) http.Handler { +func MakeHandler(ctx context.Context, svc ws.Service, l mglog.Logger, instanceID string) http.Handler { logger = l mux := bone.New() mux.GetFunc("/channels/:chanID/messages", handshake(ctx, svc)) mux.GetFunc("/channels/:chanID/messages/*", handshake(ctx, svc)) - mux.GetFunc("/version", mainflux.Health(protocol, instanceID)) + mux.GetFunc("/version", magistrala.Health(protocol, instanceID)) mux.Handle("/metrics", promhttp.Handler()) return mux diff --git a/ws/handler.go b/ws/handler.go index 807bc23bb..bccc5bbf3 100644 --- a/ws/handler.go +++ b/ws/handler.go @@ -11,7 +11,7 @@ import ( "strings" "time" - mainflux "github.com/absmach/magistrala" + "github.com/absmach/magistrala" "github.com/absmach/magistrala/logger" "github.com/absmach/magistrala/pkg/errors" "github.com/absmach/magistrala/pkg/messaging" @@ -46,7 +46,7 @@ var ( ErrFailedPublishDisconnectEvent = errors.New("failed to publish disconnect event") ErrFailedParseSubtopic = errors.New("failed to parse subtopic") ErrFailedPublishConnectEvent = errors.New("failed to publish connect event") - ErrFailedPublishToMsgBroker = errors.New("failed to publish to mainflux message broker") + ErrFailedPublishToMsgBroker = errors.New("failed to publish to magistrala message broker") ) var channelRegExp = regexp.MustCompile(`^\/?channels\/([\w\-]+)\/messages(\/[^?]*)?(\?.*)?$`) @@ -54,12 +54,12 @@ var channelRegExp = regexp.MustCompile(`^\/?channels\/([\w\-]+)\/messages(\/[^?] // Event implements events.Event interface. type handler struct { pubsub messaging.PubSub - auth mainflux.AuthzServiceClient + auth magistrala.AuthzServiceClient logger logger.Logger } // NewHandler creates new Handler entity. -func NewHandler(pubsub messaging.PubSub, logger logger.Logger, auth mainflux.AuthzServiceClient) session.Handler { +func NewHandler(pubsub messaging.PubSub, logger logger.Logger, auth magistrala.AuthzServiceClient) session.Handler { return &handler{ logger: logger, pubsub: pubsub, @@ -163,7 +163,7 @@ func (h *handler) Publish(ctx context.Context, topic *string, payload *[]byte) e token = string(s.Password) } - ar := &mainflux.AuthorizeReq{ + ar := &magistrala.AuthorizeReq{ Namespace: "", SubjectType: "thing", Permission: "publish", @@ -235,7 +235,7 @@ func (h *handler) authAccess(ctx context.Context, password, topic, action string chanID := channelParts[1] - ar := &mainflux.AuthorizeReq{ + ar := &magistrala.AuthorizeReq{ Namespace: "", SubjectType: "thing", Permission: action,