in internal/command/lfstransfer/gitlab_backend.go [367:402]
func (b *gitlabLockBackend) Range(cursor string, limit int, iter func(transfer.Lock) error) (string, error) {
res, err := b.client.ListLocksVerify(b.args["path"], b.args["id"], cursor, limit, b.args["refname"])
if err != nil {
return "", err
}
for _, lock := range res.Ours {
tlock := &gitlabLock{
gitlabLockBackend: b,
id: lock.ID,
path: lock.Path,
timestamp: lock.LockedAt,
owner: lock.Owner.Name,
ownerid: "ours",
}
err = iter(tlock)
if err != nil {
return "", err
}
}
for _, lock := range res.Theirs {
tlock := &gitlabLock{
gitlabLockBackend: b,
id: lock.ID,
path: lock.Path,
timestamp: lock.LockedAt,
owner: lock.Owner.Name,
ownerid: "theirs",
}
err = iter(tlock)
if err != nil {
return "", err
}
}
return res.NextCursor, nil
}