// SPDX-License-Identifier: MPL-2.0 package organizations import ( "context" "errors" ) var ErrDirectoryQuery = errors.New("organizations: invalid directory query") // DirectoryQuery searches all organizations independently of membership. // Search is literal text. AfterID is an exclusive stable-ID cursor. Limit // defaults to 50 and may not exceed 200. type DirectoryQuery struct { Search, AfterID string Limit int } type DirectoryPage struct { Organizations []Organization NextID string } // DirectoryRepository is an optional administrative read capability. The caller // MUST authorize instance-wide organization access. Personal and archived records // are included; no membership is granted and no invitations or secrets are read. // The application classifies its configured merchant organization. Pagination is // a current view, not a snapshot across requests. type DirectoryRepository interface { OrganizationDirectory(context.Context, DirectoryQuery) (DirectoryPage, error) }