gogol-books-1.0.0: gen/Gogol/Books/Internal/Product.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- |
-- Module : Gogol.Books.Internal.Product
-- Copyright : (c) 2015-2025 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>
-- Toni Cebrián <toni@tonicebrian.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
module Gogol.Books.Internal.Product
( -- * Annotation
Annotation (..),
newAnnotation,
-- * Annotation_ClientVersionRanges
Annotation_ClientVersionRanges (..),
newAnnotation_ClientVersionRanges,
-- * Annotation_CurrentVersionRanges
Annotation_CurrentVersionRanges (..),
newAnnotation_CurrentVersionRanges,
-- * Annotation_LayerSummary
Annotation_LayerSummary (..),
newAnnotation_LayerSummary,
-- * Annotations
Annotations (..),
newAnnotations,
-- * AnnotationsSummary
AnnotationsSummary (..),
newAnnotationsSummary,
-- * AnnotationsSummary_LayersItem
AnnotationsSummary_LayersItem (..),
newAnnotationsSummary_LayersItem,
-- * Annotationsdata
Annotationsdata (..),
newAnnotationsdata,
-- * BooksAnnotationsRange
BooksAnnotationsRange (..),
newBooksAnnotationsRange,
-- * BooksCloudloadingResource
BooksCloudloadingResource (..),
newBooksCloudloadingResource,
-- * BooksVolumesRecommendedRateResponse
BooksVolumesRecommendedRateResponse (..),
newBooksVolumesRecommendedRateResponse,
-- * Bookshelf
Bookshelf (..),
newBookshelf,
-- * Bookshelves
Bookshelves (..),
newBookshelves,
-- * Category
Category (..),
newCategory,
-- * Category_ItemsItem
Category_ItemsItem (..),
newCategory_ItemsItem,
-- * ConcurrentAccessRestriction
ConcurrentAccessRestriction (..),
newConcurrentAccessRestriction,
-- * DictionaryAnnotationdata
DictionaryAnnotationdata (..),
newDictionaryAnnotationdata,
-- * Dictlayerdata
Dictlayerdata (..),
newDictlayerdata,
-- * Dictlayerdata_Common
Dictlayerdata_Common (..),
newDictlayerdata_Common,
-- * Dictlayerdata_Dict
Dictlayerdata_Dict (..),
newDictlayerdata_Dict,
-- * Dictlayerdata_Dict_Source
Dictlayerdata_Dict_Source (..),
newDictlayerdata_Dict_Source,
-- * Dictlayerdata_Dict_WordsItem
Dictlayerdata_Dict_WordsItem (..),
newDictlayerdata_Dict_WordsItem,
-- * Dictlayerdata_Dict_WordsItem_DerivativesItem
Dictlayerdata_Dict_WordsItem_DerivativesItem (..),
newDictlayerdata_Dict_WordsItem_DerivativesItem,
-- * Dictlayerdata_Dict_WordsItem_DerivativesItem_Source
Dictlayerdata_Dict_WordsItem_DerivativesItem_Source (..),
newDictlayerdata_Dict_WordsItem_DerivativesItem_Source,
-- * Dictlayerdata_Dict_WordsItem_ExamplesItem
Dictlayerdata_Dict_WordsItem_ExamplesItem (..),
newDictlayerdata_Dict_WordsItem_ExamplesItem,
-- * Dictlayerdata_Dict_WordsItem_ExamplesItem_Source
Dictlayerdata_Dict_WordsItem_ExamplesItem_Source (..),
newDictlayerdata_Dict_WordsItem_ExamplesItem_Source,
-- * Dictlayerdata_Dict_WordsItem_SensesItem
Dictlayerdata_Dict_WordsItem_SensesItem (..),
newDictlayerdata_Dict_WordsItem_SensesItem,
-- * Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem
Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem (..),
newDictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem,
-- * Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem (..),
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem,
-- * Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem (..),
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem,
-- * Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source (..),
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source,
-- * Dictlayerdata_Dict_WordsItem_SensesItem_Source
Dictlayerdata_Dict_WordsItem_SensesItem_Source (..),
newDictlayerdata_Dict_WordsItem_SensesItem_Source,
-- * Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem (..),
newDictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem,
-- * Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source (..),
newDictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source,
-- * Dictlayerdata_Dict_WordsItem_Source
Dictlayerdata_Dict_WordsItem_Source (..),
newDictlayerdata_Dict_WordsItem_Source,
-- * Discoveryclusters
Discoveryclusters (..),
newDiscoveryclusters,
-- * Discoveryclusters_ClustersItem
Discoveryclusters_ClustersItem (..),
newDiscoveryclusters_ClustersItem,
-- * Discoveryclusters_ClustersItem_Banner_with_content_container
Discoveryclusters_ClustersItem_Banner_with_content_container (..),
newDiscoveryclusters_ClustersItem_Banner_with_content_container,
-- * DownloadAccessRestriction
DownloadAccessRestriction (..),
newDownloadAccessRestriction,
-- * DownloadAccesses
DownloadAccesses (..),
newDownloadAccesses,
-- * Empty
Empty (..),
newEmpty,
-- * FamilyInfo
FamilyInfo (..),
newFamilyInfo,
-- * FamilyInfo_Membership
FamilyInfo_Membership (..),
newFamilyInfo_Membership,
-- * GeoAnnotationdata
GeoAnnotationdata (..),
newGeoAnnotationdata,
-- * Geolayerdata
Geolayerdata (..),
newGeolayerdata,
-- * Geolayerdata_Common
Geolayerdata_Common (..),
newGeolayerdata_Common,
-- * Geolayerdata_Geo
Geolayerdata_Geo (..),
newGeolayerdata_Geo,
-- * Geolayerdata_Geo_Viewport
Geolayerdata_Geo_Viewport (..),
newGeolayerdata_Geo_Viewport,
-- * Geolayerdata_Geo_Viewport_Hi
Geolayerdata_Geo_Viewport_Hi (..),
newGeolayerdata_Geo_Viewport_Hi,
-- * Geolayerdata_Geo_Viewport_Lo
Geolayerdata_Geo_Viewport_Lo (..),
newGeolayerdata_Geo_Viewport_Lo,
-- * Layersummaries
Layersummaries (..),
newLayersummaries,
-- * Layersummary
Layersummary (..),
newLayersummary,
-- * Metadata
Metadata (..),
newMetadata,
-- * Metadata_ItemsItem
Metadata_ItemsItem (..),
newMetadata_ItemsItem,
-- * Notification
Notification (..),
newNotification,
-- * Offers
Offers (..),
newOffers,
-- * Offers_ItemsItem
Offers_ItemsItem (..),
newOffers_ItemsItem,
-- * Offers_ItemsItem_ItemsItem
Offers_ItemsItem_ItemsItem (..),
newOffers_ItemsItem_ItemsItem,
-- * ReadingPosition
ReadingPosition (..),
newReadingPosition,
-- * RequestAccessData
RequestAccessData (..),
newRequestAccessData,
-- * Review
Review (..),
newReview,
-- * Review_Author
Review_Author (..),
newReview_Author,
-- * Review_Source
Review_Source (..),
newReview_Source,
-- * Series
Series (..),
newSeries,
-- * Series_SeriesItem
Series_SeriesItem (..),
newSeries_SeriesItem,
-- * Series_SeriesItem_SeriesSubscriptionReleaseInfo
Series_SeriesItem_SeriesSubscriptionReleaseInfo (..),
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo,
-- * Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo
Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo (..),
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo,
-- * Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo
Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo (..),
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo,
-- * Seriesmembership
Seriesmembership (..),
newSeriesmembership,
-- * Usersettings
Usersettings (..),
newUsersettings,
-- * Usersettings_NotesExport
Usersettings_NotesExport (..),
newUsersettings_NotesExport,
-- * Usersettings_Notification
Usersettings_Notification (..),
newUsersettings_Notification,
-- * Usersettings_Notification_MatchMyInterests
Usersettings_Notification_MatchMyInterests (..),
newUsersettings_Notification_MatchMyInterests,
-- * Usersettings_Notification_MoreFromAuthors
Usersettings_Notification_MoreFromAuthors (..),
newUsersettings_Notification_MoreFromAuthors,
-- * Usersettings_Notification_MoreFromSeries
Usersettings_Notification_MoreFromSeries (..),
newUsersettings_Notification_MoreFromSeries,
-- * Usersettings_Notification_PriceDrop
Usersettings_Notification_PriceDrop (..),
newUsersettings_Notification_PriceDrop,
-- * Usersettings_Notification_RewardExpirations
Usersettings_Notification_RewardExpirations (..),
newUsersettings_Notification_RewardExpirations,
-- * Volume
Volume (..),
newVolume,
-- * Volume_AccessInfo
Volume_AccessInfo (..),
newVolume_AccessInfo,
-- * Volume_AccessInfo_Epub
Volume_AccessInfo_Epub (..),
newVolume_AccessInfo_Epub,
-- * Volume_AccessInfo_Pdf
Volume_AccessInfo_Pdf (..),
newVolume_AccessInfo_Pdf,
-- * Volume_LayerInfo
Volume_LayerInfo (..),
newVolume_LayerInfo,
-- * Volume_LayerInfo_LayersItem
Volume_LayerInfo_LayersItem (..),
newVolume_LayerInfo_LayersItem,
-- * Volume_RecommendedInfo
Volume_RecommendedInfo (..),
newVolume_RecommendedInfo,
-- * Volume_SaleInfo
Volume_SaleInfo (..),
newVolume_SaleInfo,
-- * Volume_SaleInfo_ListPrice
Volume_SaleInfo_ListPrice (..),
newVolume_SaleInfo_ListPrice,
-- * Volume_SaleInfo_OffersItem
Volume_SaleInfo_OffersItem (..),
newVolume_SaleInfo_OffersItem,
-- * Volume_SaleInfo_OffersItem_ListPrice
Volume_SaleInfo_OffersItem_ListPrice (..),
newVolume_SaleInfo_OffersItem_ListPrice,
-- * Volume_SaleInfo_OffersItem_RentalDuration
Volume_SaleInfo_OffersItem_RentalDuration (..),
newVolume_SaleInfo_OffersItem_RentalDuration,
-- * Volume_SaleInfo_OffersItem_RetailPrice
Volume_SaleInfo_OffersItem_RetailPrice (..),
newVolume_SaleInfo_OffersItem_RetailPrice,
-- * Volume_SaleInfo_RetailPrice
Volume_SaleInfo_RetailPrice (..),
newVolume_SaleInfo_RetailPrice,
-- * Volume_SearchInfo
Volume_SearchInfo (..),
newVolume_SearchInfo,
-- * Volume_UserInfo
Volume_UserInfo (..),
newVolume_UserInfo,
-- * Volume_UserInfo_Copy
Volume_UserInfo_Copy (..),
newVolume_UserInfo_Copy,
-- * Volume_UserInfo_FamilySharing
Volume_UserInfo_FamilySharing (..),
newVolume_UserInfo_FamilySharing,
-- * Volume_UserInfo_RentalPeriod
Volume_UserInfo_RentalPeriod (..),
newVolume_UserInfo_RentalPeriod,
-- * Volume_UserInfo_UserUploadedVolumeInfo
Volume_UserInfo_UserUploadedVolumeInfo (..),
newVolume_UserInfo_UserUploadedVolumeInfo,
-- * Volume_VolumeInfo
Volume_VolumeInfo (..),
newVolume_VolumeInfo,
-- * Volume_VolumeInfo_Dimensions
Volume_VolumeInfo_Dimensions (..),
newVolume_VolumeInfo_Dimensions,
-- * Volume_VolumeInfo_ImageLinks
Volume_VolumeInfo_ImageLinks (..),
newVolume_VolumeInfo_ImageLinks,
-- * Volume_VolumeInfo_IndustryIdentifiersItem
Volume_VolumeInfo_IndustryIdentifiersItem (..),
newVolume_VolumeInfo_IndustryIdentifiersItem,
-- * Volume_VolumeInfo_PanelizationSummary
Volume_VolumeInfo_PanelizationSummary (..),
newVolume_VolumeInfo_PanelizationSummary,
-- * Volume_VolumeInfo_ReadingModes
Volume_VolumeInfo_ReadingModes (..),
newVolume_VolumeInfo_ReadingModes,
-- * Volume2
Volume2 (..),
newVolume2,
-- * Volumeannotation
Volumeannotation (..),
newVolumeannotation,
-- * Volumeannotation_ContentRanges
Volumeannotation_ContentRanges (..),
newVolumeannotation_ContentRanges,
-- * Volumeannotations
Volumeannotations (..),
newVolumeannotations,
-- * Volumes
Volumes (..),
newVolumes,
-- * Volumeseriesinfo
Volumeseriesinfo (..),
newVolumeseriesinfo,
-- * Volumeseriesinfo_VolumeSeriesItem
Volumeseriesinfo_VolumeSeriesItem (..),
newVolumeseriesinfo_VolumeSeriesItem,
-- * Volumeseriesinfo_VolumeSeriesItem_IssueItem
Volumeseriesinfo_VolumeSeriesItem_IssueItem (..),
newVolumeseriesinfo_VolumeSeriesItem_IssueItem,
)
where
import Gogol.Books.Internal.Sum
import Gogol.Prelude qualified as Core
--
-- /See:/ 'newAnnotation' smart constructor.
data Annotation = Annotation
{ -- | Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
afterSelectedText :: (Core.Maybe Core.Text),
-- | Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
beforeSelectedText :: (Core.Maybe Core.Text),
-- | Selection ranges sent from the client.
clientVersionRanges :: (Core.Maybe Annotation_ClientVersionRanges),
-- | Timestamp for the created time of this annotation.
created :: (Core.Maybe Core.Text),
-- | Selection ranges for the most recent content version.
currentVersionRanges :: (Core.Maybe Annotation_CurrentVersionRanges),
-- | User-created data for this annotation.
data' :: (Core.Maybe Core.Text),
-- | Indicates that this annotation is deleted.
deleted :: (Core.Maybe Core.Bool),
-- | The highlight style for this annotation.
highlightStyle :: (Core.Maybe Core.Text),
-- | Id of this annotation, in the form of a GUID.
id :: (Core.Maybe Core.Text),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | The layer this annotation is for.
layerId :: (Core.Maybe Core.Text),
layerSummary :: (Core.Maybe Annotation_LayerSummary),
-- | Pages that this annotation spans.
pageIds :: (Core.Maybe [Core.Text]),
-- | Excerpt from the volume.
selectedText :: (Core.Maybe Core.Text),
-- | URL to this resource.
selfLink :: (Core.Maybe Core.Text),
-- | Timestamp for the last time this annotation was modified.
updated :: (Core.Maybe Core.Text),
-- | The volume that this annotation belongs to.
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Annotation' with the minimum fields required to make a request.
newAnnotation ::
Annotation
newAnnotation =
Annotation
{ afterSelectedText = Core.Nothing,
beforeSelectedText = Core.Nothing,
clientVersionRanges = Core.Nothing,
created = Core.Nothing,
currentVersionRanges = Core.Nothing,
data' = Core.Nothing,
deleted = Core.Nothing,
highlightStyle = Core.Nothing,
id = Core.Nothing,
kind = Core.Nothing,
layerId = Core.Nothing,
layerSummary = Core.Nothing,
pageIds = Core.Nothing,
selectedText = Core.Nothing,
selfLink = Core.Nothing,
updated = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON Annotation where
parseJSON =
Core.withObject
"Annotation"
( \o ->
Annotation
Core.<$> (o Core..:? "afterSelectedText")
Core.<*> (o Core..:? "beforeSelectedText")
Core.<*> (o Core..:? "clientVersionRanges")
Core.<*> (o Core..:? "created")
Core.<*> (o Core..:? "currentVersionRanges")
Core.<*> (o Core..:? "data")
Core.<*> (o Core..:? "deleted")
Core.<*> (o Core..:? "highlightStyle")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "layerId")
Core.<*> (o Core..:? "layerSummary")
Core.<*> (o Core..:? "pageIds")
Core.<*> (o Core..:? "selectedText")
Core.<*> (o Core..:? "selfLink")
Core.<*> (o Core..:? "updated")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON Annotation where
toJSON Annotation {..} =
Core.object
( Core.catMaybes
[ ("afterSelectedText" Core..=) Core.<$> afterSelectedText,
("beforeSelectedText" Core..=) Core.<$> beforeSelectedText,
("clientVersionRanges" Core..=) Core.<$> clientVersionRanges,
("created" Core..=) Core.<$> created,
("currentVersionRanges" Core..=) Core.<$> currentVersionRanges,
("data" Core..=) Core.<$> data',
("deleted" Core..=) Core.<$> deleted,
("highlightStyle" Core..=) Core.<$> highlightStyle,
("id" Core..=) Core.<$> id,
("kind" Core..=) Core.<$> kind,
("layerId" Core..=) Core.<$> layerId,
("layerSummary" Core..=) Core.<$> layerSummary,
("pageIds" Core..=) Core.<$> pageIds,
("selectedText" Core..=) Core.<$> selectedText,
("selfLink" Core..=) Core.<$> selfLink,
("updated" Core..=) Core.<$> updated,
("volumeId" Core..=) Core.<$> volumeId
]
)
-- | Selection ranges sent from the client.
--
-- /See:/ 'newAnnotation_ClientVersionRanges' smart constructor.
data Annotation_ClientVersionRanges = Annotation_ClientVersionRanges
{ -- | Range in CFI format for this annotation sent by client.
cfiRange :: (Core.Maybe BooksAnnotationsRange),
-- | Content version the client sent in.
contentVersion :: (Core.Maybe Core.Text),
-- | Range in GB image format for this annotation sent by client.
gbImageRange :: (Core.Maybe BooksAnnotationsRange),
-- | Range in GB text format for this annotation sent by client.
gbTextRange :: (Core.Maybe BooksAnnotationsRange),
-- | Range in image CFI format for this annotation sent by client.
imageCfiRange :: (Core.Maybe BooksAnnotationsRange)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Annotation_ClientVersionRanges' with the minimum fields required to make a request.
newAnnotation_ClientVersionRanges ::
Annotation_ClientVersionRanges
newAnnotation_ClientVersionRanges =
Annotation_ClientVersionRanges
{ cfiRange = Core.Nothing,
contentVersion = Core.Nothing,
gbImageRange = Core.Nothing,
gbTextRange = Core.Nothing,
imageCfiRange = Core.Nothing
}
instance Core.FromJSON Annotation_ClientVersionRanges where
parseJSON =
Core.withObject
"Annotation_ClientVersionRanges"
( \o ->
Annotation_ClientVersionRanges
Core.<$> (o Core..:? "cfiRange")
Core.<*> (o Core..:? "contentVersion")
Core.<*> (o Core..:? "gbImageRange")
Core.<*> (o Core..:? "gbTextRange")
Core.<*> (o Core..:? "imageCfiRange")
)
instance Core.ToJSON Annotation_ClientVersionRanges where
toJSON Annotation_ClientVersionRanges {..} =
Core.object
( Core.catMaybes
[ ("cfiRange" Core..=) Core.<$> cfiRange,
("contentVersion" Core..=) Core.<$> contentVersion,
("gbImageRange" Core..=) Core.<$> gbImageRange,
("gbTextRange" Core..=) Core.<$> gbTextRange,
("imageCfiRange" Core..=) Core.<$> imageCfiRange
]
)
-- | Selection ranges for the most recent content version.
--
-- /See:/ 'newAnnotation_CurrentVersionRanges' smart constructor.
data Annotation_CurrentVersionRanges = Annotation_CurrentVersionRanges
{ -- | Range in CFI format for this annotation for version above.
cfiRange :: (Core.Maybe BooksAnnotationsRange),
-- | Content version applicable to ranges below.
contentVersion :: (Core.Maybe Core.Text),
-- | Range in GB image format for this annotation for version above.
gbImageRange :: (Core.Maybe BooksAnnotationsRange),
-- | Range in GB text format for this annotation for version above.
gbTextRange :: (Core.Maybe BooksAnnotationsRange),
-- | Range in image CFI format for this annotation for version above.
imageCfiRange :: (Core.Maybe BooksAnnotationsRange)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Annotation_CurrentVersionRanges' with the minimum fields required to make a request.
newAnnotation_CurrentVersionRanges ::
Annotation_CurrentVersionRanges
newAnnotation_CurrentVersionRanges =
Annotation_CurrentVersionRanges
{ cfiRange = Core.Nothing,
contentVersion = Core.Nothing,
gbImageRange = Core.Nothing,
gbTextRange = Core.Nothing,
imageCfiRange = Core.Nothing
}
instance Core.FromJSON Annotation_CurrentVersionRanges where
parseJSON =
Core.withObject
"Annotation_CurrentVersionRanges"
( \o ->
Annotation_CurrentVersionRanges
Core.<$> (o Core..:? "cfiRange")
Core.<*> (o Core..:? "contentVersion")
Core.<*> (o Core..:? "gbImageRange")
Core.<*> (o Core..:? "gbTextRange")
Core.<*> (o Core..:? "imageCfiRange")
)
instance Core.ToJSON Annotation_CurrentVersionRanges where
toJSON Annotation_CurrentVersionRanges {..} =
Core.object
( Core.catMaybes
[ ("cfiRange" Core..=) Core.<$> cfiRange,
("contentVersion" Core..=) Core.<$> contentVersion,
("gbImageRange" Core..=) Core.<$> gbImageRange,
("gbTextRange" Core..=) Core.<$> gbTextRange,
("imageCfiRange" Core..=) Core.<$> imageCfiRange
]
)
--
-- /See:/ 'newAnnotation_LayerSummary' smart constructor.
data Annotation_LayerSummary = Annotation_LayerSummary
{ -- | Maximum allowed characters on this layer, especially for the \"copy\" layer.
allowedCharacterCount :: (Core.Maybe Core.Int32),
-- | Type of limitation on this layer. \"limited\" or \"unlimited\" for the \"copy\" layer.
limitType :: (Core.Maybe Core.Text),
-- | Remaining allowed characters on this layer, especially for the \"copy\" layer.
remainingCharacterCount :: (Core.Maybe Core.Int32)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Annotation_LayerSummary' with the minimum fields required to make a request.
newAnnotation_LayerSummary ::
Annotation_LayerSummary
newAnnotation_LayerSummary =
Annotation_LayerSummary
{ allowedCharacterCount = Core.Nothing,
limitType = Core.Nothing,
remainingCharacterCount = Core.Nothing
}
instance Core.FromJSON Annotation_LayerSummary where
parseJSON =
Core.withObject
"Annotation_LayerSummary"
( \o ->
Annotation_LayerSummary
Core.<$> (o Core..:? "allowedCharacterCount")
Core.<*> (o Core..:? "limitType")
Core.<*> (o Core..:? "remainingCharacterCount")
)
instance Core.ToJSON Annotation_LayerSummary where
toJSON Annotation_LayerSummary {..} =
Core.object
( Core.catMaybes
[ ("allowedCharacterCount" Core..=) Core.<$> allowedCharacterCount,
("limitType" Core..=) Core.<$> limitType,
("remainingCharacterCount" Core..=)
Core.<$> remainingCharacterCount
]
)
--
-- /See:/ 'newAnnotations' smart constructor.
data Annotations = Annotations
{ -- | A list of annotations.
items :: (Core.Maybe [Annotation]),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
nextPageToken :: (Core.Maybe Core.Text),
-- | Total number of annotations found. This may be greater than the number of notes returned in this response if results have been paginated.
totalItems :: (Core.Maybe Core.Int32)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Annotations' with the minimum fields required to make a request.
newAnnotations ::
Annotations
newAnnotations =
Annotations
{ items = Core.Nothing,
kind = Core.Nothing,
nextPageToken = Core.Nothing,
totalItems = Core.Nothing
}
instance Core.FromJSON Annotations where
parseJSON =
Core.withObject
"Annotations"
( \o ->
Annotations
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "nextPageToken")
Core.<*> (o Core..:? "totalItems")
)
instance Core.ToJSON Annotations where
toJSON Annotations {..} =
Core.object
( Core.catMaybes
[ ("items" Core..=) Core.<$> items,
("kind" Core..=) Core.<$> kind,
("nextPageToken" Core..=) Core.<$> nextPageToken,
("totalItems" Core..=) Core.<$> totalItems
]
)
--
-- /See:/ 'newAnnotationsSummary' smart constructor.
data AnnotationsSummary = AnnotationsSummary
{ kind :: (Core.Maybe Core.Text),
layers :: (Core.Maybe [AnnotationsSummary_LayersItem])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AnnotationsSummary' with the minimum fields required to make a request.
newAnnotationsSummary ::
AnnotationsSummary
newAnnotationsSummary =
AnnotationsSummary {kind = Core.Nothing, layers = Core.Nothing}
instance Core.FromJSON AnnotationsSummary where
parseJSON =
Core.withObject
"AnnotationsSummary"
( \o ->
AnnotationsSummary
Core.<$> (o Core..:? "kind")
Core.<*> (o Core..:? "layers")
)
instance Core.ToJSON AnnotationsSummary where
toJSON AnnotationsSummary {..} =
Core.object
( Core.catMaybes
[ ("kind" Core..=) Core.<$> kind,
("layers" Core..=) Core.<$> layers
]
)
--
-- /See:/ 'newAnnotationsSummary_LayersItem' smart constructor.
data AnnotationsSummary_LayersItem = AnnotationsSummary_LayersItem
{ allowedCharacterCount :: (Core.Maybe Core.Int32),
layerId :: (Core.Maybe Core.Text),
limitType :: (Core.Maybe Core.Text),
remainingCharacterCount :: (Core.Maybe Core.Int32),
updated :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AnnotationsSummary_LayersItem' with the minimum fields required to make a request.
newAnnotationsSummary_LayersItem ::
AnnotationsSummary_LayersItem
newAnnotationsSummary_LayersItem =
AnnotationsSummary_LayersItem
{ allowedCharacterCount =
Core.Nothing,
layerId = Core.Nothing,
limitType = Core.Nothing,
remainingCharacterCount = Core.Nothing,
updated = Core.Nothing
}
instance Core.FromJSON AnnotationsSummary_LayersItem where
parseJSON =
Core.withObject
"AnnotationsSummary_LayersItem"
( \o ->
AnnotationsSummary_LayersItem
Core.<$> (o Core..:? "allowedCharacterCount")
Core.<*> (o Core..:? "layerId")
Core.<*> (o Core..:? "limitType")
Core.<*> (o Core..:? "remainingCharacterCount")
Core.<*> (o Core..:? "updated")
)
instance Core.ToJSON AnnotationsSummary_LayersItem where
toJSON AnnotationsSummary_LayersItem {..} =
Core.object
( Core.catMaybes
[ ("allowedCharacterCount" Core..=) Core.<$> allowedCharacterCount,
("layerId" Core..=) Core.<$> layerId,
("limitType" Core..=) Core.<$> limitType,
("remainingCharacterCount" Core..=)
Core.<$> remainingCharacterCount,
("updated" Core..=) Core.<$> updated
]
)
--
-- /See:/ 'newAnnotationsdata' smart constructor.
data Annotationsdata = Annotationsdata
{ -- | A list of Annotation Data.
items :: (Core.Maybe [GeoAnnotationdata]),
-- | Resource type
kind :: (Core.Maybe Core.Text),
-- | Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
nextPageToken :: (Core.Maybe Core.Text),
-- | The total number of volume annotations found.
totalItems :: (Core.Maybe Core.Int32)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Annotationsdata' with the minimum fields required to make a request.
newAnnotationsdata ::
Annotationsdata
newAnnotationsdata =
Annotationsdata
{ items = Core.Nothing,
kind = Core.Nothing,
nextPageToken = Core.Nothing,
totalItems = Core.Nothing
}
instance Core.FromJSON Annotationsdata where
parseJSON =
Core.withObject
"Annotationsdata"
( \o ->
Annotationsdata
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "nextPageToken")
Core.<*> (o Core..:? "totalItems")
)
instance Core.ToJSON Annotationsdata where
toJSON Annotationsdata {..} =
Core.object
( Core.catMaybes
[ ("items" Core..=) Core.<$> items,
("kind" Core..=) Core.<$> kind,
("nextPageToken" Core..=) Core.<$> nextPageToken,
("totalItems" Core..=) Core.<$> totalItems
]
)
--
-- /See:/ 'newBooksAnnotationsRange' smart constructor.
data BooksAnnotationsRange = BooksAnnotationsRange
{ -- | The offset from the ending position.
endOffset :: (Core.Maybe Core.Text),
-- | The ending position for the range.
endPosition :: (Core.Maybe Core.Text),
-- | The offset from the starting position.
startOffset :: (Core.Maybe Core.Text),
-- | The starting position for the range.
startPosition :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'BooksAnnotationsRange' with the minimum fields required to make a request.
newBooksAnnotationsRange ::
BooksAnnotationsRange
newBooksAnnotationsRange =
BooksAnnotationsRange
{ endOffset = Core.Nothing,
endPosition = Core.Nothing,
startOffset = Core.Nothing,
startPosition = Core.Nothing
}
instance Core.FromJSON BooksAnnotationsRange where
parseJSON =
Core.withObject
"BooksAnnotationsRange"
( \o ->
BooksAnnotationsRange
Core.<$> (o Core..:? "endOffset")
Core.<*> (o Core..:? "endPosition")
Core.<*> (o Core..:? "startOffset")
Core.<*> (o Core..:? "startPosition")
)
instance Core.ToJSON BooksAnnotationsRange where
toJSON BooksAnnotationsRange {..} =
Core.object
( Core.catMaybes
[ ("endOffset" Core..=) Core.<$> endOffset,
("endPosition" Core..=) Core.<$> endPosition,
("startOffset" Core..=) Core.<$> startOffset,
("startPosition" Core..=) Core.<$> startPosition
]
)
--
-- /See:/ 'newBooksCloudloadingResource' smart constructor.
data BooksCloudloadingResource = BooksCloudloadingResource
{ author :: (Core.Maybe Core.Text),
processingState :: (Core.Maybe Core.Text),
title :: (Core.Maybe Core.Text),
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'BooksCloudloadingResource' with the minimum fields required to make a request.
newBooksCloudloadingResource ::
BooksCloudloadingResource
newBooksCloudloadingResource =
BooksCloudloadingResource
{ author = Core.Nothing,
processingState = Core.Nothing,
title = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON BooksCloudloadingResource where
parseJSON =
Core.withObject
"BooksCloudloadingResource"
( \o ->
BooksCloudloadingResource
Core.<$> (o Core..:? "author")
Core.<*> (o Core..:? "processingState")
Core.<*> (o Core..:? "title")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON BooksCloudloadingResource where
toJSON BooksCloudloadingResource {..} =
Core.object
( Core.catMaybes
[ ("author" Core..=) Core.<$> author,
("processingState" Core..=) Core.<$> processingState,
("title" Core..=) Core.<$> title,
("volumeId" Core..=) Core.<$> volumeId
]
)
--
-- /See:/ 'newBooksVolumesRecommendedRateResponse' smart constructor.
newtype BooksVolumesRecommendedRateResponse = BooksVolumesRecommendedRateResponse
{ consistencyToken :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'BooksVolumesRecommendedRateResponse' with the minimum fields required to make a request.
newBooksVolumesRecommendedRateResponse ::
BooksVolumesRecommendedRateResponse
newBooksVolumesRecommendedRateResponse =
BooksVolumesRecommendedRateResponse
{ consistencyToken =
Core.Nothing
}
instance Core.FromJSON BooksVolumesRecommendedRateResponse where
parseJSON =
Core.withObject
"BooksVolumesRecommendedRateResponse"
( \o ->
BooksVolumesRecommendedRateResponse
Core.<$> (o Core..:? "consistency_token")
)
instance Core.ToJSON BooksVolumesRecommendedRateResponse where
toJSON BooksVolumesRecommendedRateResponse {..} =
Core.object
( Core.catMaybes
[("consistency_token" Core..=) Core.<$> consistencyToken]
)
--
-- /See:/ 'newBookshelf' smart constructor.
data Bookshelf = Bookshelf
{ -- | Whether this bookshelf is PUBLIC or PRIVATE.
access :: (Core.Maybe Core.Text),
-- | Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
created :: (Core.Maybe Core.Text),
-- | Description of this bookshelf.
description :: (Core.Maybe Core.Text),
-- | Id of this bookshelf, only unique by user.
id :: (Core.Maybe Core.Int32),
-- | Resource type for bookshelf metadata.
kind :: (Core.Maybe Core.Text),
-- | URL to this resource.
selfLink :: (Core.Maybe Core.Text),
-- | Title of this bookshelf.
title :: (Core.Maybe Core.Text),
-- | Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
updated :: (Core.Maybe Core.Text),
-- | Number of volumes in this bookshelf.
volumeCount :: (Core.Maybe Core.Int32),
-- | Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
volumesLastUpdated :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Bookshelf' with the minimum fields required to make a request.
newBookshelf ::
Bookshelf
newBookshelf =
Bookshelf
{ access = Core.Nothing,
created = Core.Nothing,
description = Core.Nothing,
id = Core.Nothing,
kind = Core.Nothing,
selfLink = Core.Nothing,
title = Core.Nothing,
updated = Core.Nothing,
volumeCount = Core.Nothing,
volumesLastUpdated = Core.Nothing
}
instance Core.FromJSON Bookshelf where
parseJSON =
Core.withObject
"Bookshelf"
( \o ->
Bookshelf
Core.<$> (o Core..:? "access")
Core.<*> (o Core..:? "created")
Core.<*> (o Core..:? "description")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "selfLink")
Core.<*> (o Core..:? "title")
Core.<*> (o Core..:? "updated")
Core.<*> (o Core..:? "volumeCount")
Core.<*> (o Core..:? "volumesLastUpdated")
)
instance Core.ToJSON Bookshelf where
toJSON Bookshelf {..} =
Core.object
( Core.catMaybes
[ ("access" Core..=) Core.<$> access,
("created" Core..=) Core.<$> created,
("description" Core..=) Core.<$> description,
("id" Core..=) Core.<$> id,
("kind" Core..=) Core.<$> kind,
("selfLink" Core..=) Core.<$> selfLink,
("title" Core..=) Core.<$> title,
("updated" Core..=) Core.<$> updated,
("volumeCount" Core..=) Core.<$> volumeCount,
("volumesLastUpdated" Core..=) Core.<$> volumesLastUpdated
]
)
--
-- /See:/ 'newBookshelves' smart constructor.
data Bookshelves = Bookshelves
{ -- | A list of bookshelves.
items :: (Core.Maybe [Bookshelf]),
-- | Resource type.
kind :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Bookshelves' with the minimum fields required to make a request.
newBookshelves ::
Bookshelves
newBookshelves =
Bookshelves {items = Core.Nothing, kind = Core.Nothing}
instance Core.FromJSON Bookshelves where
parseJSON =
Core.withObject
"Bookshelves"
( \o ->
Bookshelves
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
)
instance Core.ToJSON Bookshelves where
toJSON Bookshelves {..} =
Core.object
( Core.catMaybes
[("items" Core..=) Core.<$> items, ("kind" Core..=) Core.<$> kind]
)
--
-- /See:/ 'newCategory' smart constructor.
data Category = Category
{ -- | A list of onboarding categories.
items :: (Core.Maybe [Category_ItemsItem]),
-- | Resource type.
kind :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Category' with the minimum fields required to make a request.
newCategory ::
Category
newCategory = Category {items = Core.Nothing, kind = Core.Nothing}
instance Core.FromJSON Category where
parseJSON =
Core.withObject
"Category"
( \o ->
Category
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
)
instance Core.ToJSON Category where
toJSON Category {..} =
Core.object
( Core.catMaybes
[("items" Core..=) Core.<$> items, ("kind" Core..=) Core.<$> kind]
)
--
-- /See:/ 'newCategory_ItemsItem' smart constructor.
data Category_ItemsItem = Category_ItemsItem
{ badgeUrl :: (Core.Maybe Core.Text),
categoryId :: (Core.Maybe Core.Text),
name :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Category_ItemsItem' with the minimum fields required to make a request.
newCategory_ItemsItem ::
Category_ItemsItem
newCategory_ItemsItem =
Category_ItemsItem
{ badgeUrl = Core.Nothing,
categoryId = Core.Nothing,
name = Core.Nothing
}
instance Core.FromJSON Category_ItemsItem where
parseJSON =
Core.withObject
"Category_ItemsItem"
( \o ->
Category_ItemsItem
Core.<$> (o Core..:? "badgeUrl")
Core.<*> (o Core..:? "categoryId")
Core.<*> (o Core..:? "name")
)
instance Core.ToJSON Category_ItemsItem where
toJSON Category_ItemsItem {..} =
Core.object
( Core.catMaybes
[ ("badgeUrl" Core..=) Core.<$> badgeUrl,
("categoryId" Core..=) Core.<$> categoryId,
("name" Core..=) Core.<$> name
]
)
--
-- /See:/ 'newConcurrentAccessRestriction' smart constructor.
data ConcurrentAccessRestriction = ConcurrentAccessRestriction
{ -- | Whether access is granted for this (user, device, volume).
deviceAllowed :: (Core.Maybe Core.Bool),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | The maximum number of concurrent access licenses for this volume.
maxConcurrentDevices :: (Core.Maybe Core.Int32),
-- | Error\/warning message.
message :: (Core.Maybe Core.Text),
-- | Client nonce for verification. Download access and client-validation only.
nonce :: (Core.Maybe Core.Text),
-- | Error\/warning reason code.
reasonCode :: (Core.Maybe Core.Text),
-- | Whether this volume has any concurrent access restrictions.
restricted :: (Core.Maybe Core.Bool),
-- | Response signature.
signature :: (Core.Maybe Core.Text),
-- | Client app identifier for verification. Download access and client-validation only.
source :: (Core.Maybe Core.Text),
-- | Time in seconds for license auto-expiration.
timeWindowSeconds :: (Core.Maybe Core.Int32),
-- | Identifies the volume for which this entry applies.
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'ConcurrentAccessRestriction' with the minimum fields required to make a request.
newConcurrentAccessRestriction ::
ConcurrentAccessRestriction
newConcurrentAccessRestriction =
ConcurrentAccessRestriction
{ deviceAllowed = Core.Nothing,
kind = Core.Nothing,
maxConcurrentDevices = Core.Nothing,
message = Core.Nothing,
nonce = Core.Nothing,
reasonCode = Core.Nothing,
restricted = Core.Nothing,
signature = Core.Nothing,
source = Core.Nothing,
timeWindowSeconds = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON ConcurrentAccessRestriction where
parseJSON =
Core.withObject
"ConcurrentAccessRestriction"
( \o ->
ConcurrentAccessRestriction
Core.<$> (o Core..:? "deviceAllowed")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "maxConcurrentDevices")
Core.<*> (o Core..:? "message")
Core.<*> (o Core..:? "nonce")
Core.<*> (o Core..:? "reasonCode")
Core.<*> (o Core..:? "restricted")
Core.<*> (o Core..:? "signature")
Core.<*> (o Core..:? "source")
Core.<*> (o Core..:? "timeWindowSeconds")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON ConcurrentAccessRestriction where
toJSON ConcurrentAccessRestriction {..} =
Core.object
( Core.catMaybes
[ ("deviceAllowed" Core..=) Core.<$> deviceAllowed,
("kind" Core..=) Core.<$> kind,
("maxConcurrentDevices" Core..=) Core.<$> maxConcurrentDevices,
("message" Core..=) Core.<$> message,
("nonce" Core..=) Core.<$> nonce,
("reasonCode" Core..=) Core.<$> reasonCode,
("restricted" Core..=) Core.<$> restricted,
("signature" Core..=) Core.<$> signature,
("source" Core..=) Core.<$> source,
("timeWindowSeconds" Core..=) Core.<$> timeWindowSeconds,
("volumeId" Core..=) Core.<$> volumeId
]
)
--
-- /See:/ 'newDictionaryAnnotationdata' smart constructor.
data DictionaryAnnotationdata = DictionaryAnnotationdata
{ -- | The type of annotation this data is for.
annotationType :: (Core.Maybe Core.Text),
-- | JSON encoded data for this dictionary annotation data. Emitted with name \'data\' in JSON output. Either this or geo_data will be populated.
data' :: (Core.Maybe Dictlayerdata),
-- | Base64 encoded data for this annotation data.
encodedData :: (Core.Maybe Core.Base64),
-- | Unique id for this annotation data.
id :: (Core.Maybe Core.Text),
-- | Resource Type
kind :: (Core.Maybe Core.Text),
-- | The Layer id for this data. *
layerId :: (Core.Maybe Core.Text),
-- | URL for this resource. *
selfLink :: (Core.Maybe Core.Text),
-- | Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).
updated :: (Core.Maybe Core.Text),
-- | The volume id for this data. *
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'DictionaryAnnotationdata' with the minimum fields required to make a request.
newDictionaryAnnotationdata ::
DictionaryAnnotationdata
newDictionaryAnnotationdata =
DictionaryAnnotationdata
{ annotationType = Core.Nothing,
data' = Core.Nothing,
encodedData = Core.Nothing,
id = Core.Nothing,
kind = Core.Nothing,
layerId = Core.Nothing,
selfLink = Core.Nothing,
updated = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON DictionaryAnnotationdata where
parseJSON =
Core.withObject
"DictionaryAnnotationdata"
( \o ->
DictionaryAnnotationdata
Core.<$> (o Core..:? "annotationType")
Core.<*> (o Core..:? "data")
Core.<*> (o Core..:? "encodedData")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "layerId")
Core.<*> (o Core..:? "selfLink")
Core.<*> (o Core..:? "updated")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON DictionaryAnnotationdata where
toJSON DictionaryAnnotationdata {..} =
Core.object
( Core.catMaybes
[ ("annotationType" Core..=) Core.<$> annotationType,
("data" Core..=) Core.<$> data',
("encodedData" Core..=) Core.<$> encodedData,
("id" Core..=) Core.<$> id,
("kind" Core..=) Core.<$> kind,
("layerId" Core..=) Core.<$> layerId,
("selfLink" Core..=) Core.<$> selfLink,
("updated" Core..=) Core.<$> updated,
("volumeId" Core..=) Core.<$> volumeId
]
)
--
-- /See:/ 'newDictlayerdata' smart constructor.
data Dictlayerdata = Dictlayerdata
{ common :: (Core.Maybe Dictlayerdata_Common),
dict :: (Core.Maybe Dictlayerdata_Dict),
kind :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata' with the minimum fields required to make a request.
newDictlayerdata ::
Dictlayerdata
newDictlayerdata =
Dictlayerdata
{ common = Core.Nothing,
dict = Core.Nothing,
kind = Core.Nothing
}
instance Core.FromJSON Dictlayerdata where
parseJSON =
Core.withObject
"Dictlayerdata"
( \o ->
Dictlayerdata
Core.<$> (o Core..:? "common")
Core.<*> (o Core..:? "dict")
Core.<*> (o Core..:? "kind")
)
instance Core.ToJSON Dictlayerdata where
toJSON Dictlayerdata {..} =
Core.object
( Core.catMaybes
[ ("common" Core..=) Core.<$> common,
("dict" Core..=) Core.<$> dict,
("kind" Core..=) Core.<$> kind
]
)
--
-- /See:/ 'newDictlayerdata_Common' smart constructor.
newtype Dictlayerdata_Common = Dictlayerdata_Common
{ -- | The display title and localized canonical name to use when searching for this entity on Google search.
title :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Common' with the minimum fields required to make a request.
newDictlayerdata_Common ::
Dictlayerdata_Common
newDictlayerdata_Common =
Dictlayerdata_Common {title = Core.Nothing}
instance Core.FromJSON Dictlayerdata_Common where
parseJSON =
Core.withObject
"Dictlayerdata_Common"
(\o -> Dictlayerdata_Common Core.<$> (o Core..:? "title"))
instance Core.ToJSON Dictlayerdata_Common where
toJSON Dictlayerdata_Common {..} =
Core.object (Core.catMaybes [("title" Core..=) Core.<$> title])
--
-- /See:/ 'newDictlayerdata_Dict' smart constructor.
data Dictlayerdata_Dict = Dictlayerdata_Dict
{ -- | The source, url and attribution for this dictionary data.
source :: (Core.Maybe Dictlayerdata_Dict_Source),
words :: (Core.Maybe [Dictlayerdata_Dict_WordsItem])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict' with the minimum fields required to make a request.
newDictlayerdata_Dict ::
Dictlayerdata_Dict
newDictlayerdata_Dict =
Dictlayerdata_Dict {source = Core.Nothing, words = Core.Nothing}
instance Core.FromJSON Dictlayerdata_Dict where
parseJSON =
Core.withObject
"Dictlayerdata_Dict"
( \o ->
Dictlayerdata_Dict
Core.<$> (o Core..:? "source")
Core.<*> (o Core..:? "words")
)
instance Core.ToJSON Dictlayerdata_Dict where
toJSON Dictlayerdata_Dict {..} =
Core.object
( Core.catMaybes
[ ("source" Core..=) Core.<$> source,
("words" Core..=) Core.<$> words
]
)
-- | The source, url and attribution for this dictionary data.
--
-- /See:/ 'newDictlayerdata_Dict_Source' smart constructor.
data Dictlayerdata_Dict_Source = Dictlayerdata_Dict_Source
{ attribution :: (Core.Maybe Core.Text),
url :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_Source' with the minimum fields required to make a request.
newDictlayerdata_Dict_Source ::
Dictlayerdata_Dict_Source
newDictlayerdata_Dict_Source =
Dictlayerdata_Dict_Source
{ attribution = Core.Nothing,
url = Core.Nothing
}
instance Core.FromJSON Dictlayerdata_Dict_Source where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_Source"
( \o ->
Dictlayerdata_Dict_Source
Core.<$> (o Core..:? "attribution")
Core.<*> (o Core..:? "url")
)
instance Core.ToJSON Dictlayerdata_Dict_Source where
toJSON Dictlayerdata_Dict_Source {..} =
Core.object
( Core.catMaybes
[ ("attribution" Core..=) Core.<$> attribution,
("url" Core..=) Core.<$> url
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem' smart constructor.
data Dictlayerdata_Dict_WordsItem = Dictlayerdata_Dict_WordsItem
{ derivatives :: (Core.Maybe [Dictlayerdata_Dict_WordsItem_DerivativesItem]),
examples :: (Core.Maybe [Dictlayerdata_Dict_WordsItem_ExamplesItem]),
senses :: (Core.Maybe [Dictlayerdata_Dict_WordsItem_SensesItem]),
-- | The words with different meanings but not related words, e.g. \"go\" (game) and \"go\" (verb).
source :: (Core.Maybe Dictlayerdata_Dict_WordsItem_Source)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem ::
Dictlayerdata_Dict_WordsItem
newDictlayerdata_Dict_WordsItem =
Dictlayerdata_Dict_WordsItem
{ derivatives = Core.Nothing,
examples = Core.Nothing,
senses = Core.Nothing,
source = Core.Nothing
}
instance Core.FromJSON Dictlayerdata_Dict_WordsItem where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem"
( \o ->
Dictlayerdata_Dict_WordsItem
Core.<$> (o Core..:? "derivatives")
Core.<*> (o Core..:? "examples")
Core.<*> (o Core..:? "senses")
Core.<*> (o Core..:? "source")
)
instance Core.ToJSON Dictlayerdata_Dict_WordsItem where
toJSON Dictlayerdata_Dict_WordsItem {..} =
Core.object
( Core.catMaybes
[ ("derivatives" Core..=) Core.<$> derivatives,
("examples" Core..=) Core.<$> examples,
("senses" Core..=) Core.<$> senses,
("source" Core..=) Core.<$> source
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_DerivativesItem' smart constructor.
data Dictlayerdata_Dict_WordsItem_DerivativesItem = Dictlayerdata_Dict_WordsItem_DerivativesItem
{ source :: (Core.Maybe Dictlayerdata_Dict_WordsItem_DerivativesItem_Source),
text :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_DerivativesItem' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_DerivativesItem ::
Dictlayerdata_Dict_WordsItem_DerivativesItem
newDictlayerdata_Dict_WordsItem_DerivativesItem =
Dictlayerdata_Dict_WordsItem_DerivativesItem
{ source =
Core.Nothing,
text = Core.Nothing
}
instance Core.FromJSON Dictlayerdata_Dict_WordsItem_DerivativesItem where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_DerivativesItem"
( \o ->
Dictlayerdata_Dict_WordsItem_DerivativesItem
Core.<$> (o Core..:? "source")
Core.<*> (o Core..:? "text")
)
instance Core.ToJSON Dictlayerdata_Dict_WordsItem_DerivativesItem where
toJSON Dictlayerdata_Dict_WordsItem_DerivativesItem {..} =
Core.object
( Core.catMaybes
[ ("source" Core..=) Core.<$> source,
("text" Core..=) Core.<$> text
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_DerivativesItem_Source' smart constructor.
data Dictlayerdata_Dict_WordsItem_DerivativesItem_Source = Dictlayerdata_Dict_WordsItem_DerivativesItem_Source
{ attribution :: (Core.Maybe Core.Text),
url :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_DerivativesItem_Source' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_DerivativesItem_Source ::
Dictlayerdata_Dict_WordsItem_DerivativesItem_Source
newDictlayerdata_Dict_WordsItem_DerivativesItem_Source =
Dictlayerdata_Dict_WordsItem_DerivativesItem_Source
{ attribution =
Core.Nothing,
url = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_DerivativesItem_Source
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_DerivativesItem_Source"
( \o ->
Dictlayerdata_Dict_WordsItem_DerivativesItem_Source
Core.<$> (o Core..:? "attribution")
Core.<*> (o Core..:? "url")
)
instance
Core.ToJSON
Dictlayerdata_Dict_WordsItem_DerivativesItem_Source
where
toJSON Dictlayerdata_Dict_WordsItem_DerivativesItem_Source {..} =
Core.object
( Core.catMaybes
[ ("attribution" Core..=) Core.<$> attribution,
("url" Core..=) Core.<$> url
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_ExamplesItem' smart constructor.
data Dictlayerdata_Dict_WordsItem_ExamplesItem = Dictlayerdata_Dict_WordsItem_ExamplesItem
{ source :: (Core.Maybe Dictlayerdata_Dict_WordsItem_ExamplesItem_Source),
text :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_ExamplesItem' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_ExamplesItem ::
Dictlayerdata_Dict_WordsItem_ExamplesItem
newDictlayerdata_Dict_WordsItem_ExamplesItem =
Dictlayerdata_Dict_WordsItem_ExamplesItem
{ source = Core.Nothing,
text = Core.Nothing
}
instance Core.FromJSON Dictlayerdata_Dict_WordsItem_ExamplesItem where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_ExamplesItem"
( \o ->
Dictlayerdata_Dict_WordsItem_ExamplesItem
Core.<$> (o Core..:? "source")
Core.<*> (o Core..:? "text")
)
instance Core.ToJSON Dictlayerdata_Dict_WordsItem_ExamplesItem where
toJSON Dictlayerdata_Dict_WordsItem_ExamplesItem {..} =
Core.object
( Core.catMaybes
[ ("source" Core..=) Core.<$> source,
("text" Core..=) Core.<$> text
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_ExamplesItem_Source' smart constructor.
data Dictlayerdata_Dict_WordsItem_ExamplesItem_Source = Dictlayerdata_Dict_WordsItem_ExamplesItem_Source
{ attribution :: (Core.Maybe Core.Text),
url :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_ExamplesItem_Source' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_ExamplesItem_Source ::
Dictlayerdata_Dict_WordsItem_ExamplesItem_Source
newDictlayerdata_Dict_WordsItem_ExamplesItem_Source =
Dictlayerdata_Dict_WordsItem_ExamplesItem_Source
{ attribution =
Core.Nothing,
url = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_ExamplesItem_Source
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_ExamplesItem_Source"
( \o ->
Dictlayerdata_Dict_WordsItem_ExamplesItem_Source
Core.<$> (o Core..:? "attribution")
Core.<*> (o Core..:? "url")
)
instance
Core.ToJSON
Dictlayerdata_Dict_WordsItem_ExamplesItem_Source
where
toJSON Dictlayerdata_Dict_WordsItem_ExamplesItem_Source {..} =
Core.object
( Core.catMaybes
[ ("attribution" Core..=) Core.<$> attribution,
("url" Core..=) Core.<$> url
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_SensesItem' smart constructor.
data Dictlayerdata_Dict_WordsItem_SensesItem = Dictlayerdata_Dict_WordsItem_SensesItem
{ conjugations ::
( Core.Maybe
[Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem]
),
definitions ::
( Core.Maybe
[Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem]
),
partOfSpeech :: (Core.Maybe Core.Text),
pronunciation :: (Core.Maybe Core.Text),
pronunciationUrl :: (Core.Maybe Core.Text),
source :: (Core.Maybe Dictlayerdata_Dict_WordsItem_SensesItem_Source),
syllabification :: (Core.Maybe Core.Text),
synonyms :: (Core.Maybe [Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_SensesItem' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_SensesItem ::
Dictlayerdata_Dict_WordsItem_SensesItem
newDictlayerdata_Dict_WordsItem_SensesItem =
Dictlayerdata_Dict_WordsItem_SensesItem
{ conjugations =
Core.Nothing,
definitions = Core.Nothing,
partOfSpeech = Core.Nothing,
pronunciation = Core.Nothing,
pronunciationUrl = Core.Nothing,
source = Core.Nothing,
syllabification = Core.Nothing,
synonyms = Core.Nothing
}
instance Core.FromJSON Dictlayerdata_Dict_WordsItem_SensesItem where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_SensesItem"
( \o ->
Dictlayerdata_Dict_WordsItem_SensesItem
Core.<$> (o Core..:? "conjugations")
Core.<*> (o Core..:? "definitions")
Core.<*> (o Core..:? "partOfSpeech")
Core.<*> (o Core..:? "pronunciation")
Core.<*> (o Core..:? "pronunciationUrl")
Core.<*> (o Core..:? "source")
Core.<*> (o Core..:? "syllabification")
Core.<*> (o Core..:? "synonyms")
)
instance Core.ToJSON Dictlayerdata_Dict_WordsItem_SensesItem where
toJSON Dictlayerdata_Dict_WordsItem_SensesItem {..} =
Core.object
( Core.catMaybes
[ ("conjugations" Core..=) Core.<$> conjugations,
("definitions" Core..=) Core.<$> definitions,
("partOfSpeech" Core..=) Core.<$> partOfSpeech,
("pronunciation" Core..=) Core.<$> pronunciation,
("pronunciationUrl" Core..=) Core.<$> pronunciationUrl,
("source" Core..=) Core.<$> source,
("syllabification" Core..=) Core.<$> syllabification,
("synonyms" Core..=) Core.<$> synonyms
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem' smart constructor.
data Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem = Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem
{ type' :: (Core.Maybe Core.Text),
value :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem ::
Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem
newDictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem =
Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem
{ type' =
Core.Nothing,
value = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem"
( \o ->
Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem
Core.<$> (o Core..:? "type")
Core.<*> (o Core..:? "value")
)
instance
Core.ToJSON
Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem
where
toJSON Dictlayerdata_Dict_WordsItem_SensesItem_ConjugationsItem {..} =
Core.object
( Core.catMaybes
[ ("type" Core..=) Core.<$> type',
("value" Core..=) Core.<$> value
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem' smart constructor.
data Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem = Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem
{ definition :: (Core.Maybe Core.Text),
examples ::
( Core.Maybe
[Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem]
)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem ::
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem =
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem
{ definition =
Core.Nothing,
examples = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem"
( \o ->
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem
Core.<$> (o Core..:? "definition")
Core.<*> (o Core..:? "examples")
)
instance
Core.ToJSON
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem
where
toJSON Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem {..} =
Core.object
( Core.catMaybes
[ ("definition" Core..=) Core.<$> definition,
("examples" Core..=) Core.<$> examples
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem' smart constructor.
data Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem = Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem
{ source ::
( Core.Maybe
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source
),
text :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem ::
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem =
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem
{ source =
Core.Nothing,
text = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem"
( \o ->
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem
Core.<$> (o Core..:? "source")
Core.<*> (o Core..:? "text")
)
instance
Core.ToJSON
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem
where
toJSON
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem {..} =
Core.object
( Core.catMaybes
[ ("source" Core..=) Core.<$> source,
("text" Core..=) Core.<$> text
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source' smart constructor.
data Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source = Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source
{ attribution :: (Core.Maybe Core.Text),
url :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source ::
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source
newDictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source =
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source
{ attribution =
Core.Nothing,
url = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source"
( \o ->
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source
Core.<$> (o Core..:? "attribution")
Core.<*> (o Core..:? "url")
)
instance
Core.ToJSON
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source
where
toJSON
Dictlayerdata_Dict_WordsItem_SensesItem_DefinitionsItem_ExamplesItem_Source {..} =
Core.object
( Core.catMaybes
[ ("attribution" Core..=) Core.<$> attribution,
("url" Core..=) Core.<$> url
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_SensesItem_Source' smart constructor.
data Dictlayerdata_Dict_WordsItem_SensesItem_Source = Dictlayerdata_Dict_WordsItem_SensesItem_Source
{ attribution :: (Core.Maybe Core.Text),
url :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_SensesItem_Source' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_SensesItem_Source ::
Dictlayerdata_Dict_WordsItem_SensesItem_Source
newDictlayerdata_Dict_WordsItem_SensesItem_Source =
Dictlayerdata_Dict_WordsItem_SensesItem_Source
{ attribution =
Core.Nothing,
url = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_SensesItem_Source
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_SensesItem_Source"
( \o ->
Dictlayerdata_Dict_WordsItem_SensesItem_Source
Core.<$> (o Core..:? "attribution")
Core.<*> (o Core..:? "url")
)
instance Core.ToJSON Dictlayerdata_Dict_WordsItem_SensesItem_Source where
toJSON Dictlayerdata_Dict_WordsItem_SensesItem_Source {..} =
Core.object
( Core.catMaybes
[ ("attribution" Core..=) Core.<$> attribution,
("url" Core..=) Core.<$> url
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem' smart constructor.
data Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem = Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem
{ source ::
( Core.Maybe
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source
),
text :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem ::
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem
newDictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem =
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem
{ source =
Core.Nothing,
text = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem"
( \o ->
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem
Core.<$> (o Core..:? "source")
Core.<*> (o Core..:? "text")
)
instance
Core.ToJSON
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem
where
toJSON Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem {..} =
Core.object
( Core.catMaybes
[ ("source" Core..=) Core.<$> source,
("text" Core..=) Core.<$> text
]
)
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source' smart constructor.
data Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source = Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source
{ attribution :: (Core.Maybe Core.Text),
url :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source ::
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source
newDictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source =
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source
{ attribution =
Core.Nothing,
url = Core.Nothing
}
instance
Core.FromJSON
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source
where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source"
( \o ->
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source
Core.<$> (o Core..:? "attribution")
Core.<*> (o Core..:? "url")
)
instance
Core.ToJSON
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source
where
toJSON
Dictlayerdata_Dict_WordsItem_SensesItem_SynonymsItem_Source {..} =
Core.object
( Core.catMaybes
[ ("attribution" Core..=) Core.<$> attribution,
("url" Core..=) Core.<$> url
]
)
-- | The words with different meanings but not related words, e.g. \"go\" (game) and \"go\" (verb).
--
-- /See:/ 'newDictlayerdata_Dict_WordsItem_Source' smart constructor.
data Dictlayerdata_Dict_WordsItem_Source = Dictlayerdata_Dict_WordsItem_Source
{ attribution :: (Core.Maybe Core.Text),
url :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Dictlayerdata_Dict_WordsItem_Source' with the minimum fields required to make a request.
newDictlayerdata_Dict_WordsItem_Source ::
Dictlayerdata_Dict_WordsItem_Source
newDictlayerdata_Dict_WordsItem_Source =
Dictlayerdata_Dict_WordsItem_Source
{ attribution = Core.Nothing,
url = Core.Nothing
}
instance Core.FromJSON Dictlayerdata_Dict_WordsItem_Source where
parseJSON =
Core.withObject
"Dictlayerdata_Dict_WordsItem_Source"
( \o ->
Dictlayerdata_Dict_WordsItem_Source
Core.<$> (o Core..:? "attribution")
Core.<*> (o Core..:? "url")
)
instance Core.ToJSON Dictlayerdata_Dict_WordsItem_Source where
toJSON Dictlayerdata_Dict_WordsItem_Source {..} =
Core.object
( Core.catMaybes
[ ("attribution" Core..=) Core.<$> attribution,
("url" Core..=) Core.<$> url
]
)
--
-- /See:/ 'newDiscoveryclusters' smart constructor.
data Discoveryclusters = Discoveryclusters
{ clusters :: (Core.Maybe [Discoveryclusters_ClustersItem]),
-- | Resorce type.
kind :: (Core.Maybe Core.Text),
totalClusters :: (Core.Maybe Core.Int32)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Discoveryclusters' with the minimum fields required to make a request.
newDiscoveryclusters ::
Discoveryclusters
newDiscoveryclusters =
Discoveryclusters
{ clusters = Core.Nothing,
kind = Core.Nothing,
totalClusters = Core.Nothing
}
instance Core.FromJSON Discoveryclusters where
parseJSON =
Core.withObject
"Discoveryclusters"
( \o ->
Discoveryclusters
Core.<$> (o Core..:? "clusters")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "totalClusters")
)
instance Core.ToJSON Discoveryclusters where
toJSON Discoveryclusters {..} =
Core.object
( Core.catMaybes
[ ("clusters" Core..=) Core.<$> clusters,
("kind" Core..=) Core.<$> kind,
("totalClusters" Core..=) Core.<$> totalClusters
]
)
--
-- /See:/ 'newDiscoveryclusters_ClustersItem' smart constructor.
data Discoveryclusters_ClustersItem = Discoveryclusters_ClustersItem
{ bannerWithContentContainer ::
( Core.Maybe
Discoveryclusters_ClustersItem_Banner_with_content_container
),
subTitle :: (Core.Maybe Core.Text),
title :: (Core.Maybe Core.Text),
totalVolumes :: (Core.Maybe Core.Int32),
uid :: (Core.Maybe Core.Text),
volumes :: (Core.Maybe [Volume])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Discoveryclusters_ClustersItem' with the minimum fields required to make a request.
newDiscoveryclusters_ClustersItem ::
Discoveryclusters_ClustersItem
newDiscoveryclusters_ClustersItem =
Discoveryclusters_ClustersItem
{ bannerWithContentContainer =
Core.Nothing,
subTitle = Core.Nothing,
title = Core.Nothing,
totalVolumes = Core.Nothing,
uid = Core.Nothing,
volumes = Core.Nothing
}
instance Core.FromJSON Discoveryclusters_ClustersItem where
parseJSON =
Core.withObject
"Discoveryclusters_ClustersItem"
( \o ->
Discoveryclusters_ClustersItem
Core.<$> (o Core..:? "banner_with_content_container")
Core.<*> (o Core..:? "subTitle")
Core.<*> (o Core..:? "title")
Core.<*> (o Core..:? "totalVolumes")
Core.<*> (o Core..:? "uid")
Core.<*> (o Core..:? "volumes")
)
instance Core.ToJSON Discoveryclusters_ClustersItem where
toJSON Discoveryclusters_ClustersItem {..} =
Core.object
( Core.catMaybes
[ ("banner_with_content_container" Core..=)
Core.<$> bannerWithContentContainer,
("subTitle" Core..=) Core.<$> subTitle,
("title" Core..=) Core.<$> title,
("totalVolumes" Core..=) Core.<$> totalVolumes,
("uid" Core..=) Core.<$> uid,
("volumes" Core..=) Core.<$> volumes
]
)
--
-- /See:/ 'newDiscoveryclusters_ClustersItem_Banner_with_content_container' smart constructor.
data Discoveryclusters_ClustersItem_Banner_with_content_container = Discoveryclusters_ClustersItem_Banner_with_content_container
{ fillColorArgb :: (Core.Maybe Core.Text),
imageUrl :: (Core.Maybe Core.Text),
maskColorArgb :: (Core.Maybe Core.Text),
moreButtonText :: (Core.Maybe Core.Text),
moreButtonUrl :: (Core.Maybe Core.Text),
textColorArgb :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Discoveryclusters_ClustersItem_Banner_with_content_container' with the minimum fields required to make a request.
newDiscoveryclusters_ClustersItem_Banner_with_content_container ::
Discoveryclusters_ClustersItem_Banner_with_content_container
newDiscoveryclusters_ClustersItem_Banner_with_content_container =
Discoveryclusters_ClustersItem_Banner_with_content_container
{ fillColorArgb =
Core.Nothing,
imageUrl = Core.Nothing,
maskColorArgb = Core.Nothing,
moreButtonText = Core.Nothing,
moreButtonUrl = Core.Nothing,
textColorArgb = Core.Nothing
}
instance
Core.FromJSON
Discoveryclusters_ClustersItem_Banner_with_content_container
where
parseJSON =
Core.withObject
"Discoveryclusters_ClustersItem_Banner_with_content_container"
( \o ->
Discoveryclusters_ClustersItem_Banner_with_content_container
Core.<$> (o Core..:? "fillColorArgb")
Core.<*> (o Core..:? "imageUrl")
Core.<*> (o Core..:? "maskColorArgb")
Core.<*> (o Core..:? "moreButtonText")
Core.<*> (o Core..:? "moreButtonUrl")
Core.<*> (o Core..:? "textColorArgb")
)
instance
Core.ToJSON
Discoveryclusters_ClustersItem_Banner_with_content_container
where
toJSON
Discoveryclusters_ClustersItem_Banner_with_content_container {..} =
Core.object
( Core.catMaybes
[ ("fillColorArgb" Core..=) Core.<$> fillColorArgb,
("imageUrl" Core..=) Core.<$> imageUrl,
("maskColorArgb" Core..=) Core.<$> maskColorArgb,
("moreButtonText" Core..=) Core.<$> moreButtonText,
("moreButtonUrl" Core..=) Core.<$> moreButtonUrl,
("textColorArgb" Core..=) Core.<$> textColorArgb
]
)
--
-- /See:/ 'newDownloadAccessRestriction' smart constructor.
data DownloadAccessRestriction = DownloadAccessRestriction
{ -- | If restricted, whether access is granted for this (user, device, volume).
deviceAllowed :: (Core.Maybe Core.Bool),
-- | If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
downloadsAcquired :: (Core.Maybe Core.Int32),
-- | If deviceAllowed, whether access was just acquired with this request.
justAcquired :: (Core.Maybe Core.Bool),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | If restricted, the maximum number of content download licenses for this volume.
maxDownloadDevices :: (Core.Maybe Core.Int32),
-- | Error\/warning message.
message :: (Core.Maybe Core.Text),
-- | Client nonce for verification. Download access and client-validation only.
nonce :: (Core.Maybe Core.Text),
-- | Error\/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS/DENIED/PUBLISHER/LIMIT 101 ACCESS/DENIED/LIMIT 200 WARNING/USED/LAST/ACCESS
reasonCode :: (Core.Maybe Core.Text),
-- | Whether this volume has any download access restrictions.
restricted :: (Core.Maybe Core.Bool),
-- | Response signature.
signature :: (Core.Maybe Core.Text),
-- | Client app identifier for verification. Download access and client-validation only.
source :: (Core.Maybe Core.Text),
-- | Identifies the volume for which this entry applies.
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'DownloadAccessRestriction' with the minimum fields required to make a request.
newDownloadAccessRestriction ::
DownloadAccessRestriction
newDownloadAccessRestriction =
DownloadAccessRestriction
{ deviceAllowed = Core.Nothing,
downloadsAcquired = Core.Nothing,
justAcquired = Core.Nothing,
kind = Core.Nothing,
maxDownloadDevices = Core.Nothing,
message = Core.Nothing,
nonce = Core.Nothing,
reasonCode = Core.Nothing,
restricted = Core.Nothing,
signature = Core.Nothing,
source = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON DownloadAccessRestriction where
parseJSON =
Core.withObject
"DownloadAccessRestriction"
( \o ->
DownloadAccessRestriction
Core.<$> (o Core..:? "deviceAllowed")
Core.<*> (o Core..:? "downloadsAcquired")
Core.<*> (o Core..:? "justAcquired")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "maxDownloadDevices")
Core.<*> (o Core..:? "message")
Core.<*> (o Core..:? "nonce")
Core.<*> (o Core..:? "reasonCode")
Core.<*> (o Core..:? "restricted")
Core.<*> (o Core..:? "signature")
Core.<*> (o Core..:? "source")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON DownloadAccessRestriction where
toJSON DownloadAccessRestriction {..} =
Core.object
( Core.catMaybes
[ ("deviceAllowed" Core..=) Core.<$> deviceAllowed,
("downloadsAcquired" Core..=) Core.<$> downloadsAcquired,
("justAcquired" Core..=) Core.<$> justAcquired,
("kind" Core..=) Core.<$> kind,
("maxDownloadDevices" Core..=) Core.<$> maxDownloadDevices,
("message" Core..=) Core.<$> message,
("nonce" Core..=) Core.<$> nonce,
("reasonCode" Core..=) Core.<$> reasonCode,
("restricted" Core..=) Core.<$> restricted,
("signature" Core..=) Core.<$> signature,
("source" Core..=) Core.<$> source,
("volumeId" Core..=) Core.<$> volumeId
]
)
--
-- /See:/ 'newDownloadAccesses' smart constructor.
data DownloadAccesses = DownloadAccesses
{ -- | A list of download access responses.
downloadAccessList :: (Core.Maybe [DownloadAccessRestriction]),
-- | Resource type.
kind :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'DownloadAccesses' with the minimum fields required to make a request.
newDownloadAccesses ::
DownloadAccesses
newDownloadAccesses =
DownloadAccesses
{ downloadAccessList = Core.Nothing,
kind = Core.Nothing
}
instance Core.FromJSON DownloadAccesses where
parseJSON =
Core.withObject
"DownloadAccesses"
( \o ->
DownloadAccesses
Core.<$> (o Core..:? "downloadAccessList")
Core.<*> (o Core..:? "kind")
)
instance Core.ToJSON DownloadAccesses where
toJSON DownloadAccesses {..} =
Core.object
( Core.catMaybes
[ ("downloadAccessList" Core..=) Core.<$> downloadAccessList,
("kind" Core..=) Core.<$> kind
]
)
-- | A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
--
-- /See:/ 'newEmpty' smart constructor.
data Empty = Empty
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Empty' with the minimum fields required to make a request.
newEmpty ::
Empty
newEmpty = Empty
instance Core.FromJSON Empty where
parseJSON = Core.withObject "Empty" (\o -> Core.pure Empty)
instance Core.ToJSON Empty where
toJSON = Core.const Core.emptyObject
--
-- /See:/ 'newFamilyInfo' smart constructor.
data FamilyInfo = FamilyInfo
{ -- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | Family membership info of the user that made the request.
membership :: (Core.Maybe FamilyInfo_Membership)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'FamilyInfo' with the minimum fields required to make a request.
newFamilyInfo ::
FamilyInfo
newFamilyInfo =
FamilyInfo {kind = Core.Nothing, membership = Core.Nothing}
instance Core.FromJSON FamilyInfo where
parseJSON =
Core.withObject
"FamilyInfo"
( \o ->
FamilyInfo
Core.<$> (o Core..:? "kind")
Core.<*> (o Core..:? "membership")
)
instance Core.ToJSON FamilyInfo where
toJSON FamilyInfo {..} =
Core.object
( Core.catMaybes
[ ("kind" Core..=) Core.<$> kind,
("membership" Core..=) Core.<$> membership
]
)
-- | Family membership info of the user that made the request.
--
-- /See:/ 'newFamilyInfo_Membership' smart constructor.
data FamilyInfo_Membership = FamilyInfo_Membership
{ -- | Restrictions on user buying and acquiring content.
acquirePermission :: (Core.Maybe Core.Text),
-- | The age group of the user.
ageGroup :: (Core.Maybe Core.Text),
-- | The maximum allowed maturity rating for the user.
allowedMaturityRating :: (Core.Maybe Core.Text),
isInFamily :: (Core.Maybe Core.Bool),
-- | The role of the user in the family.
role' :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'FamilyInfo_Membership' with the minimum fields required to make a request.
newFamilyInfo_Membership ::
FamilyInfo_Membership
newFamilyInfo_Membership =
FamilyInfo_Membership
{ acquirePermission = Core.Nothing,
ageGroup = Core.Nothing,
allowedMaturityRating = Core.Nothing,
isInFamily = Core.Nothing,
role' = Core.Nothing
}
instance Core.FromJSON FamilyInfo_Membership where
parseJSON =
Core.withObject
"FamilyInfo_Membership"
( \o ->
FamilyInfo_Membership
Core.<$> (o Core..:? "acquirePermission")
Core.<*> (o Core..:? "ageGroup")
Core.<*> (o Core..:? "allowedMaturityRating")
Core.<*> (o Core..:? "isInFamily")
Core.<*> (o Core..:? "role")
)
instance Core.ToJSON FamilyInfo_Membership where
toJSON FamilyInfo_Membership {..} =
Core.object
( Core.catMaybes
[ ("acquirePermission" Core..=) Core.<$> acquirePermission,
("ageGroup" Core..=) Core.<$> ageGroup,
("allowedMaturityRating" Core..=) Core.<$> allowedMaturityRating,
("isInFamily" Core..=) Core.<$> isInFamily,
("role" Core..=) Core.<$> role'
]
)
--
-- /See:/ 'newGeoAnnotationdata' smart constructor.
data GeoAnnotationdata = GeoAnnotationdata
{ -- | The type of annotation this data is for.
annotationType :: (Core.Maybe Core.Text),
-- | JSON encoded data for this geo annotation data. Emitted with name \'data\' in JSON output. Either this or dict_data will be populated.
data' :: (Core.Maybe Geolayerdata),
-- | Base64 encoded data for this annotation data.
encodedData :: (Core.Maybe Core.Base64),
-- | Unique id for this annotation data.
id :: (Core.Maybe Core.Text),
-- | Resource Type
kind :: (Core.Maybe Core.Text),
-- | The Layer id for this data. *
layerId :: (Core.Maybe Core.Text),
-- | URL for this resource. *
selfLink :: (Core.Maybe Core.Text),
-- | Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).
updated :: (Core.Maybe Core.Text),
-- | The volume id for this data. *
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'GeoAnnotationdata' with the minimum fields required to make a request.
newGeoAnnotationdata ::
GeoAnnotationdata
newGeoAnnotationdata =
GeoAnnotationdata
{ annotationType = Core.Nothing,
data' = Core.Nothing,
encodedData = Core.Nothing,
id = Core.Nothing,
kind = Core.Nothing,
layerId = Core.Nothing,
selfLink = Core.Nothing,
updated = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON GeoAnnotationdata where
parseJSON =
Core.withObject
"GeoAnnotationdata"
( \o ->
GeoAnnotationdata
Core.<$> (o Core..:? "annotationType")
Core.<*> (o Core..:? "data")
Core.<*> (o Core..:? "encodedData")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "layerId")
Core.<*> (o Core..:? "selfLink")
Core.<*> (o Core..:? "updated")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON GeoAnnotationdata where
toJSON GeoAnnotationdata {..} =
Core.object
( Core.catMaybes
[ ("annotationType" Core..=) Core.<$> annotationType,
("data" Core..=) Core.<$> data',
("encodedData" Core..=) Core.<$> encodedData,
("id" Core..=) Core.<$> id,
("kind" Core..=) Core.<$> kind,
("layerId" Core..=) Core.<$> layerId,
("selfLink" Core..=) Core.<$> selfLink,
("updated" Core..=) Core.<$> updated,
("volumeId" Core..=) Core.<$> volumeId
]
)
--
-- /See:/ 'newGeolayerdata' smart constructor.
data Geolayerdata = Geolayerdata
{ common :: (Core.Maybe Geolayerdata_Common),
geo :: (Core.Maybe Geolayerdata_Geo),
kind :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Geolayerdata' with the minimum fields required to make a request.
newGeolayerdata ::
Geolayerdata
newGeolayerdata =
Geolayerdata
{ common = Core.Nothing,
geo = Core.Nothing,
kind = Core.Nothing
}
instance Core.FromJSON Geolayerdata where
parseJSON =
Core.withObject
"Geolayerdata"
( \o ->
Geolayerdata
Core.<$> (o Core..:? "common")
Core.<*> (o Core..:? "geo")
Core.<*> (o Core..:? "kind")
)
instance Core.ToJSON Geolayerdata where
toJSON Geolayerdata {..} =
Core.object
( Core.catMaybes
[ ("common" Core..=) Core.<$> common,
("geo" Core..=) Core.<$> geo,
("kind" Core..=) Core.<$> kind
]
)
--
-- /See:/ 'newGeolayerdata_Common' smart constructor.
data Geolayerdata_Common = Geolayerdata_Common
{ -- | The language of the information url and description.
lang :: (Core.Maybe Core.Text),
-- | The URL for the preview image information.
previewImageUrl :: (Core.Maybe Core.Text),
-- | The description for this location.
snippet :: (Core.Maybe Core.Text),
-- | The URL for information for this location. Ex: wikipedia link.
snippetUrl :: (Core.Maybe Core.Text),
-- | The display title and localized canonical name to use when searching for this entity on Google search.
title :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Geolayerdata_Common' with the minimum fields required to make a request.
newGeolayerdata_Common ::
Geolayerdata_Common
newGeolayerdata_Common =
Geolayerdata_Common
{ lang = Core.Nothing,
previewImageUrl = Core.Nothing,
snippet = Core.Nothing,
snippetUrl = Core.Nothing,
title = Core.Nothing
}
instance Core.FromJSON Geolayerdata_Common where
parseJSON =
Core.withObject
"Geolayerdata_Common"
( \o ->
Geolayerdata_Common
Core.<$> (o Core..:? "lang")
Core.<*> (o Core..:? "previewImageUrl")
Core.<*> (o Core..:? "snippet")
Core.<*> (o Core..:? "snippetUrl")
Core.<*> (o Core..:? "title")
)
instance Core.ToJSON Geolayerdata_Common where
toJSON Geolayerdata_Common {..} =
Core.object
( Core.catMaybes
[ ("lang" Core..=) Core.<$> lang,
("previewImageUrl" Core..=) Core.<$> previewImageUrl,
("snippet" Core..=) Core.<$> snippet,
("snippetUrl" Core..=) Core.<$> snippetUrl,
("title" Core..=) Core.<$> title
]
)
--
-- /See:/ 'newGeolayerdata_Geo' smart constructor.
data Geolayerdata_Geo = Geolayerdata_Geo
{ -- | The boundary of the location as a set of loops containing pairs of latitude, longitude coordinates.
boundary :: (Core.Maybe [Core.Text]),
-- | The cache policy active for this data. EX: UNRESTRICTED, RESTRICTED, NEVER
cachePolicy :: (Core.Maybe Core.Text),
-- | The country code of the location.
countryCode :: (Core.Maybe Core.Text),
-- | The latitude of the location.
latitude :: (Core.Maybe Core.Double),
-- | The longitude of the location.
longitude :: (Core.Maybe Core.Double),
-- | The type of map that should be used for this location. EX: HYBRID, ROADMAP, SATELLITE, TERRAIN
mapType :: (Core.Maybe Core.Text),
-- | The viewport for showing this location. This is a latitude, longitude rectangle.
viewport :: (Core.Maybe Geolayerdata_Geo_Viewport),
-- | The Zoom level to use for the map. Zoom levels between 0 (the lowest zoom level, in which the entire world can be seen on one map) to 21+ (down to individual buildings). See: https: \/\/developers.google.com\/maps\/documentation\/staticmaps\/#Zoomlevels
zoom :: (Core.Maybe Core.Int32)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Geolayerdata_Geo' with the minimum fields required to make a request.
newGeolayerdata_Geo ::
Geolayerdata_Geo
newGeolayerdata_Geo =
Geolayerdata_Geo
{ boundary = Core.Nothing,
cachePolicy = Core.Nothing,
countryCode = Core.Nothing,
latitude = Core.Nothing,
longitude = Core.Nothing,
mapType = Core.Nothing,
viewport = Core.Nothing,
zoom = Core.Nothing
}
instance Core.FromJSON Geolayerdata_Geo where
parseJSON =
Core.withObject
"Geolayerdata_Geo"
( \o ->
Geolayerdata_Geo
Core.<$> (o Core..:? "boundary")
Core.<*> (o Core..:? "cachePolicy")
Core.<*> (o Core..:? "countryCode")
Core.<*> (o Core..:? "latitude")
Core.<*> (o Core..:? "longitude")
Core.<*> (o Core..:? "mapType")
Core.<*> (o Core..:? "viewport")
Core.<*> (o Core..:? "zoom")
)
instance Core.ToJSON Geolayerdata_Geo where
toJSON Geolayerdata_Geo {..} =
Core.object
( Core.catMaybes
[ ("boundary" Core..=) Core.<$> boundary,
("cachePolicy" Core..=) Core.<$> cachePolicy,
("countryCode" Core..=) Core.<$> countryCode,
("latitude" Core..=) Core.<$> latitude,
("longitude" Core..=) Core.<$> longitude,
("mapType" Core..=) Core.<$> mapType,
("viewport" Core..=) Core.<$> viewport,
("zoom" Core..=) Core.<$> zoom
]
)
-- | The viewport for showing this location. This is a latitude, longitude rectangle.
--
-- /See:/ 'newGeolayerdata_Geo_Viewport' smart constructor.
data Geolayerdata_Geo_Viewport = Geolayerdata_Geo_Viewport
{ hi :: (Core.Maybe Geolayerdata_Geo_Viewport_Hi),
lo :: (Core.Maybe Geolayerdata_Geo_Viewport_Lo)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Geolayerdata_Geo_Viewport' with the minimum fields required to make a request.
newGeolayerdata_Geo_Viewport ::
Geolayerdata_Geo_Viewport
newGeolayerdata_Geo_Viewport =
Geolayerdata_Geo_Viewport {hi = Core.Nothing, lo = Core.Nothing}
instance Core.FromJSON Geolayerdata_Geo_Viewport where
parseJSON =
Core.withObject
"Geolayerdata_Geo_Viewport"
( \o ->
Geolayerdata_Geo_Viewport
Core.<$> (o Core..:? "hi")
Core.<*> (o Core..:? "lo")
)
instance Core.ToJSON Geolayerdata_Geo_Viewport where
toJSON Geolayerdata_Geo_Viewport {..} =
Core.object
( Core.catMaybes
[("hi" Core..=) Core.<$> hi, ("lo" Core..=) Core.<$> lo]
)
--
-- /See:/ 'newGeolayerdata_Geo_Viewport_Hi' smart constructor.
data Geolayerdata_Geo_Viewport_Hi = Geolayerdata_Geo_Viewport_Hi
{ latitude :: (Core.Maybe Core.Double),
longitude :: (Core.Maybe Core.Double)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Geolayerdata_Geo_Viewport_Hi' with the minimum fields required to make a request.
newGeolayerdata_Geo_Viewport_Hi ::
Geolayerdata_Geo_Viewport_Hi
newGeolayerdata_Geo_Viewport_Hi =
Geolayerdata_Geo_Viewport_Hi
{ latitude = Core.Nothing,
longitude = Core.Nothing
}
instance Core.FromJSON Geolayerdata_Geo_Viewport_Hi where
parseJSON =
Core.withObject
"Geolayerdata_Geo_Viewport_Hi"
( \o ->
Geolayerdata_Geo_Viewport_Hi
Core.<$> (o Core..:? "latitude")
Core.<*> (o Core..:? "longitude")
)
instance Core.ToJSON Geolayerdata_Geo_Viewport_Hi where
toJSON Geolayerdata_Geo_Viewport_Hi {..} =
Core.object
( Core.catMaybes
[ ("latitude" Core..=) Core.<$> latitude,
("longitude" Core..=) Core.<$> longitude
]
)
--
-- /See:/ 'newGeolayerdata_Geo_Viewport_Lo' smart constructor.
data Geolayerdata_Geo_Viewport_Lo = Geolayerdata_Geo_Viewport_Lo
{ latitude :: (Core.Maybe Core.Double),
longitude :: (Core.Maybe Core.Double)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Geolayerdata_Geo_Viewport_Lo' with the minimum fields required to make a request.
newGeolayerdata_Geo_Viewport_Lo ::
Geolayerdata_Geo_Viewport_Lo
newGeolayerdata_Geo_Viewport_Lo =
Geolayerdata_Geo_Viewport_Lo
{ latitude = Core.Nothing,
longitude = Core.Nothing
}
instance Core.FromJSON Geolayerdata_Geo_Viewport_Lo where
parseJSON =
Core.withObject
"Geolayerdata_Geo_Viewport_Lo"
( \o ->
Geolayerdata_Geo_Viewport_Lo
Core.<$> (o Core..:? "latitude")
Core.<*> (o Core..:? "longitude")
)
instance Core.ToJSON Geolayerdata_Geo_Viewport_Lo where
toJSON Geolayerdata_Geo_Viewport_Lo {..} =
Core.object
( Core.catMaybes
[ ("latitude" Core..=) Core.<$> latitude,
("longitude" Core..=) Core.<$> longitude
]
)
--
-- /See:/ 'newLayersummaries' smart constructor.
data Layersummaries = Layersummaries
{ -- | A list of layer summary items.
items :: (Core.Maybe [Layersummary]),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | The total number of layer summaries found.
totalItems :: (Core.Maybe Core.Int32)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Layersummaries' with the minimum fields required to make a request.
newLayersummaries ::
Layersummaries
newLayersummaries =
Layersummaries
{ items = Core.Nothing,
kind = Core.Nothing,
totalItems = Core.Nothing
}
instance Core.FromJSON Layersummaries where
parseJSON =
Core.withObject
"Layersummaries"
( \o ->
Layersummaries
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "totalItems")
)
instance Core.ToJSON Layersummaries where
toJSON Layersummaries {..} =
Core.object
( Core.catMaybes
[ ("items" Core..=) Core.<$> items,
("kind" Core..=) Core.<$> kind,
("totalItems" Core..=) Core.<$> totalItems
]
)
--
-- /See:/ 'newLayersummary' smart constructor.
data Layersummary = Layersummary
{ -- | The number of annotations for this layer.
annotationCount :: (Core.Maybe Core.Int32),
-- | The list of annotation types contained for this layer.
annotationTypes :: (Core.Maybe [Core.Text]),
-- | Link to get data for this annotation.
annotationsDataLink :: (Core.Maybe Core.Text),
-- | The link to get the annotations for this layer.
annotationsLink :: (Core.Maybe Core.Text),
-- | The content version this resource is for.
contentVersion :: (Core.Maybe Core.Text),
-- | The number of data items for this layer.
dataCount :: (Core.Maybe Core.Int32),
-- | Unique id of this layer summary.
id :: (Core.Maybe Core.Text),
-- | Resource Type
kind :: (Core.Maybe Core.Text),
-- | The layer id for this summary.
layerId :: (Core.Maybe Core.Text),
-- | URL to this resource.
selfLink :: (Core.Maybe Core.Text),
-- | Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC date-time format).
updated :: (Core.Maybe Core.Text),
-- | The current version of this layer\'s volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
volumeAnnotationsVersion :: (Core.Maybe Core.Text),
-- | The volume id this resource is for.
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Layersummary' with the minimum fields required to make a request.
newLayersummary ::
Layersummary
newLayersummary =
Layersummary
{ annotationCount = Core.Nothing,
annotationTypes = Core.Nothing,
annotationsDataLink = Core.Nothing,
annotationsLink = Core.Nothing,
contentVersion = Core.Nothing,
dataCount = Core.Nothing,
id = Core.Nothing,
kind = Core.Nothing,
layerId = Core.Nothing,
selfLink = Core.Nothing,
updated = Core.Nothing,
volumeAnnotationsVersion = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON Layersummary where
parseJSON =
Core.withObject
"Layersummary"
( \o ->
Layersummary
Core.<$> (o Core..:? "annotationCount")
Core.<*> (o Core..:? "annotationTypes")
Core.<*> (o Core..:? "annotationsDataLink")
Core.<*> (o Core..:? "annotationsLink")
Core.<*> (o Core..:? "contentVersion")
Core.<*> (o Core..:? "dataCount")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "layerId")
Core.<*> (o Core..:? "selfLink")
Core.<*> (o Core..:? "updated")
Core.<*> (o Core..:? "volumeAnnotationsVersion")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON Layersummary where
toJSON Layersummary {..} =
Core.object
( Core.catMaybes
[ ("annotationCount" Core..=) Core.<$> annotationCount,
("annotationTypes" Core..=) Core.<$> annotationTypes,
("annotationsDataLink" Core..=) Core.<$> annotationsDataLink,
("annotationsLink" Core..=) Core.<$> annotationsLink,
("contentVersion" Core..=) Core.<$> contentVersion,
("dataCount" Core..=) Core.<$> dataCount,
("id" Core..=) Core.<$> id,
("kind" Core..=) Core.<$> kind,
("layerId" Core..=) Core.<$> layerId,
("selfLink" Core..=) Core.<$> selfLink,
("updated" Core..=) Core.<$> updated,
("volumeAnnotationsVersion" Core..=)
Core.<$> volumeAnnotationsVersion,
("volumeId" Core..=) Core.<$> volumeId
]
)
--
-- /See:/ 'newMetadata' smart constructor.
data Metadata = Metadata
{ -- | A list of offline dictionary metadata.
items :: (Core.Maybe [Metadata_ItemsItem]),
-- | Resource type.
kind :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Metadata' with the minimum fields required to make a request.
newMetadata ::
Metadata
newMetadata = Metadata {items = Core.Nothing, kind = Core.Nothing}
instance Core.FromJSON Metadata where
parseJSON =
Core.withObject
"Metadata"
( \o ->
Metadata
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
)
instance Core.ToJSON Metadata where
toJSON Metadata {..} =
Core.object
( Core.catMaybes
[("items" Core..=) Core.<$> items, ("kind" Core..=) Core.<$> kind]
)
--
-- /See:/ 'newMetadata_ItemsItem' smart constructor.
data Metadata_ItemsItem = Metadata_ItemsItem
{ downloadUrl :: (Core.Maybe Core.Text),
encryptedKey :: (Core.Maybe Core.Text),
language :: (Core.Maybe Core.Text),
size :: (Core.Maybe Core.Int64),
version :: (Core.Maybe Core.Int64)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Metadata_ItemsItem' with the minimum fields required to make a request.
newMetadata_ItemsItem ::
Metadata_ItemsItem
newMetadata_ItemsItem =
Metadata_ItemsItem
{ downloadUrl = Core.Nothing,
encryptedKey = Core.Nothing,
language = Core.Nothing,
size = Core.Nothing,
version = Core.Nothing
}
instance Core.FromJSON Metadata_ItemsItem where
parseJSON =
Core.withObject
"Metadata_ItemsItem"
( \o ->
Metadata_ItemsItem
Core.<$> (o Core..:? "download_url")
Core.<*> (o Core..:? "encrypted_key")
Core.<*> (o Core..:? "language")
Core.<*> (o Core..:? "size" Core.<&> Core.fmap Core.fromAsText)
Core.<*> (o Core..:? "version" Core.<&> Core.fmap Core.fromAsText)
)
instance Core.ToJSON Metadata_ItemsItem where
toJSON Metadata_ItemsItem {..} =
Core.object
( Core.catMaybes
[ ("download_url" Core..=) Core.<$> downloadUrl,
("encrypted_key" Core..=) Core.<$> encryptedKey,
("language" Core..=) Core.<$> language,
("size" Core..=) Core.. Core.AsText Core.<$> size,
("version" Core..=) Core.. Core.AsText Core.<$> version
]
)
--
-- /See:/ 'newNotification' smart constructor.
data Notification = Notification
{ body :: (Core.Maybe Core.Text),
-- | The list of crm experiment ids.
crmExperimentIds :: (Core.Maybe [Core.Int64]),
docId :: (Core.Maybe Core.Text),
docType :: (Core.Maybe Core.Text),
dontShowNotification :: (Core.Maybe Core.Bool),
iconUrl :: (Core.Maybe Core.Text),
isDocumentMature :: (Core.Maybe Core.Bool),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
notificationGroup :: (Core.Maybe Core.Text),
notificationType :: (Core.Maybe Core.Text),
pcampaignId :: (Core.Maybe Core.Text),
reason :: (Core.Maybe Core.Text),
showNotificationSettingsAction :: (Core.Maybe Core.Bool),
targetUrl :: (Core.Maybe Core.Text),
timeToExpireMs :: (Core.Maybe Core.Int64),
title :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Notification' with the minimum fields required to make a request.
newNotification ::
Notification
newNotification =
Notification
{ body = Core.Nothing,
crmExperimentIds = Core.Nothing,
docId = Core.Nothing,
docType = Core.Nothing,
dontShowNotification = Core.Nothing,
iconUrl = Core.Nothing,
isDocumentMature = Core.Nothing,
kind = Core.Nothing,
notificationGroup = Core.Nothing,
notificationType = Core.Nothing,
pcampaignId = Core.Nothing,
reason = Core.Nothing,
showNotificationSettingsAction = Core.Nothing,
targetUrl = Core.Nothing,
timeToExpireMs = Core.Nothing,
title = Core.Nothing
}
instance Core.FromJSON Notification where
parseJSON =
Core.withObject
"Notification"
( \o ->
Notification
Core.<$> (o Core..:? "body")
Core.<*> ( o
Core..:? "crmExperimentIds"
Core.<&> Core.fmap (Core.fmap Core.fromAsText)
)
Core.<*> (o Core..:? "doc_id")
Core.<*> (o Core..:? "doc_type")
Core.<*> (o Core..:? "dont_show_notification")
Core.<*> (o Core..:? "iconUrl")
Core.<*> (o Core..:? "is_document_mature")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "notificationGroup")
Core.<*> (o Core..:? "notification_type")
Core.<*> (o Core..:? "pcampaign_id")
Core.<*> (o Core..:? "reason")
Core.<*> (o Core..:? "show_notification_settings_action")
Core.<*> (o Core..:? "targetUrl")
Core.<*> (o Core..:? "timeToExpireMs" Core.<&> Core.fmap Core.fromAsText)
Core.<*> (o Core..:? "title")
)
instance Core.ToJSON Notification where
toJSON Notification {..} =
Core.object
( Core.catMaybes
[ ("body" Core..=) Core.<$> body,
("crmExperimentIds" Core..=)
Core.. Core.fmap Core.AsText
Core.<$> crmExperimentIds,
("doc_id" Core..=) Core.<$> docId,
("doc_type" Core..=) Core.<$> docType,
("dont_show_notification" Core..=) Core.<$> dontShowNotification,
("iconUrl" Core..=) Core.<$> iconUrl,
("is_document_mature" Core..=) Core.<$> isDocumentMature,
("kind" Core..=) Core.<$> kind,
("notificationGroup" Core..=) Core.<$> notificationGroup,
("notification_type" Core..=) Core.<$> notificationType,
("pcampaign_id" Core..=) Core.<$> pcampaignId,
("reason" Core..=) Core.<$> reason,
("show_notification_settings_action" Core..=)
Core.<$> showNotificationSettingsAction,
("targetUrl" Core..=) Core.<$> targetUrl,
("timeToExpireMs" Core..=)
Core.. Core.AsText
Core.<$> timeToExpireMs,
("title" Core..=) Core.<$> title
]
)
--
-- /See:/ 'newOffers' smart constructor.
data Offers = Offers
{ -- | A list of offers.
items :: (Core.Maybe [Offers_ItemsItem]),
-- | Resource type.
kind :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Offers' with the minimum fields required to make a request.
newOffers ::
Offers
newOffers = Offers {items = Core.Nothing, kind = Core.Nothing}
instance Core.FromJSON Offers where
parseJSON =
Core.withObject
"Offers"
( \o ->
Offers Core.<$> (o Core..:? "items") Core.<*> (o Core..:? "kind")
)
instance Core.ToJSON Offers where
toJSON Offers {..} =
Core.object
( Core.catMaybes
[("items" Core..=) Core.<$> items, ("kind" Core..=) Core.<$> kind]
)
--
-- /See:/ 'newOffers_ItemsItem' smart constructor.
data Offers_ItemsItem = Offers_ItemsItem
{ artUrl :: (Core.Maybe Core.Text),
gservicesKey :: (Core.Maybe Core.Text),
id :: (Core.Maybe Core.Text),
items :: (Core.Maybe [Offers_ItemsItem_ItemsItem])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Offers_ItemsItem' with the minimum fields required to make a request.
newOffers_ItemsItem ::
Offers_ItemsItem
newOffers_ItemsItem =
Offers_ItemsItem
{ artUrl = Core.Nothing,
gservicesKey = Core.Nothing,
id = Core.Nothing,
items = Core.Nothing
}
instance Core.FromJSON Offers_ItemsItem where
parseJSON =
Core.withObject
"Offers_ItemsItem"
( \o ->
Offers_ItemsItem
Core.<$> (o Core..:? "artUrl")
Core.<*> (o Core..:? "gservicesKey")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "items")
)
instance Core.ToJSON Offers_ItemsItem where
toJSON Offers_ItemsItem {..} =
Core.object
( Core.catMaybes
[ ("artUrl" Core..=) Core.<$> artUrl,
("gservicesKey" Core..=) Core.<$> gservicesKey,
("id" Core..=) Core.<$> id,
("items" Core..=) Core.<$> items
]
)
--
-- /See:/ 'newOffers_ItemsItem_ItemsItem' smart constructor.
data Offers_ItemsItem_ItemsItem = Offers_ItemsItem_ItemsItem
{ author :: (Core.Maybe Core.Text),
canonicalVolumeLink :: (Core.Maybe Core.Text),
coverUrl :: (Core.Maybe Core.Text),
description :: (Core.Maybe Core.Text),
title :: (Core.Maybe Core.Text),
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Offers_ItemsItem_ItemsItem' with the minimum fields required to make a request.
newOffers_ItemsItem_ItemsItem ::
Offers_ItemsItem_ItemsItem
newOffers_ItemsItem_ItemsItem =
Offers_ItemsItem_ItemsItem
{ author = Core.Nothing,
canonicalVolumeLink = Core.Nothing,
coverUrl = Core.Nothing,
description = Core.Nothing,
title = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON Offers_ItemsItem_ItemsItem where
parseJSON =
Core.withObject
"Offers_ItemsItem_ItemsItem"
( \o ->
Offers_ItemsItem_ItemsItem
Core.<$> (o Core..:? "author")
Core.<*> (o Core..:? "canonicalVolumeLink")
Core.<*> (o Core..:? "coverUrl")
Core.<*> (o Core..:? "description")
Core.<*> (o Core..:? "title")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON Offers_ItemsItem_ItemsItem where
toJSON Offers_ItemsItem_ItemsItem {..} =
Core.object
( Core.catMaybes
[ ("author" Core..=) Core.<$> author,
("canonicalVolumeLink" Core..=) Core.<$> canonicalVolumeLink,
("coverUrl" Core..=) Core.<$> coverUrl,
("description" Core..=) Core.<$> description,
("title" Core..=) Core.<$> title,
("volumeId" Core..=) Core.<$> volumeId
]
)
--
-- /See:/ 'newReadingPosition' smart constructor.
data ReadingPosition = ReadingPosition
{ -- | Position in an EPUB as a CFI.
epubCfiPosition :: (Core.Maybe Core.Text),
-- | Position in a volume for image-based content.
gbImagePosition :: (Core.Maybe Core.Text),
-- | Position in a volume for text-based content.
gbTextPosition :: (Core.Maybe Core.Text),
-- | Resource type for a reading position.
kind :: (Core.Maybe Core.Text),
-- | Position in a PDF file.
pdfPosition :: (Core.Maybe Core.Text),
-- | Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
updated :: (Core.Maybe Core.Text),
-- | Volume id associated with this reading position.
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'ReadingPosition' with the minimum fields required to make a request.
newReadingPosition ::
ReadingPosition
newReadingPosition =
ReadingPosition
{ epubCfiPosition = Core.Nothing,
gbImagePosition = Core.Nothing,
gbTextPosition = Core.Nothing,
kind = Core.Nothing,
pdfPosition = Core.Nothing,
updated = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON ReadingPosition where
parseJSON =
Core.withObject
"ReadingPosition"
( \o ->
ReadingPosition
Core.<$> (o Core..:? "epubCfiPosition")
Core.<*> (o Core..:? "gbImagePosition")
Core.<*> (o Core..:? "gbTextPosition")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "pdfPosition")
Core.<*> (o Core..:? "updated")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON ReadingPosition where
toJSON ReadingPosition {..} =
Core.object
( Core.catMaybes
[ ("epubCfiPosition" Core..=) Core.<$> epubCfiPosition,
("gbImagePosition" Core..=) Core.<$> gbImagePosition,
("gbTextPosition" Core..=) Core.<$> gbTextPosition,
("kind" Core..=) Core.<$> kind,
("pdfPosition" Core..=) Core.<$> pdfPosition,
("updated" Core..=) Core.<$> updated,
("volumeId" Core..=) Core.<$> volumeId
]
)
--
-- /See:/ 'newRequestAccessData' smart constructor.
data RequestAccessData = RequestAccessData
{ -- | A concurrent access response.
concurrentAccess :: (Core.Maybe ConcurrentAccessRestriction),
-- | A download access response.
downloadAccess :: (Core.Maybe DownloadAccessRestriction),
-- | Resource type.
kind :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'RequestAccessData' with the minimum fields required to make a request.
newRequestAccessData ::
RequestAccessData
newRequestAccessData =
RequestAccessData
{ concurrentAccess = Core.Nothing,
downloadAccess = Core.Nothing,
kind = Core.Nothing
}
instance Core.FromJSON RequestAccessData where
parseJSON =
Core.withObject
"RequestAccessData"
( \o ->
RequestAccessData
Core.<$> (o Core..:? "concurrentAccess")
Core.<*> (o Core..:? "downloadAccess")
Core.<*> (o Core..:? "kind")
)
instance Core.ToJSON RequestAccessData where
toJSON RequestAccessData {..} =
Core.object
( Core.catMaybes
[ ("concurrentAccess" Core..=) Core.<$> concurrentAccess,
("downloadAccess" Core..=) Core.<$> downloadAccess,
("kind" Core..=) Core.<$> kind
]
)
--
-- /See:/ 'newReview' smart constructor.
data Review = Review
{ -- | Author of this review.
author :: (Core.Maybe Review_Author),
-- | Review text.
content :: (Core.Maybe Core.Text),
-- | Date of this review.
date :: (Core.Maybe Core.Text),
-- | URL for the full review text, for reviews gathered from the web.
fullTextUrl :: (Core.Maybe Core.Text),
-- | Resource type for a review.
kind :: (Core.Maybe Core.Text),
-- | Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
rating :: (Core.Maybe Core.Text),
-- | Information regarding the source of this review, when the review is not from a Google Books user.
source :: (Core.Maybe Review_Source),
-- | Title for this review.
title :: (Core.Maybe Core.Text),
-- | Source type for this review. Possible values are EDITORIAL, WEB/USER or GOOGLE/USER.
type' :: (Core.Maybe Core.Text),
-- | Volume that this review is for.
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Review' with the minimum fields required to make a request.
newReview ::
Review
newReview =
Review
{ author = Core.Nothing,
content = Core.Nothing,
date = Core.Nothing,
fullTextUrl = Core.Nothing,
kind = Core.Nothing,
rating = Core.Nothing,
source = Core.Nothing,
title = Core.Nothing,
type' = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON Review where
parseJSON =
Core.withObject
"Review"
( \o ->
Review
Core.<$> (o Core..:? "author")
Core.<*> (o Core..:? "content")
Core.<*> (o Core..:? "date")
Core.<*> (o Core..:? "fullTextUrl")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "rating")
Core.<*> (o Core..:? "source")
Core.<*> (o Core..:? "title")
Core.<*> (o Core..:? "type")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON Review where
toJSON Review {..} =
Core.object
( Core.catMaybes
[ ("author" Core..=) Core.<$> author,
("content" Core..=) Core.<$> content,
("date" Core..=) Core.<$> date,
("fullTextUrl" Core..=) Core.<$> fullTextUrl,
("kind" Core..=) Core.<$> kind,
("rating" Core..=) Core.<$> rating,
("source" Core..=) Core.<$> source,
("title" Core..=) Core.<$> title,
("type" Core..=) Core.<$> type',
("volumeId" Core..=) Core.<$> volumeId
]
)
-- | Author of this review.
--
-- /See:/ 'newReview_Author' smart constructor.
newtype Review_Author = Review_Author
{ -- | Name of this person.
displayName :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Review_Author' with the minimum fields required to make a request.
newReview_Author ::
Review_Author
newReview_Author = Review_Author {displayName = Core.Nothing}
instance Core.FromJSON Review_Author where
parseJSON =
Core.withObject
"Review_Author"
(\o -> Review_Author Core.<$> (o Core..:? "displayName"))
instance Core.ToJSON Review_Author where
toJSON Review_Author {..} =
Core.object
(Core.catMaybes [("displayName" Core..=) Core.<$> displayName])
-- | Information regarding the source of this review, when the review is not from a Google Books user.
--
-- /See:/ 'newReview_Source' smart constructor.
data Review_Source = Review_Source
{ -- | Name of the source.
description :: (Core.Maybe Core.Text),
-- | Extra text about the source of the review.
extraDescription :: (Core.Maybe Core.Text),
-- | URL of the source of the review.
url :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Review_Source' with the minimum fields required to make a request.
newReview_Source ::
Review_Source
newReview_Source =
Review_Source
{ description = Core.Nothing,
extraDescription = Core.Nothing,
url = Core.Nothing
}
instance Core.FromJSON Review_Source where
parseJSON =
Core.withObject
"Review_Source"
( \o ->
Review_Source
Core.<$> (o Core..:? "description")
Core.<*> (o Core..:? "extraDescription")
Core.<*> (o Core..:? "url")
)
instance Core.ToJSON Review_Source where
toJSON Review_Source {..} =
Core.object
( Core.catMaybes
[ ("description" Core..=) Core.<$> description,
("extraDescription" Core..=) Core.<$> extraDescription,
("url" Core..=) Core.<$> url
]
)
--
-- /See:/ 'newSeries' smart constructor.
data Series = Series
{ -- | Resource type.
kind :: (Core.Maybe Core.Text),
series :: (Core.Maybe [Series_SeriesItem])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Series' with the minimum fields required to make a request.
newSeries ::
Series
newSeries = Series {kind = Core.Nothing, series = Core.Nothing}
instance Core.FromJSON Series where
parseJSON =
Core.withObject
"Series"
( \o ->
Series Core.<$> (o Core..:? "kind") Core.<*> (o Core..:? "series")
)
instance Core.ToJSON Series where
toJSON Series {..} =
Core.object
( Core.catMaybes
[ ("kind" Core..=) Core.<$> kind,
("series" Core..=) Core.<$> series
]
)
--
-- /See:/ 'newSeries_SeriesItem' smart constructor.
data Series_SeriesItem = Series_SeriesItem
{ bannerImageUrl :: (Core.Maybe Core.Text),
eligibleForSubscription :: (Core.Maybe Core.Bool),
imageUrl :: (Core.Maybe Core.Text),
isComplete :: (Core.Maybe Core.Bool),
seriesFormatType :: (Core.Maybe Core.Text),
seriesId :: (Core.Maybe Core.Text),
seriesSubscriptionReleaseInfo :: (Core.Maybe Series_SeriesItem_SeriesSubscriptionReleaseInfo),
seriesType :: (Core.Maybe Core.Text),
subscriptionId :: (Core.Maybe Core.Text),
title :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Series_SeriesItem' with the minimum fields required to make a request.
newSeries_SeriesItem ::
Series_SeriesItem
newSeries_SeriesItem =
Series_SeriesItem
{ bannerImageUrl = Core.Nothing,
eligibleForSubscription = Core.Nothing,
imageUrl = Core.Nothing,
isComplete = Core.Nothing,
seriesFormatType = Core.Nothing,
seriesId = Core.Nothing,
seriesSubscriptionReleaseInfo = Core.Nothing,
seriesType = Core.Nothing,
subscriptionId = Core.Nothing,
title = Core.Nothing
}
instance Core.FromJSON Series_SeriesItem where
parseJSON =
Core.withObject
"Series_SeriesItem"
( \o ->
Series_SeriesItem
Core.<$> (o Core..:? "bannerImageUrl")
Core.<*> (o Core..:? "eligibleForSubscription")
Core.<*> (o Core..:? "imageUrl")
Core.<*> (o Core..:? "isComplete")
Core.<*> (o Core..:? "seriesFormatType")
Core.<*> (o Core..:? "seriesId")
Core.<*> (o Core..:? "seriesSubscriptionReleaseInfo")
Core.<*> (o Core..:? "seriesType")
Core.<*> (o Core..:? "subscriptionId")
Core.<*> (o Core..:? "title")
)
instance Core.ToJSON Series_SeriesItem where
toJSON Series_SeriesItem {..} =
Core.object
( Core.catMaybes
[ ("bannerImageUrl" Core..=) Core.<$> bannerImageUrl,
("eligibleForSubscription" Core..=)
Core.<$> eligibleForSubscription,
("imageUrl" Core..=) Core.<$> imageUrl,
("isComplete" Core..=) Core.<$> isComplete,
("seriesFormatType" Core..=) Core.<$> seriesFormatType,
("seriesId" Core..=) Core.<$> seriesId,
("seriesSubscriptionReleaseInfo" Core..=)
Core.<$> seriesSubscriptionReleaseInfo,
("seriesType" Core..=) Core.<$> seriesType,
("subscriptionId" Core..=) Core.<$> subscriptionId,
("title" Core..=) Core.<$> title
]
)
--
-- /See:/ 'newSeries_SeriesItem_SeriesSubscriptionReleaseInfo' smart constructor.
data Series_SeriesItem_SeriesSubscriptionReleaseInfo = Series_SeriesItem_SeriesSubscriptionReleaseInfo
{ cancelTime :: (Core.Maybe Core.Text),
currentReleaseInfo ::
( Core.Maybe
Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo
),
nextReleaseInfo ::
( Core.Maybe
Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo
),
seriesSubscriptionType :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Series_SeriesItem_SeriesSubscriptionReleaseInfo' with the minimum fields required to make a request.
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo ::
Series_SeriesItem_SeriesSubscriptionReleaseInfo
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo =
Series_SeriesItem_SeriesSubscriptionReleaseInfo
{ cancelTime =
Core.Nothing,
currentReleaseInfo = Core.Nothing,
nextReleaseInfo = Core.Nothing,
seriesSubscriptionType = Core.Nothing
}
instance
Core.FromJSON
Series_SeriesItem_SeriesSubscriptionReleaseInfo
where
parseJSON =
Core.withObject
"Series_SeriesItem_SeriesSubscriptionReleaseInfo"
( \o ->
Series_SeriesItem_SeriesSubscriptionReleaseInfo
Core.<$> (o Core..:? "cancelTime")
Core.<*> (o Core..:? "currentReleaseInfo")
Core.<*> (o Core..:? "nextReleaseInfo")
Core.<*> (o Core..:? "seriesSubscriptionType")
)
instance
Core.ToJSON
Series_SeriesItem_SeriesSubscriptionReleaseInfo
where
toJSON Series_SeriesItem_SeriesSubscriptionReleaseInfo {..} =
Core.object
( Core.catMaybes
[ ("cancelTime" Core..=) Core.<$> cancelTime,
("currentReleaseInfo" Core..=) Core.<$> currentReleaseInfo,
("nextReleaseInfo" Core..=) Core.<$> nextReleaseInfo,
("seriesSubscriptionType" Core..=)
Core.<$> seriesSubscriptionType
]
)
--
-- /See:/ 'newSeries_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo' smart constructor.
data Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo = Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo
{ amountInMicros :: (Core.Maybe Core.Double),
currencyCode :: (Core.Maybe Core.Text),
releaseNumber :: (Core.Maybe Core.Text),
releaseTime :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo' with the minimum fields required to make a request.
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo ::
Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo =
Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo
{ amountInMicros =
Core.Nothing,
currencyCode = Core.Nothing,
releaseNumber = Core.Nothing,
releaseTime = Core.Nothing
}
instance
Core.FromJSON
Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo
where
parseJSON =
Core.withObject
"Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo"
( \o ->
Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo
Core.<$> (o Core..:? "amountInMicros")
Core.<*> (o Core..:? "currencyCode")
Core.<*> (o Core..:? "releaseNumber")
Core.<*> (o Core..:? "releaseTime")
)
instance
Core.ToJSON
Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo
where
toJSON
Series_SeriesItem_SeriesSubscriptionReleaseInfo_CurrentReleaseInfo {..} =
Core.object
( Core.catMaybes
[ ("amountInMicros" Core..=) Core.<$> amountInMicros,
("currencyCode" Core..=) Core.<$> currencyCode,
("releaseNumber" Core..=) Core.<$> releaseNumber,
("releaseTime" Core..=) Core.<$> releaseTime
]
)
--
-- /See:/ 'newSeries_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo' smart constructor.
data Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo = Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo
{ amountInMicros :: (Core.Maybe Core.Double),
currencyCode :: (Core.Maybe Core.Text),
releaseNumber :: (Core.Maybe Core.Text),
releaseTime :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo' with the minimum fields required to make a request.
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo ::
Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo
newSeries_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo =
Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo
{ amountInMicros =
Core.Nothing,
currencyCode = Core.Nothing,
releaseNumber = Core.Nothing,
releaseTime = Core.Nothing
}
instance
Core.FromJSON
Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo
where
parseJSON =
Core.withObject
"Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo"
( \o ->
Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo
Core.<$> (o Core..:? "amountInMicros")
Core.<*> (o Core..:? "currencyCode")
Core.<*> (o Core..:? "releaseNumber")
Core.<*> (o Core..:? "releaseTime")
)
instance
Core.ToJSON
Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo
where
toJSON
Series_SeriesItem_SeriesSubscriptionReleaseInfo_NextReleaseInfo {..} =
Core.object
( Core.catMaybes
[ ("amountInMicros" Core..=) Core.<$> amountInMicros,
("currencyCode" Core..=) Core.<$> currencyCode,
("releaseNumber" Core..=) Core.<$> releaseNumber,
("releaseTime" Core..=) Core.<$> releaseTime
]
)
--
-- /See:/ 'newSeriesmembership' smart constructor.
data Seriesmembership = Seriesmembership
{ -- | Resorce type.
kind :: (Core.Maybe Core.Text),
member :: (Core.Maybe [Volume]),
nextPageToken :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Seriesmembership' with the minimum fields required to make a request.
newSeriesmembership ::
Seriesmembership
newSeriesmembership =
Seriesmembership
{ kind = Core.Nothing,
member = Core.Nothing,
nextPageToken = Core.Nothing
}
instance Core.FromJSON Seriesmembership where
parseJSON =
Core.withObject
"Seriesmembership"
( \o ->
Seriesmembership
Core.<$> (o Core..:? "kind")
Core.<*> (o Core..:? "member")
Core.<*> (o Core..:? "nextPageToken")
)
instance Core.ToJSON Seriesmembership where
toJSON Seriesmembership {..} =
Core.object
( Core.catMaybes
[ ("kind" Core..=) Core.<$> kind,
("member" Core..=) Core.<$> member,
("nextPageToken" Core..=) Core.<$> nextPageToken
]
)
--
-- /See:/ 'newUsersettings' smart constructor.
data Usersettings = Usersettings
{ -- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | User settings in sub-objects, each for different purposes.
notesExport :: (Core.Maybe Usersettings_NotesExport),
notification :: (Core.Maybe Usersettings_Notification)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Usersettings' with the minimum fields required to make a request.
newUsersettings ::
Usersettings
newUsersettings =
Usersettings
{ kind = Core.Nothing,
notesExport = Core.Nothing,
notification = Core.Nothing
}
instance Core.FromJSON Usersettings where
parseJSON =
Core.withObject
"Usersettings"
( \o ->
Usersettings
Core.<$> (o Core..:? "kind")
Core.<*> (o Core..:? "notesExport")
Core.<*> (o Core..:? "notification")
)
instance Core.ToJSON Usersettings where
toJSON Usersettings {..} =
Core.object
( Core.catMaybes
[ ("kind" Core..=) Core.<$> kind,
("notesExport" Core..=) Core.<$> notesExport,
("notification" Core..=) Core.<$> notification
]
)
-- | User settings in sub-objects, each for different purposes.
--
-- /See:/ 'newUsersettings_NotesExport' smart constructor.
data Usersettings_NotesExport = Usersettings_NotesExport
{ folderName :: (Core.Maybe Core.Text),
isEnabled :: (Core.Maybe Core.Bool)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Usersettings_NotesExport' with the minimum fields required to make a request.
newUsersettings_NotesExport ::
Usersettings_NotesExport
newUsersettings_NotesExport =
Usersettings_NotesExport
{ folderName = Core.Nothing,
isEnabled = Core.Nothing
}
instance Core.FromJSON Usersettings_NotesExport where
parseJSON =
Core.withObject
"Usersettings_NotesExport"
( \o ->
Usersettings_NotesExport
Core.<$> (o Core..:? "folderName")
Core.<*> (o Core..:? "isEnabled")
)
instance Core.ToJSON Usersettings_NotesExport where
toJSON Usersettings_NotesExport {..} =
Core.object
( Core.catMaybes
[ ("folderName" Core..=) Core.<$> folderName,
("isEnabled" Core..=) Core.<$> isEnabled
]
)
--
-- /See:/ 'newUsersettings_Notification' smart constructor.
data Usersettings_Notification = Usersettings_Notification
{ matchMyInterests :: (Core.Maybe Usersettings_Notification_MatchMyInterests),
moreFromAuthors :: (Core.Maybe Usersettings_Notification_MoreFromAuthors),
moreFromSeries :: (Core.Maybe Usersettings_Notification_MoreFromSeries),
priceDrop :: (Core.Maybe Usersettings_Notification_PriceDrop),
rewardExpirations :: (Core.Maybe Usersettings_Notification_RewardExpirations)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Usersettings_Notification' with the minimum fields required to make a request.
newUsersettings_Notification ::
Usersettings_Notification
newUsersettings_Notification =
Usersettings_Notification
{ matchMyInterests = Core.Nothing,
moreFromAuthors = Core.Nothing,
moreFromSeries = Core.Nothing,
priceDrop = Core.Nothing,
rewardExpirations = Core.Nothing
}
instance Core.FromJSON Usersettings_Notification where
parseJSON =
Core.withObject
"Usersettings_Notification"
( \o ->
Usersettings_Notification
Core.<$> (o Core..:? "matchMyInterests")
Core.<*> (o Core..:? "moreFromAuthors")
Core.<*> (o Core..:? "moreFromSeries")
Core.<*> (o Core..:? "priceDrop")
Core.<*> (o Core..:? "rewardExpirations")
)
instance Core.ToJSON Usersettings_Notification where
toJSON Usersettings_Notification {..} =
Core.object
( Core.catMaybes
[ ("matchMyInterests" Core..=) Core.<$> matchMyInterests,
("moreFromAuthors" Core..=) Core.<$> moreFromAuthors,
("moreFromSeries" Core..=) Core.<$> moreFromSeries,
("priceDrop" Core..=) Core.<$> priceDrop,
("rewardExpirations" Core..=) Core.<$> rewardExpirations
]
)
--
-- /See:/ 'newUsersettings_Notification_MatchMyInterests' smart constructor.
newtype Usersettings_Notification_MatchMyInterests = Usersettings_Notification_MatchMyInterests
{ optedState :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Usersettings_Notification_MatchMyInterests' with the minimum fields required to make a request.
newUsersettings_Notification_MatchMyInterests ::
Usersettings_Notification_MatchMyInterests
newUsersettings_Notification_MatchMyInterests =
Usersettings_Notification_MatchMyInterests
{ optedState =
Core.Nothing
}
instance Core.FromJSON Usersettings_Notification_MatchMyInterests where
parseJSON =
Core.withObject
"Usersettings_Notification_MatchMyInterests"
( \o ->
Usersettings_Notification_MatchMyInterests
Core.<$> (o Core..:? "opted_state")
)
instance Core.ToJSON Usersettings_Notification_MatchMyInterests where
toJSON Usersettings_Notification_MatchMyInterests {..} =
Core.object
(Core.catMaybes [("opted_state" Core..=) Core.<$> optedState])
--
-- /See:/ 'newUsersettings_Notification_MoreFromAuthors' smart constructor.
newtype Usersettings_Notification_MoreFromAuthors = Usersettings_Notification_MoreFromAuthors
{ optedState :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Usersettings_Notification_MoreFromAuthors' with the minimum fields required to make a request.
newUsersettings_Notification_MoreFromAuthors ::
Usersettings_Notification_MoreFromAuthors
newUsersettings_Notification_MoreFromAuthors =
Usersettings_Notification_MoreFromAuthors
{ optedState =
Core.Nothing
}
instance Core.FromJSON Usersettings_Notification_MoreFromAuthors where
parseJSON =
Core.withObject
"Usersettings_Notification_MoreFromAuthors"
( \o ->
Usersettings_Notification_MoreFromAuthors
Core.<$> (o Core..:? "opted_state")
)
instance Core.ToJSON Usersettings_Notification_MoreFromAuthors where
toJSON Usersettings_Notification_MoreFromAuthors {..} =
Core.object
(Core.catMaybes [("opted_state" Core..=) Core.<$> optedState])
--
-- /See:/ 'newUsersettings_Notification_MoreFromSeries' smart constructor.
newtype Usersettings_Notification_MoreFromSeries = Usersettings_Notification_MoreFromSeries
{ optedState :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Usersettings_Notification_MoreFromSeries' with the minimum fields required to make a request.
newUsersettings_Notification_MoreFromSeries ::
Usersettings_Notification_MoreFromSeries
newUsersettings_Notification_MoreFromSeries =
Usersettings_Notification_MoreFromSeries
{ optedState =
Core.Nothing
}
instance Core.FromJSON Usersettings_Notification_MoreFromSeries where
parseJSON =
Core.withObject
"Usersettings_Notification_MoreFromSeries"
( \o ->
Usersettings_Notification_MoreFromSeries
Core.<$> (o Core..:? "opted_state")
)
instance Core.ToJSON Usersettings_Notification_MoreFromSeries where
toJSON Usersettings_Notification_MoreFromSeries {..} =
Core.object
(Core.catMaybes [("opted_state" Core..=) Core.<$> optedState])
--
-- /See:/ 'newUsersettings_Notification_PriceDrop' smart constructor.
newtype Usersettings_Notification_PriceDrop = Usersettings_Notification_PriceDrop
{ optedState :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Usersettings_Notification_PriceDrop' with the minimum fields required to make a request.
newUsersettings_Notification_PriceDrop ::
Usersettings_Notification_PriceDrop
newUsersettings_Notification_PriceDrop =
Usersettings_Notification_PriceDrop {optedState = Core.Nothing}
instance Core.FromJSON Usersettings_Notification_PriceDrop where
parseJSON =
Core.withObject
"Usersettings_Notification_PriceDrop"
( \o ->
Usersettings_Notification_PriceDrop
Core.<$> (o Core..:? "opted_state")
)
instance Core.ToJSON Usersettings_Notification_PriceDrop where
toJSON Usersettings_Notification_PriceDrop {..} =
Core.object
(Core.catMaybes [("opted_state" Core..=) Core.<$> optedState])
--
-- /See:/ 'newUsersettings_Notification_RewardExpirations' smart constructor.
newtype Usersettings_Notification_RewardExpirations = Usersettings_Notification_RewardExpirations
{ optedState :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Usersettings_Notification_RewardExpirations' with the minimum fields required to make a request.
newUsersettings_Notification_RewardExpirations ::
Usersettings_Notification_RewardExpirations
newUsersettings_Notification_RewardExpirations =
Usersettings_Notification_RewardExpirations
{ optedState =
Core.Nothing
}
instance Core.FromJSON Usersettings_Notification_RewardExpirations where
parseJSON =
Core.withObject
"Usersettings_Notification_RewardExpirations"
( \o ->
Usersettings_Notification_RewardExpirations
Core.<$> (o Core..:? "opted_state")
)
instance Core.ToJSON Usersettings_Notification_RewardExpirations where
toJSON Usersettings_Notification_RewardExpirations {..} =
Core.object
(Core.catMaybes [("opted_state" Core..=) Core.<$> optedState])
--
-- /See:/ 'newVolume' smart constructor.
data Volume = Volume
{ -- | Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
accessInfo :: (Core.Maybe Volume_AccessInfo),
-- | Opaque identifier for a specific version of a volume resource. (In LITE projection)
etag :: (Core.Maybe Core.Text),
-- | Unique identifier for a volume. (In LITE projection.)
id :: (Core.Maybe Core.Text),
-- | Resource type for a volume. (In LITE projection.)
kind :: (Core.Maybe Core.Text),
-- | What layers exist in this volume and high level information about them.
layerInfo :: (Core.Maybe Volume_LayerInfo),
-- | Recommendation related information for this volume.
recommendedInfo :: (Core.Maybe Volume_RecommendedInfo),
-- | Any information about a volume related to the eBookstore and\/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
saleInfo :: (Core.Maybe Volume_SaleInfo),
-- | Search result information related to this volume.
searchInfo :: (Core.Maybe Volume_SearchInfo),
-- | URL to this resource. (In LITE projection.)
selfLink :: (Core.Maybe Core.Text),
-- | User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
userInfo :: (Core.Maybe Volume_UserInfo),
-- | General volume information.
volumeInfo :: (Core.Maybe Volume_VolumeInfo)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume' with the minimum fields required to make a request.
newVolume ::
Volume
newVolume =
Volume
{ accessInfo = Core.Nothing,
etag = Core.Nothing,
id = Core.Nothing,
kind = Core.Nothing,
layerInfo = Core.Nothing,
recommendedInfo = Core.Nothing,
saleInfo = Core.Nothing,
searchInfo = Core.Nothing,
selfLink = Core.Nothing,
userInfo = Core.Nothing,
volumeInfo = Core.Nothing
}
instance Core.FromJSON Volume where
parseJSON =
Core.withObject
"Volume"
( \o ->
Volume
Core.<$> (o Core..:? "accessInfo")
Core.<*> (o Core..:? "etag")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "layerInfo")
Core.<*> (o Core..:? "recommendedInfo")
Core.<*> (o Core..:? "saleInfo")
Core.<*> (o Core..:? "searchInfo")
Core.<*> (o Core..:? "selfLink")
Core.<*> (o Core..:? "userInfo")
Core.<*> (o Core..:? "volumeInfo")
)
instance Core.ToJSON Volume where
toJSON Volume {..} =
Core.object
( Core.catMaybes
[ ("accessInfo" Core..=) Core.<$> accessInfo,
("etag" Core..=) Core.<$> etag,
("id" Core..=) Core.<$> id,
("kind" Core..=) Core.<$> kind,
("layerInfo" Core..=) Core.<$> layerInfo,
("recommendedInfo" Core..=) Core.<$> recommendedInfo,
("saleInfo" Core..=) Core.<$> saleInfo,
("searchInfo" Core..=) Core.<$> searchInfo,
("selfLink" Core..=) Core.<$> selfLink,
("userInfo" Core..=) Core.<$> userInfo,
("volumeInfo" Core..=) Core.<$> volumeInfo
]
)
-- | Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
--
-- /See:/ 'newVolume_AccessInfo' smart constructor.
data Volume_AccessInfo = Volume_AccessInfo
{ -- | Combines the access and viewability of this volume into a single status field for this user. Values can be FULL/PURCHASED, FULL/PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
accessViewStatus :: (Core.Maybe Core.Text),
-- | The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
country :: (Core.Maybe Core.Text),
-- | Information about a volume\'s download license access restrictions.
downloadAccess :: (Core.Maybe DownloadAccessRestriction),
-- | URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
driveImportedContentLink :: (Core.Maybe Core.Text),
-- | Whether this volume can be embedded in a viewport using the Embedded Viewer API.
embeddable :: (Core.Maybe Core.Bool),
-- | Information about epub content. (In LITE projection.)
epub :: (Core.Maybe Volume_AccessInfo_Epub),
-- | Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
explicitOfflineLicenseManagement :: (Core.Maybe Core.Bool),
-- | Information about pdf content. (In LITE projection.)
pdf :: (Core.Maybe Volume_AccessInfo_Pdf),
-- | Whether or not this book is public domain in the country listed above.
publicDomain :: (Core.Maybe Core.Bool),
-- | Whether quote sharing is allowed for this volume.
quoteSharingAllowed :: (Core.Maybe Core.Bool),
-- | Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED/FOR/ACCESSIBILITY, or NOT_ALLOWED.
textToSpeechPermission :: (Core.Maybe Core.Text),
-- | For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
viewOrderUrl :: (Core.Maybe Core.Text),
-- | The read access of a volume. Possible values are PARTIAL, ALL/PAGES, NO/PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
viewability :: (Core.Maybe Core.Text),
-- | URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
webReaderLink :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_AccessInfo' with the minimum fields required to make a request.
newVolume_AccessInfo ::
Volume_AccessInfo
newVolume_AccessInfo =
Volume_AccessInfo
{ accessViewStatus = Core.Nothing,
country = Core.Nothing,
downloadAccess = Core.Nothing,
driveImportedContentLink = Core.Nothing,
embeddable = Core.Nothing,
epub = Core.Nothing,
explicitOfflineLicenseManagement = Core.Nothing,
pdf = Core.Nothing,
publicDomain = Core.Nothing,
quoteSharingAllowed = Core.Nothing,
textToSpeechPermission = Core.Nothing,
viewOrderUrl = Core.Nothing,
viewability = Core.Nothing,
webReaderLink = Core.Nothing
}
instance Core.FromJSON Volume_AccessInfo where
parseJSON =
Core.withObject
"Volume_AccessInfo"
( \o ->
Volume_AccessInfo
Core.<$> (o Core..:? "accessViewStatus")
Core.<*> (o Core..:? "country")
Core.<*> (o Core..:? "downloadAccess")
Core.<*> (o Core..:? "driveImportedContentLink")
Core.<*> (o Core..:? "embeddable")
Core.<*> (o Core..:? "epub")
Core.<*> (o Core..:? "explicitOfflineLicenseManagement")
Core.<*> (o Core..:? "pdf")
Core.<*> (o Core..:? "publicDomain")
Core.<*> (o Core..:? "quoteSharingAllowed")
Core.<*> (o Core..:? "textToSpeechPermission")
Core.<*> (o Core..:? "viewOrderUrl")
Core.<*> (o Core..:? "viewability")
Core.<*> (o Core..:? "webReaderLink")
)
instance Core.ToJSON Volume_AccessInfo where
toJSON Volume_AccessInfo {..} =
Core.object
( Core.catMaybes
[ ("accessViewStatus" Core..=) Core.<$> accessViewStatus,
("country" Core..=) Core.<$> country,
("downloadAccess" Core..=) Core.<$> downloadAccess,
("driveImportedContentLink" Core..=)
Core.<$> driveImportedContentLink,
("embeddable" Core..=) Core.<$> embeddable,
("epub" Core..=) Core.<$> epub,
("explicitOfflineLicenseManagement" Core..=)
Core.<$> explicitOfflineLicenseManagement,
("pdf" Core..=) Core.<$> pdf,
("publicDomain" Core..=) Core.<$> publicDomain,
("quoteSharingAllowed" Core..=) Core.<$> quoteSharingAllowed,
("textToSpeechPermission" Core..=) Core.<$> textToSpeechPermission,
("viewOrderUrl" Core..=) Core.<$> viewOrderUrl,
("viewability" Core..=) Core.<$> viewability,
("webReaderLink" Core..=) Core.<$> webReaderLink
]
)
-- | Information about epub content. (In LITE projection.)
--
-- /See:/ 'newVolume_AccessInfo_Epub' smart constructor.
data Volume_AccessInfo_Epub = Volume_AccessInfo_Epub
{ -- | URL to retrieve ACS token for epub download. (In LITE projection.)
acsTokenLink :: (Core.Maybe Core.Text),
-- | URL to download epub. (In LITE projection.)
downloadLink :: (Core.Maybe Core.Text),
-- | Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
isAvailable :: (Core.Maybe Core.Bool)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_AccessInfo_Epub' with the minimum fields required to make a request.
newVolume_AccessInfo_Epub ::
Volume_AccessInfo_Epub
newVolume_AccessInfo_Epub =
Volume_AccessInfo_Epub
{ acsTokenLink = Core.Nothing,
downloadLink = Core.Nothing,
isAvailable = Core.Nothing
}
instance Core.FromJSON Volume_AccessInfo_Epub where
parseJSON =
Core.withObject
"Volume_AccessInfo_Epub"
( \o ->
Volume_AccessInfo_Epub
Core.<$> (o Core..:? "acsTokenLink")
Core.<*> (o Core..:? "downloadLink")
Core.<*> (o Core..:? "isAvailable")
)
instance Core.ToJSON Volume_AccessInfo_Epub where
toJSON Volume_AccessInfo_Epub {..} =
Core.object
( Core.catMaybes
[ ("acsTokenLink" Core..=) Core.<$> acsTokenLink,
("downloadLink" Core..=) Core.<$> downloadLink,
("isAvailable" Core..=) Core.<$> isAvailable
]
)
-- | Information about pdf content. (In LITE projection.)
--
-- /See:/ 'newVolume_AccessInfo_Pdf' smart constructor.
data Volume_AccessInfo_Pdf = Volume_AccessInfo_Pdf
{ -- | URL to retrieve ACS token for pdf download. (In LITE projection.)
acsTokenLink :: (Core.Maybe Core.Text),
-- | URL to download pdf. (In LITE projection.)
downloadLink :: (Core.Maybe Core.Text),
-- | Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
isAvailable :: (Core.Maybe Core.Bool)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_AccessInfo_Pdf' with the minimum fields required to make a request.
newVolume_AccessInfo_Pdf ::
Volume_AccessInfo_Pdf
newVolume_AccessInfo_Pdf =
Volume_AccessInfo_Pdf
{ acsTokenLink = Core.Nothing,
downloadLink = Core.Nothing,
isAvailable = Core.Nothing
}
instance Core.FromJSON Volume_AccessInfo_Pdf where
parseJSON =
Core.withObject
"Volume_AccessInfo_Pdf"
( \o ->
Volume_AccessInfo_Pdf
Core.<$> (o Core..:? "acsTokenLink")
Core.<*> (o Core..:? "downloadLink")
Core.<*> (o Core..:? "isAvailable")
)
instance Core.ToJSON Volume_AccessInfo_Pdf where
toJSON Volume_AccessInfo_Pdf {..} =
Core.object
( Core.catMaybes
[ ("acsTokenLink" Core..=) Core.<$> acsTokenLink,
("downloadLink" Core..=) Core.<$> downloadLink,
("isAvailable" Core..=) Core.<$> isAvailable
]
)
-- | What layers exist in this volume and high level information about them.
--
-- /See:/ 'newVolume_LayerInfo' smart constructor.
newtype Volume_LayerInfo = Volume_LayerInfo
{ -- | A layer should appear here if and only if the layer exists for this book.
layers :: (Core.Maybe [Volume_LayerInfo_LayersItem])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_LayerInfo' with the minimum fields required to make a request.
newVolume_LayerInfo ::
Volume_LayerInfo
newVolume_LayerInfo = Volume_LayerInfo {layers = Core.Nothing}
instance Core.FromJSON Volume_LayerInfo where
parseJSON =
Core.withObject
"Volume_LayerInfo"
(\o -> Volume_LayerInfo Core.<$> (o Core..:? "layers"))
instance Core.ToJSON Volume_LayerInfo where
toJSON Volume_LayerInfo {..} =
Core.object (Core.catMaybes [("layers" Core..=) Core.<$> layers])
--
-- /See:/ 'newVolume_LayerInfo_LayersItem' smart constructor.
data Volume_LayerInfo_LayersItem = Volume_LayerInfo_LayersItem
{ -- | The layer id of this layer (e.g. \"geo\").
layerId :: (Core.Maybe Core.Text),
-- | The current version of this layer\'s volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
volumeAnnotationsVersion :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_LayerInfo_LayersItem' with the minimum fields required to make a request.
newVolume_LayerInfo_LayersItem ::
Volume_LayerInfo_LayersItem
newVolume_LayerInfo_LayersItem =
Volume_LayerInfo_LayersItem
{ layerId = Core.Nothing,
volumeAnnotationsVersion = Core.Nothing
}
instance Core.FromJSON Volume_LayerInfo_LayersItem where
parseJSON =
Core.withObject
"Volume_LayerInfo_LayersItem"
( \o ->
Volume_LayerInfo_LayersItem
Core.<$> (o Core..:? "layerId")
Core.<*> (o Core..:? "volumeAnnotationsVersion")
)
instance Core.ToJSON Volume_LayerInfo_LayersItem where
toJSON Volume_LayerInfo_LayersItem {..} =
Core.object
( Core.catMaybes
[ ("layerId" Core..=) Core.<$> layerId,
("volumeAnnotationsVersion" Core..=)
Core.<$> volumeAnnotationsVersion
]
)
-- | Recommendation related information for this volume.
--
-- /See:/ 'newVolume_RecommendedInfo' smart constructor.
newtype Volume_RecommendedInfo = Volume_RecommendedInfo
{ -- | A text explaining why this volume is recommended.
explanation :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_RecommendedInfo' with the minimum fields required to make a request.
newVolume_RecommendedInfo ::
Volume_RecommendedInfo
newVolume_RecommendedInfo =
Volume_RecommendedInfo {explanation = Core.Nothing}
instance Core.FromJSON Volume_RecommendedInfo where
parseJSON =
Core.withObject
"Volume_RecommendedInfo"
(\o -> Volume_RecommendedInfo Core.<$> (o Core..:? "explanation"))
instance Core.ToJSON Volume_RecommendedInfo where
toJSON Volume_RecommendedInfo {..} =
Core.object
(Core.catMaybes [("explanation" Core..=) Core.<$> explanation])
-- | Any information about a volume related to the eBookstore and\/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
--
-- /See:/ 'newVolume_SaleInfo' smart constructor.
data Volume_SaleInfo = Volume_SaleInfo
{ -- | URL to purchase this volume on the Google Books site. (In LITE projection)
buyLink :: (Core.Maybe Core.Text),
-- | The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
country :: (Core.Maybe Core.Text),
-- | Whether or not this volume is an eBook (can be added to the My eBooks shelf).
isEbook :: (Core.Maybe Core.Bool),
-- | Suggested retail price. (In LITE projection.)
listPrice :: (Core.Maybe Volume_SaleInfo_ListPrice),
-- | Offers available for this volume (sales and rentals).
offers :: (Core.Maybe [Volume_SaleInfo_OffersItem]),
-- | The date on which this book is available for sale.
onSaleDate :: (Core.Maybe Core.Text),
-- | The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
retailPrice :: (Core.Maybe Volume_SaleInfo_RetailPrice),
-- | Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR/SALE, FOR/RENTAL/ONLY, FOR/SALE/AND/RENTAL, FREE, NOT/FOR/SALE, or FOR_PREORDER.
saleability :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_SaleInfo' with the minimum fields required to make a request.
newVolume_SaleInfo ::
Volume_SaleInfo
newVolume_SaleInfo =
Volume_SaleInfo
{ buyLink = Core.Nothing,
country = Core.Nothing,
isEbook = Core.Nothing,
listPrice = Core.Nothing,
offers = Core.Nothing,
onSaleDate = Core.Nothing,
retailPrice = Core.Nothing,
saleability = Core.Nothing
}
instance Core.FromJSON Volume_SaleInfo where
parseJSON =
Core.withObject
"Volume_SaleInfo"
( \o ->
Volume_SaleInfo
Core.<$> (o Core..:? "buyLink")
Core.<*> (o Core..:? "country")
Core.<*> (o Core..:? "isEbook")
Core.<*> (o Core..:? "listPrice")
Core.<*> (o Core..:? "offers")
Core.<*> (o Core..:? "onSaleDate")
Core.<*> (o Core..:? "retailPrice")
Core.<*> (o Core..:? "saleability")
)
instance Core.ToJSON Volume_SaleInfo where
toJSON Volume_SaleInfo {..} =
Core.object
( Core.catMaybes
[ ("buyLink" Core..=) Core.<$> buyLink,
("country" Core..=) Core.<$> country,
("isEbook" Core..=) Core.<$> isEbook,
("listPrice" Core..=) Core.<$> listPrice,
("offers" Core..=) Core.<$> offers,
("onSaleDate" Core..=) Core.<$> onSaleDate,
("retailPrice" Core..=) Core.<$> retailPrice,
("saleability" Core..=) Core.<$> saleability
]
)
-- | Suggested retail price. (In LITE projection.)
--
-- /See:/ 'newVolume_SaleInfo_ListPrice' smart constructor.
data Volume_SaleInfo_ListPrice = Volume_SaleInfo_ListPrice
{ -- | Amount in the currency listed below. (In LITE projection.)
amount :: (Core.Maybe Core.Double),
-- | An ISO 4217, three-letter currency code. (In LITE projection.)
currencyCode :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_SaleInfo_ListPrice' with the minimum fields required to make a request.
newVolume_SaleInfo_ListPrice ::
Volume_SaleInfo_ListPrice
newVolume_SaleInfo_ListPrice =
Volume_SaleInfo_ListPrice
{ amount = Core.Nothing,
currencyCode = Core.Nothing
}
instance Core.FromJSON Volume_SaleInfo_ListPrice where
parseJSON =
Core.withObject
"Volume_SaleInfo_ListPrice"
( \o ->
Volume_SaleInfo_ListPrice
Core.<$> (o Core..:? "amount")
Core.<*> (o Core..:? "currencyCode")
)
instance Core.ToJSON Volume_SaleInfo_ListPrice where
toJSON Volume_SaleInfo_ListPrice {..} =
Core.object
( Core.catMaybes
[ ("amount" Core..=) Core.<$> amount,
("currencyCode" Core..=) Core.<$> currencyCode
]
)
--
-- /See:/ 'newVolume_SaleInfo_OffersItem' smart constructor.
data Volume_SaleInfo_OffersItem = Volume_SaleInfo_OffersItem
{ -- | The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
finskyOfferType :: (Core.Maybe Core.Int32),
-- | Indicates whether the offer is giftable.
giftable :: (Core.Maybe Core.Bool),
-- | Offer list (=undiscounted) price in Micros.
listPrice :: (Core.Maybe Volume_SaleInfo_OffersItem_ListPrice),
-- | The rental duration (for rental offers only).
rentalDuration :: (Core.Maybe Volume_SaleInfo_OffersItem_RentalDuration),
-- | Offer retail (=discounted) price in Micros
retailPrice :: (Core.Maybe Volume_SaleInfo_OffersItem_RetailPrice)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_SaleInfo_OffersItem' with the minimum fields required to make a request.
newVolume_SaleInfo_OffersItem ::
Volume_SaleInfo_OffersItem
newVolume_SaleInfo_OffersItem =
Volume_SaleInfo_OffersItem
{ finskyOfferType = Core.Nothing,
giftable = Core.Nothing,
listPrice = Core.Nothing,
rentalDuration = Core.Nothing,
retailPrice = Core.Nothing
}
instance Core.FromJSON Volume_SaleInfo_OffersItem where
parseJSON =
Core.withObject
"Volume_SaleInfo_OffersItem"
( \o ->
Volume_SaleInfo_OffersItem
Core.<$> (o Core..:? "finskyOfferType")
Core.<*> (o Core..:? "giftable")
Core.<*> (o Core..:? "listPrice")
Core.<*> (o Core..:? "rentalDuration")
Core.<*> (o Core..:? "retailPrice")
)
instance Core.ToJSON Volume_SaleInfo_OffersItem where
toJSON Volume_SaleInfo_OffersItem {..} =
Core.object
( Core.catMaybes
[ ("finskyOfferType" Core..=) Core.<$> finskyOfferType,
("giftable" Core..=) Core.<$> giftable,
("listPrice" Core..=) Core.<$> listPrice,
("rentalDuration" Core..=) Core.<$> rentalDuration,
("retailPrice" Core..=) Core.<$> retailPrice
]
)
-- | Offer list (=undiscounted) price in Micros.
--
-- /See:/ 'newVolume_SaleInfo_OffersItem_ListPrice' smart constructor.
data Volume_SaleInfo_OffersItem_ListPrice = Volume_SaleInfo_OffersItem_ListPrice
{ amountInMicros :: (Core.Maybe Core.Double),
currencyCode :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_SaleInfo_OffersItem_ListPrice' with the minimum fields required to make a request.
newVolume_SaleInfo_OffersItem_ListPrice ::
Volume_SaleInfo_OffersItem_ListPrice
newVolume_SaleInfo_OffersItem_ListPrice =
Volume_SaleInfo_OffersItem_ListPrice
{ amountInMicros =
Core.Nothing,
currencyCode = Core.Nothing
}
instance Core.FromJSON Volume_SaleInfo_OffersItem_ListPrice where
parseJSON =
Core.withObject
"Volume_SaleInfo_OffersItem_ListPrice"
( \o ->
Volume_SaleInfo_OffersItem_ListPrice
Core.<$> (o Core..:? "amountInMicros")
Core.<*> (o Core..:? "currencyCode")
)
instance Core.ToJSON Volume_SaleInfo_OffersItem_ListPrice where
toJSON Volume_SaleInfo_OffersItem_ListPrice {..} =
Core.object
( Core.catMaybes
[ ("amountInMicros" Core..=) Core.<$> amountInMicros,
("currencyCode" Core..=) Core.<$> currencyCode
]
)
-- | The rental duration (for rental offers only).
--
-- /See:/ 'newVolume_SaleInfo_OffersItem_RentalDuration' smart constructor.
data Volume_SaleInfo_OffersItem_RentalDuration = Volume_SaleInfo_OffersItem_RentalDuration
{ count :: (Core.Maybe Core.Double),
unit :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_SaleInfo_OffersItem_RentalDuration' with the minimum fields required to make a request.
newVolume_SaleInfo_OffersItem_RentalDuration ::
Volume_SaleInfo_OffersItem_RentalDuration
newVolume_SaleInfo_OffersItem_RentalDuration =
Volume_SaleInfo_OffersItem_RentalDuration
{ count = Core.Nothing,
unit = Core.Nothing
}
instance Core.FromJSON Volume_SaleInfo_OffersItem_RentalDuration where
parseJSON =
Core.withObject
"Volume_SaleInfo_OffersItem_RentalDuration"
( \o ->
Volume_SaleInfo_OffersItem_RentalDuration
Core.<$> (o Core..:? "count")
Core.<*> (o Core..:? "unit")
)
instance Core.ToJSON Volume_SaleInfo_OffersItem_RentalDuration where
toJSON Volume_SaleInfo_OffersItem_RentalDuration {..} =
Core.object
( Core.catMaybes
[("count" Core..=) Core.<$> count, ("unit" Core..=) Core.<$> unit]
)
-- | Offer retail (=discounted) price in Micros
--
-- /See:/ 'newVolume_SaleInfo_OffersItem_RetailPrice' smart constructor.
data Volume_SaleInfo_OffersItem_RetailPrice = Volume_SaleInfo_OffersItem_RetailPrice
{ amountInMicros :: (Core.Maybe Core.Double),
currencyCode :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_SaleInfo_OffersItem_RetailPrice' with the minimum fields required to make a request.
newVolume_SaleInfo_OffersItem_RetailPrice ::
Volume_SaleInfo_OffersItem_RetailPrice
newVolume_SaleInfo_OffersItem_RetailPrice =
Volume_SaleInfo_OffersItem_RetailPrice
{ amountInMicros =
Core.Nothing,
currencyCode = Core.Nothing
}
instance Core.FromJSON Volume_SaleInfo_OffersItem_RetailPrice where
parseJSON =
Core.withObject
"Volume_SaleInfo_OffersItem_RetailPrice"
( \o ->
Volume_SaleInfo_OffersItem_RetailPrice
Core.<$> (o Core..:? "amountInMicros")
Core.<*> (o Core..:? "currencyCode")
)
instance Core.ToJSON Volume_SaleInfo_OffersItem_RetailPrice where
toJSON Volume_SaleInfo_OffersItem_RetailPrice {..} =
Core.object
( Core.catMaybes
[ ("amountInMicros" Core..=) Core.<$> amountInMicros,
("currencyCode" Core..=) Core.<$> currencyCode
]
)
-- | The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
--
-- /See:/ 'newVolume_SaleInfo_RetailPrice' smart constructor.
data Volume_SaleInfo_RetailPrice = Volume_SaleInfo_RetailPrice
{ -- | Amount in the currency listed below. (In LITE projection.)
amount :: (Core.Maybe Core.Double),
-- | An ISO 4217, three-letter currency code. (In LITE projection.)
currencyCode :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_SaleInfo_RetailPrice' with the minimum fields required to make a request.
newVolume_SaleInfo_RetailPrice ::
Volume_SaleInfo_RetailPrice
newVolume_SaleInfo_RetailPrice =
Volume_SaleInfo_RetailPrice
{ amount = Core.Nothing,
currencyCode = Core.Nothing
}
instance Core.FromJSON Volume_SaleInfo_RetailPrice where
parseJSON =
Core.withObject
"Volume_SaleInfo_RetailPrice"
( \o ->
Volume_SaleInfo_RetailPrice
Core.<$> (o Core..:? "amount")
Core.<*> (o Core..:? "currencyCode")
)
instance Core.ToJSON Volume_SaleInfo_RetailPrice where
toJSON Volume_SaleInfo_RetailPrice {..} =
Core.object
( Core.catMaybes
[ ("amount" Core..=) Core.<$> amount,
("currencyCode" Core..=) Core.<$> currencyCode
]
)
-- | Search result information related to this volume.
--
-- /See:/ 'newVolume_SearchInfo' smart constructor.
newtype Volume_SearchInfo = Volume_SearchInfo
{ -- | A text snippet containing the search query.
textSnippet :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_SearchInfo' with the minimum fields required to make a request.
newVolume_SearchInfo ::
Volume_SearchInfo
newVolume_SearchInfo =
Volume_SearchInfo {textSnippet = Core.Nothing}
instance Core.FromJSON Volume_SearchInfo where
parseJSON =
Core.withObject
"Volume_SearchInfo"
(\o -> Volume_SearchInfo Core.<$> (o Core..:? "textSnippet"))
instance Core.ToJSON Volume_SearchInfo where
toJSON Volume_SearchInfo {..} =
Core.object
(Core.catMaybes [("textSnippet" Core..=) Core.<$> textSnippet])
-- | User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
--
-- /See:/ 'newVolume_UserInfo' smart constructor.
data Volume_UserInfo = Volume_UserInfo
{ -- | Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc.
acquiredTime :: (Core.Maybe Core.Text),
-- | How this volume was acquired.
acquisitionType :: (Core.Maybe Core.Int32),
-- | Copy\/Paste accounting information.
copy :: (Core.Maybe Volume_UserInfo_Copy),
-- | Whether this volume is purchased, sample, pd download etc.
entitlementType :: (Core.Maybe Core.Int32),
-- | Information on the ability to share with the family.
familySharing :: (Core.Maybe Volume_UserInfo_FamilySharing),
-- | Whether or not the user shared this volume with the family.
isFamilySharedFromUser :: (Core.Maybe Core.Bool),
-- | Whether or not the user received this volume through family sharing.
isFamilySharedToUser :: (Core.Maybe Core.Bool),
-- | Deprecated: Replaced by familySharing.
isFamilySharingAllowed :: (Core.Maybe Core.Bool),
-- | Deprecated: Replaced by familySharing.
isFamilySharingDisabledByFop :: (Core.Maybe Core.Bool),
-- | Whether or not this volume is currently in \"my books.\"
isInMyBooks :: (Core.Maybe Core.Bool),
-- | Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
isPreordered :: (Core.Maybe Core.Bool),
-- | Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
isPurchased :: (Core.Maybe Core.Bool),
-- | Whether or not this volume was user uploaded.
isUploaded :: (Core.Maybe Core.Bool),
-- | The user\'s current reading position in the volume, if one is available. (In LITE projection.)
readingPosition :: (Core.Maybe ReadingPosition),
-- | Period during this book is\/was a valid rental.
rentalPeriod :: (Core.Maybe Volume_UserInfo_RentalPeriod),
-- | Whether this book is an active or an expired rental.
rentalState :: (Core.Maybe Core.Text),
-- | This user\'s review of this volume, if one exists.
review :: (Core.Maybe Review),
-- | Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
updated :: (Core.Maybe Core.Text),
userUploadedVolumeInfo :: (Core.Maybe Volume_UserInfo_UserUploadedVolumeInfo)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_UserInfo' with the minimum fields required to make a request.
newVolume_UserInfo ::
Volume_UserInfo
newVolume_UserInfo =
Volume_UserInfo
{ acquiredTime = Core.Nothing,
acquisitionType = Core.Nothing,
copy = Core.Nothing,
entitlementType = Core.Nothing,
familySharing = Core.Nothing,
isFamilySharedFromUser = Core.Nothing,
isFamilySharedToUser = Core.Nothing,
isFamilySharingAllowed = Core.Nothing,
isFamilySharingDisabledByFop = Core.Nothing,
isInMyBooks = Core.Nothing,
isPreordered = Core.Nothing,
isPurchased = Core.Nothing,
isUploaded = Core.Nothing,
readingPosition = Core.Nothing,
rentalPeriod = Core.Nothing,
rentalState = Core.Nothing,
review = Core.Nothing,
updated = Core.Nothing,
userUploadedVolumeInfo = Core.Nothing
}
instance Core.FromJSON Volume_UserInfo where
parseJSON =
Core.withObject
"Volume_UserInfo"
( \o ->
Volume_UserInfo
Core.<$> (o Core..:? "acquiredTime")
Core.<*> (o Core..:? "acquisitionType")
Core.<*> (o Core..:? "copy")
Core.<*> (o Core..:? "entitlementType")
Core.<*> (o Core..:? "familySharing")
Core.<*> (o Core..:? "isFamilySharedFromUser")
Core.<*> (o Core..:? "isFamilySharedToUser")
Core.<*> (o Core..:? "isFamilySharingAllowed")
Core.<*> (o Core..:? "isFamilySharingDisabledByFop")
Core.<*> (o Core..:? "isInMyBooks")
Core.<*> (o Core..:? "isPreordered")
Core.<*> (o Core..:? "isPurchased")
Core.<*> (o Core..:? "isUploaded")
Core.<*> (o Core..:? "readingPosition")
Core.<*> (o Core..:? "rentalPeriod")
Core.<*> (o Core..:? "rentalState")
Core.<*> (o Core..:? "review")
Core.<*> (o Core..:? "updated")
Core.<*> (o Core..:? "userUploadedVolumeInfo")
)
instance Core.ToJSON Volume_UserInfo where
toJSON Volume_UserInfo {..} =
Core.object
( Core.catMaybes
[ ("acquiredTime" Core..=) Core.<$> acquiredTime,
("acquisitionType" Core..=) Core.<$> acquisitionType,
("copy" Core..=) Core.<$> copy,
("entitlementType" Core..=) Core.<$> entitlementType,
("familySharing" Core..=) Core.<$> familySharing,
("isFamilySharedFromUser" Core..=) Core.<$> isFamilySharedFromUser,
("isFamilySharedToUser" Core..=) Core.<$> isFamilySharedToUser,
("isFamilySharingAllowed" Core..=) Core.<$> isFamilySharingAllowed,
("isFamilySharingDisabledByFop" Core..=)
Core.<$> isFamilySharingDisabledByFop,
("isInMyBooks" Core..=) Core.<$> isInMyBooks,
("isPreordered" Core..=) Core.<$> isPreordered,
("isPurchased" Core..=) Core.<$> isPurchased,
("isUploaded" Core..=) Core.<$> isUploaded,
("readingPosition" Core..=) Core.<$> readingPosition,
("rentalPeriod" Core..=) Core.<$> rentalPeriod,
("rentalState" Core..=) Core.<$> rentalState,
("review" Core..=) Core.<$> review,
("updated" Core..=) Core.<$> updated,
("userUploadedVolumeInfo" Core..=)
Core.<$> userUploadedVolumeInfo
]
)
-- | Copy\/Paste accounting information.
--
-- /See:/ 'newVolume_UserInfo_Copy' smart constructor.
data Volume_UserInfo_Copy = Volume_UserInfo_Copy
{ allowedCharacterCount :: (Core.Maybe Core.Int32),
limitType :: (Core.Maybe Core.Text),
remainingCharacterCount :: (Core.Maybe Core.Int32),
updated :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_UserInfo_Copy' with the minimum fields required to make a request.
newVolume_UserInfo_Copy ::
Volume_UserInfo_Copy
newVolume_UserInfo_Copy =
Volume_UserInfo_Copy
{ allowedCharacterCount = Core.Nothing,
limitType = Core.Nothing,
remainingCharacterCount = Core.Nothing,
updated = Core.Nothing
}
instance Core.FromJSON Volume_UserInfo_Copy where
parseJSON =
Core.withObject
"Volume_UserInfo_Copy"
( \o ->
Volume_UserInfo_Copy
Core.<$> (o Core..:? "allowedCharacterCount")
Core.<*> (o Core..:? "limitType")
Core.<*> (o Core..:? "remainingCharacterCount")
Core.<*> (o Core..:? "updated")
)
instance Core.ToJSON Volume_UserInfo_Copy where
toJSON Volume_UserInfo_Copy {..} =
Core.object
( Core.catMaybes
[ ("allowedCharacterCount" Core..=) Core.<$> allowedCharacterCount,
("limitType" Core..=) Core.<$> limitType,
("remainingCharacterCount" Core..=)
Core.<$> remainingCharacterCount,
("updated" Core..=) Core.<$> updated
]
)
-- | Information on the ability to share with the family.
--
-- /See:/ 'newVolume_UserInfo_FamilySharing' smart constructor.
data Volume_UserInfo_FamilySharing = Volume_UserInfo_FamilySharing
{ -- | The role of the user in the family.
familyRole :: (Core.Maybe Core.Text),
-- | Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action.
isSharingAllowed :: (Core.Maybe Core.Bool),
-- | Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet.
isSharingDisabledByFop :: (Core.Maybe Core.Bool)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_UserInfo_FamilySharing' with the minimum fields required to make a request.
newVolume_UserInfo_FamilySharing ::
Volume_UserInfo_FamilySharing
newVolume_UserInfo_FamilySharing =
Volume_UserInfo_FamilySharing
{ familyRole = Core.Nothing,
isSharingAllowed = Core.Nothing,
isSharingDisabledByFop = Core.Nothing
}
instance Core.FromJSON Volume_UserInfo_FamilySharing where
parseJSON =
Core.withObject
"Volume_UserInfo_FamilySharing"
( \o ->
Volume_UserInfo_FamilySharing
Core.<$> (o Core..:? "familyRole")
Core.<*> (o Core..:? "isSharingAllowed")
Core.<*> (o Core..:? "isSharingDisabledByFop")
)
instance Core.ToJSON Volume_UserInfo_FamilySharing where
toJSON Volume_UserInfo_FamilySharing {..} =
Core.object
( Core.catMaybes
[ ("familyRole" Core..=) Core.<$> familyRole,
("isSharingAllowed" Core..=) Core.<$> isSharingAllowed,
("isSharingDisabledByFop" Core..=)
Core.<$> isSharingDisabledByFop
]
)
-- | Period during this book is\/was a valid rental.
--
-- /See:/ 'newVolume_UserInfo_RentalPeriod' smart constructor.
data Volume_UserInfo_RentalPeriod = Volume_UserInfo_RentalPeriod
{ endUtcSec :: (Core.Maybe Core.Int64),
startUtcSec :: (Core.Maybe Core.Int64)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_UserInfo_RentalPeriod' with the minimum fields required to make a request.
newVolume_UserInfo_RentalPeriod ::
Volume_UserInfo_RentalPeriod
newVolume_UserInfo_RentalPeriod =
Volume_UserInfo_RentalPeriod
{ endUtcSec = Core.Nothing,
startUtcSec = Core.Nothing
}
instance Core.FromJSON Volume_UserInfo_RentalPeriod where
parseJSON =
Core.withObject
"Volume_UserInfo_RentalPeriod"
( \o ->
Volume_UserInfo_RentalPeriod
Core.<$> (o Core..:? "endUtcSec" Core.<&> Core.fmap Core.fromAsText)
Core.<*> (o Core..:? "startUtcSec" Core.<&> Core.fmap Core.fromAsText)
)
instance Core.ToJSON Volume_UserInfo_RentalPeriod where
toJSON Volume_UserInfo_RentalPeriod {..} =
Core.object
( Core.catMaybes
[ ("endUtcSec" Core..=) Core.. Core.AsText Core.<$> endUtcSec,
("startUtcSec" Core..=) Core.. Core.AsText Core.<$> startUtcSec
]
)
--
-- /See:/ 'newVolume_UserInfo_UserUploadedVolumeInfo' smart constructor.
newtype Volume_UserInfo_UserUploadedVolumeInfo = Volume_UserInfo_UserUploadedVolumeInfo
{ processingState :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_UserInfo_UserUploadedVolumeInfo' with the minimum fields required to make a request.
newVolume_UserInfo_UserUploadedVolumeInfo ::
Volume_UserInfo_UserUploadedVolumeInfo
newVolume_UserInfo_UserUploadedVolumeInfo =
Volume_UserInfo_UserUploadedVolumeInfo
{ processingState =
Core.Nothing
}
instance Core.FromJSON Volume_UserInfo_UserUploadedVolumeInfo where
parseJSON =
Core.withObject
"Volume_UserInfo_UserUploadedVolumeInfo"
( \o ->
Volume_UserInfo_UserUploadedVolumeInfo
Core.<$> (o Core..:? "processingState")
)
instance Core.ToJSON Volume_UserInfo_UserUploadedVolumeInfo where
toJSON Volume_UserInfo_UserUploadedVolumeInfo {..} =
Core.object
( Core.catMaybes
[("processingState" Core..=) Core.<$> processingState]
)
-- | General volume information.
--
-- /See:/ 'newVolume_VolumeInfo' smart constructor.
data Volume_VolumeInfo = Volume_VolumeInfo
{ -- | Whether anonymous logging should be allowed.
allowAnonLogging :: (Core.Maybe Core.Bool),
-- | The names of the authors and\/or editors for this volume. (In LITE projection)
authors :: (Core.Maybe [Core.Text]),
-- | The mean review rating for this volume. (min = 1.0, max = 5.0)
averageRating :: (Core.Maybe Core.Double),
-- | Canonical URL for a volume. (In LITE projection.)
canonicalVolumeLink :: (Core.Maybe Core.Text),
-- | A list of subject categories, such as \"Fiction\", \"Suspense\", etc.
categories :: (Core.Maybe [Core.Text]),
-- | Whether the volume has comics content.
comicsContent :: (Core.Maybe Core.Bool),
-- | An identifier for the version of the volume content (text & images). (In LITE projection)
contentVersion :: (Core.Maybe Core.Text),
-- | A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
description :: (Core.Maybe Core.Text),
-- | Physical dimensions of this volume.
dimensions :: (Core.Maybe Volume_VolumeInfo_Dimensions),
-- | A list of image links for all the sizes that are available. (In LITE projection.)
imageLinks :: (Core.Maybe Volume_VolumeInfo_ImageLinks),
-- | Industry standard identifiers for this volume.
industryIdentifiers :: (Core.Maybe [Volume_VolumeInfo_IndustryIdentifiersItem]),
-- | URL to view information about this volume on the Google Books site. (In LITE projection)
infoLink :: (Core.Maybe Core.Text),
-- | Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as \'fr\', \'en\', etc.
language :: (Core.Maybe Core.Text),
-- | The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
mainCategory :: (Core.Maybe Core.Text),
maturityRating :: (Core.Maybe Core.Text),
-- | Total number of pages as per publisher metadata.
pageCount :: (Core.Maybe Core.Int32),
-- | A top-level summary of the panelization info in this volume.
panelizationSummary :: (Core.Maybe Volume_VolumeInfo_PanelizationSummary),
-- | URL to preview this volume on the Google Books site.
previewLink :: (Core.Maybe Core.Text),
-- | Type of publication of this volume. Possible values are BOOK or MAGAZINE.
printType :: (Core.Maybe Core.Text),
-- | Total number of printed pages in generated pdf representation.
printedPageCount :: (Core.Maybe Core.Int32),
-- | Date of publication. (In LITE projection.)
publishedDate :: (Core.Maybe Core.Text),
-- | Publisher of this volume. (In LITE projection.)
publisher :: (Core.Maybe Core.Text),
-- | The number of review ratings for this volume.
ratingsCount :: (Core.Maybe Core.Int32),
-- | The reading modes available for this volume.
readingModes :: (Core.Maybe Volume_VolumeInfo_ReadingModes),
-- | Total number of sample pages as per publisher metadata.
samplePageCount :: (Core.Maybe Core.Int32),
seriesInfo :: (Core.Maybe Volumeseriesinfo),
-- | Volume subtitle. (In LITE projection.)
subtitle :: (Core.Maybe Core.Text),
-- | Volume title. (In LITE projection.)
title :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_VolumeInfo' with the minimum fields required to make a request.
newVolume_VolumeInfo ::
Volume_VolumeInfo
newVolume_VolumeInfo =
Volume_VolumeInfo
{ allowAnonLogging = Core.Nothing,
authors = Core.Nothing,
averageRating = Core.Nothing,
canonicalVolumeLink = Core.Nothing,
categories = Core.Nothing,
comicsContent = Core.Nothing,
contentVersion = Core.Nothing,
description = Core.Nothing,
dimensions = Core.Nothing,
imageLinks = Core.Nothing,
industryIdentifiers = Core.Nothing,
infoLink = Core.Nothing,
language = Core.Nothing,
mainCategory = Core.Nothing,
maturityRating = Core.Nothing,
pageCount = Core.Nothing,
panelizationSummary = Core.Nothing,
previewLink = Core.Nothing,
printType = Core.Nothing,
printedPageCount = Core.Nothing,
publishedDate = Core.Nothing,
publisher = Core.Nothing,
ratingsCount = Core.Nothing,
readingModes = Core.Nothing,
samplePageCount = Core.Nothing,
seriesInfo = Core.Nothing,
subtitle = Core.Nothing,
title = Core.Nothing
}
instance Core.FromJSON Volume_VolumeInfo where
parseJSON =
Core.withObject
"Volume_VolumeInfo"
( \o ->
Volume_VolumeInfo
Core.<$> (o Core..:? "allowAnonLogging")
Core.<*> (o Core..:? "authors")
Core.<*> (o Core..:? "averageRating")
Core.<*> (o Core..:? "canonicalVolumeLink")
Core.<*> (o Core..:? "categories")
Core.<*> (o Core..:? "comicsContent")
Core.<*> (o Core..:? "contentVersion")
Core.<*> (o Core..:? "description")
Core.<*> (o Core..:? "dimensions")
Core.<*> (o Core..:? "imageLinks")
Core.<*> (o Core..:? "industryIdentifiers")
Core.<*> (o Core..:? "infoLink")
Core.<*> (o Core..:? "language")
Core.<*> (o Core..:? "mainCategory")
Core.<*> (o Core..:? "maturityRating")
Core.<*> (o Core..:? "pageCount")
Core.<*> (o Core..:? "panelizationSummary")
Core.<*> (o Core..:? "previewLink")
Core.<*> (o Core..:? "printType")
Core.<*> (o Core..:? "printedPageCount")
Core.<*> (o Core..:? "publishedDate")
Core.<*> (o Core..:? "publisher")
Core.<*> (o Core..:? "ratingsCount")
Core.<*> (o Core..:? "readingModes")
Core.<*> (o Core..:? "samplePageCount")
Core.<*> (o Core..:? "seriesInfo")
Core.<*> (o Core..:? "subtitle")
Core.<*> (o Core..:? "title")
)
instance Core.ToJSON Volume_VolumeInfo where
toJSON Volume_VolumeInfo {..} =
Core.object
( Core.catMaybes
[ ("allowAnonLogging" Core..=) Core.<$> allowAnonLogging,
("authors" Core..=) Core.<$> authors,
("averageRating" Core..=) Core.<$> averageRating,
("canonicalVolumeLink" Core..=) Core.<$> canonicalVolumeLink,
("categories" Core..=) Core.<$> categories,
("comicsContent" Core..=) Core.<$> comicsContent,
("contentVersion" Core..=) Core.<$> contentVersion,
("description" Core..=) Core.<$> description,
("dimensions" Core..=) Core.<$> dimensions,
("imageLinks" Core..=) Core.<$> imageLinks,
("industryIdentifiers" Core..=) Core.<$> industryIdentifiers,
("infoLink" Core..=) Core.<$> infoLink,
("language" Core..=) Core.<$> language,
("mainCategory" Core..=) Core.<$> mainCategory,
("maturityRating" Core..=) Core.<$> maturityRating,
("pageCount" Core..=) Core.<$> pageCount,
("panelizationSummary" Core..=) Core.<$> panelizationSummary,
("previewLink" Core..=) Core.<$> previewLink,
("printType" Core..=) Core.<$> printType,
("printedPageCount" Core..=) Core.<$> printedPageCount,
("publishedDate" Core..=) Core.<$> publishedDate,
("publisher" Core..=) Core.<$> publisher,
("ratingsCount" Core..=) Core.<$> ratingsCount,
("readingModes" Core..=) Core.<$> readingModes,
("samplePageCount" Core..=) Core.<$> samplePageCount,
("seriesInfo" Core..=) Core.<$> seriesInfo,
("subtitle" Core..=) Core.<$> subtitle,
("title" Core..=) Core.<$> title
]
)
-- | Physical dimensions of this volume.
--
-- /See:/ 'newVolume_VolumeInfo_Dimensions' smart constructor.
data Volume_VolumeInfo_Dimensions = Volume_VolumeInfo_Dimensions
{ -- | Height or length of this volume (in cm).
height :: (Core.Maybe Core.Text),
-- | Thickness of this volume (in cm).
thickness :: (Core.Maybe Core.Text),
-- | Width of this volume (in cm).
width :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_VolumeInfo_Dimensions' with the minimum fields required to make a request.
newVolume_VolumeInfo_Dimensions ::
Volume_VolumeInfo_Dimensions
newVolume_VolumeInfo_Dimensions =
Volume_VolumeInfo_Dimensions
{ height = Core.Nothing,
thickness = Core.Nothing,
width = Core.Nothing
}
instance Core.FromJSON Volume_VolumeInfo_Dimensions where
parseJSON =
Core.withObject
"Volume_VolumeInfo_Dimensions"
( \o ->
Volume_VolumeInfo_Dimensions
Core.<$> (o Core..:? "height")
Core.<*> (o Core..:? "thickness")
Core.<*> (o Core..:? "width")
)
instance Core.ToJSON Volume_VolumeInfo_Dimensions where
toJSON Volume_VolumeInfo_Dimensions {..} =
Core.object
( Core.catMaybes
[ ("height" Core..=) Core.<$> height,
("thickness" Core..=) Core.<$> thickness,
("width" Core..=) Core.<$> width
]
)
-- | A list of image links for all the sizes that are available. (In LITE projection.)
--
-- /See:/ 'newVolume_VolumeInfo_ImageLinks' smart constructor.
data Volume_VolumeInfo_ImageLinks = Volume_VolumeInfo_ImageLinks
{ -- | Image link for extra large size (width of ~1280 pixels). (In LITE projection)
extraLarge :: (Core.Maybe Core.Text),
-- | Image link for large size (width of ~800 pixels). (In LITE projection)
large :: (Core.Maybe Core.Text),
-- | Image link for medium size (width of ~575 pixels). (In LITE projection)
medium :: (Core.Maybe Core.Text),
-- | Image link for small size (width of ~300 pixels). (In LITE projection)
small :: (Core.Maybe Core.Text),
-- | Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
smallThumbnail :: (Core.Maybe Core.Text),
-- | Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
thumbnail :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_VolumeInfo_ImageLinks' with the minimum fields required to make a request.
newVolume_VolumeInfo_ImageLinks ::
Volume_VolumeInfo_ImageLinks
newVolume_VolumeInfo_ImageLinks =
Volume_VolumeInfo_ImageLinks
{ extraLarge = Core.Nothing,
large = Core.Nothing,
medium = Core.Nothing,
small = Core.Nothing,
smallThumbnail = Core.Nothing,
thumbnail = Core.Nothing
}
instance Core.FromJSON Volume_VolumeInfo_ImageLinks where
parseJSON =
Core.withObject
"Volume_VolumeInfo_ImageLinks"
( \o ->
Volume_VolumeInfo_ImageLinks
Core.<$> (o Core..:? "extraLarge")
Core.<*> (o Core..:? "large")
Core.<*> (o Core..:? "medium")
Core.<*> (o Core..:? "small")
Core.<*> (o Core..:? "smallThumbnail")
Core.<*> (o Core..:? "thumbnail")
)
instance Core.ToJSON Volume_VolumeInfo_ImageLinks where
toJSON Volume_VolumeInfo_ImageLinks {..} =
Core.object
( Core.catMaybes
[ ("extraLarge" Core..=) Core.<$> extraLarge,
("large" Core..=) Core.<$> large,
("medium" Core..=) Core.<$> medium,
("small" Core..=) Core.<$> small,
("smallThumbnail" Core..=) Core.<$> smallThumbnail,
("thumbnail" Core..=) Core.<$> thumbnail
]
)
--
-- /See:/ 'newVolume_VolumeInfo_IndustryIdentifiersItem' smart constructor.
data Volume_VolumeInfo_IndustryIdentifiersItem = Volume_VolumeInfo_IndustryIdentifiersItem
{ -- | Industry specific volume identifier.
identifier :: (Core.Maybe Core.Text),
-- | Identifier type. Possible values are ISBN/10, ISBN/13, ISSN and OTHER.
type' :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_VolumeInfo_IndustryIdentifiersItem' with the minimum fields required to make a request.
newVolume_VolumeInfo_IndustryIdentifiersItem ::
Volume_VolumeInfo_IndustryIdentifiersItem
newVolume_VolumeInfo_IndustryIdentifiersItem =
Volume_VolumeInfo_IndustryIdentifiersItem
{ identifier =
Core.Nothing,
type' = Core.Nothing
}
instance Core.FromJSON Volume_VolumeInfo_IndustryIdentifiersItem where
parseJSON =
Core.withObject
"Volume_VolumeInfo_IndustryIdentifiersItem"
( \o ->
Volume_VolumeInfo_IndustryIdentifiersItem
Core.<$> (o Core..:? "identifier")
Core.<*> (o Core..:? "type")
)
instance Core.ToJSON Volume_VolumeInfo_IndustryIdentifiersItem where
toJSON Volume_VolumeInfo_IndustryIdentifiersItem {..} =
Core.object
( Core.catMaybes
[ ("identifier" Core..=) Core.<$> identifier,
("type" Core..=) Core.<$> type'
]
)
-- | A top-level summary of the panelization info in this volume.
--
-- /See:/ 'newVolume_VolumeInfo_PanelizationSummary' smart constructor.
data Volume_VolumeInfo_PanelizationSummary = Volume_VolumeInfo_PanelizationSummary
{ containsEpubBubbles :: (Core.Maybe Core.Bool),
containsImageBubbles :: (Core.Maybe Core.Bool),
epubBubbleVersion :: (Core.Maybe Core.Text),
imageBubbleVersion :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_VolumeInfo_PanelizationSummary' with the minimum fields required to make a request.
newVolume_VolumeInfo_PanelizationSummary ::
Volume_VolumeInfo_PanelizationSummary
newVolume_VolumeInfo_PanelizationSummary =
Volume_VolumeInfo_PanelizationSummary
{ containsEpubBubbles =
Core.Nothing,
containsImageBubbles = Core.Nothing,
epubBubbleVersion = Core.Nothing,
imageBubbleVersion = Core.Nothing
}
instance Core.FromJSON Volume_VolumeInfo_PanelizationSummary where
parseJSON =
Core.withObject
"Volume_VolumeInfo_PanelizationSummary"
( \o ->
Volume_VolumeInfo_PanelizationSummary
Core.<$> (o Core..:? "containsEpubBubbles")
Core.<*> (o Core..:? "containsImageBubbles")
Core.<*> (o Core..:? "epubBubbleVersion")
Core.<*> (o Core..:? "imageBubbleVersion")
)
instance Core.ToJSON Volume_VolumeInfo_PanelizationSummary where
toJSON Volume_VolumeInfo_PanelizationSummary {..} =
Core.object
( Core.catMaybes
[ ("containsEpubBubbles" Core..=) Core.<$> containsEpubBubbles,
("containsImageBubbles" Core..=) Core.<$> containsImageBubbles,
("epubBubbleVersion" Core..=) Core.<$> epubBubbleVersion,
("imageBubbleVersion" Core..=) Core.<$> imageBubbleVersion
]
)
-- | The reading modes available for this volume.
--
-- /See:/ 'newVolume_VolumeInfo_ReadingModes' smart constructor.
data Volume_VolumeInfo_ReadingModes = Volume_VolumeInfo_ReadingModes
{ image :: (Core.Maybe Core.Bool),
text :: (Core.Maybe Core.Bool)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume_VolumeInfo_ReadingModes' with the minimum fields required to make a request.
newVolume_VolumeInfo_ReadingModes ::
Volume_VolumeInfo_ReadingModes
newVolume_VolumeInfo_ReadingModes =
Volume_VolumeInfo_ReadingModes
{ image = Core.Nothing,
text = Core.Nothing
}
instance Core.FromJSON Volume_VolumeInfo_ReadingModes where
parseJSON =
Core.withObject
"Volume_VolumeInfo_ReadingModes"
( \o ->
Volume_VolumeInfo_ReadingModes
Core.<$> (o Core..:? "image")
Core.<*> (o Core..:? "text")
)
instance Core.ToJSON Volume_VolumeInfo_ReadingModes where
toJSON Volume_VolumeInfo_ReadingModes {..} =
Core.object
( Core.catMaybes
[("image" Core..=) Core.<$> image, ("text" Core..=) Core.<$> text]
)
--
-- /See:/ 'newVolume2' smart constructor.
data Volume2 = Volume2
{ -- | A list of volumes.
items :: (Core.Maybe [Volume]),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
nextPageToken :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volume2' with the minimum fields required to make a request.
newVolume2 ::
Volume2
newVolume2 =
Volume2
{ items = Core.Nothing,
kind = Core.Nothing,
nextPageToken = Core.Nothing
}
instance Core.FromJSON Volume2 where
parseJSON =
Core.withObject
"Volume2"
( \o ->
Volume2
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "nextPageToken")
)
instance Core.ToJSON Volume2 where
toJSON Volume2 {..} =
Core.object
( Core.catMaybes
[ ("items" Core..=) Core.<$> items,
("kind" Core..=) Core.<$> kind,
("nextPageToken" Core..=) Core.<$> nextPageToken
]
)
--
-- /See:/ 'newVolumeannotation' smart constructor.
data Volumeannotation = Volumeannotation
{ -- | The annotation data id for this volume annotation.
annotationDataId :: (Core.Maybe Core.Text),
-- | Link to get data for this annotation.
annotationDataLink :: (Core.Maybe Core.Text),
-- | The type of annotation this is.
annotationType :: (Core.Maybe Core.Text),
-- | The content ranges to identify the selected text.
contentRanges :: (Core.Maybe Volumeannotation_ContentRanges),
-- | Data for this annotation.
data' :: (Core.Maybe Core.Text),
-- | Indicates that this annotation is deleted.
deleted :: (Core.Maybe Core.Bool),
-- | Unique id of this volume annotation.
id :: (Core.Maybe Core.Text),
-- | Resource Type
kind :: (Core.Maybe Core.Text),
-- | The Layer this annotation is for.
layerId :: (Core.Maybe Core.Text),
-- | Pages the annotation spans.
pageIds :: (Core.Maybe [Core.Text]),
-- | Excerpt from the volume.
selectedText :: (Core.Maybe Core.Text),
-- | URL to this resource.
selfLink :: (Core.Maybe Core.Text),
-- | Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).
updated :: (Core.Maybe Core.Text),
-- | The Volume this annotation is for.
volumeId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volumeannotation' with the minimum fields required to make a request.
newVolumeannotation ::
Volumeannotation
newVolumeannotation =
Volumeannotation
{ annotationDataId = Core.Nothing,
annotationDataLink = Core.Nothing,
annotationType = Core.Nothing,
contentRanges = Core.Nothing,
data' = Core.Nothing,
deleted = Core.Nothing,
id = Core.Nothing,
kind = Core.Nothing,
layerId = Core.Nothing,
pageIds = Core.Nothing,
selectedText = Core.Nothing,
selfLink = Core.Nothing,
updated = Core.Nothing,
volumeId = Core.Nothing
}
instance Core.FromJSON Volumeannotation where
parseJSON =
Core.withObject
"Volumeannotation"
( \o ->
Volumeannotation
Core.<$> (o Core..:? "annotationDataId")
Core.<*> (o Core..:? "annotationDataLink")
Core.<*> (o Core..:? "annotationType")
Core.<*> (o Core..:? "contentRanges")
Core.<*> (o Core..:? "data")
Core.<*> (o Core..:? "deleted")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "layerId")
Core.<*> (o Core..:? "pageIds")
Core.<*> (o Core..:? "selectedText")
Core.<*> (o Core..:? "selfLink")
Core.<*> (o Core..:? "updated")
Core.<*> (o Core..:? "volumeId")
)
instance Core.ToJSON Volumeannotation where
toJSON Volumeannotation {..} =
Core.object
( Core.catMaybes
[ ("annotationDataId" Core..=) Core.<$> annotationDataId,
("annotationDataLink" Core..=) Core.<$> annotationDataLink,
("annotationType" Core..=) Core.<$> annotationType,
("contentRanges" Core..=) Core.<$> contentRanges,
("data" Core..=) Core.<$> data',
("deleted" Core..=) Core.<$> deleted,
("id" Core..=) Core.<$> id,
("kind" Core..=) Core.<$> kind,
("layerId" Core..=) Core.<$> layerId,
("pageIds" Core..=) Core.<$> pageIds,
("selectedText" Core..=) Core.<$> selectedText,
("selfLink" Core..=) Core.<$> selfLink,
("updated" Core..=) Core.<$> updated,
("volumeId" Core..=) Core.<$> volumeId
]
)
-- | The content ranges to identify the selected text.
--
-- /See:/ 'newVolumeannotation_ContentRanges' smart constructor.
data Volumeannotation_ContentRanges = Volumeannotation_ContentRanges
{ -- | Range in CFI format for this annotation for version above.
cfiRange :: (Core.Maybe BooksAnnotationsRange),
-- | Content version applicable to ranges below.
contentVersion :: (Core.Maybe Core.Text),
-- | Range in GB image format for this annotation for version above.
gbImageRange :: (Core.Maybe BooksAnnotationsRange),
-- | Range in GB text format for this annotation for version above.
gbTextRange :: (Core.Maybe BooksAnnotationsRange)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volumeannotation_ContentRanges' with the minimum fields required to make a request.
newVolumeannotation_ContentRanges ::
Volumeannotation_ContentRanges
newVolumeannotation_ContentRanges =
Volumeannotation_ContentRanges
{ cfiRange = Core.Nothing,
contentVersion = Core.Nothing,
gbImageRange = Core.Nothing,
gbTextRange = Core.Nothing
}
instance Core.FromJSON Volumeannotation_ContentRanges where
parseJSON =
Core.withObject
"Volumeannotation_ContentRanges"
( \o ->
Volumeannotation_ContentRanges
Core.<$> (o Core..:? "cfiRange")
Core.<*> (o Core..:? "contentVersion")
Core.<*> (o Core..:? "gbImageRange")
Core.<*> (o Core..:? "gbTextRange")
)
instance Core.ToJSON Volumeannotation_ContentRanges where
toJSON Volumeannotation_ContentRanges {..} =
Core.object
( Core.catMaybes
[ ("cfiRange" Core..=) Core.<$> cfiRange,
("contentVersion" Core..=) Core.<$> contentVersion,
("gbImageRange" Core..=) Core.<$> gbImageRange,
("gbTextRange" Core..=) Core.<$> gbTextRange
]
)
--
-- /See:/ 'newVolumeannotations' smart constructor.
data Volumeannotations = Volumeannotations
{ -- | A list of volume annotations.
items :: (Core.Maybe [Volumeannotation]),
-- | Resource type
kind :: (Core.Maybe Core.Text),
-- | Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
nextPageToken :: (Core.Maybe Core.Text),
-- | The total number of volume annotations found.
totalItems :: (Core.Maybe Core.Int32),
-- | The version string for all of the volume annotations in this layer (not just the ones in this response). Note: the version string doesn\'t apply to the annotation data, just the information in this response (e.g. the location of annotations in the book).
version :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volumeannotations' with the minimum fields required to make a request.
newVolumeannotations ::
Volumeannotations
newVolumeannotations =
Volumeannotations
{ items = Core.Nothing,
kind = Core.Nothing,
nextPageToken = Core.Nothing,
totalItems = Core.Nothing,
version = Core.Nothing
}
instance Core.FromJSON Volumeannotations where
parseJSON =
Core.withObject
"Volumeannotations"
( \o ->
Volumeannotations
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "nextPageToken")
Core.<*> (o Core..:? "totalItems")
Core.<*> (o Core..:? "version")
)
instance Core.ToJSON Volumeannotations where
toJSON Volumeannotations {..} =
Core.object
( Core.catMaybes
[ ("items" Core..=) Core.<$> items,
("kind" Core..=) Core.<$> kind,
("nextPageToken" Core..=) Core.<$> nextPageToken,
("totalItems" Core..=) Core.<$> totalItems,
("version" Core..=) Core.<$> version
]
)
--
-- /See:/ 'newVolumes' smart constructor.
data Volumes = Volumes
{ -- | A list of volumes.
items :: (Core.Maybe [Volume]),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
totalItems :: (Core.Maybe Core.Int32)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volumes' with the minimum fields required to make a request.
newVolumes ::
Volumes
newVolumes =
Volumes
{ items = Core.Nothing,
kind = Core.Nothing,
totalItems = Core.Nothing
}
instance Core.FromJSON Volumes where
parseJSON =
Core.withObject
"Volumes"
( \o ->
Volumes
Core.<$> (o Core..:? "items")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "totalItems")
)
instance Core.ToJSON Volumes where
toJSON Volumes {..} =
Core.object
( Core.catMaybes
[ ("items" Core..=) Core.<$> items,
("kind" Core..=) Core.<$> kind,
("totalItems" Core..=) Core.<$> totalItems
]
)
--
-- /See:/ 'newVolumeseriesinfo' smart constructor.
data Volumeseriesinfo = Volumeseriesinfo
{ -- | The display number string. This should be used only for display purposes and the actual sequence should be inferred from the below orderNumber.
bookDisplayNumber :: (Core.Maybe Core.Text),
-- | Resource type.
kind :: (Core.Maybe Core.Text),
-- | Short book title in the context of the series.
shortSeriesBookTitle :: (Core.Maybe Core.Text),
volumeSeries :: (Core.Maybe [Volumeseriesinfo_VolumeSeriesItem])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volumeseriesinfo' with the minimum fields required to make a request.
newVolumeseriesinfo ::
Volumeseriesinfo
newVolumeseriesinfo =
Volumeseriesinfo
{ bookDisplayNumber = Core.Nothing,
kind = Core.Nothing,
shortSeriesBookTitle = Core.Nothing,
volumeSeries = Core.Nothing
}
instance Core.FromJSON Volumeseriesinfo where
parseJSON =
Core.withObject
"Volumeseriesinfo"
( \o ->
Volumeseriesinfo
Core.<$> (o Core..:? "bookDisplayNumber")
Core.<*> (o Core..:? "kind")
Core.<*> (o Core..:? "shortSeriesBookTitle")
Core.<*> (o Core..:? "volumeSeries")
)
instance Core.ToJSON Volumeseriesinfo where
toJSON Volumeseriesinfo {..} =
Core.object
( Core.catMaybes
[ ("bookDisplayNumber" Core..=) Core.<$> bookDisplayNumber,
("kind" Core..=) Core.<$> kind,
("shortSeriesBookTitle" Core..=) Core.<$> shortSeriesBookTitle,
("volumeSeries" Core..=) Core.<$> volumeSeries
]
)
--
-- /See:/ 'newVolumeseriesinfo_VolumeSeriesItem' smart constructor.
data Volumeseriesinfo_VolumeSeriesItem = Volumeseriesinfo_VolumeSeriesItem
{ -- | List of issues. Applicable only for Collection Edition and Omnibus.
issue :: (Core.Maybe [Volumeseriesinfo_VolumeSeriesItem_IssueItem]),
-- | The book order number in the series.
orderNumber :: (Core.Maybe Core.Int32),
-- | The book type in the context of series. Examples - Single Issue, Collection Edition, etc.
seriesBookType :: (Core.Maybe Core.Text),
-- | The series id.
seriesId :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volumeseriesinfo_VolumeSeriesItem' with the minimum fields required to make a request.
newVolumeseriesinfo_VolumeSeriesItem ::
Volumeseriesinfo_VolumeSeriesItem
newVolumeseriesinfo_VolumeSeriesItem =
Volumeseriesinfo_VolumeSeriesItem
{ issue = Core.Nothing,
orderNumber = Core.Nothing,
seriesBookType = Core.Nothing,
seriesId = Core.Nothing
}
instance Core.FromJSON Volumeseriesinfo_VolumeSeriesItem where
parseJSON =
Core.withObject
"Volumeseriesinfo_VolumeSeriesItem"
( \o ->
Volumeseriesinfo_VolumeSeriesItem
Core.<$> (o Core..:? "issue")
Core.<*> (o Core..:? "orderNumber")
Core.<*> (o Core..:? "seriesBookType")
Core.<*> (o Core..:? "seriesId")
)
instance Core.ToJSON Volumeseriesinfo_VolumeSeriesItem where
toJSON Volumeseriesinfo_VolumeSeriesItem {..} =
Core.object
( Core.catMaybes
[ ("issue" Core..=) Core.<$> issue,
("orderNumber" Core..=) Core.<$> orderNumber,
("seriesBookType" Core..=) Core.<$> seriesBookType,
("seriesId" Core..=) Core.<$> seriesId
]
)
--
-- /See:/ 'newVolumeseriesinfo_VolumeSeriesItem_IssueItem' smart constructor.
data Volumeseriesinfo_VolumeSeriesItem_IssueItem = Volumeseriesinfo_VolumeSeriesItem_IssueItem
{ issueDisplayNumber :: (Core.Maybe Core.Text),
issueOrderNumber :: (Core.Maybe Core.Int32)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Volumeseriesinfo_VolumeSeriesItem_IssueItem' with the minimum fields required to make a request.
newVolumeseriesinfo_VolumeSeriesItem_IssueItem ::
Volumeseriesinfo_VolumeSeriesItem_IssueItem
newVolumeseriesinfo_VolumeSeriesItem_IssueItem =
Volumeseriesinfo_VolumeSeriesItem_IssueItem
{ issueDisplayNumber =
Core.Nothing,
issueOrderNumber = Core.Nothing
}
instance Core.FromJSON Volumeseriesinfo_VolumeSeriesItem_IssueItem where
parseJSON =
Core.withObject
"Volumeseriesinfo_VolumeSeriesItem_IssueItem"
( \o ->
Volumeseriesinfo_VolumeSeriesItem_IssueItem
Core.<$> (o Core..:? "issueDisplayNumber")
Core.<*> (o Core..:? "issueOrderNumber")
)
instance Core.ToJSON Volumeseriesinfo_VolumeSeriesItem_IssueItem where
toJSON Volumeseriesinfo_VolumeSeriesItem_IssueItem {..} =
Core.object
( Core.catMaybes
[ ("issueDisplayNumber" Core..=) Core.<$> issueDisplayNumber,
("issueOrderNumber" Core..=) Core.<$> issueOrderNumber
]
)