From e1f1272fd3720802a83f4d7568e7f9ca715df41d Mon Sep 17 00:00:00 2001 From: shreeharsha-factly Date: Mon, 9 May 2022 21:44:40 +0530 Subject: [PATCH] add logs --- api/graph/loaders/dataloader.go | 4 ++++ api/graph/resolvers/category.go | 3 +++ api/graph/resolvers/menu.go | 3 +++ api/graph/resolvers/post.go | 26 ++++++++++++++++++++++++-- api/graph/resolvers/space.go | 3 +++ api/util/cache/middleware.go | 4 ++++ api/util/cache/response.go | 3 +++ 7 files changed, 44 insertions(+), 2 deletions(-) diff --git a/api/graph/loaders/dataloader.go b/api/graph/loaders/dataloader.go index 9821b115a..fe3f54120 100644 --- a/api/graph/loaders/dataloader.go +++ b/api/graph/loaders/dataloader.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "log" "net/http" "time" @@ -39,6 +40,7 @@ func (v values) Get(key string) interface{} { // DataloaderMiddleware to add middleware in main func DataloaderMiddleware(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + log.Println(" DataloaderMiddleware entry") ratingloader := RatingLoader{ maxBatch: 100, wait: 1 * time.Second, @@ -363,6 +365,8 @@ func DataloaderMiddleware(next http.Handler) http.Handler { }} ctx := context.WithValue(r.Context(), loadersKey, v) + + log.Println(" DataloaderMiddleware exit") next.ServeHTTP(w, r.WithContext(ctx)) }) } diff --git a/api/graph/resolvers/category.go b/api/graph/resolvers/category.go index 6bde40f4e..e08f8fef5 100644 --- a/api/graph/resolvers/category.go +++ b/api/graph/resolvers/category.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "log" "gorm.io/gorm" @@ -142,6 +143,8 @@ func (r *queryResolver) FeaturedCategories(ctx context.Context, featuredCount in } func (r *queryResolver) Categories(ctx context.Context, ids []int, spaces []int, page *int, limit *int, sortBy *string, sortOrder *string) (*models.CategoriesPaging, error) { + + log.Println(" categories resolver entry") sID, err := validator.GetSpace(ctx) if err != nil { return nil, err diff --git a/api/graph/resolvers/menu.go b/api/graph/resolvers/menu.go index e631aa6e1..73c8b1827 100644 --- a/api/graph/resolvers/menu.go +++ b/api/graph/resolvers/menu.go @@ -3,6 +3,7 @@ package resolvers import ( "context" "fmt" + "log" "github.com/factly/dega-api/config" "github.com/factly/dega-api/graph/generated" @@ -28,6 +29,8 @@ func (r *menuResolver) MetaFields(ctx context.Context, obj *models.Menu) (interf func (r *queryResolver) Menu(ctx context.Context) (*models.MenusPaging, error) { + log.Println(" Menu resolver entry") + sID, err := validator.GetSpace(ctx) if err != nil { return nil, err diff --git a/api/graph/resolvers/post.go b/api/graph/resolvers/post.go index 12570b657..63b85cd7e 100644 --- a/api/graph/resolvers/post.go +++ b/api/graph/resolvers/post.go @@ -234,7 +234,7 @@ func (r *queryResolver) Posts(ctx context.Context, spaces []int, formats *models result := &models.PostsPaging{} result.Nodes = make([]*models.Post, 0) - offset, pageLimit := util.Parse(page, limit) + offset, pageLimit := parse(page, limit) tx := config.DB.Model(&models.Post{}).Where("is_page = ?", false) @@ -342,7 +342,9 @@ func (r *queryResolver) Posts(ctx context.Context, spaces []int, formats *models var total int64 tx.Where(&models.Post{ SpaceID: uint(sID), - }).Where(filterStr).Count(&total).Order(order).Offset(offset).Limit(pageLimit).Select("posts.*").Find(&result.Nodes) + }).Where(filterStr).Count(&total).Offset(offset).Limit(pageLimit).Order(order).Select("posts.*").Find(&result.Nodes) + + tx.Commit() result.Total = int(total) @@ -354,3 +356,23 @@ func createFilters(arr []string) string { filter = "'" + filter + "'" return filter } + +// Parse pagination +func parse(page *int, perPage *int) (int, int) { + offset := 0 // no. of records to skip + limit := 100 // limit + + if page == nil || perPage == nil { + return offset, limit + } + + if *perPage > 0 && *perPage <= 100 { + limit = *perPage + } + + if *page > 1 { + offset = (*page - 1) * limit + } + + return offset, limit +} diff --git a/api/graph/resolvers/space.go b/api/graph/resolvers/space.go index eceb9680e..5ecdf0011 100644 --- a/api/graph/resolvers/space.go +++ b/api/graph/resolvers/space.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "log" "github.com/factly/dega-api/config" "github.com/factly/dega-api/graph/generated" @@ -74,6 +75,8 @@ func (r *spaceResolver) MetaFields(ctx context.Context, obj *models.Space) (inte func (r *queryResolver) Space(ctx context.Context) (*models.Space, error) { + log.Println(" Space resolver entry") + sID, err := validator.GetSpace(ctx) if err != nil { return nil, err diff --git a/api/util/cache/middleware.go b/api/util/cache/middleware.go index a055d35df..3c22ea802 100644 --- a/api/util/cache/middleware.go +++ b/api/util/cache/middleware.go @@ -8,6 +8,7 @@ import ( "fmt" "io" "io/ioutil" + "log" "net/http" "strings" @@ -23,6 +24,7 @@ type requestBody struct { func CachingMiddleware() func(http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + log.Println(" CachingMiddleware entry") body := requestBody{} bodyBytes, _ := ioutil.ReadAll(r.Body) err := json.Unmarshal(bodyBytes, &body) @@ -61,6 +63,8 @@ func CachingMiddleware() func(http.Handler) http.Handler { r.Body.Close() r.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes)) + + log.Println(" CachingMiddleware exit") next.ServeHTTP(w, r) }) } diff --git a/api/util/cache/response.go b/api/util/cache/response.go index c01646b97..92996653c 100644 --- a/api/util/cache/response.go +++ b/api/util/cache/response.go @@ -27,6 +27,7 @@ func (myrw *CacheResponseWriter) WriteHeader(header int) { func RespMiddleware(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + log.Println(" RespMiddleware entry") // Create a response writer: crw := &CacheResponseWriter{ ResponseWriter: w, @@ -65,5 +66,7 @@ func RespMiddleware(next http.Handler) http.Handler { if _, err = io.Copy(w, crw.buf); err != nil { log.Printf("Failed to send out response: %v", err) } + + log.Println(" RespMiddleware exit") }) }