MCPcopy Create free account
hub / github.com/pydio/cells / CopyObject

Method CopyObject

common/nodes/put/handler-put.go:356–365  ·  view source on GitHub ↗

CopyObject captures Copy operation (not move) to set default metadata

(ctx context.Context, from *tree.Node, to *tree.Node, requestData *models.CopyRequestData)

Source from the content-addressed store, hash-verified

354
355// CopyObject captures Copy operation (not move) to set default metadata
356func (m *Handler) CopyObject(ctx context.Context, from *tree.Node, to *tree.Node, requestData *models.CopyRequestData) (models.ObjectInfo, error) {
357 oi, er := m.Next.CopyObject(ctx, from, to, requestData)
358 if !requestData.IsMove() {
359 ctxWs := nodes.GetContextWorkspaceOrNil(ctx, "to")
360 if _, err := m.getMetaClient().ExtractAndPut(ctx, to, ctxWs, nil, meta.ExtractNone); err != nil {
361 return models.ObjectInfo{}, err
362 }
363 }
364 return oi, er
365}
366
367func retryOnDuplicate(ctx context.Context, callback func(context.Context) (*tree.CreateNodeResponse, error), retries ...int) (*tree.CreateNodeResponse, error) {
368 resp, e := callback(ctx)

Callers

nothing calls this directly

Calls 5

getMetaClientMethod · 0.95
GetContextWorkspaceOrNilFunction · 0.92
IsMoveMethod · 0.80
CopyObjectMethod · 0.65
ExtractAndPutMethod · 0.65

Tested by

no test coverage detected