Skip to content

Commit 38ee710

Browse files
committed
fest(ocm): implement RefreshLock and GetLock
Signed-off-by: jkoberg <[email protected]>
1 parent 15f3cf9 commit 38ee710

File tree

1 file changed

+18
-2
lines changed
  • pkg/ocm/storage/received

1 file changed

+18
-2
lines changed

pkg/ocm/storage/received/ocm.go

+18-2
Original file line numberDiff line numberDiff line change
@@ -485,11 +485,27 @@ func (d *driver) SetLock(ctx context.Context, ref *provider.Reference, lock *pro
485485
}
486486

487487
func (d *driver) GetLock(ctx context.Context, ref *provider.Reference) (*provider.Lock, error) {
488-
return nil, errtypes.NotSupported("operation not supported")
488+
client, _, rel, err := d.webdavClient(ctx, nil, ref)
489+
if err != nil {
490+
return nil, err
491+
}
492+
493+
token, err := client.GetLock(rel)
494+
if err != nil {
495+
return nil, err
496+
}
497+
498+
return &provider.Lock{LockId: token, Type: provider.LockType_LOCK_TYPE_EXCL}, nil
489499
}
490500

491501
func (d *driver) RefreshLock(ctx context.Context, ref *provider.Reference, lock *provider.Lock, existingLockID string) error {
492-
return errtypes.NotSupported("operation not supported")
502+
client, _, rel, err := d.webdavClient(ctx, nil, ref)
503+
if err != nil {
504+
return err
505+
}
506+
507+
err = client.RefreshLock(rel, lock.GetLockId())
508+
return err
493509
}
494510

495511
// Unlock removes a lock from a file

0 commit comments

Comments
 (0)