module Network.Google.FirebaseDynamicLinks.Types.Product where
import Network.Google.FirebaseDynamicLinks.Types.Sum
import Network.Google.Prelude
newtype Suffix = Suffix'
{ _sOption :: Maybe SuffixOption
} deriving (Eq,Show,Data,Typeable,Generic)
suffix
:: Suffix
suffix =
Suffix'
{ _sOption = Nothing
}
sOption :: Lens' Suffix (Maybe SuffixOption)
sOption = lens _sOption (\ s a -> s{_sOption = a})
instance FromJSON Suffix where
parseJSON
= withObject "Suffix"
(\ o -> Suffix' <$> (o .:? "option"))
instance ToJSON Suffix where
toJSON Suffix'{..}
= object (catMaybes [("option" .=) <$> _sOption])
data DynamicLinkWarning = DynamicLinkWarning'
{ _dlwWarningCode :: !(Maybe DynamicLinkWarningWarningCode)
, _dlwWarningMessage :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
dynamicLinkWarning
:: DynamicLinkWarning
dynamicLinkWarning =
DynamicLinkWarning'
{ _dlwWarningCode = Nothing
, _dlwWarningMessage = Nothing
}
dlwWarningCode :: Lens' DynamicLinkWarning (Maybe DynamicLinkWarningWarningCode)
dlwWarningCode
= lens _dlwWarningCode
(\ s a -> s{_dlwWarningCode = a})
dlwWarningMessage :: Lens' DynamicLinkWarning (Maybe Text)
dlwWarningMessage
= lens _dlwWarningMessage
(\ s a -> s{_dlwWarningMessage = a})
instance FromJSON DynamicLinkWarning where
parseJSON
= withObject "DynamicLinkWarning"
(\ o ->
DynamicLinkWarning' <$>
(o .:? "warningCode") <*> (o .:? "warningMessage"))
instance ToJSON DynamicLinkWarning where
toJSON DynamicLinkWarning'{..}
= object
(catMaybes
[("warningCode" .=) <$> _dlwWarningCode,
("warningMessage" .=) <$> _dlwWarningMessage])
data CreateShortDynamicLinkRequest = CreateShortDynamicLinkRequest'
{ _csdlrLongDynamicLink :: !(Maybe Text)
, _csdlrSuffix :: !(Maybe Suffix)
, _csdlrDynamicLinkInfo :: !(Maybe DynamicLinkInfo)
} deriving (Eq,Show,Data,Typeable,Generic)
createShortDynamicLinkRequest
:: CreateShortDynamicLinkRequest
createShortDynamicLinkRequest =
CreateShortDynamicLinkRequest'
{ _csdlrLongDynamicLink = Nothing
, _csdlrSuffix = Nothing
, _csdlrDynamicLinkInfo = Nothing
}
csdlrLongDynamicLink :: Lens' CreateShortDynamicLinkRequest (Maybe Text)
csdlrLongDynamicLink
= lens _csdlrLongDynamicLink
(\ s a -> s{_csdlrLongDynamicLink = a})
csdlrSuffix :: Lens' CreateShortDynamicLinkRequest (Maybe Suffix)
csdlrSuffix
= lens _csdlrSuffix (\ s a -> s{_csdlrSuffix = a})
csdlrDynamicLinkInfo :: Lens' CreateShortDynamicLinkRequest (Maybe DynamicLinkInfo)
csdlrDynamicLinkInfo
= lens _csdlrDynamicLinkInfo
(\ s a -> s{_csdlrDynamicLinkInfo = a})
instance FromJSON CreateShortDynamicLinkRequest where
parseJSON
= withObject "CreateShortDynamicLinkRequest"
(\ o ->
CreateShortDynamicLinkRequest' <$>
(o .:? "longDynamicLink") <*> (o .:? "suffix") <*>
(o .:? "dynamicLinkInfo"))
instance ToJSON CreateShortDynamicLinkRequest where
toJSON CreateShortDynamicLinkRequest'{..}
= object
(catMaybes
[("longDynamicLink" .=) <$> _csdlrLongDynamicLink,
("suffix" .=) <$> _csdlrSuffix,
("dynamicLinkInfo" .=) <$> _csdlrDynamicLinkInfo])
data SocialMetaTagInfo = SocialMetaTagInfo'
{ _smtiSocialImageLink :: !(Maybe Text)
, _smtiSocialDescription :: !(Maybe Text)
, _smtiSocialTitle :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
socialMetaTagInfo
:: SocialMetaTagInfo
socialMetaTagInfo =
SocialMetaTagInfo'
{ _smtiSocialImageLink = Nothing
, _smtiSocialDescription = Nothing
, _smtiSocialTitle = Nothing
}
smtiSocialImageLink :: Lens' SocialMetaTagInfo (Maybe Text)
smtiSocialImageLink
= lens _smtiSocialImageLink
(\ s a -> s{_smtiSocialImageLink = a})
smtiSocialDescription :: Lens' SocialMetaTagInfo (Maybe Text)
smtiSocialDescription
= lens _smtiSocialDescription
(\ s a -> s{_smtiSocialDescription = a})
smtiSocialTitle :: Lens' SocialMetaTagInfo (Maybe Text)
smtiSocialTitle
= lens _smtiSocialTitle
(\ s a -> s{_smtiSocialTitle = a})
instance FromJSON SocialMetaTagInfo where
parseJSON
= withObject "SocialMetaTagInfo"
(\ o ->
SocialMetaTagInfo' <$>
(o .:? "socialImageLink") <*>
(o .:? "socialDescription")
<*> (o .:? "socialTitle"))
instance ToJSON SocialMetaTagInfo where
toJSON SocialMetaTagInfo'{..}
= object
(catMaybes
[("socialImageLink" .=) <$> _smtiSocialImageLink,
("socialDescription" .=) <$> _smtiSocialDescription,
("socialTitle" .=) <$> _smtiSocialTitle])
data CreateShortDynamicLinkResponse = CreateShortDynamicLinkResponse'
{ _csdlrPreviewLink :: !(Maybe Text)
, _csdlrWarning :: !(Maybe [DynamicLinkWarning])
, _csdlrShortLink :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
createShortDynamicLinkResponse
:: CreateShortDynamicLinkResponse
createShortDynamicLinkResponse =
CreateShortDynamicLinkResponse'
{ _csdlrPreviewLink = Nothing
, _csdlrWarning = Nothing
, _csdlrShortLink = Nothing
}
csdlrPreviewLink :: Lens' CreateShortDynamicLinkResponse (Maybe Text)
csdlrPreviewLink
= lens _csdlrPreviewLink
(\ s a -> s{_csdlrPreviewLink = a})
csdlrWarning :: Lens' CreateShortDynamicLinkResponse [DynamicLinkWarning]
csdlrWarning
= lens _csdlrWarning (\ s a -> s{_csdlrWarning = a})
. _Default
. _Coerce
csdlrShortLink :: Lens' CreateShortDynamicLinkResponse (Maybe Text)
csdlrShortLink
= lens _csdlrShortLink
(\ s a -> s{_csdlrShortLink = a})
instance FromJSON CreateShortDynamicLinkResponse
where
parseJSON
= withObject "CreateShortDynamicLinkResponse"
(\ o ->
CreateShortDynamicLinkResponse' <$>
(o .:? "previewLink") <*>
(o .:? "warning" .!= mempty)
<*> (o .:? "shortLink"))
instance ToJSON CreateShortDynamicLinkResponse where
toJSON CreateShortDynamicLinkResponse'{..}
= object
(catMaybes
[("previewLink" .=) <$> _csdlrPreviewLink,
("warning" .=) <$> _csdlrWarning,
("shortLink" .=) <$> _csdlrShortLink])
data IosInfo = IosInfo'
{ _iiIosBundleId :: !(Maybe Text)
, _iiIosIPadBundleId :: !(Maybe Text)
, _iiIosAppStoreId :: !(Maybe Text)
, _iiIosIPadFallbackLink :: !(Maybe Text)
, _iiIosCustomScheme :: !(Maybe Text)
, _iiIosFallbackLink :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
iosInfo
:: IosInfo
iosInfo =
IosInfo'
{ _iiIosBundleId = Nothing
, _iiIosIPadBundleId = Nothing
, _iiIosAppStoreId = Nothing
, _iiIosIPadFallbackLink = Nothing
, _iiIosCustomScheme = Nothing
, _iiIosFallbackLink = Nothing
}
iiIosBundleId :: Lens' IosInfo (Maybe Text)
iiIosBundleId
= lens _iiIosBundleId
(\ s a -> s{_iiIosBundleId = a})
iiIosIPadBundleId :: Lens' IosInfo (Maybe Text)
iiIosIPadBundleId
= lens _iiIosIPadBundleId
(\ s a -> s{_iiIosIPadBundleId = a})
iiIosAppStoreId :: Lens' IosInfo (Maybe Text)
iiIosAppStoreId
= lens _iiIosAppStoreId
(\ s a -> s{_iiIosAppStoreId = a})
iiIosIPadFallbackLink :: Lens' IosInfo (Maybe Text)
iiIosIPadFallbackLink
= lens _iiIosIPadFallbackLink
(\ s a -> s{_iiIosIPadFallbackLink = a})
iiIosCustomScheme :: Lens' IosInfo (Maybe Text)
iiIosCustomScheme
= lens _iiIosCustomScheme
(\ s a -> s{_iiIosCustomScheme = a})
iiIosFallbackLink :: Lens' IosInfo (Maybe Text)
iiIosFallbackLink
= lens _iiIosFallbackLink
(\ s a -> s{_iiIosFallbackLink = a})
instance FromJSON IosInfo where
parseJSON
= withObject "IosInfo"
(\ o ->
IosInfo' <$>
(o .:? "iosBundleId") <*> (o .:? "iosIpadBundleId")
<*> (o .:? "iosAppStoreId")
<*> (o .:? "iosIpadFallbackLink")
<*> (o .:? "iosCustomScheme")
<*> (o .:? "iosFallbackLink"))
instance ToJSON IosInfo where
toJSON IosInfo'{..}
= object
(catMaybes
[("iosBundleId" .=) <$> _iiIosBundleId,
("iosIpadBundleId" .=) <$> _iiIosIPadBundleId,
("iosAppStoreId" .=) <$> _iiIosAppStoreId,
("iosIpadFallbackLink" .=) <$>
_iiIosIPadFallbackLink,
("iosCustomScheme" .=) <$> _iiIosCustomScheme,
("iosFallbackLink" .=) <$> _iiIosFallbackLink])
data DynamicLinkInfo = DynamicLinkInfo'
{ _dliSocialMetaTagInfo :: !(Maybe SocialMetaTagInfo)
, _dliDynamicLinkDomain :: !(Maybe Text)
, _dliLink :: !(Maybe Text)
, _dliIosInfo :: !(Maybe IosInfo)
, _dliAndroidInfo :: !(Maybe AndroidInfo)
, _dliAnalyticsInfo :: !(Maybe AnalyticsInfo)
} deriving (Eq,Show,Data,Typeable,Generic)
dynamicLinkInfo
:: DynamicLinkInfo
dynamicLinkInfo =
DynamicLinkInfo'
{ _dliSocialMetaTagInfo = Nothing
, _dliDynamicLinkDomain = Nothing
, _dliLink = Nothing
, _dliIosInfo = Nothing
, _dliAndroidInfo = Nothing
, _dliAnalyticsInfo = Nothing
}
dliSocialMetaTagInfo :: Lens' DynamicLinkInfo (Maybe SocialMetaTagInfo)
dliSocialMetaTagInfo
= lens _dliSocialMetaTagInfo
(\ s a -> s{_dliSocialMetaTagInfo = a})
dliDynamicLinkDomain :: Lens' DynamicLinkInfo (Maybe Text)
dliDynamicLinkDomain
= lens _dliDynamicLinkDomain
(\ s a -> s{_dliDynamicLinkDomain = a})
dliLink :: Lens' DynamicLinkInfo (Maybe Text)
dliLink = lens _dliLink (\ s a -> s{_dliLink = a})
dliIosInfo :: Lens' DynamicLinkInfo (Maybe IosInfo)
dliIosInfo
= lens _dliIosInfo (\ s a -> s{_dliIosInfo = a})
dliAndroidInfo :: Lens' DynamicLinkInfo (Maybe AndroidInfo)
dliAndroidInfo
= lens _dliAndroidInfo
(\ s a -> s{_dliAndroidInfo = a})
dliAnalyticsInfo :: Lens' DynamicLinkInfo (Maybe AnalyticsInfo)
dliAnalyticsInfo
= lens _dliAnalyticsInfo
(\ s a -> s{_dliAnalyticsInfo = a})
instance FromJSON DynamicLinkInfo where
parseJSON
= withObject "DynamicLinkInfo"
(\ o ->
DynamicLinkInfo' <$>
(o .:? "socialMetaTagInfo") <*>
(o .:? "dynamicLinkDomain")
<*> (o .:? "link")
<*> (o .:? "iosInfo")
<*> (o .:? "androidInfo")
<*> (o .:? "analyticsInfo"))
instance ToJSON DynamicLinkInfo where
toJSON DynamicLinkInfo'{..}
= object
(catMaybes
[("socialMetaTagInfo" .=) <$> _dliSocialMetaTagInfo,
("dynamicLinkDomain" .=) <$> _dliDynamicLinkDomain,
("link" .=) <$> _dliLink,
("iosInfo" .=) <$> _dliIosInfo,
("androidInfo" .=) <$> _dliAndroidInfo,
("analyticsInfo" .=) <$> _dliAnalyticsInfo])
data AndroidInfo = AndroidInfo'
{ _aiAndroidMinPackageVersionCode :: !(Maybe Text)
, _aiAndroidFallbackLink :: !(Maybe Text)
, _aiAndroidLink :: !(Maybe Text)
, _aiAndroidPackageName :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
androidInfo
:: AndroidInfo
androidInfo =
AndroidInfo'
{ _aiAndroidMinPackageVersionCode = Nothing
, _aiAndroidFallbackLink = Nothing
, _aiAndroidLink = Nothing
, _aiAndroidPackageName = Nothing
}
aiAndroidMinPackageVersionCode :: Lens' AndroidInfo (Maybe Text)
aiAndroidMinPackageVersionCode
= lens _aiAndroidMinPackageVersionCode
(\ s a -> s{_aiAndroidMinPackageVersionCode = a})
aiAndroidFallbackLink :: Lens' AndroidInfo (Maybe Text)
aiAndroidFallbackLink
= lens _aiAndroidFallbackLink
(\ s a -> s{_aiAndroidFallbackLink = a})
aiAndroidLink :: Lens' AndroidInfo (Maybe Text)
aiAndroidLink
= lens _aiAndroidLink
(\ s a -> s{_aiAndroidLink = a})
aiAndroidPackageName :: Lens' AndroidInfo (Maybe Text)
aiAndroidPackageName
= lens _aiAndroidPackageName
(\ s a -> s{_aiAndroidPackageName = a})
instance FromJSON AndroidInfo where
parseJSON
= withObject "AndroidInfo"
(\ o ->
AndroidInfo' <$>
(o .:? "androidMinPackageVersionCode") <*>
(o .:? "androidFallbackLink")
<*> (o .:? "androidLink")
<*> (o .:? "androidPackageName"))
instance ToJSON AndroidInfo where
toJSON AndroidInfo'{..}
= object
(catMaybes
[("androidMinPackageVersionCode" .=) <$>
_aiAndroidMinPackageVersionCode,
("androidFallbackLink" .=) <$>
_aiAndroidFallbackLink,
("androidLink" .=) <$> _aiAndroidLink,
("androidPackageName" .=) <$> _aiAndroidPackageName])
data AnalyticsInfo = AnalyticsInfo'
{ _aiItunesConnectAnalytics :: !(Maybe ITunesConnectAnalytics)
, _aiGooglePlayAnalytics :: !(Maybe GooglePlayAnalytics)
} deriving (Eq,Show,Data,Typeable,Generic)
analyticsInfo
:: AnalyticsInfo
analyticsInfo =
AnalyticsInfo'
{ _aiItunesConnectAnalytics = Nothing
, _aiGooglePlayAnalytics = Nothing
}
aiItunesConnectAnalytics :: Lens' AnalyticsInfo (Maybe ITunesConnectAnalytics)
aiItunesConnectAnalytics
= lens _aiItunesConnectAnalytics
(\ s a -> s{_aiItunesConnectAnalytics = a})
aiGooglePlayAnalytics :: Lens' AnalyticsInfo (Maybe GooglePlayAnalytics)
aiGooglePlayAnalytics
= lens _aiGooglePlayAnalytics
(\ s a -> s{_aiGooglePlayAnalytics = a})
instance FromJSON AnalyticsInfo where
parseJSON
= withObject "AnalyticsInfo"
(\ o ->
AnalyticsInfo' <$>
(o .:? "itunesConnectAnalytics") <*>
(o .:? "googlePlayAnalytics"))
instance ToJSON AnalyticsInfo where
toJSON AnalyticsInfo'{..}
= object
(catMaybes
[("itunesConnectAnalytics" .=) <$>
_aiItunesConnectAnalytics,
("googlePlayAnalytics" .=) <$>
_aiGooglePlayAnalytics])
data ITunesConnectAnalytics = ITunesConnectAnalytics'
{ _itcaAt :: !(Maybe Text)
, _itcaMt :: !(Maybe Text)
, _itcaPt :: !(Maybe Text)
, _itcaCt :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
iTunesConnectAnalytics
:: ITunesConnectAnalytics
iTunesConnectAnalytics =
ITunesConnectAnalytics'
{ _itcaAt = Nothing
, _itcaMt = Nothing
, _itcaPt = Nothing
, _itcaCt = Nothing
}
itcaAt :: Lens' ITunesConnectAnalytics (Maybe Text)
itcaAt = lens _itcaAt (\ s a -> s{_itcaAt = a})
itcaMt :: Lens' ITunesConnectAnalytics (Maybe Text)
itcaMt = lens _itcaMt (\ s a -> s{_itcaMt = a})
itcaPt :: Lens' ITunesConnectAnalytics (Maybe Text)
itcaPt = lens _itcaPt (\ s a -> s{_itcaPt = a})
itcaCt :: Lens' ITunesConnectAnalytics (Maybe Text)
itcaCt = lens _itcaCt (\ s a -> s{_itcaCt = a})
instance FromJSON ITunesConnectAnalytics where
parseJSON
= withObject "ITunesConnectAnalytics"
(\ o ->
ITunesConnectAnalytics' <$>
(o .:? "at") <*> (o .:? "mt") <*> (o .:? "pt") <*>
(o .:? "ct"))
instance ToJSON ITunesConnectAnalytics where
toJSON ITunesConnectAnalytics'{..}
= object
(catMaybes
[("at" .=) <$> _itcaAt, ("mt" .=) <$> _itcaMt,
("pt" .=) <$> _itcaPt, ("ct" .=) <$> _itcaCt])
data GooglePlayAnalytics = GooglePlayAnalytics'
{ _gpaUtmContent :: !(Maybe Text)
, _gpaUtmMedium :: !(Maybe Text)
, _gpaUtmTerm :: !(Maybe Text)
, _gpaUtmCampaign :: !(Maybe Text)
, _gpaGclid :: !(Maybe Text)
, _gpaUtmSource :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
googlePlayAnalytics
:: GooglePlayAnalytics
googlePlayAnalytics =
GooglePlayAnalytics'
{ _gpaUtmContent = Nothing
, _gpaUtmMedium = Nothing
, _gpaUtmTerm = Nothing
, _gpaUtmCampaign = Nothing
, _gpaGclid = Nothing
, _gpaUtmSource = Nothing
}
gpaUtmContent :: Lens' GooglePlayAnalytics (Maybe Text)
gpaUtmContent
= lens _gpaUtmContent
(\ s a -> s{_gpaUtmContent = a})
gpaUtmMedium :: Lens' GooglePlayAnalytics (Maybe Text)
gpaUtmMedium
= lens _gpaUtmMedium (\ s a -> s{_gpaUtmMedium = a})
gpaUtmTerm :: Lens' GooglePlayAnalytics (Maybe Text)
gpaUtmTerm
= lens _gpaUtmTerm (\ s a -> s{_gpaUtmTerm = a})
gpaUtmCampaign :: Lens' GooglePlayAnalytics (Maybe Text)
gpaUtmCampaign
= lens _gpaUtmCampaign
(\ s a -> s{_gpaUtmCampaign = a})
gpaGclid :: Lens' GooglePlayAnalytics (Maybe Text)
gpaGclid = lens _gpaGclid (\ s a -> s{_gpaGclid = a})
gpaUtmSource :: Lens' GooglePlayAnalytics (Maybe Text)
gpaUtmSource
= lens _gpaUtmSource (\ s a -> s{_gpaUtmSource = a})
instance FromJSON GooglePlayAnalytics where
parseJSON
= withObject "GooglePlayAnalytics"
(\ o ->
GooglePlayAnalytics' <$>
(o .:? "utmContent") <*> (o .:? "utmMedium") <*>
(o .:? "utmTerm")
<*> (o .:? "utmCampaign")
<*> (o .:? "gclid")
<*> (o .:? "utmSource"))
instance ToJSON GooglePlayAnalytics where
toJSON GooglePlayAnalytics'{..}
= object
(catMaybes
[("utmContent" .=) <$> _gpaUtmContent,
("utmMedium" .=) <$> _gpaUtmMedium,
("utmTerm" .=) <$> _gpaUtmTerm,
("utmCampaign" .=) <$> _gpaUtmCampaign,
("gclid" .=) <$> _gpaGclid,
("utmSource" .=) <$> _gpaUtmSource])