github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/kbfs/tlfhandle/interfaces.go (about) 1 // Copyright 2019 Keybase Inc. All rights reserved. 2 // Use of this source code is governed by a BSD 3 // license that can be found in the LICENSE file. 4 5 package tlfhandle 6 7 import ( 8 "context" 9 10 "github.com/keybase/client/go/kbfs/tlf" 11 ) 12 13 // IDGetter is an interface for resolving TLF handles to their TLF IDs. 14 type IDGetter interface { 15 // GetIDForHandle returns the tlf.ID associated with the given 16 // handle, if the logged-in user has read permission on the 17 // folder. It may or may not create the folder if it doesn't 18 // exist yet, and it may return `tlf.NullID` with a `nil` error if 19 // it doesn't create a missing folder. 20 GetIDForHandle(ctx context.Context, handle *Handle) (tlf.ID, error) 21 // ValidateLatestHandleForTLF returns true if the TLF ID contained 22 // in `h` does not currently map to a finalized TLF. 23 ValidateLatestHandleNotFinal(ctx context.Context, h *Handle) ( 24 bool, error) 25 }