public AddressConsumer(ITypesenseClient client, ILogger <AddressConsumer> logger, IPostgresWriter postgresWriter, IOptions <KafkaSetting> kafkaSetting, IOptions <DatabaseSetting> databaseSetting, IOptions <TypesenseSetting> typesenseSetting) { _client = client; _logger = logger; _postgresWriter = postgresWriter; _kafkaSetting = kafkaSetting.Value; _databaseSetting = databaseSetting.Value; _typesenseSetting = typesenseSetting.Value; }
public SearchController(ITypesenseClient client, ILogger <SearchController> logger) { _client = client; _logger = logger; }
public GlobalSearchClient(ITypesenseClient typesenseClient, IQueryDispatcher queryDispatcher) { _typesenseClient = typesenseClient; _queryDispatcher = queryDispatcher; }
public SearchQueries(ILogger <SearchQueries> logger, IQueryDispatcher queryDispatcher, ITypesenseClient typesenseClient) { Description = "GraphQL API for search operations"; FieldAsync <ListGraphType <GlobalSearchHitType> >( name: "globalSearch", description: "Search for route network node, adresses etc.", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <StringGraphType> > { Name = "searchString" }, new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "pageSize" } ), resolve: async(context) => { var searchString = context.GetArgument <string>("searchString"); var pageSize = context.GetArgument <int>("pageSize"); var searchClient = new GlobalSearchClient(typesenseClient, queryDispatcher); return(await searchClient.Search(searchString, pageSize)); } ); }