import "common.proto"; import "common_base.proto"; message CStoreQuery_Query_Request { optional string query_name = 1; optional .CStoreQueryParams query = 2; optional .StoreBrowseContext context = 3; optional .StoreBrowseItemDataRequest data_request = 4; optional string override_country_code = 5; } message CStoreQuery_Query_Response { optional .CStoreQueryResultMetadata metadata = 1; repeated .StoreItemID ids = 2; repeated .StoreItem store_items = 3; } message CStoreQuery_SearchSuggestions_Request { optional string query_name = 1; optional .StoreBrowseContext context = 2; optional string search_term = 3; optional uint32 max_results = 4; optional .CStoreQueryFilters filters = 5; optional .StoreBrowseItemDataRequest data_request = 6; optional bool use_spellcheck = 7; optional bool search_tags = 8; optional bool search_creators = 9; optional bool prefilter_creators = 10; } message CStoreQuery_SearchSuggestions_Response { optional .CStoreQueryResultMetadata metadata = 1; repeated .StoreItemID ids = 2; repeated .StoreItem store_items = 3; } message CStoreQueryFilters { optional bool released_only = 1; optional bool coming_soon_only = 2; optional .CStoreQueryFilters_TypeFilters type_filters = 3; repeated .CStoreQueryFilters_TagFilter tagids_must_match = 10; repeated int32 tagids_exclude = 11; repeated int32 content_descriptors_must_match = 15 [(.description) = "enum"]; repeated int32 content_descriptors_excluded = 16 [(.description) = "enum"]; optional int32 regional_top_n_sellers = 40; optional int32 global_top_n_sellers = 41; optional int32 regional_long_term_top_n_sellers = 42; optional int32 global_long_term_top_n_sellers = 43; optional .CStorePageFilter store_page_filter = 44; repeated uint32 parent_appids = 45; } message CStoreQueryFilters_TagFilter { repeated int32 tagids = 1; } message CStoreQueryFilters_TypeFilters { optional bool include_apps = 1; optional bool include_packages = 2; optional bool include_bundles = 3; optional bool include_games = 10; optional bool include_demos = 11; optional bool include_mods = 12; optional bool include_dlc = 13; optional bool include_software = 14; optional bool include_video = 15; optional bool include_hardware = 16; optional bool include_series = 17; optional bool include_music = 18; } message CStoreQueryParams { optional int32 start = 1 [default = 0]; optional int32 count = 2 [default = 10]; optional int32 sort = 10 [default = 0, (.description) = "enum"]; optional .CStoreQueryFilters filters = 20; } message CStoreQueryPerResultMetadata { optional .StoreItemID id = 1; optional double score = 2; optional bool spellcheck_generated_result = 3; } message CStoreQueryResultMetadata { optional int32 total_matching_records = 1; optional int32 start = 2; optional int32 count = 3; repeated .CStoreQueryPerResultMetadata per_result_metadata = 4; repeated string spellcheck_suggestions = 5; } service StoreQuery { rpc Query (.CStoreQuery_Query_Request) returns (.CStoreQuery_Query_Response); rpc SearchSuggestions (.CStoreQuery_SearchSuggestions_Request) returns (.CStoreQuery_SearchSuggestions_Response); }