{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Network.Google.Resource.ProximityBeacon.Beacons.List -- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Searches the beacon registry for beacons that match the given search -- criteria. Only those beacons that the client has permission to list will -- be returned. Authenticate using an [OAuth access -- token](https:\/\/developers.google.com\/identity\/protocols\/OAuth2) -- from a signed-in user with **viewer**, **Is owner** or **Can edit** -- permissions in the Google Developers Console project. -- -- /See:/ for @proximitybeacon.beacons.list@. module Network.Google.Resource.ProximityBeacon.Beacons.List ( -- * REST Resource BeaconsListResource -- * Creating a Request , beaconsList , BeaconsList -- * Request Lenses , blXgafv , blUploadProtocol , blAccessToken , blUploadType , blQ , blPageToken , blProjectId , blPageSize , blCallback ) where import Network.Google.Prelude import Network.Google.ProximityBeacon.Types -- | A resource alias for @proximitybeacon.beacons.list@ method which the -- 'BeaconsList' request conforms to. type BeaconsListResource = "v1beta1" :> "beacons" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "q" Text :> QueryParam "pageToken" Text :> QueryParam "projectId" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListBeaconsResponse -- | Searches the beacon registry for beacons that match the given search -- criteria. Only those beacons that the client has permission to list will -- be returned. Authenticate using an [OAuth access -- token](https:\/\/developers.google.com\/identity\/protocols\/OAuth2) -- from a signed-in user with **viewer**, **Is owner** or **Can edit** -- permissions in the Google Developers Console project. -- -- /See:/ 'beaconsList' smart constructor. data BeaconsList = BeaconsList' { _blXgafv :: !(Maybe Xgafv) , _blUploadProtocol :: !(Maybe Text) , _blAccessToken :: !(Maybe Text) , _blUploadType :: !(Maybe Text) , _blQ :: !(Maybe Text) , _blPageToken :: !(Maybe Text) , _blProjectId :: !(Maybe Text) , _blPageSize :: !(Maybe (Textual Int32)) , _blCallback :: !(Maybe Text) } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'BeaconsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'blXgafv' -- -- * 'blUploadProtocol' -- -- * 'blAccessToken' -- -- * 'blUploadType' -- -- * 'blQ' -- -- * 'blPageToken' -- -- * 'blProjectId' -- -- * 'blPageSize' -- -- * 'blCallback' beaconsList :: BeaconsList beaconsList = BeaconsList' { _blXgafv = Nothing , _blUploadProtocol = Nothing , _blAccessToken = Nothing , _blUploadType = Nothing , _blQ = Nothing , _blPageToken = Nothing , _blProjectId = Nothing , _blPageSize = Nothing , _blCallback = Nothing } -- | V1 error format. blXgafv :: Lens' BeaconsList (Maybe Xgafv) blXgafv = lens _blXgafv (\ s a -> s{_blXgafv = a}) -- | Upload protocol for media (e.g. \"raw\", \"multipart\"). blUploadProtocol :: Lens' BeaconsList (Maybe Text) blUploadProtocol = lens _blUploadProtocol (\ s a -> s{_blUploadProtocol = a}) -- | OAuth access token. blAccessToken :: Lens' BeaconsList (Maybe Text) blAccessToken = lens _blAccessToken (\ s a -> s{_blAccessToken = a}) -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\"). blUploadType :: Lens' BeaconsList (Maybe Text) blUploadType = lens _blUploadType (\ s a -> s{_blUploadType = a}) -- | Filter query string that supports the following field filters: * -- **description:\`\"\"\`** For example: **description:\"Room 3\"** Returns -- beacons whose description matches tokens in the string \"Room 3\" (not -- necessarily that exact string). The string must be double-quoted. * -- **status:\`\`** For example: **status:active** Returns beacons whose -- status matches the given value. Values must be one of the Beacon.Status -- enum values (case insensitive). Accepts multiple filters which will be -- combined with OR logic. * **stability:\`\`** For example: -- **stability:mobile** Returns beacons whose expected stability matches -- the given value. Values must be one of the Beacon.Stability enum values -- (case insensitive). Accepts multiple filters which will be combined with -- OR logic. * **place\\_id:\`\"\"\`** For example: -- **place\\_id:\"ChIJVSZzVR8FdkgRXGmmm6SslKw=\"** Returns beacons -- explicitly registered at the given place, expressed as a Place ID -- obtained from [Google Places API](\/places\/place-id). Does not match -- places inside the given place. Does not consider the beacon\'s actual -- location (which may be different from its registered place). Accepts -- multiple filters that will be combined with OR logic. The place ID must -- be double-quoted. * **registration\\_time\`[\<|>|\<=|>=]\`** For -- example: **registration\\_time>=1433116800** Returns beacons whose -- registration time matches the given filter. Supports the operators: \<, -- >, \<=, and >=. Timestamp must be expressed as an integer number of -- seconds since midnight January 1, 1970 UTC. Accepts at most two filters -- that will be combined with AND logic, to support \"between\" semantics. -- If more than two are supplied, the latter ones are ignored. * **lat:\` -- lng: radius:\`** For example: **lat:51.1232343 lng:-1.093852 -- radius:1000** Returns beacons whose registered location is within the -- given circle. When any of these fields are given, all are required. -- Latitude and longitude must be decimal degrees between -90.0 and 90.0 -- and between -180.0 and 180.0 respectively. Radius must be an integer -- number of meters between 10 and 1,000,000 (1000 km). * -- **property:\`\"=\"\`** For example: **property:\"battery-type=CR2032\"** -- Returns beacons which have a property of the given name and value. -- Supports multiple filters which will be combined with OR logic. The -- entire name=value string must be double-quoted as one string. * -- **attachment\\_type:\`\"\"\`** For example: -- **attachment_type:\"my-namespace\/my-type\"** Returns beacons having at -- least one attachment of the given namespaced type. Supports \"any within -- this namespace\" via the partial wildcard syntax: \"my-namespace\/*\". -- Supports multiple filters which will be combined with OR logic. The -- string must be double-quoted. * **indoor\\_level:\`\"\"\`** For example: -- **indoor\\_level:\"1\"** Returns beacons which are located on the given -- indoor level. Accepts multiple filters that will be combined with OR -- logic. Multiple filters on the same field are combined with OR logic -- (except registration_time which is combined with AND logic). Multiple -- filters on different fields are combined with AND logic. Filters should -- be separated by spaces. As with any HTTP query string parameter, the -- whole filter expression must be URL-encoded. Example REST request: \`GET -- \/v1beta1\/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000\` blQ :: Lens' BeaconsList (Maybe Text) blQ = lens _blQ (\ s a -> s{_blQ = a}) -- | A pagination token obtained from a previous request to list beacons. blPageToken :: Lens' BeaconsList (Maybe Text) blPageToken = lens _blPageToken (\ s a -> s{_blPageToken = a}) -- | The project id to list beacons under. If not present then the project -- credential that made the request is used as the project. Optional. blProjectId :: Lens' BeaconsList (Maybe Text) blProjectId = lens _blProjectId (\ s a -> s{_blProjectId = a}) -- | The maximum number of records to return for this request, up to a -- server-defined upper limit. blPageSize :: Lens' BeaconsList (Maybe Int32) blPageSize = lens _blPageSize (\ s a -> s{_blPageSize = a}) . mapping _Coerce -- | JSONP blCallback :: Lens' BeaconsList (Maybe Text) blCallback = lens _blCallback (\ s a -> s{_blCallback = a}) instance GoogleRequest BeaconsList where type Rs BeaconsList = ListBeaconsResponse type Scopes BeaconsList = '["https://www.googleapis.com/auth/userlocation.beacon.registry"] requestClient BeaconsList'{..} = go _blXgafv _blUploadProtocol _blAccessToken _blUploadType _blQ _blPageToken _blProjectId _blPageSize _blCallback (Just AltJSON) proximityBeaconService where go = buildClient (Proxy :: Proxy BeaconsListResource) mempty