module SMSAero.Client (
smsAeroClient,
defaultBaseUrl,
SmsAero,
smsAeroSend,
smsAeroSendToGroup,
smsAeroStatus,
smsAeroCheckSending,
smsAeroBalance,
smsAeroCheckTariff,
smsAeroSenders,
smsAeroSign,
smsAeroListGroups,
smsAeroAddGroup,
smsAeroDeleteGroup,
smsAeroAddPhone,
smsAeroDeletePhone,
smsAeroAddToBlacklist,
) where
import Data.Proxy
import Data.Text (Text)
import Servant.API
import Servant.Client
import SMSAero.API
import SMSAero.Types
smsAeroClient :: Client SMSAeroAPI
smsAeroClient = client (Proxy :: Proxy SMSAeroAPI)
defaultBaseUrl :: BaseUrl
defaultBaseUrl = BaseUrl Https "gate.smsaero.ru" 443 ""
type SmsAero a = ClientM (SmsAeroResponse a)
smsAeroSend :: SMSAeroAuth
-> Phone
-> MessageBody
-> Signature
-> Maybe SMSAeroDate
-> Maybe SendType
-> Maybe DigitalChannel
-> SmsAero SendResponse
smsAeroSendToGroup :: SMSAeroAuth
-> Group
-> MessageBody
-> Signature
-> Maybe SMSAeroDate
-> Maybe SendType
-> Maybe DigitalChannel
-> SmsAero SendResponse
smsAeroStatus :: SMSAeroAuth
-> MessageId
-> SmsAero MessageStatus
smsAeroCheckSending :: SMSAeroAuth
-> MessageId
-> SmsAero CheckSendingResponse
smsAeroBalance :: SMSAeroAuth
-> SmsAero BalanceResponse
smsAeroCheckTariff :: SMSAeroAuth
-> SmsAero CheckTariffResponse
smsAeroSenders :: SMSAeroAuth
-> SmsAero SendersResponse
smsAeroSign :: SMSAeroAuth
-> SmsAero SignResponse
smsAeroListGroups :: SMSAeroAuth
-> SmsAero [Group]
smsAeroAddGroup :: SMSAeroAuth
-> Group
-> SmsAero GroupResponse
smsAeroDeleteGroup :: SMSAeroAuth
-> Group
-> SmsAero GroupResponse
smsAeroAddPhone :: SMSAeroAuth
-> Phone
-> Maybe Group
-> Maybe Name
-> Maybe Name
-> Maybe Name
-> Maybe BirthDate
-> Maybe Text
-> SmsAero PhoneResponse
smsAeroDeletePhone :: SMSAeroAuth
-> Phone
-> Maybe Group
-> SmsAero PhoneResponse
smsAeroAddToBlacklist :: SMSAeroAuth
-> Phone
-> SmsAero BlacklistResponse
smsAeroSend auth = let (f :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroSendToGroup auth = let (_ :<|> f :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroStatus auth = let (_ :<|> _ :<|> f :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroCheckSending auth = let (_ :<|> _ :<|> _ :<|> f :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroBalance auth = let (_ :<|> _ :<|> _ :<|> _ :<|> f :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroCheckTariff auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> f :<|> _ :<|> _ :<|> _ :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroSenders auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> f :<|> _ :<|> _ :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroSign auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> f :<|> _ :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroListGroups auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> (f :<|> _ :<|> _) :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroAddGroup auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> (_ :<|> f :<|> _) :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroDeleteGroup auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> (_ :<|> _ :<|> f) :<|> _ :<|> _) = smsAeroClient auth in f
smsAeroAddPhone auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> (f :<|> _) :<|> _) = smsAeroClient auth in f
smsAeroDeletePhone auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> (_ :<|> f) :<|> _) = smsAeroClient auth in f
smsAeroAddToBlacklist auth = let (_ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> f) = smsAeroClient auth in f