-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Knowledge Graph Search SDK.
--   
--   Searches the Google Knowledge Graph for entities.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v1</tt> of the API.
@package gogol-kgsearch
@version 0.3.0


module Network.Google.KnowledgeGraphSearch.Types

-- | Default request referring to version <tt>v1</tt> of the Knowledge
--   Graph Search API. This contains the host and root path used as a
--   starting point for constructing service requests.
knowledgeGraphSearchService :: ServiceConfig

-- | Response message includes the context and a list of matching results
--   which contain the detail of associated entities.
--   
--   <i>See:</i> <a>searchResponse</a> smart constructor.
data SearchResponse

-- | Creates a value of <a>SearchResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srContext</a></li>
--   <li><a>srItemListElement</a></li>
--   <li><a>srType</a></li>
--   </ul>
searchResponse :: SearchResponse

-- | The local context applicable for the response. See more details at
--   http://www.w3.org/TR/json-ld/#context-definitions.
srContext :: Lens' SearchResponse (Maybe JSONValue)

-- | The item list of search results.
srItemListElement :: Lens' SearchResponse [JSONValue]

-- | The schema type of top-level JSON-LD object, e.g. ItemList.
srType :: Lens' SearchResponse (Maybe JSONValue)

-- | V1 error format.
data Xgafv

-- | <tt>1</tt> v1 error format
X1 :: Xgafv

-- | <tt>2</tt> v2 error format
X2 :: Xgafv


-- | Searches Knowledge Graph for entities that match the constraints. A
--   list of matched entities will be returned in response, which will be
--   in JSON-LD format and compatible with http://schema.org
--   
--   <i>See:</i> <a>Knowledge Graph Search API Reference</a> for
--   <tt>kgsearch.entities.search</tt>.
module Network.Google.Resource.Kgsearch.Entities.Search

-- | A resource alias for <tt>kgsearch.entities.search</tt> method which
--   the <a>EntitiesSearch</a> request conforms to.
type EntitiesSearchResource = "v1" :> ("entities:search" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "prefix" Bool :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParams "types" Text :> (QueryParams "ids" Text :> (QueryParams "languages" Text :> (QueryParam "indent" Bool :> (QueryParam "bearer_token" Text :> (QueryParam "query" Text :> (QueryParam "limit" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] SearchResponse))))))))))))))))

-- | Creates a value of <a>EntitiesSearch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esXgafv</a></li>
--   <li><a>esUploadProtocol</a></li>
--   <li><a>esPrefix</a></li>
--   <li><a>esPp</a></li>
--   <li><a>esAccessToken</a></li>
--   <li><a>esUploadType</a></li>
--   <li><a>esTypes</a></li>
--   <li><a>esIds</a></li>
--   <li><a>esLanguages</a></li>
--   <li><a>esIndent</a></li>
--   <li><a>esBearerToken</a></li>
--   <li><a>esQuery</a></li>
--   <li><a>esLimit</a></li>
--   <li><a>esCallback</a></li>
--   </ul>
entitiesSearch :: EntitiesSearch

-- | Searches Knowledge Graph for entities that match the constraints. A
--   list of matched entities will be returned in response, which will be
--   in JSON-LD format and compatible with http://schema.org
--   
--   <i>See:</i> <a>entitiesSearch</a> smart constructor.
data EntitiesSearch

-- | V1 error format.
esXgafv :: Lens' EntitiesSearch (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
esUploadProtocol :: Lens' EntitiesSearch (Maybe Text)

-- | Enables prefix match against names and aliases of entities
esPrefix :: Lens' EntitiesSearch (Maybe Bool)

-- | Pretty-print response.
esPp :: Lens' EntitiesSearch Bool

-- | OAuth access token.
esAccessToken :: Lens' EntitiesSearch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
esUploadType :: Lens' EntitiesSearch (Maybe Text)

-- | Restricts returned entities with these types, e.g. Person (as defined
--   in http://schema.org/Person). If multiple types are specified,
--   returned entities will contain one or more of these types.
esTypes :: Lens' EntitiesSearch [Text]

-- | The list of entity id to be used for search instead of query string.
--   To specify multiple ids in the HTTP request, repeat the parameter in
--   the URL as in ...?ids=A&amp;ids=B
esIds :: Lens' EntitiesSearch [Text]

-- | The list of language codes (defined in ISO 693) to run the query with,
--   e.g. 'en'.
esLanguages :: Lens' EntitiesSearch [Text]

-- | Enables indenting of json results.
esIndent :: Lens' EntitiesSearch (Maybe Bool)

-- | OAuth bearer token.
esBearerToken :: Lens' EntitiesSearch (Maybe Text)

-- | The literal query string for search.
esQuery :: Lens' EntitiesSearch (Maybe Text)

-- | Limits the number of entities to be returned.
esLimit :: Lens' EntitiesSearch (Maybe Int32)

-- | JSONP
esCallback :: Lens' EntitiesSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Kgsearch.Entities.Search.EntitiesSearch
instance Data.Data.Data Network.Google.Resource.Kgsearch.Entities.Search.EntitiesSearch
instance GHC.Show.Show Network.Google.Resource.Kgsearch.Entities.Search.EntitiesSearch
instance GHC.Classes.Eq Network.Google.Resource.Kgsearch.Entities.Search.EntitiesSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Kgsearch.Entities.Search.EntitiesSearch


-- | Searches the Google Knowledge Graph for entities.
--   
--   <i>See:</i> <a>Knowledge Graph Search API Reference</a>
module Network.Google.KnowledgeGraphSearch

-- | Default request referring to version <tt>v1</tt> of the Knowledge
--   Graph Search API. This contains the host and root path used as a
--   starting point for constructing service requests.
knowledgeGraphSearchService :: ServiceConfig

-- | Represents the entirety of the methods and resources available for the
--   Knowledge Graph Search API service.
type KnowledgeGraphSearchAPI = EntitiesSearchResource

-- | Response message includes the context and a list of matching results
--   which contain the detail of associated entities.
--   
--   <i>See:</i> <a>searchResponse</a> smart constructor.
data SearchResponse

-- | Creates a value of <a>SearchResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srContext</a></li>
--   <li><a>srItemListElement</a></li>
--   <li><a>srType</a></li>
--   </ul>
searchResponse :: SearchResponse

-- | The local context applicable for the response. See more details at
--   http://www.w3.org/TR/json-ld/#context-definitions.
srContext :: Lens' SearchResponse (Maybe JSONValue)

-- | The item list of search results.
srItemListElement :: Lens' SearchResponse [JSONValue]

-- | The schema type of top-level JSON-LD object, e.g. ItemList.
srType :: Lens' SearchResponse (Maybe JSONValue)

-- | V1 error format.
data Xgafv

-- | <tt>1</tt> v1 error format
X1 :: Xgafv

-- | <tt>2</tt> v2 error format
X2 :: Xgafv
