diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod index b43db79b..e400b547 100755 --- a/backend/go-app/go.mod +++ b/backend/go-app/go.mod @@ -19,7 +19,7 @@ require ( github.com/gorilla/mux v1.8.0 github.com/h2non/filetype v1.1.3 github.com/satori/go.uuid v1.2.0 - github.com/shuffle/shuffle-shared v0.4.19 + github.com/shuffle/shuffle-shared v0.4.35 golang.org/x/crypto v0.9.0 google.golang.org/api v0.125.0 google.golang.org/appengine v1.6.7 diff --git a/backend/go-app/main.go b/backend/go-app/main.go index c3363f00..67dcdc7a 100755 --- a/backend/go-app/main.go +++ b/backend/go-app/main.go @@ -5841,6 +5841,8 @@ func handleAppZipUpload(resp http.ResponseWriter, request *http.Request) { resp.Write([]byte("OK")) } + + func initHandlers() { var err error ctx := context.Background() @@ -5890,6 +5892,7 @@ func initHandlers() { r := mux.NewRouter() r.HandleFunc("/api/v1/_ah/health", shuffle.HealthCheckHandler) + r.HandleFunc("/api/v1/health", shuffle.RunOpsHealthCheck).Methods("GET", "OPTIONS") // Make user related locations // Fix user changes with org @@ -5998,7 +6001,7 @@ func initHandlers() { // New for recommendations in Shuffle r.HandleFunc("/api/v1/recommendations/get_actions", shuffle.HandleActionRecommendation).Methods("POST", "OPTIONS") r.HandleFunc("/api/v1/recommendations/modify", shuffle.HandleRecommendationAction).Methods("POST", "OPTIONS") - r.HandleFunc("/api/v1/workflows/{key}/revisions", shuffle.GetWorkflowRevisions).Methods("GET", "OPTIONS") + // r.HandleFunc("/api/v1/workflows/{key}/revisions", shuffle.GetWorkflowRevisions).Methods("GET", "OPTIONS") // Triggers r.HandleFunc("/api/v1/hooks/new", shuffle.HandleNewHook).Methods("POST", "OPTIONS") @@ -6054,9 +6057,16 @@ func initHandlers() { r.HandleFunc("/api/v1/orgs/{orgId}/list_cache", shuffle.HandleListCacheKeys).Methods("GET", "OPTIONS") r.HandleFunc("/api/v1/orgs/{orgId}/get_cache", shuffle.HandleGetCacheKey).Methods("POST", "OPTIONS") r.HandleFunc("/api/v1/orgs/{orgId}/set_cache", shuffle.HandleSetCacheKey).Methods("POST", "OPTIONS") - r.HandleFunc("/api/v1/orgs/{orgId}/cache/{cache_key}", shuffle.HandleDeleteCacheKey).Methods("DELETE", "OPTIONS") + r.HandleFunc("/api/v1/orgs/{orgId}/stats", shuffle.HandleGetStatistics).Methods("GET", "OPTIONS") - r.HandleFunc("/api/v1/orgs/{orgId}/revisions", shuffle.GetWorkflowRevisions).Methods("GET", "OPTIONS") + + r.HandleFunc("/api/v1/orgs/{orgId}/cache", shuffle.HandleListCacheKeys).Methods("GET", "OPTIONS") + r.HandleFunc("/api/v1/orgs/{orgId}/cache", shuffle.HandleSetCacheKey).Methods("POST", "OPTIONS") + r.HandleFunc("/api/v1/orgs/{orgId}/cache/{cache_key}", shuffle.HandleDeleteCacheKey).Methods("DELETE", "OPTIONS") + r.HandleFunc("/api/v1/orgs/{orgId}/datastore", shuffle.HandleListCacheKeys).Methods("GET", "OPTIONS") + r.HandleFunc("/api/v1/orgs/{orgId}/datastore", shuffle.HandleSetCacheKey).Methods("POST", "OPTIONS") + r.HandleFunc("/api/v1/orgs/{orgId}/datastore/{cache_key}", shuffle.HandleDeleteCacheKey).Methods("DELETE", "OPTIONS") + // Docker orborus specific - downloads an image r.HandleFunc("/api/v1/get_docker_image", getDockerImage).Methods("POST", "OPTIONS") @@ -6098,6 +6108,7 @@ func initHandlers() { // Had to move away from mux, which means Method is fucked up right now. func main() { initHandlers() + go shuffle.InitOpsWorkflow() hostname, err := os.Hostname() if err != nil { hostname = "MISSING" diff --git a/docker-compose.yml b/docker-compose.yml index daf8f7a0..2eb61619 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: frontend: - image: ghcr.io/shuffle/shuffle-frontend:nightly + image: ghcr.io/shuffle/shuffle-frontend:latest container_name: shuffle-frontend hostname: shuffle-frontend ports: diff --git a/frontend/package.json b/frontend/package.json index 4a4e9808..56457972 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,8 +13,9 @@ "@mui/material": "^5.14.0", "@mui/styles": "^5.14.0", "@mui/x-data-grid": "^5.17.11", - "@uiw/codemirror-themes": "^4.21.7", - "@uiw/react-codemirror": "^4.21.7", + "@mui/x-date-pickers": "^6.11.1", + "@uiw/codemirror-themes": "^4.21.9", + "@uiw/react-codemirror": "^4.21.9", "@use-it/interval": "^1.0.0", "algoliasearch": "^4.13.1", "calculate-size": "^1.1.1", @@ -24,6 +25,7 @@ "cytoscape-edgehandles": "^3.6.0", "cytoscape-node-html-label": "^1.1.5", "d3": "^7.1.1", + "dayjs": "^1.11.9", "dotenv": "^6.1.0", "downshift": "^3.3.5", "github-markdown-css": "^3.0.1", @@ -36,11 +38,11 @@ "jss-nested": "^6.0.1", "jss-props-sort": "^6.0.0", "jss-vendor-prefixer": "^8.0.1", - "material-ui-chip-input": "^2.0.0-beta.2", "md5-file": "^4.0.0", "mdbreact": "^4.21.1", "mime": "^3.0.0", "moment": "^2.29.1", + "mui-chips-input": "^2.1.3", "mui-nested-menu": "^3.2.1", "process": "^0.11.10", "react": "^18.2.0", @@ -67,6 +69,7 @@ "react-router": "^6.14.1", "react-router-dom": "^6.14.1", "react-scripts": "^5.0.1", + "react-toastify": "^9.1.3", "reaviz": "^14.9.4", "remark-gfm": "^3.0.1", "search-insights": "^2.2.1", @@ -108,6 +111,6 @@ "react-16": "npm:react@16.13.1", "react-dom-16": "npm:react-dom@16.13.1", "react-error-overlay": "6.0.9", - "webpack": "^4.46.0" + "webpack": "^5.88.2" } } diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index abeb8ab3..28b665b0 100755 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -167,7 +167,7 @@ const App = (message, props) => { const includedData =