{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.PhotosLibrary.Types.Product where
import Network.Google.PhotosLibrary.Types.Sum
import Network.Google.Prelude
data LatLng = LatLng'
{ _llLatitude :: !(Maybe (Textual Double))
, _llLongitude :: !(Maybe (Textual Double))
} deriving (Eq,Show,Data,Typeable,Generic)
latLng
:: LatLng
latLng =
LatLng'
{ _llLatitude = Nothing
, _llLongitude = Nothing
}
llLatitude :: Lens' LatLng (Maybe Double)
llLatitude
= lens _llLatitude (\ s a -> s{_llLatitude = a}) .
mapping _Coerce
llLongitude :: Lens' LatLng (Maybe Double)
llLongitude
= lens _llLongitude (\ s a -> s{_llLongitude = a}) .
mapping _Coerce
instance FromJSON LatLng where
parseJSON
= withObject "LatLng"
(\ o ->
LatLng' <$>
(o .:? "latitude") <*> (o .:? "longitude"))
instance ToJSON LatLng where
toJSON LatLng'{..}
= object
(catMaybes
[("latitude" .=) <$> _llLatitude,
("longitude" .=) <$> _llLongitude])
newtype LocationEnrichment = LocationEnrichment'
{ _leLocation :: Maybe Location
} deriving (Eq,Show,Data,Typeable,Generic)
locationEnrichment
:: LocationEnrichment
locationEnrichment =
LocationEnrichment'
{ _leLocation = Nothing
}
leLocation :: Lens' LocationEnrichment (Maybe Location)
leLocation
= lens _leLocation (\ s a -> s{_leLocation = a})
instance FromJSON LocationEnrichment where
parseJSON
= withObject "LocationEnrichment"
(\ o -> LocationEnrichment' <$> (o .:? "location"))
instance ToJSON LocationEnrichment where
toJSON LocationEnrichment'{..}
= object
(catMaybes [("location" .=) <$> _leLocation])
data DateFilter = DateFilter'
{ _dfDates :: !(Maybe [Date])
, _dfRanges :: !(Maybe [DateRange])
} deriving (Eq,Show,Data,Typeable,Generic)
dateFilter
:: DateFilter
dateFilter =
DateFilter'
{ _dfDates = Nothing
, _dfRanges = Nothing
}
dfDates :: Lens' DateFilter [Date]
dfDates
= lens _dfDates (\ s a -> s{_dfDates = a}) . _Default
. _Coerce
dfRanges :: Lens' DateFilter [DateRange]
dfRanges
= lens _dfRanges (\ s a -> s{_dfRanges = a}) .
_Default
. _Coerce
instance FromJSON DateFilter where
parseJSON
= withObject "DateFilter"
(\ o ->
DateFilter' <$>
(o .:? "dates" .!= mempty) <*>
(o .:? "ranges" .!= mempty))
instance ToJSON DateFilter where
toJSON DateFilter'{..}
= object
(catMaybes
[("dates" .=) <$> _dfDates,
("ranges" .=) <$> _dfRanges])
data Photo = Photo'
{ _pFocalLength :: !(Maybe (Textual Double))
, _pCameraMake :: !(Maybe Text)
, _pExposureTime :: !(Maybe GDuration)
, _pCameraModel :: !(Maybe Text)
, _pIsoEquivalent :: !(Maybe (Textual Int32))
, _pApertureFNumber :: !(Maybe (Textual Double))
} deriving (Eq,Show,Data,Typeable,Generic)
photo
:: Photo
photo =
Photo'
{ _pFocalLength = Nothing
, _pCameraMake = Nothing
, _pExposureTime = Nothing
, _pCameraModel = Nothing
, _pIsoEquivalent = Nothing
, _pApertureFNumber = Nothing
}
pFocalLength :: Lens' Photo (Maybe Double)
pFocalLength
= lens _pFocalLength (\ s a -> s{_pFocalLength = a})
. mapping _Coerce
pCameraMake :: Lens' Photo (Maybe Text)
pCameraMake
= lens _pCameraMake (\ s a -> s{_pCameraMake = a})
pExposureTime :: Lens' Photo (Maybe Scientific)
pExposureTime
= lens _pExposureTime
(\ s a -> s{_pExposureTime = a})
. mapping _GDuration
pCameraModel :: Lens' Photo (Maybe Text)
pCameraModel
= lens _pCameraModel (\ s a -> s{_pCameraModel = a})
pIsoEquivalent :: Lens' Photo (Maybe Int32)
pIsoEquivalent
= lens _pIsoEquivalent
(\ s a -> s{_pIsoEquivalent = a})
. mapping _Coerce
pApertureFNumber :: Lens' Photo (Maybe Double)
pApertureFNumber
= lens _pApertureFNumber
(\ s a -> s{_pApertureFNumber = a})
. mapping _Coerce
instance FromJSON Photo where
parseJSON
= withObject "Photo"
(\ o ->
Photo' <$>
(o .:? "focalLength") <*> (o .:? "cameraMake") <*>
(o .:? "exposureTime")
<*> (o .:? "cameraModel")
<*> (o .:? "isoEquivalent")
<*> (o .:? "apertureFNumber"))
instance ToJSON Photo where
toJSON Photo'{..}
= object
(catMaybes
[("focalLength" .=) <$> _pFocalLength,
("cameraMake" .=) <$> _pCameraMake,
("exposureTime" .=) <$> _pExposureTime,
("cameraModel" .=) <$> _pCameraModel,
("isoEquivalent" .=) <$> _pIsoEquivalent,
("apertureFNumber" .=) <$> _pApertureFNumber])
newtype TextEnrichment = TextEnrichment'
{ _teText :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
textEnrichment
:: TextEnrichment
textEnrichment =
TextEnrichment'
{ _teText = Nothing
}
teText :: Lens' TextEnrichment (Maybe Text)
teText = lens _teText (\ s a -> s{_teText = a})
instance FromJSON TextEnrichment where
parseJSON
= withObject "TextEnrichment"
(\ o -> TextEnrichment' <$> (o .:? "text"))
instance ToJSON TextEnrichment where
toJSON TextEnrichment'{..}
= object (catMaybes [("text" .=) <$> _teText])
data Status = Status'
{ _sDetails :: !(Maybe [StatusDetailsItem])
, _sCode :: !(Maybe (Textual Int32))
, _sMessage :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
status
:: Status
status =
Status'
{ _sDetails = Nothing
, _sCode = Nothing
, _sMessage = Nothing
}
sDetails :: Lens' Status [StatusDetailsItem]
sDetails
= lens _sDetails (\ s a -> s{_sDetails = a}) .
_Default
. _Coerce
sCode :: Lens' Status (Maybe Int32)
sCode
= lens _sCode (\ s a -> s{_sCode = a}) .
mapping _Coerce
sMessage :: Lens' Status (Maybe Text)
sMessage = lens _sMessage (\ s a -> s{_sMessage = a})
instance FromJSON Status where
parseJSON
= withObject "Status"
(\ o ->
Status' <$>
(o .:? "details" .!= mempty) <*> (o .:? "code") <*>
(o .:? "message"))
instance ToJSON Status where
toJSON Status'{..}
= object
(catMaybes
[("details" .=) <$> _sDetails,
("code" .=) <$> _sCode,
("message" .=) <$> _sMessage])
newtype AddEnrichmentToAlbumResponse = AddEnrichmentToAlbumResponse'
{ _aetarEnrichmentItem :: Maybe EnrichmentItem
} deriving (Eq,Show,Data,Typeable,Generic)
addEnrichmentToAlbumResponse
:: AddEnrichmentToAlbumResponse
addEnrichmentToAlbumResponse =
AddEnrichmentToAlbumResponse'
{ _aetarEnrichmentItem = Nothing
}
aetarEnrichmentItem :: Lens' AddEnrichmentToAlbumResponse (Maybe EnrichmentItem)
aetarEnrichmentItem
= lens _aetarEnrichmentItem
(\ s a -> s{_aetarEnrichmentItem = a})
instance FromJSON AddEnrichmentToAlbumResponse where
parseJSON
= withObject "AddEnrichmentToAlbumResponse"
(\ o ->
AddEnrichmentToAlbumResponse' <$>
(o .:? "enrichmentItem"))
instance ToJSON AddEnrichmentToAlbumResponse where
toJSON AddEnrichmentToAlbumResponse'{..}
= object
(catMaybes
[("enrichmentItem" .=) <$> _aetarEnrichmentItem])
data SearchMediaItemsResponse = SearchMediaItemsResponse'
{ _smirNextPageToken :: !(Maybe Text)
, _smirMediaItems :: !(Maybe [MediaItem])
} deriving (Eq,Show,Data,Typeable,Generic)
searchMediaItemsResponse
:: SearchMediaItemsResponse
searchMediaItemsResponse =
SearchMediaItemsResponse'
{ _smirNextPageToken = Nothing
, _smirMediaItems = Nothing
}
smirNextPageToken :: Lens' SearchMediaItemsResponse (Maybe Text)
smirNextPageToken
= lens _smirNextPageToken
(\ s a -> s{_smirNextPageToken = a})
smirMediaItems :: Lens' SearchMediaItemsResponse [MediaItem]
smirMediaItems
= lens _smirMediaItems
(\ s a -> s{_smirMediaItems = a})
. _Default
. _Coerce
instance FromJSON SearchMediaItemsResponse where
parseJSON
= withObject "SearchMediaItemsResponse"
(\ o ->
SearchMediaItemsResponse' <$>
(o .:? "nextPageToken") <*>
(o .:? "mediaItems" .!= mempty))
instance ToJSON SearchMediaItemsResponse where
toJSON SearchMediaItemsResponse'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _smirNextPageToken,
("mediaItems" .=) <$> _smirMediaItems])
data JoinSharedAlbumResponse =
JoinSharedAlbumResponse'
deriving (Eq,Show,Data,Typeable,Generic)
joinSharedAlbumResponse
:: JoinSharedAlbumResponse
joinSharedAlbumResponse = JoinSharedAlbumResponse'
instance FromJSON JoinSharedAlbumResponse where
parseJSON
= withObject "JoinSharedAlbumResponse"
(\ o -> pure JoinSharedAlbumResponse')
instance ToJSON JoinSharedAlbumResponse where
toJSON = const emptyObject
newtype CreateAlbumRequest = CreateAlbumRequest'
{ _carAlbum :: Maybe Album
} deriving (Eq,Show,Data,Typeable,Generic)
createAlbumRequest
:: CreateAlbumRequest
createAlbumRequest =
CreateAlbumRequest'
{ _carAlbum = Nothing
}
carAlbum :: Lens' CreateAlbumRequest (Maybe Album)
carAlbum = lens _carAlbum (\ s a -> s{_carAlbum = a})
instance FromJSON CreateAlbumRequest where
parseJSON
= withObject "CreateAlbumRequest"
(\ o -> CreateAlbumRequest' <$> (o .:? "album"))
instance ToJSON CreateAlbumRequest where
toJSON CreateAlbumRequest'{..}
= object (catMaybes [("album" .=) <$> _carAlbum])
data Location = Location'
{ _lLatlng :: !(Maybe LatLng)
, _lLocationName :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
location
:: Location
location =
Location'
{ _lLatlng = Nothing
, _lLocationName = Nothing
}
lLatlng :: Lens' Location (Maybe LatLng)
lLatlng = lens _lLatlng (\ s a -> s{_lLatlng = a})
lLocationName :: Lens' Location (Maybe Text)
lLocationName
= lens _lLocationName
(\ s a -> s{_lLocationName = a})
instance FromJSON Location where
parseJSON
= withObject "Location"
(\ o ->
Location' <$>
(o .:? "latlng") <*> (o .:? "locationName"))
instance ToJSON Location where
toJSON Location'{..}
= object
(catMaybes
[("latlng" .=) <$> _lLatlng,
("locationName" .=) <$> _lLocationName])
data NewEnrichmentItem = NewEnrichmentItem'
{ _neiLocationEnrichment :: !(Maybe LocationEnrichment)
, _neiTextEnrichment :: !(Maybe TextEnrichment)
, _neiMapEnrichment :: !(Maybe MapEnrichment)
} deriving (Eq,Show,Data,Typeable,Generic)
newEnrichmentItem
:: NewEnrichmentItem
newEnrichmentItem =
NewEnrichmentItem'
{ _neiLocationEnrichment = Nothing
, _neiTextEnrichment = Nothing
, _neiMapEnrichment = Nothing
}
neiLocationEnrichment :: Lens' NewEnrichmentItem (Maybe LocationEnrichment)
neiLocationEnrichment
= lens _neiLocationEnrichment
(\ s a -> s{_neiLocationEnrichment = a})
neiTextEnrichment :: Lens' NewEnrichmentItem (Maybe TextEnrichment)
neiTextEnrichment
= lens _neiTextEnrichment
(\ s a -> s{_neiTextEnrichment = a})
neiMapEnrichment :: Lens' NewEnrichmentItem (Maybe MapEnrichment)
neiMapEnrichment
= lens _neiMapEnrichment
(\ s a -> s{_neiMapEnrichment = a})
instance FromJSON NewEnrichmentItem where
parseJSON
= withObject "NewEnrichmentItem"
(\ o ->
NewEnrichmentItem' <$>
(o .:? "locationEnrichment") <*>
(o .:? "textEnrichment")
<*> (o .:? "mapEnrichment"))
instance ToJSON NewEnrichmentItem where
toJSON NewEnrichmentItem'{..}
= object
(catMaybes
[("locationEnrichment" .=) <$>
_neiLocationEnrichment,
("textEnrichment" .=) <$> _neiTextEnrichment,
("mapEnrichment" .=) <$> _neiMapEnrichment])
data ShareInfo = ShareInfo'
{ _siShareableURL :: !(Maybe Text)
, _siShareToken :: !(Maybe Text)
, _siSharedAlbumOptions :: !(Maybe SharedAlbumOptions)
} deriving (Eq,Show,Data,Typeable,Generic)
shareInfo
:: ShareInfo
shareInfo =
ShareInfo'
{ _siShareableURL = Nothing
, _siShareToken = Nothing
, _siSharedAlbumOptions = Nothing
}
siShareableURL :: Lens' ShareInfo (Maybe Text)
siShareableURL
= lens _siShareableURL
(\ s a -> s{_siShareableURL = a})
siShareToken :: Lens' ShareInfo (Maybe Text)
siShareToken
= lens _siShareToken (\ s a -> s{_siShareToken = a})
siSharedAlbumOptions :: Lens' ShareInfo (Maybe SharedAlbumOptions)
siSharedAlbumOptions
= lens _siSharedAlbumOptions
(\ s a -> s{_siSharedAlbumOptions = a})
instance FromJSON ShareInfo where
parseJSON
= withObject "ShareInfo"
(\ o ->
ShareInfo' <$>
(o .:? "shareableUrl") <*> (o .:? "shareToken") <*>
(o .:? "sharedAlbumOptions"))
instance ToJSON ShareInfo where
toJSON ShareInfo'{..}
= object
(catMaybes
[("shareableUrl" .=) <$> _siShareableURL,
("shareToken" .=) <$> _siShareToken,
("sharedAlbumOptions" .=) <$> _siSharedAlbumOptions])
data BatchCreateMediaItemsRequest = BatchCreateMediaItemsRequest'
{ _bcmirAlbumId :: !(Maybe Text)
, _bcmirNewMediaItems :: !(Maybe [NewMediaItem])
, _bcmirAlbumPosition :: !(Maybe AlbumPosition)
} deriving (Eq,Show,Data,Typeable,Generic)
batchCreateMediaItemsRequest
:: BatchCreateMediaItemsRequest
batchCreateMediaItemsRequest =
BatchCreateMediaItemsRequest'
{ _bcmirAlbumId = Nothing
, _bcmirNewMediaItems = Nothing
, _bcmirAlbumPosition = Nothing
}
bcmirAlbumId :: Lens' BatchCreateMediaItemsRequest (Maybe Text)
bcmirAlbumId
= lens _bcmirAlbumId (\ s a -> s{_bcmirAlbumId = a})
bcmirNewMediaItems :: Lens' BatchCreateMediaItemsRequest [NewMediaItem]
bcmirNewMediaItems
= lens _bcmirNewMediaItems
(\ s a -> s{_bcmirNewMediaItems = a})
. _Default
. _Coerce
bcmirAlbumPosition :: Lens' BatchCreateMediaItemsRequest (Maybe AlbumPosition)
bcmirAlbumPosition
= lens _bcmirAlbumPosition
(\ s a -> s{_bcmirAlbumPosition = a})
instance FromJSON BatchCreateMediaItemsRequest where
parseJSON
= withObject "BatchCreateMediaItemsRequest"
(\ o ->
BatchCreateMediaItemsRequest' <$>
(o .:? "albumId") <*>
(o .:? "newMediaItems" .!= mempty)
<*> (o .:? "albumPosition"))
instance ToJSON BatchCreateMediaItemsRequest where
toJSON BatchCreateMediaItemsRequest'{..}
= object
(catMaybes
[("albumId" .=) <$> _bcmirAlbumId,
("newMediaItems" .=) <$> _bcmirNewMediaItems,
("albumPosition" .=) <$> _bcmirAlbumPosition])
data Filters = Filters'
{ _fDateFilter :: !(Maybe DateFilter)
, _fIncludeArchivedMedia :: !(Maybe Bool)
, _fMediaTypeFilter :: !(Maybe MediaTypeFilter)
, _fContentFilter :: !(Maybe ContentFilter)
} deriving (Eq,Show,Data,Typeable,Generic)
filters
:: Filters
filters =
Filters'
{ _fDateFilter = Nothing
, _fIncludeArchivedMedia = Nothing
, _fMediaTypeFilter = Nothing
, _fContentFilter = Nothing
}
fDateFilter :: Lens' Filters (Maybe DateFilter)
fDateFilter
= lens _fDateFilter (\ s a -> s{_fDateFilter = a})
fIncludeArchivedMedia :: Lens' Filters (Maybe Bool)
fIncludeArchivedMedia
= lens _fIncludeArchivedMedia
(\ s a -> s{_fIncludeArchivedMedia = a})
fMediaTypeFilter :: Lens' Filters (Maybe MediaTypeFilter)
fMediaTypeFilter
= lens _fMediaTypeFilter
(\ s a -> s{_fMediaTypeFilter = a})
fContentFilter :: Lens' Filters (Maybe ContentFilter)
fContentFilter
= lens _fContentFilter
(\ s a -> s{_fContentFilter = a})
instance FromJSON Filters where
parseJSON
= withObject "Filters"
(\ o ->
Filters' <$>
(o .:? "dateFilter") <*>
(o .:? "includeArchivedMedia")
<*> (o .:? "mediaTypeFilter")
<*> (o .:? "contentFilter"))
instance ToJSON Filters where
toJSON Filters'{..}
= object
(catMaybes
[("dateFilter" .=) <$> _fDateFilter,
("includeArchivedMedia" .=) <$>
_fIncludeArchivedMedia,
("mediaTypeFilter" .=) <$> _fMediaTypeFilter,
("contentFilter" .=) <$> _fContentFilter])
newtype StatusDetailsItem = StatusDetailsItem'
{ _sdiAddtional :: HashMap Text JSONValue
} deriving (Eq,Show,Data,Typeable,Generic)
statusDetailsItem
:: HashMap Text JSONValue
-> StatusDetailsItem
statusDetailsItem pSdiAddtional_ =
StatusDetailsItem'
{ _sdiAddtional = _Coerce # pSdiAddtional_
}
sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)
sdiAddtional
= lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})
. _Coerce
instance FromJSON StatusDetailsItem where
parseJSON
= withObject "StatusDetailsItem"
(\ o -> StatusDetailsItem' <$> (parseJSONObject o))
instance ToJSON StatusDetailsItem where
toJSON = toJSON . _sdiAddtional
data DateRange = DateRange'
{ _drEndDate :: !(Maybe Date)
, _drStartDate :: !(Maybe Date)
} deriving (Eq,Show,Data,Typeable,Generic)
dateRange
:: DateRange
dateRange =
DateRange'
{ _drEndDate = Nothing
, _drStartDate = Nothing
}
drEndDate :: Lens' DateRange (Maybe Date)
drEndDate
= lens _drEndDate (\ s a -> s{_drEndDate = a})
drStartDate :: Lens' DateRange (Maybe Date)
drStartDate
= lens _drStartDate (\ s a -> s{_drStartDate = a})
instance FromJSON DateRange where
parseJSON
= withObject "DateRange"
(\ o ->
DateRange' <$>
(o .:? "endDate") <*> (o .:? "startDate"))
instance ToJSON DateRange where
toJSON DateRange'{..}
= object
(catMaybes
[("endDate" .=) <$> _drEndDate,
("startDate" .=) <$> _drStartDate])
data SharedAlbumOptions = SharedAlbumOptions'
{ _saoIsCollaborative :: !(Maybe Bool)
, _saoIsCommentable :: !(Maybe Bool)
} deriving (Eq,Show,Data,Typeable,Generic)
sharedAlbumOptions
:: SharedAlbumOptions
sharedAlbumOptions =
SharedAlbumOptions'
{ _saoIsCollaborative = Nothing
, _saoIsCommentable = Nothing
}
saoIsCollaborative :: Lens' SharedAlbumOptions (Maybe Bool)
saoIsCollaborative
= lens _saoIsCollaborative
(\ s a -> s{_saoIsCollaborative = a})
saoIsCommentable :: Lens' SharedAlbumOptions (Maybe Bool)
saoIsCommentable
= lens _saoIsCommentable
(\ s a -> s{_saoIsCommentable = a})
instance FromJSON SharedAlbumOptions where
parseJSON
= withObject "SharedAlbumOptions"
(\ o ->
SharedAlbumOptions' <$>
(o .:? "isCollaborative") <*>
(o .:? "isCommentable"))
instance ToJSON SharedAlbumOptions where
toJSON SharedAlbumOptions'{..}
= object
(catMaybes
[("isCollaborative" .=) <$> _saoIsCollaborative,
("isCommentable" .=) <$> _saoIsCommentable])
data MediaMetadata = MediaMetadata'
{ _mmCreationTime :: !(Maybe DateTime')
, _mmPhoto :: !(Maybe Photo)
, _mmHeight :: !(Maybe (Textual Int64))
, _mmWidth :: !(Maybe (Textual Int64))
, _mmVideo :: !(Maybe Video)
} deriving (Eq,Show,Data,Typeable,Generic)
mediaMetadata
:: MediaMetadata
mediaMetadata =
MediaMetadata'
{ _mmCreationTime = Nothing
, _mmPhoto = Nothing
, _mmHeight = Nothing
, _mmWidth = Nothing
, _mmVideo = Nothing
}
mmCreationTime :: Lens' MediaMetadata (Maybe UTCTime)
mmCreationTime
= lens _mmCreationTime
(\ s a -> s{_mmCreationTime = a})
. mapping _DateTime
mmPhoto :: Lens' MediaMetadata (Maybe Photo)
mmPhoto = lens _mmPhoto (\ s a -> s{_mmPhoto = a})
mmHeight :: Lens' MediaMetadata (Maybe Int64)
mmHeight
= lens _mmHeight (\ s a -> s{_mmHeight = a}) .
mapping _Coerce
mmWidth :: Lens' MediaMetadata (Maybe Int64)
mmWidth
= lens _mmWidth (\ s a -> s{_mmWidth = a}) .
mapping _Coerce
mmVideo :: Lens' MediaMetadata (Maybe Video)
mmVideo = lens _mmVideo (\ s a -> s{_mmVideo = a})
instance FromJSON MediaMetadata where
parseJSON
= withObject "MediaMetadata"
(\ o ->
MediaMetadata' <$>
(o .:? "creationTime") <*> (o .:? "photo") <*>
(o .:? "height")
<*> (o .:? "width")
<*> (o .:? "video"))
instance ToJSON MediaMetadata where
toJSON MediaMetadata'{..}
= object
(catMaybes
[("creationTime" .=) <$> _mmCreationTime,
("photo" .=) <$> _mmPhoto,
("height" .=) <$> _mmHeight,
("width" .=) <$> _mmWidth,
("video" .=) <$> _mmVideo])
newtype ShareAlbumResponse = ShareAlbumResponse'
{ _sarShareInfo :: Maybe ShareInfo
} deriving (Eq,Show,Data,Typeable,Generic)
shareAlbumResponse
:: ShareAlbumResponse
shareAlbumResponse =
ShareAlbumResponse'
{ _sarShareInfo = Nothing
}
sarShareInfo :: Lens' ShareAlbumResponse (Maybe ShareInfo)
sarShareInfo
= lens _sarShareInfo (\ s a -> s{_sarShareInfo = a})
instance FromJSON ShareAlbumResponse where
parseJSON
= withObject "ShareAlbumResponse"
(\ o -> ShareAlbumResponse' <$> (o .:? "shareInfo"))
instance ToJSON ShareAlbumResponse where
toJSON ShareAlbumResponse'{..}
= object
(catMaybes [("shareInfo" .=) <$> _sarShareInfo])
data Video = Video'
{ _vStatus :: !(Maybe VideoStatus)
, _vCameraMake :: !(Maybe Text)
, _vCameraModel :: !(Maybe Text)
, _vFps :: !(Maybe (Textual Double))
} deriving (Eq,Show,Data,Typeable,Generic)
video
:: Video
video =
Video'
{ _vStatus = Nothing
, _vCameraMake = Nothing
, _vCameraModel = Nothing
, _vFps = Nothing
}
vStatus :: Lens' Video (Maybe VideoStatus)
vStatus = lens _vStatus (\ s a -> s{_vStatus = a})
vCameraMake :: Lens' Video (Maybe Text)
vCameraMake
= lens _vCameraMake (\ s a -> s{_vCameraMake = a})
vCameraModel :: Lens' Video (Maybe Text)
vCameraModel
= lens _vCameraModel (\ s a -> s{_vCameraModel = a})
vFps :: Lens' Video (Maybe Double)
vFps
= lens _vFps (\ s a -> s{_vFps = a}) .
mapping _Coerce
instance FromJSON Video where
parseJSON
= withObject "Video"
(\ o ->
Video' <$>
(o .:? "status") <*> (o .:? "cameraMake") <*>
(o .:? "cameraModel")
<*> (o .:? "fps"))
instance ToJSON Video where
toJSON Video'{..}
= object
(catMaybes
[("status" .=) <$> _vStatus,
("cameraMake" .=) <$> _vCameraMake,
("cameraModel" .=) <$> _vCameraModel,
("fps" .=) <$> _vFps])
data MediaItem = MediaItem'
{ _miProductURL :: !(Maybe Text)
, _miBaseURL :: !(Maybe Text)
, _miMediaMetadata :: !(Maybe MediaMetadata)
, _miMimeType :: !(Maybe Text)
, _miId :: !(Maybe Text)
, _miContributorInfo :: !(Maybe ContributorInfo)
, _miDescription :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
mediaItem
:: MediaItem
mediaItem =
MediaItem'
{ _miProductURL = Nothing
, _miBaseURL = Nothing
, _miMediaMetadata = Nothing
, _miMimeType = Nothing
, _miId = Nothing
, _miContributorInfo = Nothing
, _miDescription = Nothing
}
miProductURL :: Lens' MediaItem (Maybe Text)
miProductURL
= lens _miProductURL (\ s a -> s{_miProductURL = a})
miBaseURL :: Lens' MediaItem (Maybe Text)
miBaseURL
= lens _miBaseURL (\ s a -> s{_miBaseURL = a})
miMediaMetadata :: Lens' MediaItem (Maybe MediaMetadata)
miMediaMetadata
= lens _miMediaMetadata
(\ s a -> s{_miMediaMetadata = a})
miMimeType :: Lens' MediaItem (Maybe Text)
miMimeType
= lens _miMimeType (\ s a -> s{_miMimeType = a})
miId :: Lens' MediaItem (Maybe Text)
miId = lens _miId (\ s a -> s{_miId = a})
miContributorInfo :: Lens' MediaItem (Maybe ContributorInfo)
miContributorInfo
= lens _miContributorInfo
(\ s a -> s{_miContributorInfo = a})
miDescription :: Lens' MediaItem (Maybe Text)
miDescription
= lens _miDescription
(\ s a -> s{_miDescription = a})
instance FromJSON MediaItem where
parseJSON
= withObject "MediaItem"
(\ o ->
MediaItem' <$>
(o .:? "productUrl") <*> (o .:? "baseUrl") <*>
(o .:? "mediaMetadata")
<*> (o .:? "mimeType")
<*> (o .:? "id")
<*> (o .:? "contributorInfo")
<*> (o .:? "description"))
instance ToJSON MediaItem where
toJSON MediaItem'{..}
= object
(catMaybes
[("productUrl" .=) <$> _miProductURL,
("baseUrl" .=) <$> _miBaseURL,
("mediaMetadata" .=) <$> _miMediaMetadata,
("mimeType" .=) <$> _miMimeType, ("id" .=) <$> _miId,
("contributorInfo" .=) <$> _miContributorInfo,
("description" .=) <$> _miDescription])
data Date = Date'
{ _dDay :: !(Maybe (Textual Int32))
, _dYear :: !(Maybe (Textual Int32))
, _dMonth :: !(Maybe (Textual Int32))
} deriving (Eq,Show,Data,Typeable,Generic)
date
:: Date
date =
Date'
{ _dDay = Nothing
, _dYear = Nothing
, _dMonth = Nothing
}
dDay :: Lens' Date (Maybe Int32)
dDay
= lens _dDay (\ s a -> s{_dDay = a}) .
mapping _Coerce
dYear :: Lens' Date (Maybe Int32)
dYear
= lens _dYear (\ s a -> s{_dYear = a}) .
mapping _Coerce
dMonth :: Lens' Date (Maybe Int32)
dMonth
= lens _dMonth (\ s a -> s{_dMonth = a}) .
mapping _Coerce
instance FromJSON Date where
parseJSON
= withObject "Date"
(\ o ->
Date' <$>
(o .:? "day") <*> (o .:? "year") <*> (o .:? "month"))
instance ToJSON Date where
toJSON Date'{..}
= object
(catMaybes
[("day" .=) <$> _dDay, ("year" .=) <$> _dYear,
("month" .=) <$> _dMonth])
newtype EnrichmentItem = EnrichmentItem'
{ _eiId :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
enrichmentItem
:: EnrichmentItem
enrichmentItem =
EnrichmentItem'
{ _eiId = Nothing
}
eiId :: Lens' EnrichmentItem (Maybe Text)
eiId = lens _eiId (\ s a -> s{_eiId = a})
instance FromJSON EnrichmentItem where
parseJSON
= withObject "EnrichmentItem"
(\ o -> EnrichmentItem' <$> (o .:? "id"))
instance ToJSON EnrichmentItem where
toJSON EnrichmentItem'{..}
= object (catMaybes [("id" .=) <$> _eiId])
data ListSharedAlbumsResponse = ListSharedAlbumsResponse'
{ _lsarNextPageToken :: !(Maybe Text)
, _lsarSharedAlbums :: !(Maybe [Album])
} deriving (Eq,Show,Data,Typeable,Generic)
listSharedAlbumsResponse
:: ListSharedAlbumsResponse
listSharedAlbumsResponse =
ListSharedAlbumsResponse'
{ _lsarNextPageToken = Nothing
, _lsarSharedAlbums = Nothing
}
lsarNextPageToken :: Lens' ListSharedAlbumsResponse (Maybe Text)
lsarNextPageToken
= lens _lsarNextPageToken
(\ s a -> s{_lsarNextPageToken = a})
lsarSharedAlbums :: Lens' ListSharedAlbumsResponse [Album]
lsarSharedAlbums
= lens _lsarSharedAlbums
(\ s a -> s{_lsarSharedAlbums = a})
. _Default
. _Coerce
instance FromJSON ListSharedAlbumsResponse where
parseJSON
= withObject "ListSharedAlbumsResponse"
(\ o ->
ListSharedAlbumsResponse' <$>
(o .:? "nextPageToken") <*>
(o .:? "sharedAlbums" .!= mempty))
instance ToJSON ListSharedAlbumsResponse where
toJSON ListSharedAlbumsResponse'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _lsarNextPageToken,
("sharedAlbums" .=) <$> _lsarSharedAlbums])
newtype MediaTypeFilter = MediaTypeFilter'
{ _mtfMediaTypes :: Maybe [Text]
} deriving (Eq,Show,Data,Typeable,Generic)
mediaTypeFilter
:: MediaTypeFilter
mediaTypeFilter =
MediaTypeFilter'
{ _mtfMediaTypes = Nothing
}
mtfMediaTypes :: Lens' MediaTypeFilter [Text]
mtfMediaTypes
= lens _mtfMediaTypes
(\ s a -> s{_mtfMediaTypes = a})
. _Default
. _Coerce
instance FromJSON MediaTypeFilter where
parseJSON
= withObject "MediaTypeFilter"
(\ o ->
MediaTypeFilter' <$> (o .:? "mediaTypes" .!= mempty))
instance ToJSON MediaTypeFilter where
toJSON MediaTypeFilter'{..}
= object
(catMaybes [("mediaTypes" .=) <$> _mtfMediaTypes])
data NewMediaItemResult = NewMediaItemResult'
{ _nmirStatus :: !(Maybe Status)
, _nmirUploadToken :: !(Maybe Text)
, _nmirMediaItem :: !(Maybe MediaItem)
} deriving (Eq,Show,Data,Typeable,Generic)
newMediaItemResult
:: NewMediaItemResult
newMediaItemResult =
NewMediaItemResult'
{ _nmirStatus = Nothing
, _nmirUploadToken = Nothing
, _nmirMediaItem = Nothing
}
nmirStatus :: Lens' NewMediaItemResult (Maybe Status)
nmirStatus
= lens _nmirStatus (\ s a -> s{_nmirStatus = a})
nmirUploadToken :: Lens' NewMediaItemResult (Maybe Text)
nmirUploadToken
= lens _nmirUploadToken
(\ s a -> s{_nmirUploadToken = a})
nmirMediaItem :: Lens' NewMediaItemResult (Maybe MediaItem)
nmirMediaItem
= lens _nmirMediaItem
(\ s a -> s{_nmirMediaItem = a})
instance FromJSON NewMediaItemResult where
parseJSON
= withObject "NewMediaItemResult"
(\ o ->
NewMediaItemResult' <$>
(o .:? "status") <*> (o .:? "uploadToken") <*>
(o .:? "mediaItem"))
instance ToJSON NewMediaItemResult where
toJSON NewMediaItemResult'{..}
= object
(catMaybes
[("status" .=) <$> _nmirStatus,
("uploadToken" .=) <$> _nmirUploadToken,
("mediaItem" .=) <$> _nmirMediaItem])
data Album = Album'
{ _aIsWriteable :: !(Maybe Bool)
, _aProductURL :: !(Maybe Text)
, _aShareInfo :: !(Maybe ShareInfo)
, _aCoverPhotoBaseURL :: !(Maybe Text)
, _aId :: !(Maybe Text)
, _aTotalMediaItems :: !(Maybe (Textual Int64))
, _aTitle :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
album
:: Album
album =
Album'
{ _aIsWriteable = Nothing
, _aProductURL = Nothing
, _aShareInfo = Nothing
, _aCoverPhotoBaseURL = Nothing
, _aId = Nothing
, _aTotalMediaItems = Nothing
, _aTitle = Nothing
}
aIsWriteable :: Lens' Album (Maybe Bool)
aIsWriteable
= lens _aIsWriteable (\ s a -> s{_aIsWriteable = a})
aProductURL :: Lens' Album (Maybe Text)
aProductURL
= lens _aProductURL (\ s a -> s{_aProductURL = a})
aShareInfo :: Lens' Album (Maybe ShareInfo)
aShareInfo
= lens _aShareInfo (\ s a -> s{_aShareInfo = a})
aCoverPhotoBaseURL :: Lens' Album (Maybe Text)
aCoverPhotoBaseURL
= lens _aCoverPhotoBaseURL
(\ s a -> s{_aCoverPhotoBaseURL = a})
aId :: Lens' Album (Maybe Text)
aId = lens _aId (\ s a -> s{_aId = a})
aTotalMediaItems :: Lens' Album (Maybe Int64)
aTotalMediaItems
= lens _aTotalMediaItems
(\ s a -> s{_aTotalMediaItems = a})
. mapping _Coerce
aTitle :: Lens' Album (Maybe Text)
aTitle = lens _aTitle (\ s a -> s{_aTitle = a})
instance FromJSON Album where
parseJSON
= withObject "Album"
(\ o ->
Album' <$>
(o .:? "isWriteable") <*> (o .:? "productUrl") <*>
(o .:? "shareInfo")
<*> (o .:? "coverPhotoBaseUrl")
<*> (o .:? "id")
<*> (o .:? "totalMediaItems")
<*> (o .:? "title"))
instance ToJSON Album where
toJSON Album'{..}
= object
(catMaybes
[("isWriteable" .=) <$> _aIsWriteable,
("productUrl" .=) <$> _aProductURL,
("shareInfo" .=) <$> _aShareInfo,
("coverPhotoBaseUrl" .=) <$> _aCoverPhotoBaseURL,
("id" .=) <$> _aId,
("totalMediaItems" .=) <$> _aTotalMediaItems,
("title" .=) <$> _aTitle])
newtype SimpleMediaItem = SimpleMediaItem'
{ _smiUploadToken :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
simpleMediaItem
:: SimpleMediaItem
simpleMediaItem =
SimpleMediaItem'
{ _smiUploadToken = Nothing
}
smiUploadToken :: Lens' SimpleMediaItem (Maybe Text)
smiUploadToken
= lens _smiUploadToken
(\ s a -> s{_smiUploadToken = a})
instance FromJSON SimpleMediaItem where
parseJSON
= withObject "SimpleMediaItem"
(\ o -> SimpleMediaItem' <$> (o .:? "uploadToken"))
instance ToJSON SimpleMediaItem where
toJSON SimpleMediaItem'{..}
= object
(catMaybes [("uploadToken" .=) <$> _smiUploadToken])
data ContributorInfo = ContributorInfo'
{ _ciProFilePictureBaseURL :: !(Maybe Text)
, _ciDisplayName :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
contributorInfo
:: ContributorInfo
contributorInfo =
ContributorInfo'
{ _ciProFilePictureBaseURL = Nothing
, _ciDisplayName = Nothing
}
ciProFilePictureBaseURL :: Lens' ContributorInfo (Maybe Text)
ciProFilePictureBaseURL
= lens _ciProFilePictureBaseURL
(\ s a -> s{_ciProFilePictureBaseURL = a})
ciDisplayName :: Lens' ContributorInfo (Maybe Text)
ciDisplayName
= lens _ciDisplayName
(\ s a -> s{_ciDisplayName = a})
instance FromJSON ContributorInfo where
parseJSON
= withObject "ContributorInfo"
(\ o ->
ContributorInfo' <$>
(o .:? "profilePictureBaseUrl") <*>
(o .:? "displayName"))
instance ToJSON ContributorInfo where
toJSON ContributorInfo'{..}
= object
(catMaybes
[("profilePictureBaseUrl" .=) <$>
_ciProFilePictureBaseURL,
("displayName" .=) <$> _ciDisplayName])
data ListAlbumsResponse = ListAlbumsResponse'
{ _larNextPageToken :: !(Maybe Text)
, _larAlbums :: !(Maybe [Album])
} deriving (Eq,Show,Data,Typeable,Generic)
listAlbumsResponse
:: ListAlbumsResponse
listAlbumsResponse =
ListAlbumsResponse'
{ _larNextPageToken = Nothing
, _larAlbums = Nothing
}
larNextPageToken :: Lens' ListAlbumsResponse (Maybe Text)
larNextPageToken
= lens _larNextPageToken
(\ s a -> s{_larNextPageToken = a})
larAlbums :: Lens' ListAlbumsResponse [Album]
larAlbums
= lens _larAlbums (\ s a -> s{_larAlbums = a}) .
_Default
. _Coerce
instance FromJSON ListAlbumsResponse where
parseJSON
= withObject "ListAlbumsResponse"
(\ o ->
ListAlbumsResponse' <$>
(o .:? "nextPageToken") <*>
(o .:? "albums" .!= mempty))
instance ToJSON ListAlbumsResponse where
toJSON ListAlbumsResponse'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _larNextPageToken,
("albums" .=) <$> _larAlbums])
data MapEnrichment = MapEnrichment'
{ _meDestination :: !(Maybe Location)
, _meOrigin :: !(Maybe Location)
} deriving (Eq,Show,Data,Typeable,Generic)
mapEnrichment
:: MapEnrichment
mapEnrichment =
MapEnrichment'
{ _meDestination = Nothing
, _meOrigin = Nothing
}
meDestination :: Lens' MapEnrichment (Maybe Location)
meDestination
= lens _meDestination
(\ s a -> s{_meDestination = a})
meOrigin :: Lens' MapEnrichment (Maybe Location)
meOrigin = lens _meOrigin (\ s a -> s{_meOrigin = a})
instance FromJSON MapEnrichment where
parseJSON
= withObject "MapEnrichment"
(\ o ->
MapEnrichment' <$>
(o .:? "destination") <*> (o .:? "origin"))
instance ToJSON MapEnrichment where
toJSON MapEnrichment'{..}
= object
(catMaybes
[("destination" .=) <$> _meDestination,
("origin" .=) <$> _meOrigin])
data SearchMediaItemsRequest = SearchMediaItemsRequest'
{ _smirAlbumId :: !(Maybe Text)
, _smirFilters :: !(Maybe Filters)
, _smirPageToken :: !(Maybe Text)
, _smirPageSize :: !(Maybe (Textual Int32))
} deriving (Eq,Show,Data,Typeable,Generic)
searchMediaItemsRequest
:: SearchMediaItemsRequest
searchMediaItemsRequest =
SearchMediaItemsRequest'
{ _smirAlbumId = Nothing
, _smirFilters = Nothing
, _smirPageToken = Nothing
, _smirPageSize = Nothing
}
smirAlbumId :: Lens' SearchMediaItemsRequest (Maybe Text)
smirAlbumId
= lens _smirAlbumId (\ s a -> s{_smirAlbumId = a})
smirFilters :: Lens' SearchMediaItemsRequest (Maybe Filters)
smirFilters
= lens _smirFilters (\ s a -> s{_smirFilters = a})
smirPageToken :: Lens' SearchMediaItemsRequest (Maybe Text)
smirPageToken
= lens _smirPageToken
(\ s a -> s{_smirPageToken = a})
smirPageSize :: Lens' SearchMediaItemsRequest (Maybe Int32)
smirPageSize
= lens _smirPageSize (\ s a -> s{_smirPageSize = a})
. mapping _Coerce
instance FromJSON SearchMediaItemsRequest where
parseJSON
= withObject "SearchMediaItemsRequest"
(\ o ->
SearchMediaItemsRequest' <$>
(o .:? "albumId") <*> (o .:? "filters") <*>
(o .:? "pageToken")
<*> (o .:? "pageSize"))
instance ToJSON SearchMediaItemsRequest where
toJSON SearchMediaItemsRequest'{..}
= object
(catMaybes
[("albumId" .=) <$> _smirAlbumId,
("filters" .=) <$> _smirFilters,
("pageToken" .=) <$> _smirPageToken,
("pageSize" .=) <$> _smirPageSize])
data NewMediaItem = NewMediaItem'
{ _nmiSimpleMediaItem :: !(Maybe SimpleMediaItem)
, _nmiDescription :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
newMediaItem
:: NewMediaItem
newMediaItem =
NewMediaItem'
{ _nmiSimpleMediaItem = Nothing
, _nmiDescription = Nothing
}
nmiSimpleMediaItem :: Lens' NewMediaItem (Maybe SimpleMediaItem)
nmiSimpleMediaItem
= lens _nmiSimpleMediaItem
(\ s a -> s{_nmiSimpleMediaItem = a})
nmiDescription :: Lens' NewMediaItem (Maybe Text)
nmiDescription
= lens _nmiDescription
(\ s a -> s{_nmiDescription = a})
instance FromJSON NewMediaItem where
parseJSON
= withObject "NewMediaItem"
(\ o ->
NewMediaItem' <$>
(o .:? "simpleMediaItem") <*> (o .:? "description"))
instance ToJSON NewMediaItem where
toJSON NewMediaItem'{..}
= object
(catMaybes
[("simpleMediaItem" .=) <$> _nmiSimpleMediaItem,
("description" .=) <$> _nmiDescription])
data AddEnrichmentToAlbumRequest = AddEnrichmentToAlbumRequest'
{ _aetarNewEnrichmentItem :: !(Maybe NewEnrichmentItem)
, _aetarAlbumPosition :: !(Maybe AlbumPosition)
} deriving (Eq,Show,Data,Typeable,Generic)
addEnrichmentToAlbumRequest
:: AddEnrichmentToAlbumRequest
addEnrichmentToAlbumRequest =
AddEnrichmentToAlbumRequest'
{ _aetarNewEnrichmentItem = Nothing
, _aetarAlbumPosition = Nothing
}
aetarNewEnrichmentItem :: Lens' AddEnrichmentToAlbumRequest (Maybe NewEnrichmentItem)
aetarNewEnrichmentItem
= lens _aetarNewEnrichmentItem
(\ s a -> s{_aetarNewEnrichmentItem = a})
aetarAlbumPosition :: Lens' AddEnrichmentToAlbumRequest (Maybe AlbumPosition)
aetarAlbumPosition
= lens _aetarAlbumPosition
(\ s a -> s{_aetarAlbumPosition = a})
instance FromJSON AddEnrichmentToAlbumRequest where
parseJSON
= withObject "AddEnrichmentToAlbumRequest"
(\ o ->
AddEnrichmentToAlbumRequest' <$>
(o .:? "newEnrichmentItem") <*>
(o .:? "albumPosition"))
instance ToJSON AddEnrichmentToAlbumRequest where
toJSON AddEnrichmentToAlbumRequest'{..}
= object
(catMaybes
[("newEnrichmentItem" .=) <$>
_aetarNewEnrichmentItem,
("albumPosition" .=) <$> _aetarAlbumPosition])
newtype JoinSharedAlbumRequest = JoinSharedAlbumRequest'
{ _jsarShareToken :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
joinSharedAlbumRequest
:: JoinSharedAlbumRequest
joinSharedAlbumRequest =
JoinSharedAlbumRequest'
{ _jsarShareToken = Nothing
}
jsarShareToken :: Lens' JoinSharedAlbumRequest (Maybe Text)
jsarShareToken
= lens _jsarShareToken
(\ s a -> s{_jsarShareToken = a})
instance FromJSON JoinSharedAlbumRequest where
parseJSON
= withObject "JoinSharedAlbumRequest"
(\ o ->
JoinSharedAlbumRequest' <$> (o .:? "shareToken"))
instance ToJSON JoinSharedAlbumRequest where
toJSON JoinSharedAlbumRequest'{..}
= object
(catMaybes [("shareToken" .=) <$> _jsarShareToken])
newtype ShareAlbumRequest = ShareAlbumRequest'
{ _sarSharedAlbumOptions :: Maybe SharedAlbumOptions
} deriving (Eq,Show,Data,Typeable,Generic)
shareAlbumRequest
:: ShareAlbumRequest
shareAlbumRequest =
ShareAlbumRequest'
{ _sarSharedAlbumOptions = Nothing
}
sarSharedAlbumOptions :: Lens' ShareAlbumRequest (Maybe SharedAlbumOptions)
sarSharedAlbumOptions
= lens _sarSharedAlbumOptions
(\ s a -> s{_sarSharedAlbumOptions = a})
instance FromJSON ShareAlbumRequest where
parseJSON
= withObject "ShareAlbumRequest"
(\ o ->
ShareAlbumRequest' <$> (o .:? "sharedAlbumOptions"))
instance ToJSON ShareAlbumRequest where
toJSON ShareAlbumRequest'{..}
= object
(catMaybes
[("sharedAlbumOptions" .=) <$>
_sarSharedAlbumOptions])
data AlbumPosition = AlbumPosition'
{ _apRelativeMediaItemId :: !(Maybe Text)
, _apRelativeEnrichmentItemId :: !(Maybe Text)
, _apPosition :: !(Maybe AlbumPositionPosition)
} deriving (Eq,Show,Data,Typeable,Generic)
albumPosition
:: AlbumPosition
albumPosition =
AlbumPosition'
{ _apRelativeMediaItemId = Nothing
, _apRelativeEnrichmentItemId = Nothing
, _apPosition = Nothing
}
apRelativeMediaItemId :: Lens' AlbumPosition (Maybe Text)
apRelativeMediaItemId
= lens _apRelativeMediaItemId
(\ s a -> s{_apRelativeMediaItemId = a})
apRelativeEnrichmentItemId :: Lens' AlbumPosition (Maybe Text)
apRelativeEnrichmentItemId
= lens _apRelativeEnrichmentItemId
(\ s a -> s{_apRelativeEnrichmentItemId = a})
apPosition :: Lens' AlbumPosition (Maybe AlbumPositionPosition)
apPosition
= lens _apPosition (\ s a -> s{_apPosition = a})
instance FromJSON AlbumPosition where
parseJSON
= withObject "AlbumPosition"
(\ o ->
AlbumPosition' <$>
(o .:? "relativeMediaItemId") <*>
(o .:? "relativeEnrichmentItemId")
<*> (o .:? "position"))
instance ToJSON AlbumPosition where
toJSON AlbumPosition'{..}
= object
(catMaybes
[("relativeMediaItemId" .=) <$>
_apRelativeMediaItemId,
("relativeEnrichmentItemId" .=) <$>
_apRelativeEnrichmentItemId,
("position" .=) <$> _apPosition])
data ContentFilter = ContentFilter'
{ _cfIncludedContentCategories :: !(Maybe [Text])
, _cfExcludedContentCategories :: !(Maybe [Text])
} deriving (Eq,Show,Data,Typeable,Generic)
contentFilter
:: ContentFilter
contentFilter =
ContentFilter'
{ _cfIncludedContentCategories = Nothing
, _cfExcludedContentCategories = Nothing
}
cfIncludedContentCategories :: Lens' ContentFilter [Text]
cfIncludedContentCategories
= lens _cfIncludedContentCategories
(\ s a -> s{_cfIncludedContentCategories = a})
. _Default
. _Coerce
cfExcludedContentCategories :: Lens' ContentFilter [Text]
cfExcludedContentCategories
= lens _cfExcludedContentCategories
(\ s a -> s{_cfExcludedContentCategories = a})
. _Default
. _Coerce
instance FromJSON ContentFilter where
parseJSON
= withObject "ContentFilter"
(\ o ->
ContentFilter' <$>
(o .:? "includedContentCategories" .!= mempty) <*>
(o .:? "excludedContentCategories" .!= mempty))
instance ToJSON ContentFilter where
toJSON ContentFilter'{..}
= object
(catMaybes
[("includedContentCategories" .=) <$>
_cfIncludedContentCategories,
("excludedContentCategories" .=) <$>
_cfExcludedContentCategories])
newtype BatchCreateMediaItemsResponse = BatchCreateMediaItemsResponse'
{ _bcmirNewMediaItemResults :: Maybe [NewMediaItemResult]
} deriving (Eq,Show,Data,Typeable,Generic)
batchCreateMediaItemsResponse
:: BatchCreateMediaItemsResponse
batchCreateMediaItemsResponse =
BatchCreateMediaItemsResponse'
{ _bcmirNewMediaItemResults = Nothing
}
bcmirNewMediaItemResults :: Lens' BatchCreateMediaItemsResponse [NewMediaItemResult]
bcmirNewMediaItemResults
= lens _bcmirNewMediaItemResults
(\ s a -> s{_bcmirNewMediaItemResults = a})
. _Default
. _Coerce
instance FromJSON BatchCreateMediaItemsResponse where
parseJSON
= withObject "BatchCreateMediaItemsResponse"
(\ o ->
BatchCreateMediaItemsResponse' <$>
(o .:? "newMediaItemResults" .!= mempty))
instance ToJSON BatchCreateMediaItemsResponse where
toJSON BatchCreateMediaItemsResponse'{..}
= object
(catMaybes
[("newMediaItemResults" .=) <$>
_bcmirNewMediaItemResults])