From 14f3f23cc86895dcdf9767daaa92dc79d366fd4a Mon Sep 17 00:00:00 2001
From: Leonardo Christino <leomilho@gmail.com>
Date: Wed, 11 Oct 2023 16:35:35 +0200
Subject: [PATCH] feat: new schema stat retriever

---
 go.mod                                         | 11 ++++++-----
 go.sum                                         | 18 ++++++++++--------
 internal/usecases/schemaService/handler.go     |  2 +-
 .../usecases/schemaStatsService/handler.go     |  2 +-
 .../usecases/schemaStatsService/interface.go   |  2 +-
 5 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/go.mod b/go.mod
index 50bfae3..a97f89f 100755
--- a/go.mod
+++ b/go.mod
@@ -3,13 +3,12 @@ module schema-orchestrator
 go 1.21
 
 require (
-	git.science.uu.nl/graphpolaris/broker v0.0.4
-	git.science.uu.nl/graphpolaris/go-common v0.0.0-20231010124355-2dfa28399701
+	git.science.uu.nl/graphpolaris/broker v0.0.5
+	git.science.uu.nl/graphpolaris/go-common v0.0.0-20231011150314-8a94c82d42b7
 	git.science.uu.nl/graphpolaris/keyvaluestore v0.0.0-20231010112233-72e8bb9a9fd3
 	github.com/arangodb/go-driver v1.6.0
+	github.com/goccy/go-json v0.10.2
 	github.com/rs/zerolog v1.31.0
-	google.golang.org/grpc v1.58.2
-	google.golang.org/protobuf v1.31.0
 )
 
 require (
@@ -29,10 +28,12 @@ require (
 	github.com/mattn/go-isatty v0.0.19 // indirect
 	github.com/pkg/errors v0.9.1 // indirect
 	github.com/rabbitmq/amqp091-go v1.9.0 // indirect
-	golang.org/x/net v0.16.0 // indirect
+	golang.org/x/net v0.17.0 // indirect
 	golang.org/x/oauth2 v0.13.0 // indirect
 	golang.org/x/sys v0.13.0 // indirect
 	golang.org/x/text v0.13.0 // indirect
 	google.golang.org/appengine v1.6.8 // indirect
 	google.golang.org/genproto/googleapis/rpc v0.0.0-20231009173412-8bfb1ae86b6c // indirect
+	google.golang.org/grpc v1.58.3 // indirect
+	google.golang.org/protobuf v1.31.0 // indirect
 )
diff --git a/go.sum b/go.sum
index 5100dd7..8e734de 100755
--- a/go.sum
+++ b/go.sum
@@ -2,10 +2,10 @@ cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopT
 cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
 cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
 cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
-git.science.uu.nl/graphpolaris/broker v0.0.4 h1:3S9wVgW8RSgXctVsWYYtrNfxXuZ9RjiVTvOBsNbGMpc=
-git.science.uu.nl/graphpolaris/broker v0.0.4/go.mod h1:CU4gorbc1f7PcIUzMwySlf7um48cI6+GnzYLm5J2yIg=
-git.science.uu.nl/graphpolaris/go-common v0.0.0-20231010124355-2dfa28399701 h1:be5gUKLJzGtWF+8/Lv0o7qh99omTLsq8NySXtnBYu1o=
-git.science.uu.nl/graphpolaris/go-common v0.0.0-20231010124355-2dfa28399701/go.mod h1:HDaqtuK/Wsw1sDb75QXmRlcINvtKRSMfpTuIyN5fjGo=
+git.science.uu.nl/graphpolaris/broker v0.0.5 h1:47wnD8o4GZQUECFlEXAlkjaagNRCESGJKS4fTtRv9Wg=
+git.science.uu.nl/graphpolaris/broker v0.0.5/go.mod h1:CU4gorbc1f7PcIUzMwySlf7um48cI6+GnzYLm5J2yIg=
+git.science.uu.nl/graphpolaris/go-common v0.0.0-20231011150314-8a94c82d42b7 h1:GibUfqBzwwen7VvwNlyv4VnocKTTLKKPGZ/wxFw+KUY=
+git.science.uu.nl/graphpolaris/go-common v0.0.0-20231011150314-8a94c82d42b7/go.mod h1:w5EOs16IO1T5UVB+w/k0MXUsgDsrcgJyrqFz/xzaoDg=
 git.science.uu.nl/graphpolaris/keyvaluestore v0.0.0-20231010112233-72e8bb9a9fd3 h1:ohVlcO1RErj3IDXDKUgQfxo+U6tBur7k3qZ+YwM0sHY=
 git.science.uu.nl/graphpolaris/keyvaluestore v0.0.0-20231010112233-72e8bb9a9fd3/go.mod h1:q0Ov6/T4vpjoLM2mT5RILj3jb+QJKklqtWR3UDvj1A4=
 github.com/arangodb/go-driver v1.6.0 h1:NFWj/idqXZxhFVueihMSI2R9NotNIsgvNfM/xmpekb4=
@@ -30,6 +30,8 @@ github.com/go-chi/cors v1.2.1 h1:xEC8UT3Rlp2QuWNEr4Fs/c2EAGVKBwy/1vHx3bppil4=
 github.com/go-chi/cors v1.2.1/go.mod h1:sSbTewc+6wYHBBCW7ytsFSn836hqM7JxpglAy2Vzc58=
 github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
 github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
+github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
+github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
@@ -82,8 +84,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos=
-golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
+golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
+golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
 golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY=
 golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -115,8 +117,8 @@ google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAs
 google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20231009173412-8bfb1ae86b6c h1:jHkCUWkseRf+W+edG5hMzr/Uh1xkDREY4caybAq4dpY=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20231009173412-8bfb1ae86b6c/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0=
-google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I=
-google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
+google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ=
+google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
diff --git a/internal/usecases/schemaService/handler.go b/internal/usecases/schemaService/handler.go
index c3dd1e2..dd45aed 100755
--- a/internal/usecases/schemaService/handler.go
+++ b/internal/usecases/schemaService/handler.go
@@ -68,7 +68,7 @@ func (s *SchemaService) Handler(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	s.caching.RetrieveAsync(&body, fmt.Sprintf("%s-%s", sessionData.DatabaseName, sessionData.UserID), cached, sessionData, true)
+	s.caching.RetrieveAsync(&body, fmt.Sprintf("%s-%s", sessionData.DatabaseName, sessionData.UserID), cached, sessionData, cached)
 	if err != nil {
 		w.WriteHeader(http.StatusInternalServerError)
 		return
diff --git a/internal/usecases/schemaStatsService/handler.go b/internal/usecases/schemaStatsService/handler.go
index a042b9d..502cdd6 100755
--- a/internal/usecases/schemaStatsService/handler.go
+++ b/internal/usecases/schemaStatsService/handler.go
@@ -68,7 +68,7 @@ func (s *SchemaService) Handler(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	s.caching.RetrieveAsync(&body, fmt.Sprintf("%s-%s", sessionData.DatabaseName, sessionData.UserID), cached, sessionData, true)
+	s.caching.RetrieveAsync(&body, fmt.Sprintf("%s-%s", sessionData.DatabaseName, sessionData.UserID), cached, sessionData, cached)
 	if err != nil {
 		w.WriteHeader(http.StatusInternalServerError)
 		return
diff --git a/internal/usecases/schemaStatsService/interface.go b/internal/usecases/schemaStatsService/interface.go
index a1e6a15..666e45f 100644
--- a/internal/usecases/schemaStatsService/interface.go
+++ b/internal/usecases/schemaStatsService/interface.go
@@ -22,7 +22,7 @@ type SchemaService struct {
 func New(producer *produce.ProduceService, redisService keyvaluestore.Interface) *SchemaService {
 	s := &SchemaService{
 		producer: producer,
-		caching:  caching.New("cached-schemas-stats", redisService, "SCHEMA_RETRIEVAL_DURATION"),
+		caching:  caching.New("cached-schema-stats", redisService, "SCHEMA_RETRIEVAL_DURATION"),
 	}
 
 	s.caching.CacheMissCallback = s.CacheMissCallback
-- 
GitLab