service

package
v0.4.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type OrganizationSearch

type OrganizationSearch struct {
	// contains filtered or unexported fields
}

OrganizationSearch handles organization-related business operations It depends on abstractions (interfaces) rather than concrete implementations

func (*OrganizationSearch) IsReady

func (s *OrganizationSearch) IsReady(ctx context.Context) error

func (*OrganizationSearch) QueryOrganizations

func (s *OrganizationSearch) QueryOrganizations(ctx context.Context, criteria model.OrganizationSearchCriteria) (*model.Organization, error)

QueryOrganizations performs organization search with business logic validation

func (*OrganizationSearch) SuggestOrganizations added in v0.4.1

SuggestOrganizations performs organization suggestions with business logic validation

type OrganizationSearcher

type OrganizationSearcher interface {
	// QueryOrganizations searches for organizations based on the provided criteria
	QueryOrganizations(ctx context.Context, criteria model.OrganizationSearchCriteria) (*model.Organization, error)

	// SuggestOrganizations returns organization suggestions for typeahead search
	SuggestOrganizations(ctx context.Context, criteria model.OrganizationSuggestionCriteria) (*model.OrganizationSuggestionsResult, error)

	// IsReady checks if the search service is ready
	IsReady(ctx context.Context) error
}

OrganizationSearcher defines the interface for organization search operations This abstraction allows different search implementations (OpenSearch, etc.) without the domain layer knowing about specific implementations

func NewOrganizationSearch

func NewOrganizationSearch(organizationSearcher port.OrganizationSearcher) OrganizationSearcher

NewOrganizationSearch creates a new OrganizationSearch instance

type ResourceSearch

type ResourceSearch struct {
	// contains filtered or unexported fields
}

ResourceSearch handles resource-related business operations It depends on abstractions (interfaces) rather than concrete implementations

func (*ResourceSearch) BuildCountMessage added in v0.4.5

func (s *ResourceSearch) BuildCountMessage(ctx context.Context, principal string, result *model.CountResult, aggregationCriteria model.SearchCriteria) []byte

func (*ResourceSearch) BuildMessage

func (s *ResourceSearch) BuildMessage(ctx context.Context, principal string, result *model.SearchResult) []byte

func (*ResourceSearch) CheckAccess

func (s *ResourceSearch) CheckAccess(ctx context.Context, principal string, resourceList []model.Resource, accessCheckMessage []byte) ([]model.Resource, error)

func (*ResourceSearch) CheckCountAccess added in v0.4.5

func (s *ResourceSearch) CheckCountAccess(ctx context.Context, principal string, result *model.CountResult, accessCheckMessage []byte) (uint64, error)

func (*ResourceSearch) IsReady

func (s *ResourceSearch) IsReady(ctx context.Context) error

func (*ResourceSearch) QueryResources

func (s *ResourceSearch) QueryResources(ctx context.Context, criteria model.SearchCriteria) (*model.SearchResult, error)

QueryResources performs resource search with business logic validation

func (*ResourceSearch) QueryResourcesCount added in v0.4.5

func (s *ResourceSearch) QueryResourcesCount(
	ctx context.Context,
	publicCountCriteria model.SearchCriteria,
	aggregationCriteria model.SearchCriteria,
) (*model.CountResult, error)

type ResourceSearcher

type ResourceSearcher interface {
	// QueryResources searches for resources based on the provided criteria
	QueryResources(ctx context.Context, criteria model.SearchCriteria) (*model.SearchResult, error)

	// QueryResourcesCount searches for resources based on the provided criteria
	QueryResourcesCount(ctx context.Context, countCriteria model.SearchCriteria, aggregationCriteria model.SearchCriteria) (*model.CountResult, error)

	// IsReady checks if the search service is ready
	IsReady(ctx context.Context) error
}

ResourceSearcher defines the interface for resource search operations This abstraction allows different search implementations (OpenSearch, etc.) without the domain layer knowing about specific implementations

func NewResourceSearch

func NewResourceSearch(resourceSearcher port.ResourceSearcher, accessChecker port.AccessControlChecker, resourceFilter port.ResourceFilter) ResourceSearcher

NewResourceSearch creates a new ResourceSearch instance

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL