mirror of
				https://github.com/gravitl/netmaker.git
				synced 2025-10-31 08:26:23 +08:00 
			
		
		
		
	delete node api fix
This commit is contained in:
		
							parent
							
								
									fe5fd7fce9
								
							
						
					
					
						commit
						28ca66b32d
					
				
					 1 changed files with 23 additions and 12 deletions
				
			
		|  | @ -83,12 +83,15 @@ func authenticate(response http.ResponseWriter, request *http.Request) { | ||||||
| 	var err error | 	var err error | ||||||
| 	result, err = logic.GetNodeByID(authRequest.ID) | 	result, err = logic.GetNodeByID(authRequest.ID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		errorResponse.Code = http.StatusBadRequest | 		result, err = logic.GetDeletedNodeByID(authRequest.ID) | ||||||
| 		errorResponse.Message = err.Error() | 		if err != nil { | ||||||
| 		logger.Log(0, request.Header.Get("user"), | 			errorResponse.Code = http.StatusBadRequest | ||||||
| 			fmt.Sprintf("failed to get node info [%s]: %v", authRequest.ID, err)) | 			errorResponse.Message = err.Error() | ||||||
| 		logic.ReturnErrorResponse(response, request, errorResponse) | 			logger.Log(0, request.Header.Get("user"), | ||||||
| 		return | 				fmt.Sprintf("failed to get node info [%s]: %v", authRequest.ID, err)) | ||||||
|  | 			logic.ReturnErrorResponse(response, request, errorResponse) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	err = bcrypt.CompareHashAndPassword([]byte(result.Password), []byte(authRequest.Password)) | 	err = bcrypt.CompareHashAndPassword([]byte(result.Password), []byte(authRequest.Password)) | ||||||
|  | @ -256,7 +259,6 @@ func authorize(nodesAllowed, networkCheck bool, authNetwork string, next http.Ha | ||||||
| 				logic.ReturnErrorResponse(w, r, errorResponse) | 				logic.ReturnErrorResponse(w, r, errorResponse) | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			r.Header.Set("requestfrom", "") |  | ||||||
| 			//check if node instead of user | 			//check if node instead of user | ||||||
| 			if nodesAllowed { | 			if nodesAllowed { | ||||||
| 				// TODO --- should ensure that node is only operating on itself | 				// TODO --- should ensure that node is only operating on itself | ||||||
|  | @ -264,7 +266,6 @@ func authorize(nodesAllowed, networkCheck bool, authNetwork string, next http.Ha | ||||||
| 
 | 
 | ||||||
| 					// this indicates request is from a node | 					// this indicates request is from a node | ||||||
| 					// used for failover - if a getNode comes from node, this will trigger a metrics wipe | 					// used for failover - if a getNode comes from node, this will trigger a metrics wipe | ||||||
| 					r.Header.Set("requestfrom", "node") |  | ||||||
| 					next.ServeHTTP(w, r) | 					next.ServeHTTP(w, r) | ||||||
| 					return | 					return | ||||||
| 				} | 				} | ||||||
|  | @ -1040,10 +1041,20 @@ func deleteNode(w http.ResponseWriter, r *http.Request) { | ||||||
| 	fromNode := r.Header.Get("requestfrom") == "node" | 	fromNode := r.Header.Get("requestfrom") == "node" | ||||||
| 	var node, err = logic.GetNodeByID(nodeid) | 	var node, err = logic.GetNodeByID(nodeid) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		logger.Log(0, r.Header.Get("user"), | 		if fromNode { | ||||||
| 			fmt.Sprintf("error fetching node [ %s ] info: %v", nodeid, err)) | 			node, err = logic.GetDeletedNodeByID(nodeid) | ||||||
| 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) | 			if err != nil { | ||||||
| 		return | 				logger.Log(0, r.Header.Get("user"), | ||||||
|  | 					fmt.Sprintf("error fetching node from deleted nodes [ %s ] info: %v", nodeid, err)) | ||||||
|  | 				logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) | ||||||
|  | 				return | ||||||
|  | 			} | ||||||
|  | 		} else { | ||||||
|  | 			logger.Log(0, r.Header.Get("user"), | ||||||
|  | 				fmt.Sprintf("error fetching node [ %s ] info: %v", nodeid, err)) | ||||||
|  | 			logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 	if isServer(&node) { | 	if isServer(&node) { | ||||||
| 		err := fmt.Errorf("cannot delete server node") | 		err := fmt.Errorf("cannot delete server node") | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue