MCPcopy Create free account
hub / github.com/PerpetualSoftware/pad / visibleCollectionIDs

Method visibleCollectionIDs

internal/server/server.go:1925–1931  ·  view source on GitHub ↗

visibleCollectionIDs returns the set of collection IDs the current user can see in the given workspace. Returns nil if the user has "all" access (no filtering needed), or a non-nil slice for "specific" access. Unauthenticated users (fresh install) always get nil (all access), as do platform admins —

(r *http.Request, workspaceID string)

Source from the content-addressed store, hash-verified

1923// handler, handleCreateItem's collection-visibility check, and every other
1924// direct caller) still granting a bearer admin an unrestricted view.
1925func (s *Server) visibleCollectionIDs(r *http.Request, workspaceID string) ([]string, error) {
1926 user := currentUser(r)
1927 if user == nil || (user.Role == "admin" && !isBearerAuth(r)) {
1928 return nil, nil // No filtering for admins (cookie session) or unauthenticated
1929 }
1930 return s.store.VisibleCollectionIDs(workspaceID, user.ID)
1931}
1932
1933// requireCollectionFullyVisible checks that the collection is visible to the
1934// requesting user under FULL-collection-access semantics (BUG-1920 —

Calls 3

currentUserFunction · 0.85
isBearerAuthFunction · 0.85
VisibleCollectionIDsMethod · 0.80

Tested by

no test coverage detected