MCPcopy Create free account
hub / github.com/cloudreve/cloudreve / Update

Method Update

service/admin/node.go:168–194  ·  view source on GitHub ↗
(c *gin.Context)

Source from the content-addressed store, hash-verified

166)
167
168func (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
196func (s *UpsertNodeService) Create(c *gin.Context) (*GetNodeResponse, error) {
197 dep := dependency.FromContext(c)

Callers

nothing calls this directly

Calls 8

GetMethod · 0.95
FromContextFunction · 0.92
NewErrorFunction · 0.92
NodeClientMethod · 0.65
UpsertMethod · 0.65
NodePoolMethod · 0.65
KVMethod · 0.65
DeleteMethod · 0.65

Tested by

no test coverage detected