1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package api
- import (
- "net/http"
- "github.com/go-chi/chi"
- "github.com/go-chi/render"
- "github.com/willie68/AutoRestIoT/dao"
- "github.com/willie68/AutoRestIoT/worker"
- )
- //AdminRoutes getting all routes for the config endpoint
- func TasksRoutes() *chi.Mux {
- router := chi.NewRouter()
- router.With(RoleCheck([]string{"admin"})).Get("/", GetAdminTasksHandler)
- return router
- }
- // GetAdminTasksHandler getting server info
- func GetAdminTasksHandler(response http.ResponseWriter, request *http.Request) {
- log.Infof("GET: path: %s", request.URL.Path)
- route := worker.GetTaskRoute()
- log.Infof("GET many: path: %s, route: %s", request.URL.Path, route.String())
- query := ""
- n, models, err := worker.Query(route, query, 0, 0)
- if err != nil {
- if err == dao.ErrNotImplemented {
- render.Render(response, request, ErrNotImplemted)
- return
- }
- render.Render(response, request, ErrInternalServer(err))
- return
- }
- m := make(map[string]interface{})
- m["data"] = models
- m["found"] = n
- m["count"] = len(models)
- m["query"] = query
- m["offset"] = 0
- m["limit"] = 0
- render.JSON(response, request, m)
- }
|