Skip to content

Commit

Permalink
Added admin stats endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
icellan committed May 2, 2022
1 parent 49a332e commit b0888fe
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
1 change: 1 addition & 0 deletions actions/admin/routes.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ func RegisterRoutes(router *apirouter.Router, appConfig *config.AppConfig, servi
action := &Action{actions.Action{AppConfig: a.AppConfig, Services: a.Services}}

// V1 Requests
router.HTTPRouter.GET("/"+config.CurrentMajorVersion+"/admin/stats", action.Request(router, require.Wrap(action.stats)))
router.HTTPRouter.GET("/"+config.CurrentMajorVersion+"/admin/status", action.Request(router, require.Wrap(action.status)))
router.HTTPRouter.POST("/"+config.CurrentMajorVersion+"/admin/access-keys/search", action.Request(router, require.Wrap(action.accessKeysSearch)))
router.HTTPRouter.POST("/"+config.CurrentMajorVersion+"/admin/access-keys/count", action.Request(router, require.Wrap(action.accessKeysCount)))
Expand Down
21 changes: 21 additions & 0 deletions actions/admin/stats.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package admin

import (
"net/http"

"github.com/julienschmidt/httprouter"
apirouter "github.com/mrz1836/go-api-router"
)

// status will return the status of the admin login
func (a *Action) stats(w http.ResponseWriter, req *http.Request, _ httprouter.Params) {

stats, err := a.Services.Bux.GetStats(req.Context())
if err != nil {
apirouter.ReturnResponse(w, req, http.StatusExpectationFailed, err.Error())
return
}

// Return response
apirouter.ReturnResponse(w, req, http.StatusOK, stats)
}
14 changes: 13 additions & 1 deletion graph/admin.resolvers.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,19 @@ func (r *queryResolver) AdminGetStatus(ctx context.Context) (*bool, error) {
}

func (r *queryResolver) AdminGetStats(ctx context.Context) (*bux.AdminStats, error) {
panic(fmt.Errorf("not implemented"))
// including admin check
c, err := GetConfigFromContextAdmin(ctx)
if err != nil {
return nil, err
}

var accessKeys *bux.AdminStats
accessKeys, err = c.Services.Bux.GetStats(ctx, nil)
if err != nil {
return nil, err
}

return accessKeys, nil
}

func (r *queryResolver) AdminAccessKeysList(ctx context.Context, metadata bux.Metadata, conditions map[string]interface{}, params *datastore.QueryParams) ([]*bux.AccessKey, error) {
Expand Down

0 comments on commit b0888fe

Please # to comment.