github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/processors/query/interface.go (about) 1 /* 2 * Copyright (c) 2021-present unTill Pro, Ltd. 3 * 4 * * @author Michael Saigachenko 5 */ 6 7 package queryprocessor 8 9 import ( 10 "context" 11 12 "github.com/voedger/voedger/pkg/appdef" 13 "github.com/voedger/voedger/pkg/appparts" 14 "github.com/voedger/voedger/pkg/iauthnz" 15 "github.com/voedger/voedger/pkg/iprocbus" 16 "github.com/voedger/voedger/pkg/istructs" 17 "github.com/voedger/voedger/pkg/itokens" 18 imetrics "github.com/voedger/voedger/pkg/metrics" 19 "github.com/voedger/voedger/pkg/pipeline" 20 "github.com/voedger/voedger/pkg/utils/federation" 21 ) 22 23 // RowsProcessorFactory is the function for building pipeline from query params and row meta 24 // The pipeline is used to process data fetched by QueryHandler 25 // TODO In my opinion we have to remove it from export 26 type RowsProcessorFactory func(ctx context.Context, appDef appdef.IAppDef, state istructs.IState, 27 params IQueryParams, resultMeta appdef.IType, rs IResultSenderClosable, metrics IMetrics) pipeline.IAsyncPipeline 28 29 type ServiceFactory func(serviceChannel iprocbus.ServiceChannel, resultSenderClosableFactory ResultSenderClosableFactory, 30 appParts appparts.IAppPartitions, maxPrepareQueries int, metrics imetrics.IMetrics, vvm string, 31 authn iauthnz.IAuthenticator, authz iauthnz.IAuthorizer, itokens itokens.ITokens, federation federation.IFederation) pipeline.IService