{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
module Data.EBird.Client.Hotspots where
import Data.Default
import Data.Text
import Optics.TH
import Servant.Client
import Data.EBird.API
import Data.EBird.Client.Generated
regionHotspots
:: RegionCode
-> RegionHotspotsParams
-> ClientM [Hotspot]
regionHotspots :: RegionCode -> RegionHotspotsParams -> ClientM [Hotspot]
regionHotspots RegionCode
r RegionHotspotsParams{Maybe Integer
_regionHotspotsParamsBack :: Maybe Integer
_regionHotspotsParamsBack :: RegionHotspotsParams -> Maybe Integer
..} =
RegionCode
-> Maybe Integer -> Maybe CSVOrJSONFormat -> ClientM [Hotspot]
regionHotspots_ RegionCode
r Maybe Integer
_regionHotspotsParamsBack
(CSVOrJSONFormat -> Maybe CSVOrJSONFormat
forall a. a -> Maybe a
Just CSVOrJSONFormat
JSONFormat)
newtype RegionHotspotsParams =
RegionHotspotsParams
{
RegionHotspotsParams -> Maybe Integer
_regionHotspotsParamsBack :: Maybe Integer
}
deriving (Int -> RegionHotspotsParams -> ShowS
[RegionHotspotsParams] -> ShowS
RegionHotspotsParams -> String
(Int -> RegionHotspotsParams -> ShowS)
-> (RegionHotspotsParams -> String)
-> ([RegionHotspotsParams] -> ShowS)
-> Show RegionHotspotsParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RegionHotspotsParams -> ShowS
showsPrec :: Int -> RegionHotspotsParams -> ShowS
$cshow :: RegionHotspotsParams -> String
show :: RegionHotspotsParams -> String
$cshowList :: [RegionHotspotsParams] -> ShowS
showList :: [RegionHotspotsParams] -> ShowS
Show, ReadPrec [RegionHotspotsParams]
ReadPrec RegionHotspotsParams
Int -> ReadS RegionHotspotsParams
ReadS [RegionHotspotsParams]
(Int -> ReadS RegionHotspotsParams)
-> ReadS [RegionHotspotsParams]
-> ReadPrec RegionHotspotsParams
-> ReadPrec [RegionHotspotsParams]
-> Read RegionHotspotsParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS RegionHotspotsParams
readsPrec :: Int -> ReadS RegionHotspotsParams
$creadList :: ReadS [RegionHotspotsParams]
readList :: ReadS [RegionHotspotsParams]
$creadPrec :: ReadPrec RegionHotspotsParams
readPrec :: ReadPrec RegionHotspotsParams
$creadListPrec :: ReadPrec [RegionHotspotsParams]
readListPrec :: ReadPrec [RegionHotspotsParams]
Read, RegionHotspotsParams -> RegionHotspotsParams -> Bool
(RegionHotspotsParams -> RegionHotspotsParams -> Bool)
-> (RegionHotspotsParams -> RegionHotspotsParams -> Bool)
-> Eq RegionHotspotsParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RegionHotspotsParams -> RegionHotspotsParams -> Bool
== :: RegionHotspotsParams -> RegionHotspotsParams -> Bool
$c/= :: RegionHotspotsParams -> RegionHotspotsParams -> Bool
/= :: RegionHotspotsParams -> RegionHotspotsParams -> Bool
Eq)
defaultRegionHotspotsParams :: RegionHotspotsParams
defaultRegionHotspotsParams :: RegionHotspotsParams
defaultRegionHotspotsParams =
RegionHotspotsParams
{ _regionHotspotsParamsBack :: Maybe Integer
_regionHotspotsParamsBack = Maybe Integer
forall a. Maybe a
Nothing
}
instance Default RegionHotspotsParams where
def :: RegionHotspotsParams
def = RegionHotspotsParams
defaultRegionHotspotsParams
makeLenses ''RegionHotspotsParams
makeFieldLabels ''RegionHotspotsParams
nearbyHotspots
:: Double
-> Double
-> NearbyHotspotsParams
-> ClientM [Hotspot]
nearbyHotspots :: Double -> Double -> NearbyHotspotsParams -> ClientM [Hotspot]
nearbyHotspots Double
lat Double
lng NearbyHotspotsParams{Maybe Integer
_nearbyHotspotsParamsBack :: Maybe Integer
_nearbyHotspotsParamsRadius :: Maybe Integer
_nearbyHotspotsParamsBack :: NearbyHotspotsParams -> Maybe Integer
_nearbyHotspotsParamsRadius :: NearbyHotspotsParams -> Maybe Integer
..} =
Double
-> Double
-> Maybe Integer
-> Maybe Integer
-> Maybe CSVOrJSONFormat
-> ClientM [Hotspot]
nearbyHotspots_ Double
lat Double
lng
Maybe Integer
_nearbyHotspotsParamsBack
Maybe Integer
_nearbyHotspotsParamsRadius
(CSVOrJSONFormat -> Maybe CSVOrJSONFormat
forall a. a -> Maybe a
Just CSVOrJSONFormat
JSONFormat)
data NearbyHotspotsParams =
NearbyHotspotsParams
{
NearbyHotspotsParams -> Maybe Integer
_nearbyHotspotsParamsBack :: Maybe Integer
, NearbyHotspotsParams -> Maybe Integer
_nearbyHotspotsParamsRadius :: Maybe Integer
}
deriving (Int -> NearbyHotspotsParams -> ShowS
[NearbyHotspotsParams] -> ShowS
NearbyHotspotsParams -> String
(Int -> NearbyHotspotsParams -> ShowS)
-> (NearbyHotspotsParams -> String)
-> ([NearbyHotspotsParams] -> ShowS)
-> Show NearbyHotspotsParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NearbyHotspotsParams -> ShowS
showsPrec :: Int -> NearbyHotspotsParams -> ShowS
$cshow :: NearbyHotspotsParams -> String
show :: NearbyHotspotsParams -> String
$cshowList :: [NearbyHotspotsParams] -> ShowS
showList :: [NearbyHotspotsParams] -> ShowS
Show, ReadPrec [NearbyHotspotsParams]
ReadPrec NearbyHotspotsParams
Int -> ReadS NearbyHotspotsParams
ReadS [NearbyHotspotsParams]
(Int -> ReadS NearbyHotspotsParams)
-> ReadS [NearbyHotspotsParams]
-> ReadPrec NearbyHotspotsParams
-> ReadPrec [NearbyHotspotsParams]
-> Read NearbyHotspotsParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS NearbyHotspotsParams
readsPrec :: Int -> ReadS NearbyHotspotsParams
$creadList :: ReadS [NearbyHotspotsParams]
readList :: ReadS [NearbyHotspotsParams]
$creadPrec :: ReadPrec NearbyHotspotsParams
readPrec :: ReadPrec NearbyHotspotsParams
$creadListPrec :: ReadPrec [NearbyHotspotsParams]
readListPrec :: ReadPrec [NearbyHotspotsParams]
Read, NearbyHotspotsParams -> NearbyHotspotsParams -> Bool
(NearbyHotspotsParams -> NearbyHotspotsParams -> Bool)
-> (NearbyHotspotsParams -> NearbyHotspotsParams -> Bool)
-> Eq NearbyHotspotsParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NearbyHotspotsParams -> NearbyHotspotsParams -> Bool
== :: NearbyHotspotsParams -> NearbyHotspotsParams -> Bool
$c/= :: NearbyHotspotsParams -> NearbyHotspotsParams -> Bool
/= :: NearbyHotspotsParams -> NearbyHotspotsParams -> Bool
Eq)
defaultNearbyHotspotsParams :: NearbyHotspotsParams
defaultNearbyHotspotsParams :: NearbyHotspotsParams
defaultNearbyHotspotsParams =
NearbyHotspotsParams
{ _nearbyHotspotsParamsBack :: Maybe Integer
_nearbyHotspotsParamsBack = Maybe Integer
forall a. Maybe a
Nothing
, _nearbyHotspotsParamsRadius :: Maybe Integer
_nearbyHotspotsParamsRadius = Maybe Integer
forall a. Maybe a
Nothing
}
instance Default NearbyHotspotsParams where
def :: NearbyHotspotsParams
def = NearbyHotspotsParams
defaultNearbyHotspotsParams
makeLenses ''NearbyHotspotsParams
makeFieldLabels ''NearbyHotspotsParams
hotspotInfo
:: Text
-> ClientM LocationData
hotspotInfo :: Text -> ClientM LocationData
hotspotInfo = Text -> ClientM LocationData
hotspotInfo_