(ctx context.Context, name string, keypath backend.KeyPath, version backend.Version)
| 365 | } |
| 366 | |
| 367 | func (rw *Azure) DeleteVersioned(ctx context.Context, name string, keypath backend.KeyPath, version backend.Version) error { |
| 368 | keypath = backend.KeyPathWithPrefix(keypath, rw.cfg.Prefix) |
| 369 | |
| 370 | // TODO use conditional if-match API |
| 371 | _, currentVersion, err := rw.ReadVersioned(ctx, name, keypath) |
| 372 | if err != nil && !errors.Is(err, backend.ErrDoesNotExist) { |
| 373 | return err |
| 374 | } |
| 375 | if !errors.Is(err, backend.ErrDoesNotExist) && currentVersion != version { |
| 376 | return backend.ErrVersionDoesNotMatch |
| 377 | } |
| 378 | |
| 379 | return rw.Delete(ctx, name, keypath, nil) |
| 380 | } |
| 381 | |
| 382 | func (rw *Azure) ReadVersioned(ctx context.Context, name string, keypath backend.KeyPath) (io.ReadCloser, backend.Version, error) { |
| 383 | keypath = backend.KeyPathWithPrefix(keypath, rw.cfg.Prefix) |
nothing calls this directly
no test coverage detected