33 lines
1019 B
Go
33 lines
1019 B
Go
// 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)
|
|
}
|