(c *gin.Context)
| 166 | ) |
| 167 | |
| 168 | func (s *UpsertNodeService) Update(c *gin.Context) (*GetNodeResponse, error) { |
| 169 | dep := dependency.FromContext(c) |
| 170 | nodeClient := dep.NodeClient() |
| 171 | |
| 172 | if s.Node.ID == 0 { |
| 173 | return nil, serializer.NewError(serializer.CodeParamErr, "ID is required", nil) |
| 174 | } |
| 175 | |
| 176 | node, err := nodeClient.Upsert(c, s.Node) |
| 177 | if err != nil { |
| 178 | return nil, serializer.NewError(serializer.CodeDBError, "Failed to update node", err) |
| 179 | } |
| 180 | |
| 181 | // reload node pool |
| 182 | np, err := dep.NodePool(c) |
| 183 | if err != nil { |
| 184 | return nil, serializer.NewError(serializer.CodeInternalSetting, "Failed to get node pool", err) |
| 185 | } |
| 186 | np.Upsert(c, node) |
| 187 | |
| 188 | // Clear policy cache since some this node maybe cached by some storage policy |
| 189 | kv := dep.KV() |
| 190 | kv.Delete(inventory.StoragePolicyCacheKey) |
| 191 | |
| 192 | service := &SingleNodeService{ID: node.ID} |
| 193 | return service.Get(c) |
| 194 | } |
| 195 | |
| 196 | func (s *UpsertNodeService) Create(c *gin.Context) (*GetNodeResponse, error) { |
| 197 | dep := dependency.FromContext(c) |
nothing calls this directly
no test coverage detected