gogol-drive 0.3.0 → 0.4.0
raw patch · 26 files changed
+5857/−3220 lines, 26 filesdep ~gogol-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: gogol-core
API changes (from Hackage documentation)
+ Network.Google.Drive: aCanCreateTeamDrives :: Lens' About (Maybe Bool)
+ Network.Google.Drive: aTeamDriveThemes :: Lens' About [AboutTeamDriveThemesItem]
+ Network.Google.Drive: aboutTeamDriveThemesItem :: AboutTeamDriveThemesItem
+ Network.Google.Drive: atdtiBackgRoundImageLink :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive: atdtiColorRgb :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive: atdtiId :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive: chaTeamDrive :: Lens' Change (Maybe TeamDrive)
+ Network.Google.Drive: chaTeamDriveId :: Lens' Change (Maybe Text)
+ Network.Google.Drive: chaType :: Lens' Change (Maybe Text)
+ Network.Google.Drive: data AboutTeamDriveThemesItem
+ Network.Google.Drive: data FileExportLinks
+ Network.Google.Drive: data PermissionTeamDrivePermissionDetailsItem
+ Network.Google.Drive: data RevisionExportLinks
+ Network.Google.Drive: data TeamDrive
+ Network.Google.Drive: data TeamDriveBackgRoundImageFile
+ Network.Google.Drive: data TeamDriveCapabilities
+ Network.Google.Drive: data TeamDriveList
+ Network.Google.Drive: data TeamDriveRestrictions
+ Network.Google.Drive: fCopyRequiresWriterPermission :: Lens' File (Maybe Bool)
+ Network.Google.Drive: fExportLinks :: Lens' File (Maybe FileExportLinks)
+ Network.Google.Drive: fHasAugmentedPermissions :: Lens' File (Maybe Bool)
+ Network.Google.Drive: fPermissionIds :: Lens' File [Text]
+ Network.Google.Drive: fTeamDriveId :: Lens' File (Maybe Text)
+ Network.Google.Drive: fTrashedTime :: Lens' File (Maybe UTCTime)
+ Network.Google.Drive: fTrashingUser :: Lens' File (Maybe User)
+ Network.Google.Drive: fcCanAddChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanChangeCopyRequiresWriterPermission :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanChangeViewersCanCopyContent :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanDelete :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanDeleteChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanDownload :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanListChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveChildrenOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveChildrenWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveItemIntoTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveItemOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveItemWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveTeamDriveItem :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanReadTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanRemoveChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanRename :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanTrash :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanTrashChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanUntrash :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: felAddtional :: Lens' FileExportLinks (HashMap Text Text)
+ Network.Google.Drive: fileExportLinks :: HashMap Text Text -> FileExportLinks
+ Network.Google.Drive: flIncompleteSearch :: Lens' FileList (Maybe Bool)
+ Network.Google.Drive: pDeleted :: Lens' Permission (Maybe Bool)
+ Network.Google.Drive: pTeamDrivePermissionDetails :: Lens' Permission [PermissionTeamDrivePermissionDetailsItem]
+ Network.Google.Drive: permissionTeamDrivePermissionDetailsItem :: PermissionTeamDrivePermissionDetailsItem
+ Network.Google.Drive: plNextPageToken :: Lens' PermissionList (Maybe Text)
+ Network.Google.Drive: ptdpdiInherited :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Bool)
+ Network.Google.Drive: ptdpdiInheritedFrom :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive: ptdpdiRole :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive: ptdpdiTeamDrivePermissionType :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive: relAddtional :: Lens' RevisionExportLinks (HashMap Text Text)
+ Network.Google.Drive: revExportLinks :: Lens' Revision (Maybe RevisionExportLinks)
+ Network.Google.Drive: revisionExportLinks :: HashMap Text Text -> RevisionExportLinks
+ Network.Google.Drive: tdBackgRoundImageFile :: Lens' TeamDrive (Maybe TeamDriveBackgRoundImageFile)
+ Network.Google.Drive: tdBackgRoundImageLink :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdCapabilities :: Lens' TeamDrive (Maybe TeamDriveCapabilities)
+ Network.Google.Drive: tdColorRgb :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdCreatedTime :: Lens' TeamDrive (Maybe UTCTime)
+ Network.Google.Drive: tdId :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdKind :: Lens' TeamDrive Text
+ Network.Google.Drive: tdName :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdRestrictions :: Lens' TeamDrive (Maybe TeamDriveRestrictions)
+ Network.Google.Drive: tdThemeId :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdbrifId :: Lens' TeamDriveBackgRoundImageFile (Maybe Text)
+ Network.Google.Drive: tdbrifWidth :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: tdbrifXCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: tdbrifYCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: tdcCanAddChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanChangeDomainUsersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanChangeTeamDriveBackgRound :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanChangeTeamMembersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanComment :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanCopy :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanDeleteChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanDeleteTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanDownload :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanEdit :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanListChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanManageMembers :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanReadRevisions :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanRemoveChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanRename :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanRenameTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanShare :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanTrashChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdlKind :: Lens' TeamDriveList Text
+ Network.Google.Drive: tdlNextPageToken :: Lens' TeamDriveList (Maybe Text)
+ Network.Google.Drive: tdlTeamDrives :: Lens' TeamDriveList [TeamDrive]
+ Network.Google.Drive: tdrAdminManagedRestrictions :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive: tdrCopyRequiresWriterPermission :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive: tdrDomainUsersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive: tdrTeamMembersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive: teamDrive :: TeamDrive
+ Network.Google.Drive: teamDriveBackgRoundImageFile :: TeamDriveBackgRoundImageFile
+ Network.Google.Drive: teamDriveCapabilities :: TeamDriveCapabilities
+ Network.Google.Drive: teamDriveList :: TeamDriveList
+ Network.Google.Drive: teamDriveRestrictions :: TeamDriveRestrictions
+ Network.Google.Drive.Types: aCanCreateTeamDrives :: Lens' About (Maybe Bool)
+ Network.Google.Drive.Types: aTeamDriveThemes :: Lens' About [AboutTeamDriveThemesItem]
+ Network.Google.Drive.Types: aboutTeamDriveThemesItem :: AboutTeamDriveThemesItem
+ Network.Google.Drive.Types: atdtiBackgRoundImageLink :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: atdtiColorRgb :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: atdtiId :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: chaTeamDrive :: Lens' Change (Maybe TeamDrive)
+ Network.Google.Drive.Types: chaTeamDriveId :: Lens' Change (Maybe Text)
+ Network.Google.Drive.Types: chaType :: Lens' Change (Maybe Text)
+ Network.Google.Drive.Types: data AboutTeamDriveThemesItem
+ Network.Google.Drive.Types: data FileExportLinks
+ Network.Google.Drive.Types: data PermissionTeamDrivePermissionDetailsItem
+ Network.Google.Drive.Types: data RevisionExportLinks
+ Network.Google.Drive.Types: data TeamDrive
+ Network.Google.Drive.Types: data TeamDriveBackgRoundImageFile
+ Network.Google.Drive.Types: data TeamDriveCapabilities
+ Network.Google.Drive.Types: data TeamDriveList
+ Network.Google.Drive.Types: data TeamDriveRestrictions
+ Network.Google.Drive.Types: fCopyRequiresWriterPermission :: Lens' File (Maybe Bool)
+ Network.Google.Drive.Types: fExportLinks :: Lens' File (Maybe FileExportLinks)
+ Network.Google.Drive.Types: fHasAugmentedPermissions :: Lens' File (Maybe Bool)
+ Network.Google.Drive.Types: fPermissionIds :: Lens' File [Text]
+ Network.Google.Drive.Types: fTeamDriveId :: Lens' File (Maybe Text)
+ Network.Google.Drive.Types: fTrashedTime :: Lens' File (Maybe UTCTime)
+ Network.Google.Drive.Types: fTrashingUser :: Lens' File (Maybe User)
+ Network.Google.Drive.Types: fcCanAddChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanChangeCopyRequiresWriterPermission :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanChangeViewersCanCopyContent :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanDelete :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanDeleteChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanDownload :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanListChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveChildrenOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveChildrenWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveItemIntoTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveItemOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveItemWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveTeamDriveItem :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanReadTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanRemoveChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanRename :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanTrash :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanTrashChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanUntrash :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: felAddtional :: Lens' FileExportLinks (HashMap Text Text)
+ Network.Google.Drive.Types: fileExportLinks :: HashMap Text Text -> FileExportLinks
+ Network.Google.Drive.Types: flIncompleteSearch :: Lens' FileList (Maybe Bool)
+ Network.Google.Drive.Types: pDeleted :: Lens' Permission (Maybe Bool)
+ Network.Google.Drive.Types: pTeamDrivePermissionDetails :: Lens' Permission [PermissionTeamDrivePermissionDetailsItem]
+ Network.Google.Drive.Types: permissionTeamDrivePermissionDetailsItem :: PermissionTeamDrivePermissionDetailsItem
+ Network.Google.Drive.Types: plNextPageToken :: Lens' PermissionList (Maybe Text)
+ Network.Google.Drive.Types: ptdpdiInherited :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Bool)
+ Network.Google.Drive.Types: ptdpdiInheritedFrom :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: ptdpdiRole :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: ptdpdiTeamDrivePermissionType :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: relAddtional :: Lens' RevisionExportLinks (HashMap Text Text)
+ Network.Google.Drive.Types: revExportLinks :: Lens' Revision (Maybe RevisionExportLinks)
+ Network.Google.Drive.Types: revisionExportLinks :: HashMap Text Text -> RevisionExportLinks
+ Network.Google.Drive.Types: tdBackgRoundImageFile :: Lens' TeamDrive (Maybe TeamDriveBackgRoundImageFile)
+ Network.Google.Drive.Types: tdBackgRoundImageLink :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdCapabilities :: Lens' TeamDrive (Maybe TeamDriveCapabilities)
+ Network.Google.Drive.Types: tdColorRgb :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdCreatedTime :: Lens' TeamDrive (Maybe UTCTime)
+ Network.Google.Drive.Types: tdId :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdKind :: Lens' TeamDrive Text
+ Network.Google.Drive.Types: tdName :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdRestrictions :: Lens' TeamDrive (Maybe TeamDriveRestrictions)
+ Network.Google.Drive.Types: tdThemeId :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdbrifId :: Lens' TeamDriveBackgRoundImageFile (Maybe Text)
+ Network.Google.Drive.Types: tdbrifWidth :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: tdbrifXCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: tdbrifYCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: tdcCanAddChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanChangeDomainUsersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanChangeTeamDriveBackgRound :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanChangeTeamMembersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanComment :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanCopy :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanDeleteChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanDeleteTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanDownload :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanEdit :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanListChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanManageMembers :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanReadRevisions :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanRemoveChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanRename :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanRenameTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanShare :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanTrashChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdlKind :: Lens' TeamDriveList Text
+ Network.Google.Drive.Types: tdlNextPageToken :: Lens' TeamDriveList (Maybe Text)
+ Network.Google.Drive.Types: tdlTeamDrives :: Lens' TeamDriveList [TeamDrive]
+ Network.Google.Drive.Types: tdrAdminManagedRestrictions :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: tdrCopyRequiresWriterPermission :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: tdrDomainUsersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: tdrTeamMembersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: teamDrive :: TeamDrive
+ Network.Google.Drive.Types: teamDriveBackgRoundImageFile :: TeamDriveBackgRoundImageFile
+ Network.Google.Drive.Types: teamDriveCapabilities :: TeamDriveCapabilities
+ Network.Google.Drive.Types: teamDriveList :: TeamDriveList
+ Network.Google.Drive.Types: teamDriveRestrictions :: TeamDriveRestrictions
+ Network.Google.Resource.Drive.Changes.GetStartPageToken: cgsptSupportsTeamDrives :: Lens' ChangesGetStartPageToken Bool
+ Network.Google.Resource.Drive.Changes.GetStartPageToken: cgsptTeamDriveId :: Lens' ChangesGetStartPageToken (Maybe Text)
+ Network.Google.Resource.Drive.Changes.List: clIncludeCorpusRemovals :: Lens' ChangesList Bool
+ Network.Google.Resource.Drive.Changes.List: clIncludeTeamDriveItems :: Lens' ChangesList Bool
+ Network.Google.Resource.Drive.Changes.List: clSupportsTeamDrives :: Lens' ChangesList Bool
+ Network.Google.Resource.Drive.Changes.List: clTeamDriveId :: Lens' ChangesList (Maybe Text)
+ Network.Google.Resource.Drive.Changes.Watch: cwIncludeCorpusRemovals :: Lens' ChangesWatch Bool
+ Network.Google.Resource.Drive.Changes.Watch: cwIncludeTeamDriveItems :: Lens' ChangesWatch Bool
+ Network.Google.Resource.Drive.Changes.Watch: cwSupportsTeamDrives :: Lens' ChangesWatch Bool
+ Network.Google.Resource.Drive.Changes.Watch: cwTeamDriveId :: Lens' ChangesWatch (Maybe Text)
+ Network.Google.Resource.Drive.Files.Copy: fSupportsTeamDrives :: Lens' FilesCopy Bool
+ Network.Google.Resource.Drive.Files.Create: fcSupportsTeamDrives :: Lens' FilesCreate Bool
+ Network.Google.Resource.Drive.Files.Delete: fdSupportsTeamDrives :: Lens' FilesDelete Bool
+ Network.Google.Resource.Drive.Files.Get: fgSupportsTeamDrives :: Lens' FilesGet Bool
+ Network.Google.Resource.Drive.Files.List: flCorpora :: Lens' FilesList (Maybe Text)
+ Network.Google.Resource.Drive.Files.List: flIncludeTeamDriveItems :: Lens' FilesList Bool
+ Network.Google.Resource.Drive.Files.List: flSupportsTeamDrives :: Lens' FilesList Bool
+ Network.Google.Resource.Drive.Files.List: flTeamDriveId :: Lens' FilesList (Maybe Text)
+ Network.Google.Resource.Drive.Files.Update: fuSupportsTeamDrives :: Lens' FilesUpdate Bool
+ Network.Google.Resource.Drive.Files.Watch: fwSupportsTeamDrives :: Lens' FilesWatch Bool
+ Network.Google.Resource.Drive.Permissions.Create: pcSupportsTeamDrives :: Lens' PermissionsCreate Bool
+ Network.Google.Resource.Drive.Permissions.Create: pcUseDomainAdminAccess :: Lens' PermissionsCreate Bool
+ Network.Google.Resource.Drive.Permissions.Delete: pdSupportsTeamDrives :: Lens' PermissionsDelete Bool
+ Network.Google.Resource.Drive.Permissions.Delete: pdUseDomainAdminAccess :: Lens' PermissionsDelete Bool
+ Network.Google.Resource.Drive.Permissions.Get: pgSupportsTeamDrives :: Lens' PermissionsGet Bool
+ Network.Google.Resource.Drive.Permissions.Get: pgUseDomainAdminAccess :: Lens' PermissionsGet Bool
+ Network.Google.Resource.Drive.Permissions.List: plPageSize :: Lens' PermissionsList (Maybe Int32)
+ Network.Google.Resource.Drive.Permissions.List: plPageToken :: Lens' PermissionsList (Maybe Text)
+ Network.Google.Resource.Drive.Permissions.List: plSupportsTeamDrives :: Lens' PermissionsList Bool
+ Network.Google.Resource.Drive.Permissions.List: plUseDomainAdminAccess :: Lens' PermissionsList Bool
+ Network.Google.Resource.Drive.Permissions.Update: puSupportsTeamDrives :: Lens' PermissionsUpdate Bool
+ Network.Google.Resource.Drive.Permissions.Update: puUseDomainAdminAccess :: Lens' PermissionsUpdate Bool
+ Network.Google.Resource.Drive.Teamdrives.Create: data TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: tcPayload :: Lens' TeamdrivesCreate TeamDrive
+ Network.Google.Resource.Drive.Teamdrives.Create: tcRequestId :: Lens' TeamdrivesCreate Text
+ Network.Google.Resource.Drive.Teamdrives.Create: teamdrivesCreate :: Text -> TeamDrive -> TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: type TeamdrivesCreateResource = "drive" :> "v3" :> "teamdrives" :> QueryParam "requestId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] TeamDrive :> Post '[JSON] TeamDrive
+ Network.Google.Resource.Drive.Teamdrives.Delete: data TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: tdTeamDriveId :: Lens' TeamdrivesDelete Text
+ Network.Google.Resource.Drive.Teamdrives.Delete: teamdrivesDelete :: Text -> TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: type TeamdrivesDeleteResource = "drive" :> "v3" :> "teamdrives" :> Capture "teamDriveId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
+ Network.Google.Resource.Drive.Teamdrives.Get: data TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: teamdrivesGet :: Text -> TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: tgTeamDriveId :: Lens' TeamdrivesGet Text
+ Network.Google.Resource.Drive.Teamdrives.Get: tgUseDomainAdminAccess :: Lens' TeamdrivesGet Bool
+ Network.Google.Resource.Drive.Teamdrives.Get: type TeamdrivesGetResource = "drive" :> "v3" :> "teamdrives" :> Capture "teamDriveId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] TeamDrive
+ Network.Google.Resource.Drive.Teamdrives.List: data TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: teamdrivesList :: TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: tlPageSize :: Lens' TeamdrivesList Int32
+ Network.Google.Resource.Drive.Teamdrives.List: tlPageToken :: Lens' TeamdrivesList (Maybe Text)
+ Network.Google.Resource.Drive.Teamdrives.List: tlQ :: Lens' TeamdrivesList (Maybe Text)
+ Network.Google.Resource.Drive.Teamdrives.List: tlUseDomainAdminAccess :: Lens' TeamdrivesList Bool
+ Network.Google.Resource.Drive.Teamdrives.List: type TeamdrivesListResource = "drive" :> "v3" :> "teamdrives" :> QueryParam "q" Text :> QueryParam "pageToken" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "pageSize" (Textual Int32) :> QueryParam "alt" AltJSON :> Get '[JSON] TeamDriveList
+ Network.Google.Resource.Drive.Teamdrives.Update: data TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: teamdrivesUpdate :: TeamDrive -> Text -> TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: tuPayload :: Lens' TeamdrivesUpdate TeamDrive
+ Network.Google.Resource.Drive.Teamdrives.Update: tuTeamDriveId :: Lens' TeamdrivesUpdate Text
+ Network.Google.Resource.Drive.Teamdrives.Update: tuUseDomainAdminAccess :: Lens' TeamdrivesUpdate Bool
+ Network.Google.Resource.Drive.Teamdrives.Update: type TeamdrivesUpdateResource = "drive" :> "v3" :> "teamdrives" :> Capture "teamDriveId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] TeamDrive :> Patch '[JSON] TeamDrive
- Network.Google.Drive: type DriveAPI = ChangesListResource :<|> (ChangesGetStartPageTokenResource :<|> (ChangesWatchResource :<|> (ChannelsStopResource :<|> (RepliesListResource :<|> (RepliesGetResource :<|> (RepliesCreateResource :<|> (RepliesDeleteResource :<|> (RepliesUpdateResource :<|> (AboutGetResource :<|> (FilesExportResource :<|> (FilesListResource :<|> (FilesCopyResource :<|> (FilesGetResource :<|> (FilesEmptyTrashResource :<|> (FilesCreateResource :<|> (FilesGenerateIdsResource :<|> (FilesDeleteResource :<|> (FilesUpdateResource :<|> (FilesWatchResource :<|> (PermissionsListResource :<|> (PermissionsGetResource :<|> (PermissionsCreateResource :<|> (PermissionsDeleteResource :<|> (PermissionsUpdateResource :<|> (CommentsListResource :<|> (CommentsGetResource :<|> (CommentsCreateResource :<|> (CommentsDeleteResource :<|> (CommentsUpdateResource :<|> (RevisionsListResource :<|> (RevisionsGetResource :<|> (RevisionsDeleteResource :<|> RevisionsUpdateResource))))))))))))))))))))))))))))))))
+ Network.Google.Drive: type DriveAPI = TeamdrivesListResource :<|> TeamdrivesGetResource :<|> TeamdrivesCreateResource :<|> TeamdrivesDeleteResource :<|> TeamdrivesUpdateResource :<|> ChangesListResource :<|> ChangesGetStartPageTokenResource :<|> ChangesWatchResource :<|> ChannelsStopResource :<|> RepliesListResource :<|> RepliesGetResource :<|> RepliesCreateResource :<|> RepliesDeleteResource :<|> RepliesUpdateResource :<|> AboutGetResource :<|> FilesExportResource :<|> FilesListResource :<|> FilesCopyResource :<|> FilesGetResource :<|> FilesEmptyTrashResource :<|> FilesCreateResource :<|> FilesGenerateIdsResource :<|> FilesDeleteResource :<|> FilesUpdateResource :<|> FilesWatchResource :<|> PermissionsListResource :<|> PermissionsGetResource :<|> PermissionsCreateResource :<|> PermissionsDeleteResource :<|> PermissionsUpdateResource :<|> CommentsListResource :<|> CommentsGetResource :<|> CommentsCreateResource :<|> CommentsDeleteResource :<|> CommentsUpdateResource :<|> RevisionsListResource :<|> RevisionsGetResource :<|> RevisionsDeleteResource :<|> RevisionsUpdateResource
- Network.Google.Resource.Drive.About.Get: type AboutGetResource = "drive" :> ("v3" :> ("about" :> (QueryParam "alt" AltJSON :> Get '[JSON] About)))
+ Network.Google.Resource.Drive.About.Get: type AboutGetResource = "drive" :> "v3" :> "about" :> QueryParam "alt" AltJSON :> Get '[JSON] About
- Network.Google.Resource.Drive.Changes.GetStartPageToken: type ChangesGetStartPageTokenResource = "drive" :> ("v3" :> ("changes" :> ("startPageToken" :> (QueryParam "alt" AltJSON :> Get '[JSON] StartPageToken))))
+ Network.Google.Resource.Drive.Changes.GetStartPageToken: type ChangesGetStartPageTokenResource = "drive" :> "v3" :> "changes" :> "startPageToken" :> QueryParam "teamDriveId" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] StartPageToken
- Network.Google.Resource.Drive.Changes.List: type ChangesListResource = "drive" :> ("v3" :> ("changes" :> (QueryParam "pageToken" Text :> (QueryParam "restrictToMyDrive" Bool :> (QueryParam "spaces" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "includeRemoved" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] ChangeList))))))))
+ Network.Google.Resource.Drive.Changes.List: type ChangesListResource = "drive" :> "v3" :> "changes" :> QueryParam "pageToken" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "includeCorpusRemovals" Bool :> QueryParam "teamDriveId" Text :> QueryParam "restrictToMyDrive" Bool :> QueryParam "spaces" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeRemoved" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] ChangeList
- Network.Google.Resource.Drive.Changes.Watch: type ChangesWatchResource = "drive" :> ("v3" :> ("changes" :> ("watch" :> (QueryParam "pageToken" Text :> (QueryParam "restrictToMyDrive" Bool :> (QueryParam "spaces" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "includeRemoved" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Channel :> Post '[JSON] Channel))))))))))
+ Network.Google.Resource.Drive.Changes.Watch: type ChangesWatchResource = "drive" :> "v3" :> "changes" :> "watch" :> QueryParam "pageToken" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "includeCorpusRemovals" Bool :> QueryParam "teamDriveId" Text :> QueryParam "restrictToMyDrive" Bool :> QueryParam "spaces" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeRemoved" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] Channel
- Network.Google.Resource.Drive.Channels.Stop: type ChannelsStopResource = "drive" :> ("v3" :> ("channels" :> ("stop" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Channel :> Post '[JSON] ())))))
+ Network.Google.Resource.Drive.Channels.Stop: type ChannelsStopResource = "drive" :> "v3" :> "channels" :> "stop" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] ()
- Network.Google.Resource.Drive.Comments.Create: type CommentsCreateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Comment :> Post '[JSON] Comment))))))
+ Network.Google.Resource.Drive.Comments.Create: type CommentsCreateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Comment :> Post '[JSON] Comment
- Network.Google.Resource.Drive.Comments.Delete: type CommentsDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))
+ Network.Google.Resource.Drive.Comments.Delete: type CommentsDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Comments.Get: type CommentsGetResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] Comment)))))))
+ Network.Google.Resource.Drive.Comments.Get: type CommentsGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> QueryParam "includeDeleted" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Comment
- Network.Google.Resource.Drive.Comments.List: type CommentsListResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (QueryParam "startModifiedTime" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] CommentList)))))))))
+ Network.Google.Resource.Drive.Comments.List: type CommentsListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> QueryParam "startModifiedTime" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeDeleted" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] CommentList
- Network.Google.Resource.Drive.Comments.Update: type CommentsUpdateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Comment :> Patch '[JSON] Comment)))))))
+ Network.Google.Resource.Drive.Comments.Update: type CommentsUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Comment :> Patch '[JSON] Comment
- Network.Google.Resource.Drive.Files.Copy: type FilesCopyResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("copy" :> (QueryParam "ocrLanguage" Text :> (QueryParam "keepRevisionForever" Bool :> (QueryParam "ignoreDefaultVisibility" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] File :> Post '[JSON] File)))))))))
+ Network.Google.Resource.Drive.Files.Copy: type FilesCopyResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "copy" :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Post '[JSON] File
- Network.Google.Resource.Drive.Files.Create: type FilesCreateResource = ("drive" :> ("v3" :> ("files" :> (QueryParam "useContentAsIndexableText" Bool :> (QueryParam "ocrLanguage" Text :> (QueryParam "keepRevisionForever" Bool :> (QueryParam "ignoreDefaultVisibility" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] File :> Post '[JSON] File))))))))) :<|> ("upload" :> ("drive" :> ("v3" :> ("files" :> (QueryParam "useContentAsIndexableText" Bool :> (QueryParam "ocrLanguage" Text :> (QueryParam "keepRevisionForever" Bool :> (QueryParam "ignoreDefaultVisibility" Bool :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" Multipart :> (MultipartRelated '[JSON] File :> Post '[JSON] File)))))))))))
+ Network.Google.Resource.Drive.Files.Create: type FilesCreateResource = "drive" :> "v3" :> "files" :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Post '[JSON] File :<|> "upload" :> "drive" :> "v3" :> "files" :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> QueryParam "uploadType" Multipart :> MultipartRelated '[JSON] File :> Post '[JSON] File
- Network.Google.Resource.Drive.Files.Delete: type FilesDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))
+ Network.Google.Resource.Drive.Files.Delete: type FilesDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Files.EmptyTrash: type FilesEmptyTrashResource = "drive" :> ("v3" :> ("files" :> ("trash" :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))
+ Network.Google.Resource.Drive.Files.EmptyTrash: type FilesEmptyTrashResource = "drive" :> "v3" :> "files" :> "trash" :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Files.Export: type FilesExportResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("export" :> (QueryParam "mimeType" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ()))))))) :<|> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("export" :> (QueryParam "mimeType" Text :> (QueryParam "alt" AltMedia :> Get '[OctetStream] Stream)))))))
+ Network.Google.Resource.Drive.Files.Export: type FilesExportResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "export" :> QueryParam "mimeType" Text :> QueryParam "alt" AltJSON :> Get '[JSON] () :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "export" :> QueryParam "mimeType" Text :> QueryParam "alt" AltMedia :> Get '[OctetStream] Stream
- Network.Google.Resource.Drive.Files.GenerateIds: type FilesGenerateIdsResource = "drive" :> ("v3" :> ("files" :> ("generateIds" :> (QueryParam "space" Text :> (QueryParam "count" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] GeneratedIds))))))
+ Network.Google.Resource.Drive.Files.GenerateIds: type FilesGenerateIdsResource = "drive" :> "v3" :> "files" :> "generateIds" :> QueryParam "space" Text :> QueryParam "count" (Textual Int32) :> QueryParam "alt" AltJSON :> Get '[JSON] GeneratedIds
- Network.Google.Resource.Drive.Files.Get: type FilesGetResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] File)))))) :<|> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltMedia :> Get '[OctetStream] Stream))))))
+ Network.Google.Resource.Drive.Files.Get: type FilesGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] File :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltMedia :> Get '[OctetStream] Stream
- Network.Google.Resource.Drive.Files.List: flCorpus :: Lens' FilesList FilesListCorpus
+ Network.Google.Resource.Drive.Files.List: flCorpus :: Lens' FilesList (Maybe FilesListCorpus)
- Network.Google.Resource.Drive.Files.List: type FilesListResource = "drive" :> ("v3" :> ("files" :> (QueryParam "orderBy" Text :> (QueryParam "q" Text :> (QueryParam "spaces" Text :> (QueryParam "corpus" FilesListCorpus :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] FileList)))))))))
+ Network.Google.Resource.Drive.Files.List: type FilesListResource = "drive" :> "v3" :> "files" :> QueryParam "corpora" Text :> QueryParam "orderBy" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "q" Text :> QueryParam "teamDriveId" Text :> QueryParam "spaces" Text :> QueryParam "corpus" FilesListCorpus :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] FileList
- Network.Google.Resource.Drive.Files.Update: type FilesUpdateResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> (QueryParam "removeParents" Text :> (QueryParam "useContentAsIndexableText" Bool :> (QueryParam "ocrLanguage" Text :> (QueryParam "keepRevisionForever" Bool :> (QueryParam "addParents" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] File :> Patch '[JSON] File))))))))))) :<|> ("upload" :> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> (QueryParam "removeParents" Text :> (QueryParam "useContentAsIndexableText" Bool :> (QueryParam "ocrLanguage" Text :> (QueryParam "keepRevisionForever" Bool :> (QueryParam "addParents" Text :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" Multipart :> (MultipartRelated '[JSON] File :> Patch '[JSON] File)))))))))))))
+ Network.Google.Resource.Drive.Files.Update: type FilesUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "removeParents" Text :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "addParents" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Patch '[JSON] File :<|> "upload" :> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "removeParents" Text :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "addParents" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> QueryParam "uploadType" Multipart :> MultipartRelated '[JSON] File :> Patch '[JSON] File
- Network.Google.Resource.Drive.Files.Watch: type FilesWatchResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("watch" :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Channel :> Post '[JSON] Channel)))))))) :<|> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("watch" :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltMedia :> Post '[OctetStream] Stream)))))))
+ Network.Google.Resource.Drive.Files.Watch: type FilesWatchResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "watch" :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] Channel :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "watch" :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltMedia :> Post '[OctetStream] Stream
- Network.Google.Resource.Drive.Permissions.Create: type PermissionsCreateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("permissions" :> (QueryParam "sendNotificationEmail" Bool :> (QueryParam "emailMessage" Text :> (QueryParam "transferOwnership" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Permission :> Post '[JSON] Permission)))))))))
+ Network.Google.Resource.Drive.Permissions.Create: type PermissionsCreateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> QueryParam "sendNotificationEmail" Bool :> QueryParam "emailMessage" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "transferOwnership" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Permission :> Post '[JSON] Permission
- Network.Google.Resource.Drive.Permissions.Delete: type PermissionsDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("permissions" :> (Capture "permissionId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))
+ Network.Google.Resource.Drive.Permissions.Delete: type PermissionsDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Permissions.Get: type PermissionsGetResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("permissions" :> (Capture "permissionId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Permission))))))
+ Network.Google.Resource.Drive.Permissions.Get: type PermissionsGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Permission
- Network.Google.Resource.Drive.Permissions.List: type PermissionsListResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("permissions" :> (QueryParam "alt" AltJSON :> Get '[JSON] PermissionList)))))
+ Network.Google.Resource.Drive.Permissions.List: type PermissionsListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> QueryParam "pageToken" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "pageSize" (Textual Int32) :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] PermissionList
- Network.Google.Resource.Drive.Permissions.Update: type PermissionsUpdateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("permissions" :> (Capture "permissionId" Text :> (QueryParam "removeExpiration" Bool :> (QueryParam "transferOwnership" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Permission :> Patch '[JSON] Permission)))))))))
+ Network.Google.Resource.Drive.Permissions.Update: type PermissionsUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "removeExpiration" Bool :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "transferOwnership" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Permission :> Patch '[JSON] Permission
- Network.Google.Resource.Drive.Replies.Create: type RepliesCreateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Reply :> Post '[JSON] Reply))))))))
+ Network.Google.Resource.Drive.Replies.Create: type RepliesCreateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Reply :> Post '[JSON] Reply
- Network.Google.Resource.Drive.Replies.Delete: type RepliesDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (Capture "replyId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))
+ Network.Google.Resource.Drive.Replies.Delete: type RepliesDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> Capture "replyId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Replies.Get: type RepliesGetResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (Capture "replyId" Text :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] Reply)))))))))
+ Network.Google.Resource.Drive.Replies.Get: type RepliesGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> Capture "replyId" Text :> QueryParam "includeDeleted" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Reply
- Network.Google.Resource.Drive.Replies.List: type RepliesListResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] ReplyList))))))))))
+ Network.Google.Resource.Drive.Replies.List: type RepliesListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeDeleted" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] ReplyList
- Network.Google.Resource.Drive.Replies.Update: type RepliesUpdateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (Capture "replyId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Reply :> Patch '[JSON] Reply)))))))))
+ Network.Google.Resource.Drive.Replies.Update: type RepliesUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> Capture "replyId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Reply :> Patch '[JSON] Reply
- Network.Google.Resource.Drive.Revisions.Delete: type RevisionsDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (Capture "revisionId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))
+ Network.Google.Resource.Drive.Revisions.Delete: type RevisionsDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> Capture "revisionId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Revisions.Get: type RevisionsGetResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (Capture "revisionId" Text :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] Revision)))))))) :<|> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (Capture "revisionId" Text :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltMedia :> Get '[OctetStream] Stream))))))))
+ Network.Google.Resource.Drive.Revisions.Get: type RevisionsGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> Capture "revisionId" Text :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Revision :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> Capture "revisionId" Text :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "alt" AltMedia :> Get '[OctetStream] Stream
- Network.Google.Resource.Drive.Revisions.List: type RevisionsListResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RevisionList)))))))
+ Network.Google.Resource.Drive.Revisions.List: type RevisionsListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "alt" AltJSON :> Get '[JSON] RevisionList
- Network.Google.Resource.Drive.Revisions.Update: type RevisionsUpdateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (Capture "revisionId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Revision :> Patch '[JSON] Revision)))))))
+ Network.Google.Resource.Drive.Revisions.Update: type RevisionsUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> Capture "revisionId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Revision :> Patch '[JSON] Revision
Files
- gen/Network/Google/Drive.hs +147/−2
- gen/Network/Google/Drive/Types.hs +123/−2
- gen/Network/Google/Drive/Types/Product.hs +4446/−3077
- gen/Network/Google/Drive/Types/Sum.hs +2/−2
- gen/Network/Google/Resource/Drive/Changes/GetStartPageToken.hs +39/−8
- gen/Network/Google/Resource/Drive/Changes/List.hs +74/−16
- gen/Network/Google/Resource/Drive/Changes/Watch.hs +74/−16
- gen/Network/Google/Resource/Drive/Files/Copy.hs +15/−2
- gen/Network/Google/Resource/Drive/Files/Create.hs +20/−5
- gen/Network/Google/Resource/Drive/Files/Delete.hs +24/−8
- gen/Network/Google/Resource/Drive/Files/Export.hs +2/−2
- gen/Network/Google/Resource/Drive/Files/Get.hs +20/−5
- gen/Network/Google/Resource/Drive/Files/List.hs +81/−23
- gen/Network/Google/Resource/Drive/Files/Update.hs +21/−6
- gen/Network/Google/Resource/Drive/Files/Watch.hs +22/−7
- gen/Network/Google/Resource/Drive/Permissions/Create.hs +35/−7
- gen/Network/Google/Resource/Drive/Permissions/Delete.hs +35/−6
- gen/Network/Google/Resource/Drive/Permissions/Get.hs +34/−5
- gen/Network/Google/Resource/Drive/Permissions/List.hs +68/−9
- gen/Network/Google/Resource/Drive/Permissions/Update.hs +38/−10
- gen/Network/Google/Resource/Drive/Teamdrives/Create.hs +102/−0
- gen/Network/Google/Resource/Drive/Teamdrives/Delete.hs +88/−0
- gen/Network/Google/Resource/Drive/Teamdrives/Get.hs +102/−0
- gen/Network/Google/Resource/Drive/Teamdrives/List.hs +123/−0
- gen/Network/Google/Resource/Drive/Teamdrives/Update.hs +115/−0
- gogol-drive.cabal +7/−2
gen/Network/Google/Drive.hs view
@@ -139,15 +139,54 @@ -- ** drive.revisions.update , module Network.Google.Resource.Drive.Revisions.Update + -- ** drive.teamdrives.create+ , module Network.Google.Resource.Drive.Teamdrives.Create++ -- ** drive.teamdrives.delete+ , module Network.Google.Resource.Drive.Teamdrives.Delete++ -- ** drive.teamdrives.get+ , module Network.Google.Resource.Drive.Teamdrives.Get++ -- ** drive.teamdrives.list+ , module Network.Google.Resource.Drive.Teamdrives.List++ -- ** drive.teamdrives.update+ , module Network.Google.Resource.Drive.Teamdrives.Update+ -- * Types -- ** FileList , FileList , fileList , flNextPageToken+ , flIncompleteSearch , flKind , flFiles + -- ** TeamDriveCapabilities+ , TeamDriveCapabilities+ , teamDriveCapabilities+ , tdcCanRename+ , tdcCanChangeTeamMembersOnlyRestriction+ , tdcCanComment+ , tdcCanRenameTeamDrive+ , tdcCanChangeTeamDriveBackgRound+ , tdcCanDownload+ , tdcCanChangeDomainUsersOnlyRestriction+ , tdcCanTrashChildren+ , tdcCanAddChildren+ , tdcCanRemoveChildren+ , tdcCanChangeCopyRequiresWriterPermissionRestriction+ , tdcCanDeleteTeamDrive+ , tdcCanListChildren+ , tdcCanEdit+ , tdcCanManageMembers+ , tdcCanReadRevisions+ , tdcCanDeleteChildren+ , tdcCanCopy+ , tdcCanShare+ -- ** FilesListCorpus , FilesListCorpus (..) @@ -186,9 +225,28 @@ -- ** FileCapabilities , FileCapabilities , fileCapabilities+ , fcCanRename , fcCanComment+ , fcCanMoveChildrenWithinTeamDrive+ , fcCanDelete+ , fcCanMoveItemIntoTeamDrive+ , fcCanDownload+ , fcCanTrash+ , fcCanUntrash+ , fcCanTrashChildren+ , fcCanAddChildren+ , fcCanRemoveChildren+ , fcCanMoveTeamDriveItem+ , fcCanMoveItemWithinTeamDrive+ , fcCanReadTeamDrive+ , fcCanChangeCopyRequiresWriterPermission+ , fcCanListChildren+ , fcCanMoveChildrenOutOfTeamDrive , fcCanEdit+ , fcCanChangeViewersCanCopyContent , fcCanReadRevisions+ , fcCanDeleteChildren+ , fcCanMoveItemOutOfTeamDrive , fcCanCopy , fcCanShare @@ -205,6 +263,13 @@ , fchtImage , fchtMimeType + -- ** TeamDriveList+ , TeamDriveList+ , teamDriveList+ , tdlNextPageToken+ , tdlTeamDrives+ , tdlKind+ -- ** Channel , Channel , channel@@ -219,6 +284,29 @@ , cId , cType + -- ** AboutTeamDriveThemesItem+ , AboutTeamDriveThemesItem+ , aboutTeamDriveThemesItem+ , atdtiColorRgb+ , atdtiBackgRoundImageLink+ , atdtiId++ -- ** TeamDriveRestrictions+ , TeamDriveRestrictions+ , teamDriveRestrictions+ , tdrTeamMembersOnly+ , tdrAdminManagedRestrictions+ , tdrCopyRequiresWriterPermission+ , tdrDomainUsersOnly++ -- ** TeamDriveBackgRoundImageFile+ , TeamDriveBackgRoundImageFile+ , teamDriveBackgRoundImageFile+ , tdbrifXCoordinate+ , tdbrifYCoordinate+ , tdbrifWidth+ , tdbrifId+ -- ** FileVideoMediaMetadata , FileVideoMediaMetadata , fileVideoMediaMetadata@@ -237,9 +325,26 @@ , chaRemoved , chaTime , chaKind+ , chaTeamDrive+ , chaTeamDriveId+ , chaType , chaFileId , chaFile + -- ** TeamDrive+ , TeamDrive+ , teamDrive+ , tdThemeId+ , tdBackgRoundImageFile+ , tdColorRgb+ , tdCreatedTime+ , tdKind+ , tdBackgRoundImageLink+ , tdName+ , tdRestrictions+ , tdId+ , tdCapabilities+ -- ** AboutExportFormats , AboutExportFormats , aboutExportFormats@@ -263,6 +368,11 @@ , clChanges , clKind + -- ** RevisionExportLinks+ , RevisionExportLinks+ , revisionExportLinks+ , relAddtional+ -- ** FileContentHints , FileContentHints , fileContentHints@@ -289,12 +399,14 @@ , about , aExportFormats , aMaxImportSizes+ , aCanCreateTeamDrives , aImportFormats , aKind , aAppInstalled , aUser , aStorageQuota , aMaxUploadSize+ , aTeamDriveThemes , aFolderColorPalette -- ** FileImageMediaMetadataLocation@@ -364,6 +476,7 @@ , revMD5Checksum , revKeepForever , revMimeType+ , revExportLinks , revPublishedOutsideDomain , revId @@ -371,6 +484,7 @@ , Permission , permission , pPhotoLink+ , pTeamDrivePermissionDetails , pKind , pDomain , pRole@@ -378,6 +492,7 @@ , pAllowFileDiscovery , pDisplayName , pId+ , pDeleted , pType , pExpirationTime @@ -398,6 +513,7 @@ , fTrashed , fWebViewLink , fCreatedTime+ , fTrashedTime , fOriginalFilename , fKind , fLastModifyingUser@@ -408,16 +524,22 @@ , fExplicitlyTrashed , fShared , fMD5Checksum+ , fTeamDriveId , fFolderColorRgb , fMimeType , fIsAppAuthorized+ , fCopyRequiresWriterPermission , fName+ , fExportLinks , fParents , fStarred , fSpaces , fVersion+ , fHasAugmentedPermissions , fWritersCanShare+ , fTrashingUser , fId+ , fPermissionIds , fPermissions , fQuotaBytesUsed , fAppProperties@@ -432,6 +554,14 @@ , fContentHints , fProperties + -- ** PermissionTeamDrivePermissionDetailsItem+ , PermissionTeamDrivePermissionDetailsItem+ , permissionTeamDrivePermissionDetailsItem+ , ptdpdiInherited+ , ptdpdiTeamDrivePermissionType+ , ptdpdiRole+ , ptdpdiInheritedFrom+ -- ** GeneratedIds , GeneratedIds , generatedIds@@ -439,6 +569,11 @@ , giKind , giIds + -- ** FileExportLinks+ , FileExportLinks+ , fileExportLinks+ , felAddtional+ -- ** CommentList , CommentList , commentList@@ -456,6 +591,7 @@ -- ** PermissionList , PermissionList , permissionList+ , plNextPageToken , plKind , plPermissions ) where@@ -496,6 +632,11 @@ import Network.Google.Resource.Drive.Revisions.Get import Network.Google.Resource.Drive.Revisions.List import Network.Google.Resource.Drive.Revisions.Update+import Network.Google.Resource.Drive.Teamdrives.Create+import Network.Google.Resource.Drive.Teamdrives.Delete+import Network.Google.Resource.Drive.Teamdrives.Get+import Network.Google.Resource.Drive.Teamdrives.List+import Network.Google.Resource.Drive.Teamdrives.Update {- $resources TODO@@ -503,8 +644,12 @@ -- | Represents the entirety of the methods and resources available for the Drive API service. type DriveAPI =- ChangesListResource :<|>- ChangesGetStartPageTokenResource+ TeamdrivesListResource :<|> TeamdrivesGetResource+ :<|> TeamdrivesCreateResource+ :<|> TeamdrivesDeleteResource+ :<|> TeamdrivesUpdateResource+ :<|> ChangesListResource+ :<|> ChangesGetStartPageTokenResource :<|> ChangesWatchResource :<|> ChannelsStopResource :<|> RepliesListResource
gen/Network/Google/Drive/Types.hs view
@@ -33,9 +33,33 @@ , FileList , fileList , flNextPageToken+ , flIncompleteSearch , flKind , flFiles + -- * TeamDriveCapabilities+ , TeamDriveCapabilities+ , teamDriveCapabilities+ , tdcCanRename+ , tdcCanChangeTeamMembersOnlyRestriction+ , tdcCanComment+ , tdcCanRenameTeamDrive+ , tdcCanChangeTeamDriveBackgRound+ , tdcCanDownload+ , tdcCanChangeDomainUsersOnlyRestriction+ , tdcCanTrashChildren+ , tdcCanAddChildren+ , tdcCanRemoveChildren+ , tdcCanChangeCopyRequiresWriterPermissionRestriction+ , tdcCanDeleteTeamDrive+ , tdcCanListChildren+ , tdcCanEdit+ , tdcCanManageMembers+ , tdcCanReadRevisions+ , tdcCanDeleteChildren+ , tdcCanCopy+ , tdcCanShare+ -- * FilesListCorpus , FilesListCorpus (..) @@ -74,9 +98,28 @@ -- * FileCapabilities , FileCapabilities , fileCapabilities+ , fcCanRename , fcCanComment+ , fcCanMoveChildrenWithinTeamDrive+ , fcCanDelete+ , fcCanMoveItemIntoTeamDrive+ , fcCanDownload+ , fcCanTrash+ , fcCanUntrash+ , fcCanTrashChildren+ , fcCanAddChildren+ , fcCanRemoveChildren+ , fcCanMoveTeamDriveItem+ , fcCanMoveItemWithinTeamDrive+ , fcCanReadTeamDrive+ , fcCanChangeCopyRequiresWriterPermission+ , fcCanListChildren+ , fcCanMoveChildrenOutOfTeamDrive , fcCanEdit+ , fcCanChangeViewersCanCopyContent , fcCanReadRevisions+ , fcCanDeleteChildren+ , fcCanMoveItemOutOfTeamDrive , fcCanCopy , fcCanShare @@ -93,6 +136,13 @@ , fchtImage , fchtMimeType + -- * TeamDriveList+ , TeamDriveList+ , teamDriveList+ , tdlNextPageToken+ , tdlTeamDrives+ , tdlKind+ -- * Channel , Channel , channel@@ -107,6 +157,29 @@ , cId , cType + -- * AboutTeamDriveThemesItem+ , AboutTeamDriveThemesItem+ , aboutTeamDriveThemesItem+ , atdtiColorRgb+ , atdtiBackgRoundImageLink+ , atdtiId++ -- * TeamDriveRestrictions+ , TeamDriveRestrictions+ , teamDriveRestrictions+ , tdrTeamMembersOnly+ , tdrAdminManagedRestrictions+ , tdrCopyRequiresWriterPermission+ , tdrDomainUsersOnly++ -- * TeamDriveBackgRoundImageFile+ , TeamDriveBackgRoundImageFile+ , teamDriveBackgRoundImageFile+ , tdbrifXCoordinate+ , tdbrifYCoordinate+ , tdbrifWidth+ , tdbrifId+ -- * FileVideoMediaMetadata , FileVideoMediaMetadata , fileVideoMediaMetadata@@ -125,9 +198,26 @@ , chaRemoved , chaTime , chaKind+ , chaTeamDrive+ , chaTeamDriveId+ , chaType , chaFileId , chaFile + -- * TeamDrive+ , TeamDrive+ , teamDrive+ , tdThemeId+ , tdBackgRoundImageFile+ , tdColorRgb+ , tdCreatedTime+ , tdKind+ , tdBackgRoundImageLink+ , tdName+ , tdRestrictions+ , tdId+ , tdCapabilities+ -- * AboutExportFormats , AboutExportFormats , aboutExportFormats@@ -151,6 +241,11 @@ , clChanges , clKind + -- * RevisionExportLinks+ , RevisionExportLinks+ , revisionExportLinks+ , relAddtional+ -- * FileContentHints , FileContentHints , fileContentHints@@ -177,12 +272,14 @@ , about , aExportFormats , aMaxImportSizes+ , aCanCreateTeamDrives , aImportFormats , aKind , aAppInstalled , aUser , aStorageQuota , aMaxUploadSize+ , aTeamDriveThemes , aFolderColorPalette -- * FileImageMediaMetadataLocation@@ -252,6 +349,7 @@ , revMD5Checksum , revKeepForever , revMimeType+ , revExportLinks , revPublishedOutsideDomain , revId @@ -259,6 +357,7 @@ , Permission , permission , pPhotoLink+ , pTeamDrivePermissionDetails , pKind , pDomain , pRole@@ -266,6 +365,7 @@ , pAllowFileDiscovery , pDisplayName , pId+ , pDeleted , pType , pExpirationTime @@ -286,6 +386,7 @@ , fTrashed , fWebViewLink , fCreatedTime+ , fTrashedTime , fOriginalFilename , fKind , fLastModifyingUser@@ -296,16 +397,22 @@ , fExplicitlyTrashed , fShared , fMD5Checksum+ , fTeamDriveId , fFolderColorRgb , fMimeType , fIsAppAuthorized+ , fCopyRequiresWriterPermission , fName+ , fExportLinks , fParents , fStarred , fSpaces , fVersion+ , fHasAugmentedPermissions , fWritersCanShare+ , fTrashingUser , fId+ , fPermissionIds , fPermissions , fQuotaBytesUsed , fAppProperties@@ -320,6 +427,14 @@ , fContentHints , fProperties + -- * PermissionTeamDrivePermissionDetailsItem+ , PermissionTeamDrivePermissionDetailsItem+ , permissionTeamDrivePermissionDetailsItem+ , ptdpdiInherited+ , ptdpdiTeamDrivePermissionType+ , ptdpdiRole+ , ptdpdiInheritedFrom+ -- * GeneratedIds , GeneratedIds , generatedIds@@ -327,6 +442,11 @@ , giKind , giIds + -- * FileExportLinks+ , FileExportLinks+ , fileExportLinks+ , felAddtional+ -- * CommentList , CommentList , commentList@@ -344,6 +464,7 @@ -- * PermissionList , PermissionList , permissionList+ , plNextPageToken , plKind , plPermissions ) where@@ -370,11 +491,11 @@ driveAppDataScope :: Proxy '["https://www.googleapis.com/auth/drive.appdata"] driveAppDataScope = Proxy; --- | View the files in your Google Drive+-- | See and download all your Google Drive files driveReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.readonly"] driveReadOnlyScope = Proxy; --- | View and manage the files in your Google Drive+-- | See, edit, create, and delete all of your Google Drive files driveScope :: Proxy '["https://www.googleapis.com/auth/drive"] driveScope = Proxy;
gen/Network/Google/Drive/Types/Product.hs view
@@ -24,3081 +24,4450 @@ -- -- /See:/ 'fileList' smart constructor. data FileList = FileList'- { _flNextPageToken :: !(Maybe Text)- , _flKind :: !Text- , _flFiles :: !(Maybe [File])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'flNextPageToken'------ * 'flKind'------ * 'flFiles'-fileList- :: FileList-fileList =- FileList'- { _flNextPageToken = Nothing- , _flKind = "drive#fileList"- , _flFiles = Nothing- }---- | The page token for the next page of files. This will be absent if the--- end of the files list has been reached. If the token is rejected for any--- reason, it should be discarded, and pagination should be restarted from--- the first page of results.-flNextPageToken :: Lens' FileList (Maybe Text)-flNextPageToken- = lens _flNextPageToken- (\ s a -> s{_flNextPageToken = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#fileList\".-flKind :: Lens' FileList Text-flKind = lens _flKind (\ s a -> s{_flKind = a})---- | The list of files. If nextPageToken is populated, then this list may be--- incomplete and an additional page of results should be fetched.-flFiles :: Lens' FileList [File]-flFiles- = lens _flFiles (\ s a -> s{_flFiles = a}) . _Default- . _Coerce--instance FromJSON FileList where- parseJSON- = withObject "FileList"- (\ o ->- FileList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "drive#fileList")- <*> (o .:? "files" .!= mempty))--instance ToJSON FileList where- toJSON FileList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _flNextPageToken,- Just ("kind" .= _flKind), ("files" .=) <$> _flFiles])---- | The file content to which the comment refers, typically within the--- anchor region. For a text file, for example, this would be the text at--- the location of the comment.------ /See:/ 'commentQuotedFileContent' smart constructor.-data CommentQuotedFileContent = CommentQuotedFileContent'- { _cqfcValue :: !(Maybe Text)- , _cqfcMimeType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentQuotedFileContent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cqfcValue'------ * 'cqfcMimeType'-commentQuotedFileContent- :: CommentQuotedFileContent-commentQuotedFileContent =- CommentQuotedFileContent'- { _cqfcValue = Nothing- , _cqfcMimeType = Nothing- }---- | The quoted content itself. This is interpreted as plain text if set--- through the API.-cqfcValue :: Lens' CommentQuotedFileContent (Maybe Text)-cqfcValue- = lens _cqfcValue (\ s a -> s{_cqfcValue = a})---- | The MIME type of the quoted content.-cqfcMimeType :: Lens' CommentQuotedFileContent (Maybe Text)-cqfcMimeType- = lens _cqfcMimeType (\ s a -> s{_cqfcMimeType = a})--instance FromJSON CommentQuotedFileContent where- parseJSON- = withObject "CommentQuotedFileContent"- (\ o ->- CommentQuotedFileContent' <$>- (o .:? "value") <*> (o .:? "mimeType"))--instance ToJSON CommentQuotedFileContent where- toJSON CommentQuotedFileContent'{..}- = object- (catMaybes- [("value" .=) <$> _cqfcValue,- ("mimeType" .=) <$> _cqfcMimeType])---- | The user\'s storage quota limits and usage. All fields are measured in--- bytes.------ /See:/ 'aboutStorageQuota' smart constructor.-data AboutStorageQuota = AboutStorageQuota'- { _asqUsageInDriveTrash :: !(Maybe (Textual Int64))- , _asqLimit :: !(Maybe (Textual Int64))- , _asqUsage :: !(Maybe (Textual Int64))- , _asqUsageInDrive :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutStorageQuota' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'asqUsageInDriveTrash'------ * 'asqLimit'------ * 'asqUsage'------ * 'asqUsageInDrive'-aboutStorageQuota- :: AboutStorageQuota-aboutStorageQuota =- AboutStorageQuota'- { _asqUsageInDriveTrash = Nothing- , _asqLimit = Nothing- , _asqUsage = Nothing- , _asqUsageInDrive = Nothing- }---- | The usage by trashed files in Google Drive.-asqUsageInDriveTrash :: Lens' AboutStorageQuota (Maybe Int64)-asqUsageInDriveTrash- = lens _asqUsageInDriveTrash- (\ s a -> s{_asqUsageInDriveTrash = a})- . mapping _Coerce---- | The usage limit, if applicable. This will not be present if the user has--- unlimited storage.-asqLimit :: Lens' AboutStorageQuota (Maybe Int64)-asqLimit- = lens _asqLimit (\ s a -> s{_asqLimit = a}) .- mapping _Coerce---- | The total usage across all services.-asqUsage :: Lens' AboutStorageQuota (Maybe Int64)-asqUsage- = lens _asqUsage (\ s a -> s{_asqUsage = a}) .- mapping _Coerce---- | The usage by all files in Google Drive.-asqUsageInDrive :: Lens' AboutStorageQuota (Maybe Int64)-asqUsageInDrive- = lens _asqUsageInDrive- (\ s a -> s{_asqUsageInDrive = a})- . mapping _Coerce--instance FromJSON AboutStorageQuota where- parseJSON- = withObject "AboutStorageQuota"- (\ o ->- AboutStorageQuota' <$>- (o .:? "usageInDriveTrash") <*> (o .:? "limit") <*>- (o .:? "usage")- <*> (o .:? "usageInDrive"))--instance ToJSON AboutStorageQuota where- toJSON AboutStorageQuota'{..}- = object- (catMaybes- [("usageInDriveTrash" .=) <$> _asqUsageInDriveTrash,- ("limit" .=) <$> _asqLimit,- ("usage" .=) <$> _asqUsage,- ("usageInDrive" .=) <$> _asqUsageInDrive])---- | A reply to a comment on a file.------ /See:/ 'reply' smart constructor.-data Reply = Reply'- { _rHTMLContent :: !(Maybe Text)- , _rModifiedTime :: !(Maybe DateTime')- , _rCreatedTime :: !(Maybe DateTime')- , _rKind :: !Text- , _rAction :: !(Maybe Text)- , _rContent :: !(Maybe Text)- , _rAuthor :: !(Maybe User)- , _rId :: !(Maybe Text)- , _rDeleted :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Reply' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rHTMLContent'------ * 'rModifiedTime'------ * 'rCreatedTime'------ * 'rKind'------ * 'rAction'------ * 'rContent'------ * 'rAuthor'------ * 'rId'------ * 'rDeleted'-reply- :: Reply-reply =- Reply'- { _rHTMLContent = Nothing- , _rModifiedTime = Nothing- , _rCreatedTime = Nothing- , _rKind = "drive#reply"- , _rAction = Nothing- , _rContent = Nothing- , _rAuthor = Nothing- , _rId = Nothing- , _rDeleted = Nothing- }---- | The content of the reply with HTML formatting.-rHTMLContent :: Lens' Reply (Maybe Text)-rHTMLContent- = lens _rHTMLContent (\ s a -> s{_rHTMLContent = a})---- | The last time the reply was modified (RFC 3339 date-time).-rModifiedTime :: Lens' Reply (Maybe UTCTime)-rModifiedTime- = lens _rModifiedTime- (\ s a -> s{_rModifiedTime = a})- . mapping _DateTime---- | The time at which the reply was created (RFC 3339 date-time).-rCreatedTime :: Lens' Reply (Maybe UTCTime)-rCreatedTime- = lens _rCreatedTime (\ s a -> s{_rCreatedTime = a})- . mapping _DateTime---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#reply\".-rKind :: Lens' Reply Text-rKind = lens _rKind (\ s a -> s{_rKind = a})---- | The action the reply performed to the parent comment. Valid values are:--- - resolve - reopen-rAction :: Lens' Reply (Maybe Text)-rAction = lens _rAction (\ s a -> s{_rAction = a})---- | The plain text content of the reply. This field is used for setting the--- content, while htmlContent should be displayed. This is required on--- creates if no action is specified.-rContent :: Lens' Reply (Maybe Text)-rContent = lens _rContent (\ s a -> s{_rContent = a})---- | The user who created the reply.-rAuthor :: Lens' Reply (Maybe User)-rAuthor = lens _rAuthor (\ s a -> s{_rAuthor = a})---- | The ID of the reply.-rId :: Lens' Reply (Maybe Text)-rId = lens _rId (\ s a -> s{_rId = a})---- | Whether the reply has been deleted. A deleted reply has no content.-rDeleted :: Lens' Reply (Maybe Bool)-rDeleted = lens _rDeleted (\ s a -> s{_rDeleted = a})--instance FromJSON Reply where- parseJSON- = withObject "Reply"- (\ o ->- Reply' <$>- (o .:? "htmlContent") <*> (o .:? "modifiedTime") <*>- (o .:? "createdTime")- <*> (o .:? "kind" .!= "drive#reply")- <*> (o .:? "action")- <*> (o .:? "content")- <*> (o .:? "author")- <*> (o .:? "id")- <*> (o .:? "deleted"))--instance ToJSON Reply where- toJSON Reply'{..}- = object- (catMaybes- [("htmlContent" .=) <$> _rHTMLContent,- ("modifiedTime" .=) <$> _rModifiedTime,- ("createdTime" .=) <$> _rCreatedTime,- Just ("kind" .= _rKind), ("action" .=) <$> _rAction,- ("content" .=) <$> _rContent,- ("author" .=) <$> _rAuthor, ("id" .=) <$> _rId,- ("deleted" .=) <$> _rDeleted])---- | A map of source MIME type to possible targets for all supported imports.------ /See:/ 'aboutImportFormats' smart constructor.-newtype AboutImportFormats = AboutImportFormats'- { _aifAddtional :: HashMap Text [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutImportFormats' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aifAddtional'-aboutImportFormats- :: HashMap Text [Text] -- ^ 'aifAddtional'- -> AboutImportFormats-aboutImportFormats pAifAddtional_ =- AboutImportFormats'- { _aifAddtional = _Coerce # pAifAddtional_- }--aifAddtional :: Lens' AboutImportFormats (HashMap Text [Text])-aifAddtional- = lens _aifAddtional (\ s a -> s{_aifAddtional = a})- . _Coerce--instance FromJSON AboutImportFormats where- parseJSON- = withObject "AboutImportFormats"- (\ o -> AboutImportFormats' <$> (parseJSONObject o))--instance ToJSON AboutImportFormats where- toJSON = toJSON . _aifAddtional---- | Capabilities the current user has on the file.------ /See:/ 'fileCapabilities' smart constructor.-data FileCapabilities = FileCapabilities'- { _fcCanComment :: !(Maybe Bool)- , _fcCanEdit :: !(Maybe Bool)- , _fcCanReadRevisions :: !(Maybe Bool)- , _fcCanCopy :: !(Maybe Bool)- , _fcCanShare :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileCapabilities' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fcCanComment'------ * 'fcCanEdit'------ * 'fcCanReadRevisions'------ * 'fcCanCopy'------ * 'fcCanShare'-fileCapabilities- :: FileCapabilities-fileCapabilities =- FileCapabilities'- { _fcCanComment = Nothing- , _fcCanEdit = Nothing- , _fcCanReadRevisions = Nothing- , _fcCanCopy = Nothing- , _fcCanShare = Nothing- }---- | Whether the user can comment on the file.-fcCanComment :: Lens' FileCapabilities (Maybe Bool)-fcCanComment- = lens _fcCanComment (\ s a -> s{_fcCanComment = a})---- | Whether the user can edit the file\'s content.-fcCanEdit :: Lens' FileCapabilities (Maybe Bool)-fcCanEdit- = lens _fcCanEdit (\ s a -> s{_fcCanEdit = a})---- | Whether the current user has read access to the Revisions resource of--- the file.-fcCanReadRevisions :: Lens' FileCapabilities (Maybe Bool)-fcCanReadRevisions- = lens _fcCanReadRevisions- (\ s a -> s{_fcCanReadRevisions = a})---- | Whether the user can copy the file.-fcCanCopy :: Lens' FileCapabilities (Maybe Bool)-fcCanCopy- = lens _fcCanCopy (\ s a -> s{_fcCanCopy = a})---- | Whether the user can modify the file\'s permissions and sharing--- settings.-fcCanShare :: Lens' FileCapabilities (Maybe Bool)-fcCanShare- = lens _fcCanShare (\ s a -> s{_fcCanShare = a})--instance FromJSON FileCapabilities where- parseJSON- = withObject "FileCapabilities"- (\ o ->- FileCapabilities' <$>- (o .:? "canComment") <*> (o .:? "canEdit") <*>- (o .:? "canReadRevisions")- <*> (o .:? "canCopy")- <*> (o .:? "canShare"))--instance ToJSON FileCapabilities where- toJSON FileCapabilities'{..}- = object- (catMaybes- [("canComment" .=) <$> _fcCanComment,- ("canEdit" .=) <$> _fcCanEdit,- ("canReadRevisions" .=) <$> _fcCanReadRevisions,- ("canCopy" .=) <$> _fcCanCopy,- ("canShare" .=) <$> _fcCanShare])---- | A list of replies to a comment on a file.------ /See:/ 'replyList' smart constructor.-data ReplyList = ReplyList'- { _rlNextPageToken :: !(Maybe Text)- , _rlKind :: !Text- , _rlReplies :: !(Maybe [Reply])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ReplyList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rlNextPageToken'------ * 'rlKind'------ * 'rlReplies'-replyList- :: ReplyList-replyList =- ReplyList'- { _rlNextPageToken = Nothing- , _rlKind = "drive#replyList"- , _rlReplies = Nothing- }---- | The page token for the next page of replies. This will be absent if the--- end of the replies list has been reached. If the token is rejected for--- any reason, it should be discarded, and pagination should be restarted--- from the first page of results.-rlNextPageToken :: Lens' ReplyList (Maybe Text)-rlNextPageToken- = lens _rlNextPageToken- (\ s a -> s{_rlNextPageToken = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#replyList\".-rlKind :: Lens' ReplyList Text-rlKind = lens _rlKind (\ s a -> s{_rlKind = a})---- | The list of replies. If nextPageToken is populated, then this list may--- be incomplete and an additional page of results should be fetched.-rlReplies :: Lens' ReplyList [Reply]-rlReplies- = lens _rlReplies (\ s a -> s{_rlReplies = a}) .- _Default- . _Coerce--instance FromJSON ReplyList where- parseJSON- = withObject "ReplyList"- (\ o ->- ReplyList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "drive#replyList")- <*> (o .:? "replies" .!= mempty))--instance ToJSON ReplyList where- toJSON ReplyList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _rlNextPageToken,- Just ("kind" .= _rlKind),- ("replies" .=) <$> _rlReplies])---- | A thumbnail for the file. This will only be used if Drive cannot--- generate a standard thumbnail.------ /See:/ 'fileContentHintsThumbnail' smart constructor.-data FileContentHintsThumbnail = FileContentHintsThumbnail'- { _fchtImage :: !(Maybe Bytes)- , _fchtMimeType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileContentHintsThumbnail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fchtImage'------ * 'fchtMimeType'-fileContentHintsThumbnail- :: FileContentHintsThumbnail-fileContentHintsThumbnail =- FileContentHintsThumbnail'- { _fchtImage = Nothing- , _fchtMimeType = Nothing- }---- | The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).-fchtImage :: Lens' FileContentHintsThumbnail (Maybe ByteString)-fchtImage- = lens _fchtImage (\ s a -> s{_fchtImage = a}) .- mapping _Bytes---- | The MIME type of the thumbnail.-fchtMimeType :: Lens' FileContentHintsThumbnail (Maybe Text)-fchtMimeType- = lens _fchtMimeType (\ s a -> s{_fchtMimeType = a})--instance FromJSON FileContentHintsThumbnail where- parseJSON- = withObject "FileContentHintsThumbnail"- (\ o ->- FileContentHintsThumbnail' <$>- (o .:? "image") <*> (o .:? "mimeType"))--instance ToJSON FileContentHintsThumbnail where- toJSON FileContentHintsThumbnail'{..}- = object- (catMaybes- [("image" .=) <$> _fchtImage,- ("mimeType" .=) <$> _fchtMimeType])---- | An notification channel used to watch for resource changes.------ /See:/ 'channel' smart constructor.-data Channel = Channel'- { _cResourceURI :: !(Maybe Text)- , _cResourceId :: !(Maybe Text)- , _cKind :: !Text- , _cExpiration :: !(Maybe (Textual Int64))- , _cToken :: !(Maybe Text)- , _cAddress :: !(Maybe Text)- , _cPayload :: !(Maybe Bool)- , _cParams :: !(Maybe ChannelParams)- , _cId :: !(Maybe Text)- , _cType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Channel' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cResourceURI'------ * 'cResourceId'------ * 'cKind'------ * 'cExpiration'------ * 'cToken'------ * 'cAddress'------ * 'cPayload'------ * 'cParams'------ * 'cId'------ * 'cType'-channel- :: Channel-channel =- Channel'- { _cResourceURI = Nothing- , _cResourceId = Nothing- , _cKind = "api#channel"- , _cExpiration = Nothing- , _cToken = Nothing- , _cAddress = Nothing- , _cPayload = Nothing- , _cParams = Nothing- , _cId = Nothing- , _cType = Nothing- }---- | A version-specific identifier for the watched resource.-cResourceURI :: Lens' Channel (Maybe Text)-cResourceURI- = lens _cResourceURI (\ s a -> s{_cResourceURI = a})---- | An opaque ID that identifies the resource being watched on this channel.--- Stable across different API versions.-cResourceId :: Lens' Channel (Maybe Text)-cResourceId- = lens _cResourceId (\ s a -> s{_cResourceId = a})---- | Identifies this as a notification channel used to watch for changes to a--- resource. Value: the fixed string \"api#channel\".-cKind :: Lens' Channel Text-cKind = lens _cKind (\ s a -> s{_cKind = a})---- | Date and time of notification channel expiration, expressed as a Unix--- timestamp, in milliseconds. Optional.-cExpiration :: Lens' Channel (Maybe Int64)-cExpiration- = lens _cExpiration (\ s a -> s{_cExpiration = a}) .- mapping _Coerce---- | An arbitrary string delivered to the target address with each--- notification delivered over this channel. Optional.-cToken :: Lens' Channel (Maybe Text)-cToken = lens _cToken (\ s a -> s{_cToken = a})---- | The address where notifications are delivered for this channel.-cAddress :: Lens' Channel (Maybe Text)-cAddress = lens _cAddress (\ s a -> s{_cAddress = a})---- | A Boolean value to indicate whether payload is wanted. Optional.-cPayload :: Lens' Channel (Maybe Bool)-cPayload = lens _cPayload (\ s a -> s{_cPayload = a})---- | Additional parameters controlling delivery channel behavior. Optional.-cParams :: Lens' Channel (Maybe ChannelParams)-cParams = lens _cParams (\ s a -> s{_cParams = a})---- | A UUID or similar unique string that identifies this channel.-cId :: Lens' Channel (Maybe Text)-cId = lens _cId (\ s a -> s{_cId = a})---- | The type of delivery mechanism used for this channel.-cType :: Lens' Channel (Maybe Text)-cType = lens _cType (\ s a -> s{_cType = a})--instance FromJSON Channel where- parseJSON- = withObject "Channel"- (\ o ->- Channel' <$>- (o .:? "resourceUri") <*> (o .:? "resourceId") <*>- (o .:? "kind" .!= "api#channel")- <*> (o .:? "expiration")- <*> (o .:? "token")- <*> (o .:? "address")- <*> (o .:? "payload")- <*> (o .:? "params")- <*> (o .:? "id")- <*> (o .:? "type"))--instance ToJSON Channel where- toJSON Channel'{..}- = object- (catMaybes- [("resourceUri" .=) <$> _cResourceURI,- ("resourceId" .=) <$> _cResourceId,- Just ("kind" .= _cKind),- ("expiration" .=) <$> _cExpiration,- ("token" .=) <$> _cToken,- ("address" .=) <$> _cAddress,- ("payload" .=) <$> _cPayload,- ("params" .=) <$> _cParams, ("id" .=) <$> _cId,- ("type" .=) <$> _cType])---- | Additional metadata about video media. This may not be available--- immediately upon upload.------ /See:/ 'fileVideoMediaMetadata' smart constructor.-data FileVideoMediaMetadata = FileVideoMediaMetadata'- { _fvmmHeight :: !(Maybe (Textual Int32))- , _fvmmWidth :: !(Maybe (Textual Int32))- , _fvmmDurationMillis :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileVideoMediaMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fvmmHeight'------ * 'fvmmWidth'------ * 'fvmmDurationMillis'-fileVideoMediaMetadata- :: FileVideoMediaMetadata-fileVideoMediaMetadata =- FileVideoMediaMetadata'- { _fvmmHeight = Nothing- , _fvmmWidth = Nothing- , _fvmmDurationMillis = Nothing- }---- | The height of the video in pixels.-fvmmHeight :: Lens' FileVideoMediaMetadata (Maybe Int32)-fvmmHeight- = lens _fvmmHeight (\ s a -> s{_fvmmHeight = a}) .- mapping _Coerce---- | The width of the video in pixels.-fvmmWidth :: Lens' FileVideoMediaMetadata (Maybe Int32)-fvmmWidth- = lens _fvmmWidth (\ s a -> s{_fvmmWidth = a}) .- mapping _Coerce---- | The duration of the video in milliseconds.-fvmmDurationMillis :: Lens' FileVideoMediaMetadata (Maybe Int64)-fvmmDurationMillis- = lens _fvmmDurationMillis- (\ s a -> s{_fvmmDurationMillis = a})- . mapping _Coerce--instance FromJSON FileVideoMediaMetadata where- parseJSON- = withObject "FileVideoMediaMetadata"- (\ o ->- FileVideoMediaMetadata' <$>- (o .:? "height") <*> (o .:? "width") <*>- (o .:? "durationMillis"))--instance ToJSON FileVideoMediaMetadata where- toJSON FileVideoMediaMetadata'{..}- = object- (catMaybes- [("height" .=) <$> _fvmmHeight,- ("width" .=) <$> _fvmmWidth,- ("durationMillis" .=) <$> _fvmmDurationMillis])---- | A collection of arbitrary key-value pairs which are private to the--- requesting app. Entries with null values are cleared in update and copy--- requests.------ /See:/ 'fileAppProperties' smart constructor.-newtype FileAppProperties = FileAppProperties'- { _fapAddtional :: HashMap Text Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileAppProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fapAddtional'-fileAppProperties- :: HashMap Text Text -- ^ 'fapAddtional'- -> FileAppProperties-fileAppProperties pFapAddtional_ =- FileAppProperties'- { _fapAddtional = _Coerce # pFapAddtional_- }--fapAddtional :: Lens' FileAppProperties (HashMap Text Text)-fapAddtional- = lens _fapAddtional (\ s a -> s{_fapAddtional = a})- . _Coerce--instance FromJSON FileAppProperties where- parseJSON- = withObject "FileAppProperties"- (\ o -> FileAppProperties' <$> (parseJSONObject o))--instance ToJSON FileAppProperties where- toJSON = toJSON . _fapAddtional---- | A change to a file.------ /See:/ 'change' smart constructor.-data Change = Change'- { _chaRemoved :: !(Maybe Bool)- , _chaTime :: !(Maybe DateTime')- , _chaKind :: !Text- , _chaFileId :: !(Maybe Text)- , _chaFile :: !(Maybe File)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Change' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'chaRemoved'------ * 'chaTime'------ * 'chaKind'------ * 'chaFileId'------ * 'chaFile'-change- :: Change-change =- Change'- { _chaRemoved = Nothing- , _chaTime = Nothing- , _chaKind = "drive#change"- , _chaFileId = Nothing- , _chaFile = Nothing- }---- | Whether the file has been removed from the view of the changes list, for--- example by deletion or lost access.-chaRemoved :: Lens' Change (Maybe Bool)-chaRemoved- = lens _chaRemoved (\ s a -> s{_chaRemoved = a})---- | The time of this change (RFC 3339 date-time).-chaTime :: Lens' Change (Maybe UTCTime)-chaTime- = lens _chaTime (\ s a -> s{_chaTime = a}) .- mapping _DateTime---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#change\".-chaKind :: Lens' Change Text-chaKind = lens _chaKind (\ s a -> s{_chaKind = a})---- | The ID of the file which has changed.-chaFileId :: Lens' Change (Maybe Text)-chaFileId- = lens _chaFileId (\ s a -> s{_chaFileId = a})---- | The updated state of the file. Present if the file has not been removed.-chaFile :: Lens' Change (Maybe File)-chaFile = lens _chaFile (\ s a -> s{_chaFile = a})--instance FromJSON Change where- parseJSON- = withObject "Change"- (\ o ->- Change' <$>- (o .:? "removed") <*> (o .:? "time") <*>- (o .:? "kind" .!= "drive#change")- <*> (o .:? "fileId")- <*> (o .:? "file"))--instance ToJSON Change where- toJSON Change'{..}- = object- (catMaybes- [("removed" .=) <$> _chaRemoved,- ("time" .=) <$> _chaTime, Just ("kind" .= _chaKind),- ("fileId" .=) <$> _chaFileId,- ("file" .=) <$> _chaFile])---- | A map of source MIME type to possible targets for all supported exports.------ /See:/ 'aboutExportFormats' smart constructor.-newtype AboutExportFormats = AboutExportFormats'- { _aefAddtional :: HashMap Text [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutExportFormats' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aefAddtional'-aboutExportFormats- :: HashMap Text [Text] -- ^ 'aefAddtional'- -> AboutExportFormats-aboutExportFormats pAefAddtional_ =- AboutExportFormats'- { _aefAddtional = _Coerce # pAefAddtional_- }--aefAddtional :: Lens' AboutExportFormats (HashMap Text [Text])-aefAddtional- = lens _aefAddtional (\ s a -> s{_aefAddtional = a})- . _Coerce--instance FromJSON AboutExportFormats where- parseJSON- = withObject "AboutExportFormats"- (\ o -> AboutExportFormats' <$> (parseJSONObject o))--instance ToJSON AboutExportFormats where- toJSON = toJSON . _aefAddtional---- | Information about a Drive user.------ /See:/ 'user' smart constructor.-data User = User'- { _uPhotoLink :: !(Maybe Text)- , _uMe :: !(Maybe Bool)- , _uKind :: !Text- , _uEmailAddress :: !(Maybe Text)- , _uDisplayName :: !(Maybe Text)- , _uPermissionId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'User' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uPhotoLink'------ * 'uMe'------ * 'uKind'------ * 'uEmailAddress'------ * 'uDisplayName'------ * 'uPermissionId'-user- :: User-user =- User'- { _uPhotoLink = Nothing- , _uMe = Nothing- , _uKind = "drive#user"- , _uEmailAddress = Nothing- , _uDisplayName = Nothing- , _uPermissionId = Nothing- }---- | A link to the user\'s profile photo, if available.-uPhotoLink :: Lens' User (Maybe Text)-uPhotoLink- = lens _uPhotoLink (\ s a -> s{_uPhotoLink = a})---- | Whether this user is the requesting user.-uMe :: Lens' User (Maybe Bool)-uMe = lens _uMe (\ s a -> s{_uMe = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#user\".-uKind :: Lens' User Text-uKind = lens _uKind (\ s a -> s{_uKind = a})---- | The email address of the user. This may not be present in certain--- contexts if the user has not made their email address visible to the--- requester.-uEmailAddress :: Lens' User (Maybe Text)-uEmailAddress- = lens _uEmailAddress- (\ s a -> s{_uEmailAddress = a})---- | A plain text displayable name for this user.-uDisplayName :: Lens' User (Maybe Text)-uDisplayName- = lens _uDisplayName (\ s a -> s{_uDisplayName = a})---- | The user\'s ID as visible in Permission resources.-uPermissionId :: Lens' User (Maybe Text)-uPermissionId- = lens _uPermissionId- (\ s a -> s{_uPermissionId = a})--instance FromJSON User where- parseJSON- = withObject "User"- (\ o ->- User' <$>- (o .:? "photoLink") <*> (o .:? "me") <*>- (o .:? "kind" .!= "drive#user")- <*> (o .:? "emailAddress")- <*> (o .:? "displayName")- <*> (o .:? "permissionId"))--instance ToJSON User where- toJSON User'{..}- = object- (catMaybes- [("photoLink" .=) <$> _uPhotoLink,- ("me" .=) <$> _uMe, Just ("kind" .= _uKind),- ("emailAddress" .=) <$> _uEmailAddress,- ("displayName" .=) <$> _uDisplayName,- ("permissionId" .=) <$> _uPermissionId])---- | A list of changes for a user.------ /See:/ 'changeList' smart constructor.-data ChangeList = ChangeList'- { _clNewStartPageToken :: !(Maybe Text)- , _clNextPageToken :: !(Maybe Text)- , _clChanges :: !(Maybe [Change])- , _clKind :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChangeList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'clNewStartPageToken'------ * 'clNextPageToken'------ * 'clChanges'------ * 'clKind'-changeList- :: ChangeList-changeList =- ChangeList'- { _clNewStartPageToken = Nothing- , _clNextPageToken = Nothing- , _clChanges = Nothing- , _clKind = "drive#changeList"- }---- | The starting page token for future changes. This will be present only if--- the end of the current changes list has been reached.-clNewStartPageToken :: Lens' ChangeList (Maybe Text)-clNewStartPageToken- = lens _clNewStartPageToken- (\ s a -> s{_clNewStartPageToken = a})---- | The page token for the next page of changes. This will be absent if the--- end of the changes list has been reached. If the token is rejected for--- any reason, it should be discarded, and pagination should be restarted--- from the first page of results.-clNextPageToken :: Lens' ChangeList (Maybe Text)-clNextPageToken- = lens _clNextPageToken- (\ s a -> s{_clNextPageToken = a})---- | The list of changes. If nextPageToken is populated, then this list may--- be incomplete and an additional page of results should be fetched.-clChanges :: Lens' ChangeList [Change]-clChanges- = lens _clChanges (\ s a -> s{_clChanges = a}) .- _Default- . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#changeList\".-clKind :: Lens' ChangeList Text-clKind = lens _clKind (\ s a -> s{_clKind = a})--instance FromJSON ChangeList where- parseJSON- = withObject "ChangeList"- (\ o ->- ChangeList' <$>- (o .:? "newStartPageToken") <*>- (o .:? "nextPageToken")- <*> (o .:? "changes" .!= mempty)- <*> (o .:? "kind" .!= "drive#changeList"))--instance ToJSON ChangeList where- toJSON ChangeList'{..}- = object- (catMaybes- [("newStartPageToken" .=) <$> _clNewStartPageToken,- ("nextPageToken" .=) <$> _clNextPageToken,- ("changes" .=) <$> _clChanges,- Just ("kind" .= _clKind)])---- | Additional information about the content of the file. These fields are--- never populated in responses.------ /See:/ 'fileContentHints' smart constructor.-data FileContentHints = FileContentHints'- { _fchThumbnail :: !(Maybe FileContentHintsThumbnail)- , _fchIndexableText :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileContentHints' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fchThumbnail'------ * 'fchIndexableText'-fileContentHints- :: FileContentHints-fileContentHints =- FileContentHints'- { _fchThumbnail = Nothing- , _fchIndexableText = Nothing- }---- | A thumbnail for the file. This will only be used if Drive cannot--- generate a standard thumbnail.-fchThumbnail :: Lens' FileContentHints (Maybe FileContentHintsThumbnail)-fchThumbnail- = lens _fchThumbnail (\ s a -> s{_fchThumbnail = a})---- | Text to be indexed for the file to improve fullText queries. This is--- limited to 128KB in length and may contain HTML elements.-fchIndexableText :: Lens' FileContentHints (Maybe Text)-fchIndexableText- = lens _fchIndexableText- (\ s a -> s{_fchIndexableText = a})--instance FromJSON FileContentHints where- parseJSON- = withObject "FileContentHints"- (\ o ->- FileContentHints' <$>- (o .:? "thumbnail") <*> (o .:? "indexableText"))--instance ToJSON FileContentHints where- toJSON FileContentHints'{..}- = object- (catMaybes- [("thumbnail" .=) <$> _fchThumbnail,- ("indexableText" .=) <$> _fchIndexableText])---- | Additional parameters controlling delivery channel behavior. Optional.------ /See:/ 'channelParams' smart constructor.-newtype ChannelParams = ChannelParams'- { _cpAddtional :: HashMap Text Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChannelParams' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpAddtional'-channelParams- :: HashMap Text Text -- ^ 'cpAddtional'- -> ChannelParams-channelParams pCpAddtional_ =- ChannelParams'- { _cpAddtional = _Coerce # pCpAddtional_- }---- | Declares a new parameter by name.-cpAddtional :: Lens' ChannelParams (HashMap Text Text)-cpAddtional- = lens _cpAddtional (\ s a -> s{_cpAddtional = a}) .- _Coerce--instance FromJSON ChannelParams where- parseJSON- = withObject "ChannelParams"- (\ o -> ChannelParams' <$> (parseJSONObject o))--instance ToJSON ChannelParams where- toJSON = toJSON . _cpAddtional---- | A collection of arbitrary key-value pairs which are visible to all apps.--- Entries with null values are cleared in update and copy requests.------ /See:/ 'fileProperties' smart constructor.-newtype FileProperties = FileProperties'- { _fpAddtional :: HashMap Text Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fpAddtional'-fileProperties- :: HashMap Text Text -- ^ 'fpAddtional'- -> FileProperties-fileProperties pFpAddtional_ =- FileProperties'- { _fpAddtional = _Coerce # pFpAddtional_- }--fpAddtional :: Lens' FileProperties (HashMap Text Text)-fpAddtional- = lens _fpAddtional (\ s a -> s{_fpAddtional = a}) .- _Coerce--instance FromJSON FileProperties where- parseJSON- = withObject "FileProperties"- (\ o -> FileProperties' <$> (parseJSONObject o))--instance ToJSON FileProperties where- toJSON = toJSON . _fpAddtional---- | A map of maximum import sizes by MIME type, in bytes.------ /See:/ 'aboutMaxImportSizes' smart constructor.-newtype AboutMaxImportSizes = AboutMaxImportSizes'- { _amisAddtional :: HashMap Text (Textual Int64)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutMaxImportSizes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'amisAddtional'-aboutMaxImportSizes- :: HashMap Text Int64 -- ^ 'amisAddtional'- -> AboutMaxImportSizes-aboutMaxImportSizes pAmisAddtional_ =- AboutMaxImportSizes'- { _amisAddtional = _Coerce # pAmisAddtional_- }--amisAddtional :: Lens' AboutMaxImportSizes (HashMap Text Int64)-amisAddtional- = lens _amisAddtional- (\ s a -> s{_amisAddtional = a})- . _Coerce--instance FromJSON AboutMaxImportSizes where- parseJSON- = withObject "AboutMaxImportSizes"- (\ o -> AboutMaxImportSizes' <$> (parseJSONObject o))--instance ToJSON AboutMaxImportSizes where- toJSON = toJSON . _amisAddtional---- | Information about the user, the user\'s Drive, and system capabilities.------ /See:/ 'about' smart constructor.-data About = About'- { _aExportFormats :: !(Maybe AboutExportFormats)- , _aMaxImportSizes :: !(Maybe AboutMaxImportSizes)- , _aImportFormats :: !(Maybe AboutImportFormats)- , _aKind :: !Text- , _aAppInstalled :: !(Maybe Bool)- , _aUser :: !(Maybe User)- , _aStorageQuota :: !(Maybe AboutStorageQuota)- , _aMaxUploadSize :: !(Maybe (Textual Int64))- , _aFolderColorPalette :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'About' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aExportFormats'------ * 'aMaxImportSizes'------ * 'aImportFormats'------ * 'aKind'------ * 'aAppInstalled'------ * 'aUser'------ * 'aStorageQuota'------ * 'aMaxUploadSize'------ * 'aFolderColorPalette'-about- :: About-about =- About'- { _aExportFormats = Nothing- , _aMaxImportSizes = Nothing- , _aImportFormats = Nothing- , _aKind = "drive#about"- , _aAppInstalled = Nothing- , _aUser = Nothing- , _aStorageQuota = Nothing- , _aMaxUploadSize = Nothing- , _aFolderColorPalette = Nothing- }---- | A map of source MIME type to possible targets for all supported exports.-aExportFormats :: Lens' About (Maybe AboutExportFormats)-aExportFormats- = lens _aExportFormats- (\ s a -> s{_aExportFormats = a})---- | A map of maximum import sizes by MIME type, in bytes.-aMaxImportSizes :: Lens' About (Maybe AboutMaxImportSizes)-aMaxImportSizes- = lens _aMaxImportSizes- (\ s a -> s{_aMaxImportSizes = a})---- | A map of source MIME type to possible targets for all supported imports.-aImportFormats :: Lens' About (Maybe AboutImportFormats)-aImportFormats- = lens _aImportFormats- (\ s a -> s{_aImportFormats = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#about\".-aKind :: Lens' About Text-aKind = lens _aKind (\ s a -> s{_aKind = a})---- | Whether the user has installed the requesting app.-aAppInstalled :: Lens' About (Maybe Bool)-aAppInstalled- = lens _aAppInstalled- (\ s a -> s{_aAppInstalled = a})---- | The authenticated user.-aUser :: Lens' About (Maybe User)-aUser = lens _aUser (\ s a -> s{_aUser = a})---- | The user\'s storage quota limits and usage. All fields are measured in--- bytes.-aStorageQuota :: Lens' About (Maybe AboutStorageQuota)-aStorageQuota- = lens _aStorageQuota- (\ s a -> s{_aStorageQuota = a})---- | The maximum upload size in bytes.-aMaxUploadSize :: Lens' About (Maybe Int64)-aMaxUploadSize- = lens _aMaxUploadSize- (\ s a -> s{_aMaxUploadSize = a})- . mapping _Coerce---- | The currently supported folder colors as RGB hex strings.-aFolderColorPalette :: Lens' About [Text]-aFolderColorPalette- = lens _aFolderColorPalette- (\ s a -> s{_aFolderColorPalette = a})- . _Default- . _Coerce--instance FromJSON About where- parseJSON- = withObject "About"- (\ o ->- About' <$>- (o .:? "exportFormats") <*> (o .:? "maxImportSizes")- <*> (o .:? "importFormats")- <*> (o .:? "kind" .!= "drive#about")- <*> (o .:? "appInstalled")- <*> (o .:? "user")- <*> (o .:? "storageQuota")- <*> (o .:? "maxUploadSize")- <*> (o .:? "folderColorPalette" .!= mempty))--instance ToJSON About where- toJSON About'{..}- = object- (catMaybes- [("exportFormats" .=) <$> _aExportFormats,- ("maxImportSizes" .=) <$> _aMaxImportSizes,- ("importFormats" .=) <$> _aImportFormats,- Just ("kind" .= _aKind),- ("appInstalled" .=) <$> _aAppInstalled,- ("user" .=) <$> _aUser,- ("storageQuota" .=) <$> _aStorageQuota,- ("maxUploadSize" .=) <$> _aMaxUploadSize,- ("folderColorPalette" .=) <$> _aFolderColorPalette])---- | Geographic location information stored in the image.------ /See:/ 'fileImageMediaMetadataLocation' smart constructor.-data FileImageMediaMetadataLocation = FileImageMediaMetadataLocation'- { _fimmlLatitude :: !(Maybe (Textual Double))- , _fimmlAltitude :: !(Maybe (Textual Double))- , _fimmlLongitude :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileImageMediaMetadataLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fimmlLatitude'------ * 'fimmlAltitude'------ * 'fimmlLongitude'-fileImageMediaMetadataLocation- :: FileImageMediaMetadataLocation-fileImageMediaMetadataLocation =- FileImageMediaMetadataLocation'- { _fimmlLatitude = Nothing- , _fimmlAltitude = Nothing- , _fimmlLongitude = Nothing- }---- | The latitude stored in the image.-fimmlLatitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)-fimmlLatitude- = lens _fimmlLatitude- (\ s a -> s{_fimmlLatitude = a})- . mapping _Coerce---- | The altitude stored in the image.-fimmlAltitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)-fimmlAltitude- = lens _fimmlAltitude- (\ s a -> s{_fimmlAltitude = a})- . mapping _Coerce---- | The longitude stored in the image.-fimmlLongitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)-fimmlLongitude- = lens _fimmlLongitude- (\ s a -> s{_fimmlLongitude = a})- . mapping _Coerce--instance FromJSON FileImageMediaMetadataLocation- where- parseJSON- = withObject "FileImageMediaMetadataLocation"- (\ o ->- FileImageMediaMetadataLocation' <$>- (o .:? "latitude") <*> (o .:? "altitude") <*>- (o .:? "longitude"))--instance ToJSON FileImageMediaMetadataLocation where- toJSON FileImageMediaMetadataLocation'{..}- = object- (catMaybes- [("latitude" .=) <$> _fimmlLatitude,- ("altitude" .=) <$> _fimmlAltitude,- ("longitude" .=) <$> _fimmlLongitude])------- /See:/ 'startPageToken' smart constructor.-data StartPageToken = StartPageToken'- { _sptKind :: !Text- , _sptStartPageToken :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StartPageToken' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sptKind'------ * 'sptStartPageToken'-startPageToken- :: StartPageToken-startPageToken =- StartPageToken'- { _sptKind = "drive#startPageToken"- , _sptStartPageToken = Nothing- }---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#startPageToken\".-sptKind :: Lens' StartPageToken Text-sptKind = lens _sptKind (\ s a -> s{_sptKind = a})---- | The starting page token for listing changes.-sptStartPageToken :: Lens' StartPageToken (Maybe Text)-sptStartPageToken- = lens _sptStartPageToken- (\ s a -> s{_sptStartPageToken = a})--instance FromJSON StartPageToken where- parseJSON- = withObject "StartPageToken"- (\ o ->- StartPageToken' <$>- (o .:? "kind" .!= "drive#startPageToken") <*>- (o .:? "startPageToken"))--instance ToJSON StartPageToken where- toJSON StartPageToken'{..}- = object- (catMaybes- [Just ("kind" .= _sptKind),- ("startPageToken" .=) <$> _sptStartPageToken])---- | Additional metadata about image media, if available.------ /See:/ 'fileImageMediaMetadata' smart constructor.-data FileImageMediaMetadata = FileImageMediaMetadata'- { _fimmRotation :: !(Maybe (Textual Int32))- , _fimmHeight :: !(Maybe (Textual Int32))- , _fimmSubjectDistance :: !(Maybe (Textual Int32))- , _fimmMaxApertureValue :: !(Maybe (Textual Double))- , _fimmIsoSpeed :: !(Maybe (Textual Int32))- , _fimmTime :: !(Maybe Text)- , _fimmLocation :: !(Maybe FileImageMediaMetadataLocation)- , _fimmAperture :: !(Maybe (Textual Double))- , _fimmFocalLength :: !(Maybe (Textual Double))- , _fimmCameraMake :: !(Maybe Text)- , _fimmWidth :: !(Maybe (Textual Int32))- , _fimmExposureTime :: !(Maybe (Textual Double))- , _fimmCameraModel :: !(Maybe Text)- , _fimmWhiteBalance :: !(Maybe Text)- , _fimmLens :: !(Maybe Text)- , _fimmFlashUsed :: !(Maybe Bool)- , _fimmExposureBias :: !(Maybe (Textual Double))- , _fimmMeteringMode :: !(Maybe Text)- , _fimmExposureMode :: !(Maybe Text)- , _fimmSensor :: !(Maybe Text)- , _fimmColorSpace :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileImageMediaMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fimmRotation'------ * 'fimmHeight'------ * 'fimmSubjectDistance'------ * 'fimmMaxApertureValue'------ * 'fimmIsoSpeed'------ * 'fimmTime'------ * 'fimmLocation'------ * 'fimmAperture'------ * 'fimmFocalLength'------ * 'fimmCameraMake'------ * 'fimmWidth'------ * 'fimmExposureTime'------ * 'fimmCameraModel'------ * 'fimmWhiteBalance'------ * 'fimmLens'------ * 'fimmFlashUsed'------ * 'fimmExposureBias'------ * 'fimmMeteringMode'------ * 'fimmExposureMode'------ * 'fimmSensor'------ * 'fimmColorSpace'-fileImageMediaMetadata- :: FileImageMediaMetadata-fileImageMediaMetadata =- FileImageMediaMetadata'- { _fimmRotation = Nothing- , _fimmHeight = Nothing- , _fimmSubjectDistance = Nothing- , _fimmMaxApertureValue = Nothing- , _fimmIsoSpeed = Nothing- , _fimmTime = Nothing- , _fimmLocation = Nothing- , _fimmAperture = Nothing- , _fimmFocalLength = Nothing- , _fimmCameraMake = Nothing- , _fimmWidth = Nothing- , _fimmExposureTime = Nothing- , _fimmCameraModel = Nothing- , _fimmWhiteBalance = Nothing- , _fimmLens = Nothing- , _fimmFlashUsed = Nothing- , _fimmExposureBias = Nothing- , _fimmMeteringMode = Nothing- , _fimmExposureMode = Nothing- , _fimmSensor = Nothing- , _fimmColorSpace = Nothing- }---- | The rotation in clockwise degrees from the image\'s original--- orientation.-fimmRotation :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmRotation- = lens _fimmRotation (\ s a -> s{_fimmRotation = a})- . mapping _Coerce---- | The height of the image in pixels.-fimmHeight :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmHeight- = lens _fimmHeight (\ s a -> s{_fimmHeight = a}) .- mapping _Coerce---- | The distance to the subject of the photo, in meters.-fimmSubjectDistance :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmSubjectDistance- = lens _fimmSubjectDistance- (\ s a -> s{_fimmSubjectDistance = a})- . mapping _Coerce---- | The smallest f-number of the lens at the focal length used to create the--- photo (APEX value).-fimmMaxApertureValue :: Lens' FileImageMediaMetadata (Maybe Double)-fimmMaxApertureValue- = lens _fimmMaxApertureValue- (\ s a -> s{_fimmMaxApertureValue = a})- . mapping _Coerce---- | The ISO speed used to create the photo.-fimmIsoSpeed :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmIsoSpeed- = lens _fimmIsoSpeed (\ s a -> s{_fimmIsoSpeed = a})- . mapping _Coerce---- | The date and time the photo was taken (EXIF DateTime).-fimmTime :: Lens' FileImageMediaMetadata (Maybe Text)-fimmTime = lens _fimmTime (\ s a -> s{_fimmTime = a})---- | Geographic location information stored in the image.-fimmLocation :: Lens' FileImageMediaMetadata (Maybe FileImageMediaMetadataLocation)-fimmLocation- = lens _fimmLocation (\ s a -> s{_fimmLocation = a})---- | The aperture used to create the photo (f-number).-fimmAperture :: Lens' FileImageMediaMetadata (Maybe Double)-fimmAperture- = lens _fimmAperture (\ s a -> s{_fimmAperture = a})- . mapping _Coerce---- | The focal length used to create the photo, in millimeters.-fimmFocalLength :: Lens' FileImageMediaMetadata (Maybe Double)-fimmFocalLength- = lens _fimmFocalLength- (\ s a -> s{_fimmFocalLength = a})- . mapping _Coerce---- | The make of the camera used to create the photo.-fimmCameraMake :: Lens' FileImageMediaMetadata (Maybe Text)-fimmCameraMake- = lens _fimmCameraMake- (\ s a -> s{_fimmCameraMake = a})---- | The width of the image in pixels.-fimmWidth :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmWidth- = lens _fimmWidth (\ s a -> s{_fimmWidth = a}) .- mapping _Coerce---- | The length of the exposure, in seconds.-fimmExposureTime :: Lens' FileImageMediaMetadata (Maybe Double)-fimmExposureTime- = lens _fimmExposureTime- (\ s a -> s{_fimmExposureTime = a})- . mapping _Coerce---- | The model of the camera used to create the photo.-fimmCameraModel :: Lens' FileImageMediaMetadata (Maybe Text)-fimmCameraModel- = lens _fimmCameraModel- (\ s a -> s{_fimmCameraModel = a})---- | The white balance mode used to create the photo.-fimmWhiteBalance :: Lens' FileImageMediaMetadata (Maybe Text)-fimmWhiteBalance- = lens _fimmWhiteBalance- (\ s a -> s{_fimmWhiteBalance = a})---- | The lens used to create the photo.-fimmLens :: Lens' FileImageMediaMetadata (Maybe Text)-fimmLens = lens _fimmLens (\ s a -> s{_fimmLens = a})---- | Whether a flash was used to create the photo.-fimmFlashUsed :: Lens' FileImageMediaMetadata (Maybe Bool)-fimmFlashUsed- = lens _fimmFlashUsed- (\ s a -> s{_fimmFlashUsed = a})---- | The exposure bias of the photo (APEX value).-fimmExposureBias :: Lens' FileImageMediaMetadata (Maybe Double)-fimmExposureBias- = lens _fimmExposureBias- (\ s a -> s{_fimmExposureBias = a})- . mapping _Coerce---- | The metering mode used to create the photo.-fimmMeteringMode :: Lens' FileImageMediaMetadata (Maybe Text)-fimmMeteringMode- = lens _fimmMeteringMode- (\ s a -> s{_fimmMeteringMode = a})---- | The exposure mode used to create the photo.-fimmExposureMode :: Lens' FileImageMediaMetadata (Maybe Text)-fimmExposureMode- = lens _fimmExposureMode- (\ s a -> s{_fimmExposureMode = a})---- | The type of sensor used to create the photo.-fimmSensor :: Lens' FileImageMediaMetadata (Maybe Text)-fimmSensor- = lens _fimmSensor (\ s a -> s{_fimmSensor = a})---- | The color space of the photo.-fimmColorSpace :: Lens' FileImageMediaMetadata (Maybe Text)-fimmColorSpace- = lens _fimmColorSpace- (\ s a -> s{_fimmColorSpace = a})--instance FromJSON FileImageMediaMetadata where- parseJSON- = withObject "FileImageMediaMetadata"- (\ o ->- FileImageMediaMetadata' <$>- (o .:? "rotation") <*> (o .:? "height") <*>- (o .:? "subjectDistance")- <*> (o .:? "maxApertureValue")- <*> (o .:? "isoSpeed")- <*> (o .:? "time")- <*> (o .:? "location")- <*> (o .:? "aperture")- <*> (o .:? "focalLength")- <*> (o .:? "cameraMake")- <*> (o .:? "width")- <*> (o .:? "exposureTime")- <*> (o .:? "cameraModel")- <*> (o .:? "whiteBalance")- <*> (o .:? "lens")- <*> (o .:? "flashUsed")- <*> (o .:? "exposureBias")- <*> (o .:? "meteringMode")- <*> (o .:? "exposureMode")- <*> (o .:? "sensor")- <*> (o .:? "colorSpace"))--instance ToJSON FileImageMediaMetadata where- toJSON FileImageMediaMetadata'{..}- = object- (catMaybes- [("rotation" .=) <$> _fimmRotation,- ("height" .=) <$> _fimmHeight,- ("subjectDistance" .=) <$> _fimmSubjectDistance,- ("maxApertureValue" .=) <$> _fimmMaxApertureValue,- ("isoSpeed" .=) <$> _fimmIsoSpeed,- ("time" .=) <$> _fimmTime,- ("location" .=) <$> _fimmLocation,- ("aperture" .=) <$> _fimmAperture,- ("focalLength" .=) <$> _fimmFocalLength,- ("cameraMake" .=) <$> _fimmCameraMake,- ("width" .=) <$> _fimmWidth,- ("exposureTime" .=) <$> _fimmExposureTime,- ("cameraModel" .=) <$> _fimmCameraModel,- ("whiteBalance" .=) <$> _fimmWhiteBalance,- ("lens" .=) <$> _fimmLens,- ("flashUsed" .=) <$> _fimmFlashUsed,- ("exposureBias" .=) <$> _fimmExposureBias,- ("meteringMode" .=) <$> _fimmMeteringMode,- ("exposureMode" .=) <$> _fimmExposureMode,- ("sensor" .=) <$> _fimmSensor,- ("colorSpace" .=) <$> _fimmColorSpace])---- | A comment on a file.------ /See:/ 'comment' smart constructor.-data Comment = Comment'- { _comHTMLContent :: !(Maybe Text)- , _comModifiedTime :: !(Maybe DateTime')- , _comCreatedTime :: !(Maybe DateTime')- , _comKind :: !Text- , _comResolved :: !(Maybe Bool)- , _comQuotedFileContent :: !(Maybe CommentQuotedFileContent)- , _comAnchor :: !(Maybe Text)- , _comContent :: !(Maybe Text)- , _comReplies :: !(Maybe [Reply])- , _comAuthor :: !(Maybe User)- , _comId :: !(Maybe Text)- , _comDeleted :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Comment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'comHTMLContent'------ * 'comModifiedTime'------ * 'comCreatedTime'------ * 'comKind'------ * 'comResolved'------ * 'comQuotedFileContent'------ * 'comAnchor'------ * 'comContent'------ * 'comReplies'------ * 'comAuthor'------ * 'comId'------ * 'comDeleted'-comment- :: Comment-comment =- Comment'- { _comHTMLContent = Nothing- , _comModifiedTime = Nothing- , _comCreatedTime = Nothing- , _comKind = "drive#comment"- , _comResolved = Nothing- , _comQuotedFileContent = Nothing- , _comAnchor = Nothing- , _comContent = Nothing- , _comReplies = Nothing- , _comAuthor = Nothing- , _comId = Nothing- , _comDeleted = Nothing- }---- | The content of the comment with HTML formatting.-comHTMLContent :: Lens' Comment (Maybe Text)-comHTMLContent- = lens _comHTMLContent- (\ s a -> s{_comHTMLContent = a})---- | The last time the comment or any of its replies was modified (RFC 3339--- date-time).-comModifiedTime :: Lens' Comment (Maybe UTCTime)-comModifiedTime- = lens _comModifiedTime- (\ s a -> s{_comModifiedTime = a})- . mapping _DateTime---- | The time at which the comment was created (RFC 3339 date-time).-comCreatedTime :: Lens' Comment (Maybe UTCTime)-comCreatedTime- = lens _comCreatedTime- (\ s a -> s{_comCreatedTime = a})- . mapping _DateTime---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#comment\".-comKind :: Lens' Comment Text-comKind = lens _comKind (\ s a -> s{_comKind = a})---- | Whether the comment has been resolved by one of its replies.-comResolved :: Lens' Comment (Maybe Bool)-comResolved- = lens _comResolved (\ s a -> s{_comResolved = a})---- | The file content to which the comment refers, typically within the--- anchor region. For a text file, for example, this would be the text at--- the location of the comment.-comQuotedFileContent :: Lens' Comment (Maybe CommentQuotedFileContent)-comQuotedFileContent- = lens _comQuotedFileContent- (\ s a -> s{_comQuotedFileContent = a})---- | A region of the document represented as a JSON string. See anchor--- documentation for details on how to define and interpret anchor--- properties.-comAnchor :: Lens' Comment (Maybe Text)-comAnchor- = lens _comAnchor (\ s a -> s{_comAnchor = a})---- | The plain text content of the comment. This field is used for setting--- the content, while htmlContent should be displayed.-comContent :: Lens' Comment (Maybe Text)-comContent- = lens _comContent (\ s a -> s{_comContent = a})---- | The full list of replies to the comment in chronological order.-comReplies :: Lens' Comment [Reply]-comReplies- = lens _comReplies (\ s a -> s{_comReplies = a}) .- _Default- . _Coerce---- | The user who created the comment.-comAuthor :: Lens' Comment (Maybe User)-comAuthor- = lens _comAuthor (\ s a -> s{_comAuthor = a})---- | The ID of the comment.-comId :: Lens' Comment (Maybe Text)-comId = lens _comId (\ s a -> s{_comId = a})---- | Whether the comment has been deleted. A deleted comment has no content.-comDeleted :: Lens' Comment (Maybe Bool)-comDeleted- = lens _comDeleted (\ s a -> s{_comDeleted = a})--instance FromJSON Comment where- parseJSON- = withObject "Comment"- (\ o ->- Comment' <$>- (o .:? "htmlContent") <*> (o .:? "modifiedTime") <*>- (o .:? "createdTime")- <*> (o .:? "kind" .!= "drive#comment")- <*> (o .:? "resolved")- <*> (o .:? "quotedFileContent")- <*> (o .:? "anchor")- <*> (o .:? "content")- <*> (o .:? "replies" .!= mempty)- <*> (o .:? "author")- <*> (o .:? "id")- <*> (o .:? "deleted"))--instance ToJSON Comment where- toJSON Comment'{..}- = object- (catMaybes- [("htmlContent" .=) <$> _comHTMLContent,- ("modifiedTime" .=) <$> _comModifiedTime,- ("createdTime" .=) <$> _comCreatedTime,- Just ("kind" .= _comKind),- ("resolved" .=) <$> _comResolved,- ("quotedFileContent" .=) <$> _comQuotedFileContent,- ("anchor" .=) <$> _comAnchor,- ("content" .=) <$> _comContent,- ("replies" .=) <$> _comReplies,- ("author" .=) <$> _comAuthor, ("id" .=) <$> _comId,- ("deleted" .=) <$> _comDeleted])---- | The metadata for a revision to a file.------ /See:/ 'revision' smart constructor.-data Revision = Revision'- { _revModifiedTime :: !(Maybe DateTime')- , _revSize :: !(Maybe (Textual Int64))- , _revOriginalFilename :: !(Maybe Text)- , _revKind :: !Text- , _revPublished :: !(Maybe Bool)- , _revLastModifyingUser :: !(Maybe User)- , _revPublishAuto :: !(Maybe Bool)- , _revMD5Checksum :: !(Maybe Text)- , _revKeepForever :: !(Maybe Bool)- , _revMimeType :: !(Maybe Text)- , _revPublishedOutsideDomain :: !(Maybe Bool)- , _revId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Revision' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'revModifiedTime'------ * 'revSize'------ * 'revOriginalFilename'------ * 'revKind'------ * 'revPublished'------ * 'revLastModifyingUser'------ * 'revPublishAuto'------ * 'revMD5Checksum'------ * 'revKeepForever'------ * 'revMimeType'------ * 'revPublishedOutsideDomain'------ * 'revId'-revision- :: Revision-revision =- Revision'- { _revModifiedTime = Nothing- , _revSize = Nothing- , _revOriginalFilename = Nothing- , _revKind = "drive#revision"- , _revPublished = Nothing- , _revLastModifyingUser = Nothing- , _revPublishAuto = Nothing- , _revMD5Checksum = Nothing- , _revKeepForever = Nothing- , _revMimeType = Nothing- , _revPublishedOutsideDomain = Nothing- , _revId = Nothing- }---- | The last time the revision was modified (RFC 3339 date-time).-revModifiedTime :: Lens' Revision (Maybe UTCTime)-revModifiedTime- = lens _revModifiedTime- (\ s a -> s{_revModifiedTime = a})- . mapping _DateTime---- | The size of the revision\'s content in bytes. This is only applicable to--- files with binary content in Drive.-revSize :: Lens' Revision (Maybe Int64)-revSize- = lens _revSize (\ s a -> s{_revSize = a}) .- mapping _Coerce---- | The original filename used to create this revision. This is only--- applicable to files with binary content in Drive.-revOriginalFilename :: Lens' Revision (Maybe Text)-revOriginalFilename- = lens _revOriginalFilename- (\ s a -> s{_revOriginalFilename = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#revision\".-revKind :: Lens' Revision Text-revKind = lens _revKind (\ s a -> s{_revKind = a})---- | Whether this revision is published. This is only applicable to Google--- Docs.-revPublished :: Lens' Revision (Maybe Bool)-revPublished- = lens _revPublished (\ s a -> s{_revPublished = a})---- | The last user to modify this revision.-revLastModifyingUser :: Lens' Revision (Maybe User)-revLastModifyingUser- = lens _revLastModifyingUser- (\ s a -> s{_revLastModifyingUser = a})---- | Whether subsequent revisions will be automatically republished. This is--- only applicable to Google Docs.-revPublishAuto :: Lens' Revision (Maybe Bool)-revPublishAuto- = lens _revPublishAuto- (\ s a -> s{_revPublishAuto = a})---- | The MD5 checksum of the revision\'s content. This is only applicable to--- files with binary content in Drive.-revMD5Checksum :: Lens' Revision (Maybe Text)-revMD5Checksum- = lens _revMD5Checksum- (\ s a -> s{_revMD5Checksum = a})---- | Whether to keep this revision forever, even if it is no longer the head--- revision. If not set, the revision will be automatically purged 30 days--- after newer content is uploaded. This can be set on a maximum of 200--- revisions for a file. This field is only applicable to files with binary--- content in Drive.-revKeepForever :: Lens' Revision (Maybe Bool)-revKeepForever- = lens _revKeepForever- (\ s a -> s{_revKeepForever = a})---- | The MIME type of the revision.-revMimeType :: Lens' Revision (Maybe Text)-revMimeType- = lens _revMimeType (\ s a -> s{_revMimeType = a})---- | Whether this revision is published outside the domain. This is only--- applicable to Google Docs.-revPublishedOutsideDomain :: Lens' Revision (Maybe Bool)-revPublishedOutsideDomain- = lens _revPublishedOutsideDomain- (\ s a -> s{_revPublishedOutsideDomain = a})---- | The ID of the revision.-revId :: Lens' Revision (Maybe Text)-revId = lens _revId (\ s a -> s{_revId = a})--instance FromJSON Revision where- parseJSON- = withObject "Revision"- (\ o ->- Revision' <$>- (o .:? "modifiedTime") <*> (o .:? "size") <*>- (o .:? "originalFilename")- <*> (o .:? "kind" .!= "drive#revision")- <*> (o .:? "published")- <*> (o .:? "lastModifyingUser")- <*> (o .:? "publishAuto")- <*> (o .:? "md5Checksum")- <*> (o .:? "keepForever")- <*> (o .:? "mimeType")- <*> (o .:? "publishedOutsideDomain")- <*> (o .:? "id"))--instance ToJSON Revision where- toJSON Revision'{..}- = object- (catMaybes- [("modifiedTime" .=) <$> _revModifiedTime,- ("size" .=) <$> _revSize,- ("originalFilename" .=) <$> _revOriginalFilename,- Just ("kind" .= _revKind),- ("published" .=) <$> _revPublished,- ("lastModifyingUser" .=) <$> _revLastModifyingUser,- ("publishAuto" .=) <$> _revPublishAuto,- ("md5Checksum" .=) <$> _revMD5Checksum,- ("keepForever" .=) <$> _revKeepForever,- ("mimeType" .=) <$> _revMimeType,- ("publishedOutsideDomain" .=) <$>- _revPublishedOutsideDomain,- ("id" .=) <$> _revId])---- | A permission for a file. A permission grants a user, group, domain or--- the world access to a file or a folder hierarchy.------ /See:/ 'permission' smart constructor.-data Permission = Permission'- { _pPhotoLink :: !(Maybe Text)- , _pKind :: !Text- , _pDomain :: !(Maybe Text)- , _pRole :: !(Maybe Text)- , _pEmailAddress :: !(Maybe Text)- , _pAllowFileDiscovery :: !(Maybe Bool)- , _pDisplayName :: !(Maybe Text)- , _pId :: !(Maybe Text)- , _pType :: !(Maybe Text)- , _pExpirationTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Permission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pPhotoLink'------ * 'pKind'------ * 'pDomain'------ * 'pRole'------ * 'pEmailAddress'------ * 'pAllowFileDiscovery'------ * 'pDisplayName'------ * 'pId'------ * 'pType'------ * 'pExpirationTime'-permission- :: Permission-permission =- Permission'- { _pPhotoLink = Nothing- , _pKind = "drive#permission"- , _pDomain = Nothing- , _pRole = Nothing- , _pEmailAddress = Nothing- , _pAllowFileDiscovery = Nothing- , _pDisplayName = Nothing- , _pId = Nothing- , _pType = Nothing- , _pExpirationTime = Nothing- }---- | A link to the user\'s profile photo, if available.-pPhotoLink :: Lens' Permission (Maybe Text)-pPhotoLink- = lens _pPhotoLink (\ s a -> s{_pPhotoLink = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#permission\".-pKind :: Lens' Permission Text-pKind = lens _pKind (\ s a -> s{_pKind = a})---- | The domain to which this permission refers.-pDomain :: Lens' Permission (Maybe Text)-pDomain = lens _pDomain (\ s a -> s{_pDomain = a})---- | The role granted by this permission. Valid values are: - owner - writer--- - commenter - reader-pRole :: Lens' Permission (Maybe Text)-pRole = lens _pRole (\ s a -> s{_pRole = a})---- | The email address of the user or group to which this permission refers.-pEmailAddress :: Lens' Permission (Maybe Text)-pEmailAddress- = lens _pEmailAddress- (\ s a -> s{_pEmailAddress = a})---- | Whether the permission allows the file to be discovered through search.--- This is only applicable for permissions of type domain or anyone.-pAllowFileDiscovery :: Lens' Permission (Maybe Bool)-pAllowFileDiscovery- = lens _pAllowFileDiscovery- (\ s a -> s{_pAllowFileDiscovery = a})---- | A displayable name for users, groups or domains.-pDisplayName :: Lens' Permission (Maybe Text)-pDisplayName- = lens _pDisplayName (\ s a -> s{_pDisplayName = a})---- | The ID of this permission. This is a unique identifier for the grantee,--- and is published in User resources as permissionId.-pId :: Lens' Permission (Maybe Text)-pId = lens _pId (\ s a -> s{_pId = a})---- | The type of the grantee. Valid values are: - user - group - domain ---- anyone-pType :: Lens' Permission (Maybe Text)-pType = lens _pType (\ s a -> s{_pType = a})---- | The time at which this permission will expire (RFC 3339 date-time).-pExpirationTime :: Lens' Permission (Maybe UTCTime)-pExpirationTime- = lens _pExpirationTime- (\ s a -> s{_pExpirationTime = a})- . mapping _DateTime--instance FromJSON Permission where- parseJSON- = withObject "Permission"- (\ o ->- Permission' <$>- (o .:? "photoLink") <*>- (o .:? "kind" .!= "drive#permission")- <*> (o .:? "domain")- <*> (o .:? "role")- <*> (o .:? "emailAddress")- <*> (o .:? "allowFileDiscovery")- <*> (o .:? "displayName")- <*> (o .:? "id")- <*> (o .:? "type")- <*> (o .:? "expirationTime"))--instance ToJSON Permission where- toJSON Permission'{..}- = object- (catMaybes- [("photoLink" .=) <$> _pPhotoLink,- Just ("kind" .= _pKind), ("domain" .=) <$> _pDomain,- ("role" .=) <$> _pRole,- ("emailAddress" .=) <$> _pEmailAddress,- ("allowFileDiscovery" .=) <$> _pAllowFileDiscovery,- ("displayName" .=) <$> _pDisplayName,- ("id" .=) <$> _pId, ("type" .=) <$> _pType,- ("expirationTime" .=) <$> _pExpirationTime])---- | The metadata for a file.------ /See:/ 'file' smart constructor.-data File = File'- { _fOwnedByMe :: !(Maybe Bool)- , _fThumbnailLink :: !(Maybe Text)- , _fFullFileExtension :: !(Maybe Text)- , _fModifiedTime :: !(Maybe DateTime')- , _fModifiedByMeTime :: !(Maybe DateTime')- , _fFileExtension :: !(Maybe Text)- , _fViewedByMe :: !(Maybe Bool)- , _fOwners :: !(Maybe [User])- , _fViewedByMeTime :: !(Maybe DateTime')- , _fModifiedByMe :: !(Maybe Bool)- , _fSize :: !(Maybe (Textual Int64))- , _fTrashed :: !(Maybe Bool)- , _fWebViewLink :: !(Maybe Text)- , _fCreatedTime :: !(Maybe DateTime')- , _fOriginalFilename :: !(Maybe Text)- , _fKind :: !Text- , _fLastModifyingUser :: !(Maybe User)- , _fIconLink :: !(Maybe Text)- , _fHasThumbnail :: !(Maybe Bool)- , _fThumbnailVersion :: !(Maybe (Textual Int64))- , _fImageMediaMetadata :: !(Maybe FileImageMediaMetadata)- , _fExplicitlyTrashed :: !(Maybe Bool)- , _fShared :: !(Maybe Bool)- , _fMD5Checksum :: !(Maybe Text)- , _fFolderColorRgb :: !(Maybe Text)- , _fMimeType :: !(Maybe Text)- , _fIsAppAuthorized :: !(Maybe Bool)- , _fName :: !(Maybe Text)- , _fParents :: !(Maybe [Text])- , _fStarred :: !(Maybe Bool)- , _fSpaces :: !(Maybe [Text])- , _fVersion :: !(Maybe (Textual Int64))- , _fWritersCanShare :: !(Maybe Bool)- , _fId :: !(Maybe Text)- , _fPermissions :: !(Maybe [Permission])- , _fQuotaBytesUsed :: !(Maybe (Textual Int64))- , _fAppProperties :: !(Maybe FileAppProperties)- , _fVideoMediaMetadata :: !(Maybe FileVideoMediaMetadata)- , _fSharedWithMeTime :: !(Maybe DateTime')- , _fHeadRevisionId :: !(Maybe Text)- , _fCapabilities :: !(Maybe FileCapabilities)- , _fDescription :: !(Maybe Text)- , _fViewersCanCopyContent :: !(Maybe Bool)- , _fSharingUser :: !(Maybe User)- , _fWebContentLink :: !(Maybe Text)- , _fContentHints :: !(Maybe FileContentHints)- , _fProperties :: !(Maybe FileProperties)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'File' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fOwnedByMe'------ * 'fThumbnailLink'------ * 'fFullFileExtension'------ * 'fModifiedTime'------ * 'fModifiedByMeTime'------ * 'fFileExtension'------ * 'fViewedByMe'------ * 'fOwners'------ * 'fViewedByMeTime'------ * 'fModifiedByMe'------ * 'fSize'------ * 'fTrashed'------ * 'fWebViewLink'------ * 'fCreatedTime'------ * 'fOriginalFilename'------ * 'fKind'------ * 'fLastModifyingUser'------ * 'fIconLink'------ * 'fHasThumbnail'------ * 'fThumbnailVersion'------ * 'fImageMediaMetadata'------ * 'fExplicitlyTrashed'------ * 'fShared'------ * 'fMD5Checksum'------ * 'fFolderColorRgb'------ * 'fMimeType'------ * 'fIsAppAuthorized'------ * 'fName'------ * 'fParents'------ * 'fStarred'------ * 'fSpaces'------ * 'fVersion'------ * 'fWritersCanShare'------ * 'fId'------ * 'fPermissions'------ * 'fQuotaBytesUsed'------ * 'fAppProperties'------ * 'fVideoMediaMetadata'------ * 'fSharedWithMeTime'------ * 'fHeadRevisionId'------ * 'fCapabilities'------ * 'fDescription'------ * 'fViewersCanCopyContent'------ * 'fSharingUser'------ * 'fWebContentLink'------ * 'fContentHints'------ * 'fProperties'-file- :: File-file =- File'- { _fOwnedByMe = Nothing- , _fThumbnailLink = Nothing- , _fFullFileExtension = Nothing- , _fModifiedTime = Nothing- , _fModifiedByMeTime = Nothing- , _fFileExtension = Nothing- , _fViewedByMe = Nothing- , _fOwners = Nothing- , _fViewedByMeTime = Nothing- , _fModifiedByMe = Nothing- , _fSize = Nothing- , _fTrashed = Nothing- , _fWebViewLink = Nothing- , _fCreatedTime = Nothing- , _fOriginalFilename = Nothing- , _fKind = "drive#file"- , _fLastModifyingUser = Nothing- , _fIconLink = Nothing- , _fHasThumbnail = Nothing- , _fThumbnailVersion = Nothing- , _fImageMediaMetadata = Nothing- , _fExplicitlyTrashed = Nothing- , _fShared = Nothing- , _fMD5Checksum = Nothing- , _fFolderColorRgb = Nothing- , _fMimeType = Nothing- , _fIsAppAuthorized = Nothing- , _fName = Nothing- , _fParents = Nothing- , _fStarred = Nothing- , _fSpaces = Nothing- , _fVersion = Nothing- , _fWritersCanShare = Nothing- , _fId = Nothing- , _fPermissions = Nothing- , _fQuotaBytesUsed = Nothing- , _fAppProperties = Nothing- , _fVideoMediaMetadata = Nothing- , _fSharedWithMeTime = Nothing- , _fHeadRevisionId = Nothing- , _fCapabilities = Nothing- , _fDescription = Nothing- , _fViewersCanCopyContent = Nothing- , _fSharingUser = Nothing- , _fWebContentLink = Nothing- , _fContentHints = Nothing- , _fProperties = Nothing- }---- | Whether the user owns the file.-fOwnedByMe :: Lens' File (Maybe Bool)-fOwnedByMe- = lens _fOwnedByMe (\ s a -> s{_fOwnedByMe = a})---- | A short-lived link to the file\'s thumbnail, if available. Typically--- lasts on the order of hours. Only populated when the requesting app can--- access the file\'s content.-fThumbnailLink :: Lens' File (Maybe Text)-fThumbnailLink- = lens _fThumbnailLink- (\ s a -> s{_fThumbnailLink = a})---- | The full file extension extracted from the name field. May contain--- multiple concatenated extensions, such as \"tar.gz\". This is only--- available for files with binary content in Drive. This is automatically--- updated when the name field changes, however it is not cleared if the--- new name does not contain a valid extension.-fFullFileExtension :: Lens' File (Maybe Text)-fFullFileExtension- = lens _fFullFileExtension- (\ s a -> s{_fFullFileExtension = a})---- | The last time the file was modified by anyone (RFC 3339 date-time). Note--- that setting modifiedTime will also update modifiedByMeTime for the--- user.-fModifiedTime :: Lens' File (Maybe UTCTime)-fModifiedTime- = lens _fModifiedTime- (\ s a -> s{_fModifiedTime = a})- . mapping _DateTime---- | The last time the file was modified by the user (RFC 3339 date-time).-fModifiedByMeTime :: Lens' File (Maybe UTCTime)-fModifiedByMeTime- = lens _fModifiedByMeTime- (\ s a -> s{_fModifiedByMeTime = a})- . mapping _DateTime---- | The final component of fullFileExtension. This is only available for--- files with binary content in Drive.-fFileExtension :: Lens' File (Maybe Text)-fFileExtension- = lens _fFileExtension- (\ s a -> s{_fFileExtension = a})---- | Whether the file has been viewed by this user.-fViewedByMe :: Lens' File (Maybe Bool)-fViewedByMe- = lens _fViewedByMe (\ s a -> s{_fViewedByMe = a})---- | The owners of the file. Currently, only certain legacy files may have--- more than one owner.-fOwners :: Lens' File [User]-fOwners- = lens _fOwners (\ s a -> s{_fOwners = a}) . _Default- . _Coerce---- | The last time the file was viewed by the user (RFC 3339 date-time).-fViewedByMeTime :: Lens' File (Maybe UTCTime)-fViewedByMeTime- = lens _fViewedByMeTime- (\ s a -> s{_fViewedByMeTime = a})- . mapping _DateTime---- | Whether the file has been modified by this user.-fModifiedByMe :: Lens' File (Maybe Bool)-fModifiedByMe- = lens _fModifiedByMe- (\ s a -> s{_fModifiedByMe = a})---- | The size of the file\'s content in bytes. This is only applicable to--- files with binary content in Drive.-fSize :: Lens' File (Maybe Int64)-fSize- = lens _fSize (\ s a -> s{_fSize = a}) .- mapping _Coerce---- | Whether the file has been trashed, either explicitly or from a trashed--- parent folder. Only the owner may trash a file, and other users cannot--- see files in the owner\'s trash.-fTrashed :: Lens' File (Maybe Bool)-fTrashed = lens _fTrashed (\ s a -> s{_fTrashed = a})---- | A link for opening the file in a relevant Google editor or viewer in a--- browser.-fWebViewLink :: Lens' File (Maybe Text)-fWebViewLink- = lens _fWebViewLink (\ s a -> s{_fWebViewLink = a})---- | The time at which the file was created (RFC 3339 date-time).-fCreatedTime :: Lens' File (Maybe UTCTime)-fCreatedTime- = lens _fCreatedTime (\ s a -> s{_fCreatedTime = a})- . mapping _DateTime---- | The original filename of the uploaded content if available, or else the--- original value of the name field. This is only available for files with--- binary content in Drive.-fOriginalFilename :: Lens' File (Maybe Text)-fOriginalFilename- = lens _fOriginalFilename- (\ s a -> s{_fOriginalFilename = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#file\".-fKind :: Lens' File Text-fKind = lens _fKind (\ s a -> s{_fKind = a})---- | The last user to modify the file.-fLastModifyingUser :: Lens' File (Maybe User)-fLastModifyingUser- = lens _fLastModifyingUser- (\ s a -> s{_fLastModifyingUser = a})---- | A static, unauthenticated link to the file\'s icon.-fIconLink :: Lens' File (Maybe Text)-fIconLink- = lens _fIconLink (\ s a -> s{_fIconLink = a})---- | Whether this file has a thumbnail.-fHasThumbnail :: Lens' File (Maybe Bool)-fHasThumbnail- = lens _fHasThumbnail- (\ s a -> s{_fHasThumbnail = a})---- | The thumbnail version for use in thumbnail cache invalidation.-fThumbnailVersion :: Lens' File (Maybe Int64)-fThumbnailVersion- = lens _fThumbnailVersion- (\ s a -> s{_fThumbnailVersion = a})- . mapping _Coerce---- | Additional metadata about image media, if available.-fImageMediaMetadata :: Lens' File (Maybe FileImageMediaMetadata)-fImageMediaMetadata- = lens _fImageMediaMetadata- (\ s a -> s{_fImageMediaMetadata = a})---- | Whether the file has been explicitly trashed, as opposed to recursively--- trashed from a parent folder.-fExplicitlyTrashed :: Lens' File (Maybe Bool)-fExplicitlyTrashed- = lens _fExplicitlyTrashed- (\ s a -> s{_fExplicitlyTrashed = a})---- | Whether the file has been shared.-fShared :: Lens' File (Maybe Bool)-fShared = lens _fShared (\ s a -> s{_fShared = a})---- | The MD5 checksum for the content of the file. This is only applicable to--- files with binary content in Drive.-fMD5Checksum :: Lens' File (Maybe Text)-fMD5Checksum- = lens _fMD5Checksum (\ s a -> s{_fMD5Checksum = a})---- | The color for a folder as an RGB hex string. The supported colors are--- published in the folderColorPalette field of the About resource. If an--- unsupported color is specified, the closest color in the palette will be--- used instead.-fFolderColorRgb :: Lens' File (Maybe Text)-fFolderColorRgb- = lens _fFolderColorRgb- (\ s a -> s{_fFolderColorRgb = a})---- | The MIME type of the file. Drive will attempt to automatically detect an--- appropriate value from uploaded content if no value is provided. The--- value cannot be changed unless a new revision is uploaded. If a file is--- created with a Google Doc MIME type, the uploaded content will be--- imported if possible. The supported import formats are published in the--- About resource.-fMimeType :: Lens' File (Maybe Text)-fMimeType- = lens _fMimeType (\ s a -> s{_fMimeType = a})---- | Whether the file was created or opened by the requesting app.-fIsAppAuthorized :: Lens' File (Maybe Bool)-fIsAppAuthorized- = lens _fIsAppAuthorized- (\ s a -> s{_fIsAppAuthorized = a})---- | The name of the file. This is not necessarily unique within a folder.-fName :: Lens' File (Maybe Text)-fName = lens _fName (\ s a -> s{_fName = a})---- | The IDs of the parent folders which contain the file. If not specified--- as part of a create request, the file will be placed directly in the My--- Drive folder. Update requests must use the addParents and removeParents--- parameters to modify the values.-fParents :: Lens' File [Text]-fParents- = lens _fParents (\ s a -> s{_fParents = a}) .- _Default- . _Coerce---- | Whether the user has starred the file.-fStarred :: Lens' File (Maybe Bool)-fStarred = lens _fStarred (\ s a -> s{_fStarred = a})---- | The list of spaces which contain the file. The currently supported--- values are \'drive\', \'appDataFolder\' and \'photos\'.-fSpaces :: Lens' File [Text]-fSpaces- = lens _fSpaces (\ s a -> s{_fSpaces = a}) . _Default- . _Coerce---- | A monotonically increasing version number for the file. This reflects--- every change made to the file on the server, even those not visible to--- the user.-fVersion :: Lens' File (Maybe Int64)-fVersion- = lens _fVersion (\ s a -> s{_fVersion = a}) .- mapping _Coerce---- | Whether users with only writer permission can modify the file\'s--- permissions.-fWritersCanShare :: Lens' File (Maybe Bool)-fWritersCanShare- = lens _fWritersCanShare- (\ s a -> s{_fWritersCanShare = a})---- | The ID of the file.-fId :: Lens' File (Maybe Text)-fId = lens _fId (\ s a -> s{_fId = a})---- | The full list of permissions for the file. This is only available if the--- requesting user can share the file.-fPermissions :: Lens' File [Permission]-fPermissions- = lens _fPermissions (\ s a -> s{_fPermissions = a})- . _Default- . _Coerce---- | The number of storage quota bytes used by the file. This includes the--- head revision as well as previous revisions with keepForever enabled.-fQuotaBytesUsed :: Lens' File (Maybe Int64)-fQuotaBytesUsed- = lens _fQuotaBytesUsed- (\ s a -> s{_fQuotaBytesUsed = a})- . mapping _Coerce---- | A collection of arbitrary key-value pairs which are private to the--- requesting app. Entries with null values are cleared in update and copy--- requests.-fAppProperties :: Lens' File (Maybe FileAppProperties)-fAppProperties- = lens _fAppProperties- (\ s a -> s{_fAppProperties = a})---- | Additional metadata about video media. This may not be available--- immediately upon upload.-fVideoMediaMetadata :: Lens' File (Maybe FileVideoMediaMetadata)-fVideoMediaMetadata- = lens _fVideoMediaMetadata- (\ s a -> s{_fVideoMediaMetadata = a})---- | The time at which the file was shared with the user, if applicable (RFC--- 3339 date-time).-fSharedWithMeTime :: Lens' File (Maybe UTCTime)-fSharedWithMeTime- = lens _fSharedWithMeTime- (\ s a -> s{_fSharedWithMeTime = a})- . mapping _DateTime---- | The ID of the file\'s head revision. This is currently only available--- for files with binary content in Drive.-fHeadRevisionId :: Lens' File (Maybe Text)-fHeadRevisionId- = lens _fHeadRevisionId- (\ s a -> s{_fHeadRevisionId = a})---- | Capabilities the current user has on the file.-fCapabilities :: Lens' File (Maybe FileCapabilities)-fCapabilities- = lens _fCapabilities- (\ s a -> s{_fCapabilities = a})---- | A short description of the file.-fDescription :: Lens' File (Maybe Text)-fDescription- = lens _fDescription (\ s a -> s{_fDescription = a})---- | Whether users with only reader or commenter permission can copy the--- file\'s content. This affects copy, download, and print operations.-fViewersCanCopyContent :: Lens' File (Maybe Bool)-fViewersCanCopyContent- = lens _fViewersCanCopyContent- (\ s a -> s{_fViewersCanCopyContent = a})---- | The user who shared the file with the requesting user, if applicable.-fSharingUser :: Lens' File (Maybe User)-fSharingUser- = lens _fSharingUser (\ s a -> s{_fSharingUser = a})---- | A link for downloading the content of the file in a browser. This is--- only available for files with binary content in Drive.-fWebContentLink :: Lens' File (Maybe Text)-fWebContentLink- = lens _fWebContentLink- (\ s a -> s{_fWebContentLink = a})---- | Additional information about the content of the file. These fields are--- never populated in responses.-fContentHints :: Lens' File (Maybe FileContentHints)-fContentHints- = lens _fContentHints- (\ s a -> s{_fContentHints = a})---- | A collection of arbitrary key-value pairs which are visible to all apps.--- Entries with null values are cleared in update and copy requests.-fProperties :: Lens' File (Maybe FileProperties)-fProperties- = lens _fProperties (\ s a -> s{_fProperties = a})--instance FromJSON File where- parseJSON- = withObject "File"- (\ o ->- File' <$>- (o .:? "ownedByMe") <*> (o .:? "thumbnailLink") <*>- (o .:? "fullFileExtension")- <*> (o .:? "modifiedTime")- <*> (o .:? "modifiedByMeTime")- <*> (o .:? "fileExtension")- <*> (o .:? "viewedByMe")- <*> (o .:? "owners" .!= mempty)- <*> (o .:? "viewedByMeTime")- <*> (o .:? "modifiedByMe")- <*> (o .:? "size")- <*> (o .:? "trashed")- <*> (o .:? "webViewLink")- <*> (o .:? "createdTime")- <*> (o .:? "originalFilename")- <*> (o .:? "kind" .!= "drive#file")- <*> (o .:? "lastModifyingUser")- <*> (o .:? "iconLink")- <*> (o .:? "hasThumbnail")- <*> (o .:? "thumbnailVersion")- <*> (o .:? "imageMediaMetadata")- <*> (o .:? "explicitlyTrashed")- <*> (o .:? "shared")- <*> (o .:? "md5Checksum")- <*> (o .:? "folderColorRgb")- <*> (o .:? "mimeType")- <*> (o .:? "isAppAuthorized")- <*> (o .:? "name")- <*> (o .:? "parents" .!= mempty)- <*> (o .:? "starred")- <*> (o .:? "spaces" .!= mempty)- <*> (o .:? "version")- <*> (o .:? "writersCanShare")- <*> (o .:? "id")- <*> (o .:? "permissions" .!= mempty)- <*> (o .:? "quotaBytesUsed")- <*> (o .:? "appProperties")- <*> (o .:? "videoMediaMetadata")- <*> (o .:? "sharedWithMeTime")- <*> (o .:? "headRevisionId")- <*> (o .:? "capabilities")- <*> (o .:? "description")- <*> (o .:? "viewersCanCopyContent")- <*> (o .:? "sharingUser")- <*> (o .:? "webContentLink")- <*> (o .:? "contentHints")- <*> (o .:? "properties"))--instance ToJSON File where- toJSON File'{..}- = object- (catMaybes- [("ownedByMe" .=) <$> _fOwnedByMe,- ("thumbnailLink" .=) <$> _fThumbnailLink,- ("fullFileExtension" .=) <$> _fFullFileExtension,- ("modifiedTime" .=) <$> _fModifiedTime,- ("modifiedByMeTime" .=) <$> _fModifiedByMeTime,- ("fileExtension" .=) <$> _fFileExtension,- ("viewedByMe" .=) <$> _fViewedByMe,- ("owners" .=) <$> _fOwners,- ("viewedByMeTime" .=) <$> _fViewedByMeTime,- ("modifiedByMe" .=) <$> _fModifiedByMe,- ("size" .=) <$> _fSize, ("trashed" .=) <$> _fTrashed,- ("webViewLink" .=) <$> _fWebViewLink,- ("createdTime" .=) <$> _fCreatedTime,- ("originalFilename" .=) <$> _fOriginalFilename,- Just ("kind" .= _fKind),- ("lastModifyingUser" .=) <$> _fLastModifyingUser,- ("iconLink" .=) <$> _fIconLink,- ("hasThumbnail" .=) <$> _fHasThumbnail,- ("thumbnailVersion" .=) <$> _fThumbnailVersion,- ("imageMediaMetadata" .=) <$> _fImageMediaMetadata,- ("explicitlyTrashed" .=) <$> _fExplicitlyTrashed,- ("shared" .=) <$> _fShared,- ("md5Checksum" .=) <$> _fMD5Checksum,- ("folderColorRgb" .=) <$> _fFolderColorRgb,- ("mimeType" .=) <$> _fMimeType,- ("isAppAuthorized" .=) <$> _fIsAppAuthorized,- ("name" .=) <$> _fName, ("parents" .=) <$> _fParents,- ("starred" .=) <$> _fStarred,- ("spaces" .=) <$> _fSpaces,- ("version" .=) <$> _fVersion,- ("writersCanShare" .=) <$> _fWritersCanShare,- ("id" .=) <$> _fId,- ("permissions" .=) <$> _fPermissions,- ("quotaBytesUsed" .=) <$> _fQuotaBytesUsed,- ("appProperties" .=) <$> _fAppProperties,- ("videoMediaMetadata" .=) <$> _fVideoMediaMetadata,- ("sharedWithMeTime" .=) <$> _fSharedWithMeTime,- ("headRevisionId" .=) <$> _fHeadRevisionId,- ("capabilities" .=) <$> _fCapabilities,- ("description" .=) <$> _fDescription,- ("viewersCanCopyContent" .=) <$>- _fViewersCanCopyContent,- ("sharingUser" .=) <$> _fSharingUser,- ("webContentLink" .=) <$> _fWebContentLink,- ("contentHints" .=) <$> _fContentHints,- ("properties" .=) <$> _fProperties])---- | A list of generated file IDs which can be provided in create requests.------ /See:/ 'generatedIds' smart constructor.-data GeneratedIds = GeneratedIds'- { _giSpace :: !(Maybe Text)- , _giKind :: !Text- , _giIds :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GeneratedIds' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'giSpace'------ * 'giKind'------ * 'giIds'-generatedIds- :: GeneratedIds-generatedIds =- GeneratedIds'- { _giSpace = Nothing- , _giKind = "drive#generatedIds"- , _giIds = Nothing- }---- | The type of file that can be created with these IDs.-giSpace :: Lens' GeneratedIds (Maybe Text)-giSpace = lens _giSpace (\ s a -> s{_giSpace = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#generatedIds\".-giKind :: Lens' GeneratedIds Text-giKind = lens _giKind (\ s a -> s{_giKind = a})---- | The IDs generated for the requesting user in the specified space.-giIds :: Lens' GeneratedIds [Text]-giIds- = lens _giIds (\ s a -> s{_giIds = a}) . _Default .- _Coerce--instance FromJSON GeneratedIds where- parseJSON- = withObject "GeneratedIds"- (\ o ->- GeneratedIds' <$>- (o .:? "space") <*>- (o .:? "kind" .!= "drive#generatedIds")- <*> (o .:? "ids" .!= mempty))--instance ToJSON GeneratedIds where- toJSON GeneratedIds'{..}- = object- (catMaybes- [("space" .=) <$> _giSpace, Just ("kind" .= _giKind),- ("ids" .=) <$> _giIds])---- | A list of comments on a file.------ /See:/ 'commentList' smart constructor.-data CommentList = CommentList'- { _cllNextPageToken :: !(Maybe Text)- , _cllKind :: !Text- , _cllComments :: !(Maybe [Comment])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cllNextPageToken'------ * 'cllKind'------ * 'cllComments'-commentList- :: CommentList-commentList =- CommentList'- { _cllNextPageToken = Nothing- , _cllKind = "drive#commentList"- , _cllComments = Nothing- }---- | The page token for the next page of comments. This will be absent if the--- end of the comments list has been reached. If the token is rejected for--- any reason, it should be discarded, and pagination should be restarted--- from the first page of results.-cllNextPageToken :: Lens' CommentList (Maybe Text)-cllNextPageToken- = lens _cllNextPageToken- (\ s a -> s{_cllNextPageToken = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#commentList\".-cllKind :: Lens' CommentList Text-cllKind = lens _cllKind (\ s a -> s{_cllKind = a})---- | The list of comments. If nextPageToken is populated, then this list may--- be incomplete and an additional page of results should be fetched.-cllComments :: Lens' CommentList [Comment]-cllComments- = lens _cllComments (\ s a -> s{_cllComments = a}) .- _Default- . _Coerce--instance FromJSON CommentList where- parseJSON- = withObject "CommentList"- (\ o ->- CommentList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "drive#commentList")- <*> (o .:? "comments" .!= mempty))--instance ToJSON CommentList where- toJSON CommentList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _cllNextPageToken,- Just ("kind" .= _cllKind),- ("comments" .=) <$> _cllComments])---- | A list of revisions of a file.------ /See:/ 'revisionList' smart constructor.-data RevisionList = RevisionList'- { _rllNextPageToken :: !(Maybe Text)- , _rllKind :: !Text- , _rllRevisions :: !(Maybe [Revision])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RevisionList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rllNextPageToken'------ * 'rllKind'------ * 'rllRevisions'-revisionList- :: RevisionList-revisionList =- RevisionList'- { _rllNextPageToken = Nothing- , _rllKind = "drive#revisionList"- , _rllRevisions = Nothing- }---- | The page token for the next page of revisions. This will be absent if--- the end of the revisions list has been reached. If the token is rejected--- for any reason, it should be discarded, and pagination should be--- restarted from the first page of results.-rllNextPageToken :: Lens' RevisionList (Maybe Text)-rllNextPageToken- = lens _rllNextPageToken- (\ s a -> s{_rllNextPageToken = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#revisionList\".-rllKind :: Lens' RevisionList Text-rllKind = lens _rllKind (\ s a -> s{_rllKind = a})---- | The list of revisions. If nextPageToken is populated, then this list may--- be incomplete and an additional page of results should be fetched.-rllRevisions :: Lens' RevisionList [Revision]-rllRevisions- = lens _rllRevisions (\ s a -> s{_rllRevisions = a})- . _Default- . _Coerce--instance FromJSON RevisionList where- parseJSON- = withObject "RevisionList"- (\ o ->- RevisionList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "drive#revisionList")- <*> (o .:? "revisions" .!= mempty))--instance ToJSON RevisionList where- toJSON RevisionList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _rllNextPageToken,- Just ("kind" .= _rllKind),- ("revisions" .=) <$> _rllRevisions])---- | A list of permissions for a file.------ /See:/ 'permissionList' smart constructor.-data PermissionList = PermissionList'- { _plKind :: !Text- , _plPermissions :: !(Maybe [Permission])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PermissionList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plKind'------ * 'plPermissions'-permissionList- :: PermissionList-permissionList =- PermissionList'- { _plKind = "drive#permissionList"- , _plPermissions = Nothing- }---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#permissionList\".-plKind :: Lens' PermissionList Text-plKind = lens _plKind (\ s a -> s{_plKind = a})---- | The list of permissions.-plPermissions :: Lens' PermissionList [Permission]-plPermissions- = lens _plPermissions- (\ s a -> s{_plPermissions = a})- . _Default- . _Coerce--instance FromJSON PermissionList where- parseJSON- = withObject "PermissionList"- (\ o ->- PermissionList' <$>- (o .:? "kind" .!= "drive#permissionList") <*>- (o .:? "permissions" .!= mempty))--instance ToJSON PermissionList where- toJSON PermissionList'{..}- = object- (catMaybes- [Just ("kind" .= _plKind),+ { _flNextPageToken :: !(Maybe Text)+ , _flIncompleteSearch :: !(Maybe Bool)+ , _flKind :: !Text+ , _flFiles :: !(Maybe [File])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flNextPageToken'+--+-- * 'flIncompleteSearch'+--+-- * 'flKind'+--+-- * 'flFiles'+fileList+ :: FileList+fileList =+ FileList'+ { _flNextPageToken = Nothing+ , _flIncompleteSearch = Nothing+ , _flKind = "drive#fileList"+ , _flFiles = Nothing+ }++-- | The page token for the next page of files. This will be absent if the+-- end of the files list has been reached. If the token is rejected for any+-- reason, it should be discarded, and pagination should be restarted from+-- the first page of results.+flNextPageToken :: Lens' FileList (Maybe Text)+flNextPageToken+ = lens _flNextPageToken+ (\ s a -> s{_flNextPageToken = a})++-- | Whether the search process was incomplete. If true, then some search+-- results may be missing, since all documents were not searched. This may+-- occur when searching multiple Team Drives with the+-- \"user,allTeamDrives\" corpora, but all corpora could not be searched.+-- When this happens, it is suggested that clients narrow their query by+-- choosing a different corpus such as \"user\" or \"teamDrive\".+flIncompleteSearch :: Lens' FileList (Maybe Bool)+flIncompleteSearch+ = lens _flIncompleteSearch+ (\ s a -> s{_flIncompleteSearch = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#fileList\".+flKind :: Lens' FileList Text+flKind = lens _flKind (\ s a -> s{_flKind = a})++-- | The list of files. If nextPageToken is populated, then this list may be+-- incomplete and an additional page of results should be fetched.+flFiles :: Lens' FileList [File]+flFiles+ = lens _flFiles (\ s a -> s{_flFiles = a}) . _Default+ . _Coerce++instance FromJSON FileList where+ parseJSON+ = withObject "FileList"+ (\ o ->+ FileList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "incompleteSearch")+ <*> (o .:? "kind" .!= "drive#fileList")+ <*> (o .:? "files" .!= mempty))++instance ToJSON FileList where+ toJSON FileList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _flNextPageToken,+ ("incompleteSearch" .=) <$> _flIncompleteSearch,+ Just ("kind" .= _flKind), ("files" .=) <$> _flFiles])++-- | Capabilities the current user has on this Team Drive.+--+-- /See:/ 'teamDriveCapabilities' smart constructor.+data TeamDriveCapabilities = TeamDriveCapabilities'+ { _tdcCanRename :: !(Maybe Bool)+ , _tdcCanChangeTeamMembersOnlyRestriction :: !(Maybe Bool)+ , _tdcCanComment :: !(Maybe Bool)+ , _tdcCanRenameTeamDrive :: !(Maybe Bool)+ , _tdcCanChangeTeamDriveBackgRound :: !(Maybe Bool)+ , _tdcCanDownload :: !(Maybe Bool)+ , _tdcCanChangeDomainUsersOnlyRestriction :: !(Maybe Bool)+ , _tdcCanTrashChildren :: !(Maybe Bool)+ , _tdcCanAddChildren :: !(Maybe Bool)+ , _tdcCanRemoveChildren :: !(Maybe Bool)+ , _tdcCanChangeCopyRequiresWriterPermissionRestriction :: !(Maybe Bool)+ , _tdcCanDeleteTeamDrive :: !(Maybe Bool)+ , _tdcCanListChildren :: !(Maybe Bool)+ , _tdcCanEdit :: !(Maybe Bool)+ , _tdcCanManageMembers :: !(Maybe Bool)+ , _tdcCanReadRevisions :: !(Maybe Bool)+ , _tdcCanDeleteChildren :: !(Maybe Bool)+ , _tdcCanCopy :: !(Maybe Bool)+ , _tdcCanShare :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamDriveCapabilities' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdcCanRename'+--+-- * 'tdcCanChangeTeamMembersOnlyRestriction'+--+-- * 'tdcCanComment'+--+-- * 'tdcCanRenameTeamDrive'+--+-- * 'tdcCanChangeTeamDriveBackgRound'+--+-- * 'tdcCanDownload'+--+-- * 'tdcCanChangeDomainUsersOnlyRestriction'+--+-- * 'tdcCanTrashChildren'+--+-- * 'tdcCanAddChildren'+--+-- * 'tdcCanRemoveChildren'+--+-- * 'tdcCanChangeCopyRequiresWriterPermissionRestriction'+--+-- * 'tdcCanDeleteTeamDrive'+--+-- * 'tdcCanListChildren'+--+-- * 'tdcCanEdit'+--+-- * 'tdcCanManageMembers'+--+-- * 'tdcCanReadRevisions'+--+-- * 'tdcCanDeleteChildren'+--+-- * 'tdcCanCopy'+--+-- * 'tdcCanShare'+teamDriveCapabilities+ :: TeamDriveCapabilities+teamDriveCapabilities =+ TeamDriveCapabilities'+ { _tdcCanRename = Nothing+ , _tdcCanChangeTeamMembersOnlyRestriction = Nothing+ , _tdcCanComment = Nothing+ , _tdcCanRenameTeamDrive = Nothing+ , _tdcCanChangeTeamDriveBackgRound = Nothing+ , _tdcCanDownload = Nothing+ , _tdcCanChangeDomainUsersOnlyRestriction = Nothing+ , _tdcCanTrashChildren = Nothing+ , _tdcCanAddChildren = Nothing+ , _tdcCanRemoveChildren = Nothing+ , _tdcCanChangeCopyRequiresWriterPermissionRestriction = Nothing+ , _tdcCanDeleteTeamDrive = Nothing+ , _tdcCanListChildren = Nothing+ , _tdcCanEdit = Nothing+ , _tdcCanManageMembers = Nothing+ , _tdcCanReadRevisions = Nothing+ , _tdcCanDeleteChildren = Nothing+ , _tdcCanCopy = Nothing+ , _tdcCanShare = Nothing+ }++-- | Whether the current user can rename files or folders in this Team Drive.+tdcCanRename :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanRename+ = lens _tdcCanRename (\ s a -> s{_tdcCanRename = a})++-- | Whether the current user can change the teamMembersOnly restriction of+-- this Team Drive.+tdcCanChangeTeamMembersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanChangeTeamMembersOnlyRestriction+ = lens _tdcCanChangeTeamMembersOnlyRestriction+ (\ s a ->+ s{_tdcCanChangeTeamMembersOnlyRestriction = a})++-- | Whether the current user can comment on files in this Team Drive.+tdcCanComment :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanComment+ = lens _tdcCanComment+ (\ s a -> s{_tdcCanComment = a})++-- | Whether the current user can rename this Team Drive.+tdcCanRenameTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanRenameTeamDrive+ = lens _tdcCanRenameTeamDrive+ (\ s a -> s{_tdcCanRenameTeamDrive = a})++-- | Whether the current user can change the background of this Team Drive.+tdcCanChangeTeamDriveBackgRound :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanChangeTeamDriveBackgRound+ = lens _tdcCanChangeTeamDriveBackgRound+ (\ s a -> s{_tdcCanChangeTeamDriveBackgRound = a})++-- | Whether the current user can download files in this Team Drive.+tdcCanDownload :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanDownload+ = lens _tdcCanDownload+ (\ s a -> s{_tdcCanDownload = a})++-- | Whether the current user can change the domainUsersOnly restriction of+-- this Team Drive.+tdcCanChangeDomainUsersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanChangeDomainUsersOnlyRestriction+ = lens _tdcCanChangeDomainUsersOnlyRestriction+ (\ s a ->+ s{_tdcCanChangeDomainUsersOnlyRestriction = a})++-- | Whether the current user can trash children from folders in this Team+-- Drive.+tdcCanTrashChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanTrashChildren+ = lens _tdcCanTrashChildren+ (\ s a -> s{_tdcCanTrashChildren = a})++-- | Whether the current user can add children to folders in this Team Drive.+tdcCanAddChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanAddChildren+ = lens _tdcCanAddChildren+ (\ s a -> s{_tdcCanAddChildren = a})++-- | Deprecated - use canDeleteChildren or canTrashChildren instead.+tdcCanRemoveChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanRemoveChildren+ = lens _tdcCanRemoveChildren+ (\ s a -> s{_tdcCanRemoveChildren = a})++-- | Whether the current user can change the copyRequiresWriterPermission+-- restriction of this Team Drive.+tdcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanChangeCopyRequiresWriterPermissionRestriction+ = lens+ _tdcCanChangeCopyRequiresWriterPermissionRestriction+ (\ s a ->+ s{_tdcCanChangeCopyRequiresWriterPermissionRestriction+ = a})++-- | Whether the current user can delete this Team Drive. Attempting to+-- delete the Team Drive may still fail if there are untrashed items inside+-- the Team Drive.+tdcCanDeleteTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanDeleteTeamDrive+ = lens _tdcCanDeleteTeamDrive+ (\ s a -> s{_tdcCanDeleteTeamDrive = a})++-- | Whether the current user can list the children of folders in this Team+-- Drive.+tdcCanListChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanListChildren+ = lens _tdcCanListChildren+ (\ s a -> s{_tdcCanListChildren = a})++-- | Whether the current user can edit files in this Team Drive+tdcCanEdit :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanEdit+ = lens _tdcCanEdit (\ s a -> s{_tdcCanEdit = a})++-- | Whether the current user can add members to this Team Drive or remove+-- them or change their role.+tdcCanManageMembers :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanManageMembers+ = lens _tdcCanManageMembers+ (\ s a -> s{_tdcCanManageMembers = a})++-- | Whether the current user can read the revisions resource of files in+-- this Team Drive.+tdcCanReadRevisions :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanReadRevisions+ = lens _tdcCanReadRevisions+ (\ s a -> s{_tdcCanReadRevisions = a})++-- | Whether the current user can delete children from folders in this Team+-- Drive.+tdcCanDeleteChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanDeleteChildren+ = lens _tdcCanDeleteChildren+ (\ s a -> s{_tdcCanDeleteChildren = a})++-- | Whether the current user can copy files in this Team Drive.+tdcCanCopy :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanCopy+ = lens _tdcCanCopy (\ s a -> s{_tdcCanCopy = a})++-- | Whether the current user can share files or folders in this Team Drive.+tdcCanShare :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanShare+ = lens _tdcCanShare (\ s a -> s{_tdcCanShare = a})++instance FromJSON TeamDriveCapabilities where+ parseJSON+ = withObject "TeamDriveCapabilities"+ (\ o ->+ TeamDriveCapabilities' <$>+ (o .:? "canRename") <*>+ (o .:? "canChangeTeamMembersOnlyRestriction")+ <*> (o .:? "canComment")+ <*> (o .:? "canRenameTeamDrive")+ <*> (o .:? "canChangeTeamDriveBackground")+ <*> (o .:? "canDownload")+ <*> (o .:? "canChangeDomainUsersOnlyRestriction")+ <*> (o .:? "canTrashChildren")+ <*> (o .:? "canAddChildren")+ <*> (o .:? "canRemoveChildren")+ <*>+ (o .:?+ "canChangeCopyRequiresWriterPermissionRestriction")+ <*> (o .:? "canDeleteTeamDrive")+ <*> (o .:? "canListChildren")+ <*> (o .:? "canEdit")+ <*> (o .:? "canManageMembers")+ <*> (o .:? "canReadRevisions")+ <*> (o .:? "canDeleteChildren")+ <*> (o .:? "canCopy")+ <*> (o .:? "canShare"))++instance ToJSON TeamDriveCapabilities where+ toJSON TeamDriveCapabilities'{..}+ = object+ (catMaybes+ [("canRename" .=) <$> _tdcCanRename,+ ("canChangeTeamMembersOnlyRestriction" .=) <$>+ _tdcCanChangeTeamMembersOnlyRestriction,+ ("canComment" .=) <$> _tdcCanComment,+ ("canRenameTeamDrive" .=) <$> _tdcCanRenameTeamDrive,+ ("canChangeTeamDriveBackground" .=) <$>+ _tdcCanChangeTeamDriveBackgRound,+ ("canDownload" .=) <$> _tdcCanDownload,+ ("canChangeDomainUsersOnlyRestriction" .=) <$>+ _tdcCanChangeDomainUsersOnlyRestriction,+ ("canTrashChildren" .=) <$> _tdcCanTrashChildren,+ ("canAddChildren" .=) <$> _tdcCanAddChildren,+ ("canRemoveChildren" .=) <$> _tdcCanRemoveChildren,+ ("canChangeCopyRequiresWriterPermissionRestriction"+ .=)+ <$>+ _tdcCanChangeCopyRequiresWriterPermissionRestriction,+ ("canDeleteTeamDrive" .=) <$> _tdcCanDeleteTeamDrive,+ ("canListChildren" .=) <$> _tdcCanListChildren,+ ("canEdit" .=) <$> _tdcCanEdit,+ ("canManageMembers" .=) <$> _tdcCanManageMembers,+ ("canReadRevisions" .=) <$> _tdcCanReadRevisions,+ ("canDeleteChildren" .=) <$> _tdcCanDeleteChildren,+ ("canCopy" .=) <$> _tdcCanCopy,+ ("canShare" .=) <$> _tdcCanShare])++-- | The file content to which the comment refers, typically within the+-- anchor region. For a text file, for example, this would be the text at+-- the location of the comment.+--+-- /See:/ 'commentQuotedFileContent' smart constructor.+data CommentQuotedFileContent = CommentQuotedFileContent'+ { _cqfcValue :: !(Maybe Text)+ , _cqfcMimeType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentQuotedFileContent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cqfcValue'+--+-- * 'cqfcMimeType'+commentQuotedFileContent+ :: CommentQuotedFileContent+commentQuotedFileContent =+ CommentQuotedFileContent'+ { _cqfcValue = Nothing+ , _cqfcMimeType = Nothing+ }++-- | The quoted content itself. This is interpreted as plain text if set+-- through the API.+cqfcValue :: Lens' CommentQuotedFileContent (Maybe Text)+cqfcValue+ = lens _cqfcValue (\ s a -> s{_cqfcValue = a})++-- | The MIME type of the quoted content.+cqfcMimeType :: Lens' CommentQuotedFileContent (Maybe Text)+cqfcMimeType+ = lens _cqfcMimeType (\ s a -> s{_cqfcMimeType = a})++instance FromJSON CommentQuotedFileContent where+ parseJSON+ = withObject "CommentQuotedFileContent"+ (\ o ->+ CommentQuotedFileContent' <$>+ (o .:? "value") <*> (o .:? "mimeType"))++instance ToJSON CommentQuotedFileContent where+ toJSON CommentQuotedFileContent'{..}+ = object+ (catMaybes+ [("value" .=) <$> _cqfcValue,+ ("mimeType" .=) <$> _cqfcMimeType])++-- | The user\'s storage quota limits and usage. All fields are measured in+-- bytes.+--+-- /See:/ 'aboutStorageQuota' smart constructor.+data AboutStorageQuota = AboutStorageQuota'+ { _asqUsageInDriveTrash :: !(Maybe (Textual Int64))+ , _asqLimit :: !(Maybe (Textual Int64))+ , _asqUsage :: !(Maybe (Textual Int64))+ , _asqUsageInDrive :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutStorageQuota' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asqUsageInDriveTrash'+--+-- * 'asqLimit'+--+-- * 'asqUsage'+--+-- * 'asqUsageInDrive'+aboutStorageQuota+ :: AboutStorageQuota+aboutStorageQuota =+ AboutStorageQuota'+ { _asqUsageInDriveTrash = Nothing+ , _asqLimit = Nothing+ , _asqUsage = Nothing+ , _asqUsageInDrive = Nothing+ }++-- | The usage by trashed files in Google Drive.+asqUsageInDriveTrash :: Lens' AboutStorageQuota (Maybe Int64)+asqUsageInDriveTrash+ = lens _asqUsageInDriveTrash+ (\ s a -> s{_asqUsageInDriveTrash = a})+ . mapping _Coerce++-- | The usage limit, if applicable. This will not be present if the user has+-- unlimited storage.+asqLimit :: Lens' AboutStorageQuota (Maybe Int64)+asqLimit+ = lens _asqLimit (\ s a -> s{_asqLimit = a}) .+ mapping _Coerce++-- | The total usage across all services.+asqUsage :: Lens' AboutStorageQuota (Maybe Int64)+asqUsage+ = lens _asqUsage (\ s a -> s{_asqUsage = a}) .+ mapping _Coerce++-- | The usage by all files in Google Drive.+asqUsageInDrive :: Lens' AboutStorageQuota (Maybe Int64)+asqUsageInDrive+ = lens _asqUsageInDrive+ (\ s a -> s{_asqUsageInDrive = a})+ . mapping _Coerce++instance FromJSON AboutStorageQuota where+ parseJSON+ = withObject "AboutStorageQuota"+ (\ o ->+ AboutStorageQuota' <$>+ (o .:? "usageInDriveTrash") <*> (o .:? "limit") <*>+ (o .:? "usage")+ <*> (o .:? "usageInDrive"))++instance ToJSON AboutStorageQuota where+ toJSON AboutStorageQuota'{..}+ = object+ (catMaybes+ [("usageInDriveTrash" .=) <$> _asqUsageInDriveTrash,+ ("limit" .=) <$> _asqLimit,+ ("usage" .=) <$> _asqUsage,+ ("usageInDrive" .=) <$> _asqUsageInDrive])++-- | A reply to a comment on a file.+--+-- /See:/ 'reply' smart constructor.+data Reply = Reply'+ { _rHTMLContent :: !(Maybe Text)+ , _rModifiedTime :: !(Maybe DateTime')+ , _rCreatedTime :: !(Maybe DateTime')+ , _rKind :: !Text+ , _rAction :: !(Maybe Text)+ , _rContent :: !(Maybe Text)+ , _rAuthor :: !(Maybe User)+ , _rId :: !(Maybe Text)+ , _rDeleted :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Reply' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rHTMLContent'+--+-- * 'rModifiedTime'+--+-- * 'rCreatedTime'+--+-- * 'rKind'+--+-- * 'rAction'+--+-- * 'rContent'+--+-- * 'rAuthor'+--+-- * 'rId'+--+-- * 'rDeleted'+reply+ :: Reply+reply =+ Reply'+ { _rHTMLContent = Nothing+ , _rModifiedTime = Nothing+ , _rCreatedTime = Nothing+ , _rKind = "drive#reply"+ , _rAction = Nothing+ , _rContent = Nothing+ , _rAuthor = Nothing+ , _rId = Nothing+ , _rDeleted = Nothing+ }++-- | The content of the reply with HTML formatting.+rHTMLContent :: Lens' Reply (Maybe Text)+rHTMLContent+ = lens _rHTMLContent (\ s a -> s{_rHTMLContent = a})++-- | The last time the reply was modified (RFC 3339 date-time).+rModifiedTime :: Lens' Reply (Maybe UTCTime)+rModifiedTime+ = lens _rModifiedTime+ (\ s a -> s{_rModifiedTime = a})+ . mapping _DateTime++-- | The time at which the reply was created (RFC 3339 date-time).+rCreatedTime :: Lens' Reply (Maybe UTCTime)+rCreatedTime+ = lens _rCreatedTime (\ s a -> s{_rCreatedTime = a})+ . mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#reply\".+rKind :: Lens' Reply Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | The action the reply performed to the parent comment. Valid values are:+-- - resolve - reopen+rAction :: Lens' Reply (Maybe Text)+rAction = lens _rAction (\ s a -> s{_rAction = a})++-- | The plain text content of the reply. This field is used for setting the+-- content, while htmlContent should be displayed. This is required on+-- creates if no action is specified.+rContent :: Lens' Reply (Maybe Text)+rContent = lens _rContent (\ s a -> s{_rContent = a})++-- | The user who created the reply.+rAuthor :: Lens' Reply (Maybe User)+rAuthor = lens _rAuthor (\ s a -> s{_rAuthor = a})++-- | The ID of the reply.+rId :: Lens' Reply (Maybe Text)+rId = lens _rId (\ s a -> s{_rId = a})++-- | Whether the reply has been deleted. A deleted reply has no content.+rDeleted :: Lens' Reply (Maybe Bool)+rDeleted = lens _rDeleted (\ s a -> s{_rDeleted = a})++instance FromJSON Reply where+ parseJSON+ = withObject "Reply"+ (\ o ->+ Reply' <$>+ (o .:? "htmlContent") <*> (o .:? "modifiedTime") <*>+ (o .:? "createdTime")+ <*> (o .:? "kind" .!= "drive#reply")+ <*> (o .:? "action")+ <*> (o .:? "content")+ <*> (o .:? "author")+ <*> (o .:? "id")+ <*> (o .:? "deleted"))++instance ToJSON Reply where+ toJSON Reply'{..}+ = object+ (catMaybes+ [("htmlContent" .=) <$> _rHTMLContent,+ ("modifiedTime" .=) <$> _rModifiedTime,+ ("createdTime" .=) <$> _rCreatedTime,+ Just ("kind" .= _rKind), ("action" .=) <$> _rAction,+ ("content" .=) <$> _rContent,+ ("author" .=) <$> _rAuthor, ("id" .=) <$> _rId,+ ("deleted" .=) <$> _rDeleted])++-- | A map of source MIME type to possible targets for all supported imports.+--+-- /See:/ 'aboutImportFormats' smart constructor.+newtype AboutImportFormats = AboutImportFormats'+ { _aifAddtional :: HashMap Text [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutImportFormats' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aifAddtional'+aboutImportFormats+ :: HashMap Text [Text] -- ^ 'aifAddtional'+ -> AboutImportFormats+aboutImportFormats pAifAddtional_ =+ AboutImportFormats'+ { _aifAddtional = _Coerce # pAifAddtional_+ }++aifAddtional :: Lens' AboutImportFormats (HashMap Text [Text])+aifAddtional+ = lens _aifAddtional (\ s a -> s{_aifAddtional = a})+ . _Coerce++instance FromJSON AboutImportFormats where+ parseJSON+ = withObject "AboutImportFormats"+ (\ o -> AboutImportFormats' <$> (parseJSONObject o))++instance ToJSON AboutImportFormats where+ toJSON = toJSON . _aifAddtional++-- | Capabilities the current user has on this file. Each capability+-- corresponds to a fine-grained action that a user may take.+--+-- /See:/ 'fileCapabilities' smart constructor.+data FileCapabilities = FileCapabilities'+ { _fcCanRename :: !(Maybe Bool)+ , _fcCanComment :: !(Maybe Bool)+ , _fcCanMoveChildrenWithinTeamDrive :: !(Maybe Bool)+ , _fcCanDelete :: !(Maybe Bool)+ , _fcCanMoveItemIntoTeamDrive :: !(Maybe Bool)+ , _fcCanDownload :: !(Maybe Bool)+ , _fcCanTrash :: !(Maybe Bool)+ , _fcCanUntrash :: !(Maybe Bool)+ , _fcCanTrashChildren :: !(Maybe Bool)+ , _fcCanAddChildren :: !(Maybe Bool)+ , _fcCanRemoveChildren :: !(Maybe Bool)+ , _fcCanMoveTeamDriveItem :: !(Maybe Bool)+ , _fcCanMoveItemWithinTeamDrive :: !(Maybe Bool)+ , _fcCanReadTeamDrive :: !(Maybe Bool)+ , _fcCanChangeCopyRequiresWriterPermission :: !(Maybe Bool)+ , _fcCanListChildren :: !(Maybe Bool)+ , _fcCanMoveChildrenOutOfTeamDrive :: !(Maybe Bool)+ , _fcCanEdit :: !(Maybe Bool)+ , _fcCanChangeViewersCanCopyContent :: !(Maybe Bool)+ , _fcCanReadRevisions :: !(Maybe Bool)+ , _fcCanDeleteChildren :: !(Maybe Bool)+ , _fcCanMoveItemOutOfTeamDrive :: !(Maybe Bool)+ , _fcCanCopy :: !(Maybe Bool)+ , _fcCanShare :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileCapabilities' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcCanRename'+--+-- * 'fcCanComment'+--+-- * 'fcCanMoveChildrenWithinTeamDrive'+--+-- * 'fcCanDelete'+--+-- * 'fcCanMoveItemIntoTeamDrive'+--+-- * 'fcCanDownload'+--+-- * 'fcCanTrash'+--+-- * 'fcCanUntrash'+--+-- * 'fcCanTrashChildren'+--+-- * 'fcCanAddChildren'+--+-- * 'fcCanRemoveChildren'+--+-- * 'fcCanMoveTeamDriveItem'+--+-- * 'fcCanMoveItemWithinTeamDrive'+--+-- * 'fcCanReadTeamDrive'+--+-- * 'fcCanChangeCopyRequiresWriterPermission'+--+-- * 'fcCanListChildren'+--+-- * 'fcCanMoveChildrenOutOfTeamDrive'+--+-- * 'fcCanEdit'+--+-- * 'fcCanChangeViewersCanCopyContent'+--+-- * 'fcCanReadRevisions'+--+-- * 'fcCanDeleteChildren'+--+-- * 'fcCanMoveItemOutOfTeamDrive'+--+-- * 'fcCanCopy'+--+-- * 'fcCanShare'+fileCapabilities+ :: FileCapabilities+fileCapabilities =+ FileCapabilities'+ { _fcCanRename = Nothing+ , _fcCanComment = Nothing+ , _fcCanMoveChildrenWithinTeamDrive = Nothing+ , _fcCanDelete = Nothing+ , _fcCanMoveItemIntoTeamDrive = Nothing+ , _fcCanDownload = Nothing+ , _fcCanTrash = Nothing+ , _fcCanUntrash = Nothing+ , _fcCanTrashChildren = Nothing+ , _fcCanAddChildren = Nothing+ , _fcCanRemoveChildren = Nothing+ , _fcCanMoveTeamDriveItem = Nothing+ , _fcCanMoveItemWithinTeamDrive = Nothing+ , _fcCanReadTeamDrive = Nothing+ , _fcCanChangeCopyRequiresWriterPermission = Nothing+ , _fcCanListChildren = Nothing+ , _fcCanMoveChildrenOutOfTeamDrive = Nothing+ , _fcCanEdit = Nothing+ , _fcCanChangeViewersCanCopyContent = Nothing+ , _fcCanReadRevisions = Nothing+ , _fcCanDeleteChildren = Nothing+ , _fcCanMoveItemOutOfTeamDrive = Nothing+ , _fcCanCopy = Nothing+ , _fcCanShare = Nothing+ }++-- | Whether the current user can rename this file.+fcCanRename :: Lens' FileCapabilities (Maybe Bool)+fcCanRename+ = lens _fcCanRename (\ s a -> s{_fcCanRename = a})++-- | Whether the current user can comment on this file.+fcCanComment :: Lens' FileCapabilities (Maybe Bool)+fcCanComment+ = lens _fcCanComment (\ s a -> s{_fcCanComment = a})++-- | Whether the current user can move children of this folder within the+-- Team Drive. This is false when the item is not a folder. Only populated+-- for Team Drive items.+fcCanMoveChildrenWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveChildrenWithinTeamDrive+ = lens _fcCanMoveChildrenWithinTeamDrive+ (\ s a -> s{_fcCanMoveChildrenWithinTeamDrive = a})++-- | Whether the current user can delete this file.+fcCanDelete :: Lens' FileCapabilities (Maybe Bool)+fcCanDelete+ = lens _fcCanDelete (\ s a -> s{_fcCanDelete = a})++-- | Whether the current user can move this item into a Team Drive. If the+-- item is in a Team Drive, this field is equivalent to+-- canMoveTeamDriveItem.+fcCanMoveItemIntoTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveItemIntoTeamDrive+ = lens _fcCanMoveItemIntoTeamDrive+ (\ s a -> s{_fcCanMoveItemIntoTeamDrive = a})++-- | Whether the current user can download this file.+fcCanDownload :: Lens' FileCapabilities (Maybe Bool)+fcCanDownload+ = lens _fcCanDownload+ (\ s a -> s{_fcCanDownload = a})++-- | Whether the current user can move this file to trash.+fcCanTrash :: Lens' FileCapabilities (Maybe Bool)+fcCanTrash+ = lens _fcCanTrash (\ s a -> s{_fcCanTrash = a})++-- | Whether the current user can restore this file from trash.+fcCanUntrash :: Lens' FileCapabilities (Maybe Bool)+fcCanUntrash+ = lens _fcCanUntrash (\ s a -> s{_fcCanUntrash = a})++-- | Whether the current user can trash children of this folder. This is+-- false when the item is not a folder. Only populated for Team Drive+-- items.+fcCanTrashChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanTrashChildren+ = lens _fcCanTrashChildren+ (\ s a -> s{_fcCanTrashChildren = a})++-- | Whether the current user can add children to this folder. This is always+-- false when the item is not a folder.+fcCanAddChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanAddChildren+ = lens _fcCanAddChildren+ (\ s a -> s{_fcCanAddChildren = a})++-- | Whether the current user can remove children from this folder. This is+-- always false when the item is not a folder. For Team Drive items, use+-- canDeleteChildren or canTrashChildren instead.+fcCanRemoveChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanRemoveChildren+ = lens _fcCanRemoveChildren+ (\ s a -> s{_fcCanRemoveChildren = a})++-- | Deprecated - use canMoveItemWithinTeamDrive or canMoveItemOutOfTeamDrive+-- instead.+fcCanMoveTeamDriveItem :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveTeamDriveItem+ = lens _fcCanMoveTeamDriveItem+ (\ s a -> s{_fcCanMoveTeamDriveItem = a})++-- | Whether the current user can move this Team Drive item within this Team+-- Drive. Note that a request to change the parent of the item may still+-- fail depending on the new parent that is being added. Only populated for+-- Team Drive items.+fcCanMoveItemWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveItemWithinTeamDrive+ = lens _fcCanMoveItemWithinTeamDrive+ (\ s a -> s{_fcCanMoveItemWithinTeamDrive = a})++-- | Whether the current user can read the Team Drive to which this file+-- belongs. Only populated for Team Drive files.+fcCanReadTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanReadTeamDrive+ = lens _fcCanReadTeamDrive+ (\ s a -> s{_fcCanReadTeamDrive = a})++-- | Whether the current user can change the copyRequiresWriterPermission+-- restriction of this file.+fcCanChangeCopyRequiresWriterPermission :: Lens' FileCapabilities (Maybe Bool)+fcCanChangeCopyRequiresWriterPermission+ = lens _fcCanChangeCopyRequiresWriterPermission+ (\ s a ->+ s{_fcCanChangeCopyRequiresWriterPermission = a})++-- | Whether the current user can list the children of this folder. This is+-- always false when the item is not a folder.+fcCanListChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanListChildren+ = lens _fcCanListChildren+ (\ s a -> s{_fcCanListChildren = a})++-- | Whether the current user can move children of this folder outside of the+-- Team Drive. This is false when the item is not a folder. Only populated+-- for Team Drive items.+fcCanMoveChildrenOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveChildrenOutOfTeamDrive+ = lens _fcCanMoveChildrenOutOfTeamDrive+ (\ s a -> s{_fcCanMoveChildrenOutOfTeamDrive = a})++-- | Whether the current user can edit this file.+fcCanEdit :: Lens' FileCapabilities (Maybe Bool)+fcCanEdit+ = lens _fcCanEdit (\ s a -> s{_fcCanEdit = a})++-- | Deprecated+fcCanChangeViewersCanCopyContent :: Lens' FileCapabilities (Maybe Bool)+fcCanChangeViewersCanCopyContent+ = lens _fcCanChangeViewersCanCopyContent+ (\ s a -> s{_fcCanChangeViewersCanCopyContent = a})++-- | Whether the current user can read the revisions resource of this file.+-- For a Team Drive item, whether revisions of non-folder descendants of+-- this item, or this item itself if it is not a folder, can be read.+fcCanReadRevisions :: Lens' FileCapabilities (Maybe Bool)+fcCanReadRevisions+ = lens _fcCanReadRevisions+ (\ s a -> s{_fcCanReadRevisions = a})++-- | Whether the current user can delete children of this folder. This is+-- false when the item is not a folder. Only populated for Team Drive+-- items.+fcCanDeleteChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanDeleteChildren+ = lens _fcCanDeleteChildren+ (\ s a -> s{_fcCanDeleteChildren = a})++-- | Whether the current user can move this Team Drive item outside of this+-- Team Drive by changing its parent. Note that a request to change the+-- parent of the item may still fail depending on the new parent that is+-- being added. Only populated for Team Drive items.+fcCanMoveItemOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveItemOutOfTeamDrive+ = lens _fcCanMoveItemOutOfTeamDrive+ (\ s a -> s{_fcCanMoveItemOutOfTeamDrive = a})++-- | Whether the current user can copy this file. For a Team Drive item,+-- whether the current user can copy non-folder descendants of this item,+-- or this item itself if it is not a folder.+fcCanCopy :: Lens' FileCapabilities (Maybe Bool)+fcCanCopy+ = lens _fcCanCopy (\ s a -> s{_fcCanCopy = a})++-- | Whether the current user can modify the sharing settings for this file.+fcCanShare :: Lens' FileCapabilities (Maybe Bool)+fcCanShare+ = lens _fcCanShare (\ s a -> s{_fcCanShare = a})++instance FromJSON FileCapabilities where+ parseJSON+ = withObject "FileCapabilities"+ (\ o ->+ FileCapabilities' <$>+ (o .:? "canRename") <*> (o .:? "canComment") <*>+ (o .:? "canMoveChildrenWithinTeamDrive")+ <*> (o .:? "canDelete")+ <*> (o .:? "canMoveItemIntoTeamDrive")+ <*> (o .:? "canDownload")+ <*> (o .:? "canTrash")+ <*> (o .:? "canUntrash")+ <*> (o .:? "canTrashChildren")+ <*> (o .:? "canAddChildren")+ <*> (o .:? "canRemoveChildren")+ <*> (o .:? "canMoveTeamDriveItem")+ <*> (o .:? "canMoveItemWithinTeamDrive")+ <*> (o .:? "canReadTeamDrive")+ <*> (o .:? "canChangeCopyRequiresWriterPermission")+ <*> (o .:? "canListChildren")+ <*> (o .:? "canMoveChildrenOutOfTeamDrive")+ <*> (o .:? "canEdit")+ <*> (o .:? "canChangeViewersCanCopyContent")+ <*> (o .:? "canReadRevisions")+ <*> (o .:? "canDeleteChildren")+ <*> (o .:? "canMoveItemOutOfTeamDrive")+ <*> (o .:? "canCopy")+ <*> (o .:? "canShare"))++instance ToJSON FileCapabilities where+ toJSON FileCapabilities'{..}+ = object+ (catMaybes+ [("canRename" .=) <$> _fcCanRename,+ ("canComment" .=) <$> _fcCanComment,+ ("canMoveChildrenWithinTeamDrive" .=) <$>+ _fcCanMoveChildrenWithinTeamDrive,+ ("canDelete" .=) <$> _fcCanDelete,+ ("canMoveItemIntoTeamDrive" .=) <$>+ _fcCanMoveItemIntoTeamDrive,+ ("canDownload" .=) <$> _fcCanDownload,+ ("canTrash" .=) <$> _fcCanTrash,+ ("canUntrash" .=) <$> _fcCanUntrash,+ ("canTrashChildren" .=) <$> _fcCanTrashChildren,+ ("canAddChildren" .=) <$> _fcCanAddChildren,+ ("canRemoveChildren" .=) <$> _fcCanRemoveChildren,+ ("canMoveTeamDriveItem" .=) <$>+ _fcCanMoveTeamDriveItem,+ ("canMoveItemWithinTeamDrive" .=) <$>+ _fcCanMoveItemWithinTeamDrive,+ ("canReadTeamDrive" .=) <$> _fcCanReadTeamDrive,+ ("canChangeCopyRequiresWriterPermission" .=) <$>+ _fcCanChangeCopyRequiresWriterPermission,+ ("canListChildren" .=) <$> _fcCanListChildren,+ ("canMoveChildrenOutOfTeamDrive" .=) <$>+ _fcCanMoveChildrenOutOfTeamDrive,+ ("canEdit" .=) <$> _fcCanEdit,+ ("canChangeViewersCanCopyContent" .=) <$>+ _fcCanChangeViewersCanCopyContent,+ ("canReadRevisions" .=) <$> _fcCanReadRevisions,+ ("canDeleteChildren" .=) <$> _fcCanDeleteChildren,+ ("canMoveItemOutOfTeamDrive" .=) <$>+ _fcCanMoveItemOutOfTeamDrive,+ ("canCopy" .=) <$> _fcCanCopy,+ ("canShare" .=) <$> _fcCanShare])++-- | A list of replies to a comment on a file.+--+-- /See:/ 'replyList' smart constructor.+data ReplyList = ReplyList'+ { _rlNextPageToken :: !(Maybe Text)+ , _rlKind :: !Text+ , _rlReplies :: !(Maybe [Reply])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplyList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlNextPageToken'+--+-- * 'rlKind'+--+-- * 'rlReplies'+replyList+ :: ReplyList+replyList =+ ReplyList'+ { _rlNextPageToken = Nothing+ , _rlKind = "drive#replyList"+ , _rlReplies = Nothing+ }++-- | The page token for the next page of replies. This will be absent if the+-- end of the replies list has been reached. If the token is rejected for+-- any reason, it should be discarded, and pagination should be restarted+-- from the first page of results.+rlNextPageToken :: Lens' ReplyList (Maybe Text)+rlNextPageToken+ = lens _rlNextPageToken+ (\ s a -> s{_rlNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#replyList\".+rlKind :: Lens' ReplyList Text+rlKind = lens _rlKind (\ s a -> s{_rlKind = a})++-- | The list of replies. If nextPageToken is populated, then this list may+-- be incomplete and an additional page of results should be fetched.+rlReplies :: Lens' ReplyList [Reply]+rlReplies+ = lens _rlReplies (\ s a -> s{_rlReplies = a}) .+ _Default+ . _Coerce++instance FromJSON ReplyList where+ parseJSON+ = withObject "ReplyList"+ (\ o ->+ ReplyList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "drive#replyList")+ <*> (o .:? "replies" .!= mempty))++instance ToJSON ReplyList where+ toJSON ReplyList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _rlNextPageToken,+ Just ("kind" .= _rlKind),+ ("replies" .=) <$> _rlReplies])++-- | A thumbnail for the file. This will only be used if Drive cannot+-- generate a standard thumbnail.+--+-- /See:/ 'fileContentHintsThumbnail' smart constructor.+data FileContentHintsThumbnail = FileContentHintsThumbnail'+ { _fchtImage :: !(Maybe Bytes)+ , _fchtMimeType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileContentHintsThumbnail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fchtImage'+--+-- * 'fchtMimeType'+fileContentHintsThumbnail+ :: FileContentHintsThumbnail+fileContentHintsThumbnail =+ FileContentHintsThumbnail'+ { _fchtImage = Nothing+ , _fchtMimeType = Nothing+ }++-- | The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).+fchtImage :: Lens' FileContentHintsThumbnail (Maybe ByteString)+fchtImage+ = lens _fchtImage (\ s a -> s{_fchtImage = a}) .+ mapping _Bytes++-- | The MIME type of the thumbnail.+fchtMimeType :: Lens' FileContentHintsThumbnail (Maybe Text)+fchtMimeType+ = lens _fchtMimeType (\ s a -> s{_fchtMimeType = a})++instance FromJSON FileContentHintsThumbnail where+ parseJSON+ = withObject "FileContentHintsThumbnail"+ (\ o ->+ FileContentHintsThumbnail' <$>+ (o .:? "image") <*> (o .:? "mimeType"))++instance ToJSON FileContentHintsThumbnail where+ toJSON FileContentHintsThumbnail'{..}+ = object+ (catMaybes+ [("image" .=) <$> _fchtImage,+ ("mimeType" .=) <$> _fchtMimeType])++-- | A list of Team Drives.+--+-- /See:/ 'teamDriveList' smart constructor.+data TeamDriveList = TeamDriveList'+ { _tdlNextPageToken :: !(Maybe Text)+ , _tdlTeamDrives :: !(Maybe [TeamDrive])+ , _tdlKind :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamDriveList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdlNextPageToken'+--+-- * 'tdlTeamDrives'+--+-- * 'tdlKind'+teamDriveList+ :: TeamDriveList+teamDriveList =+ TeamDriveList'+ { _tdlNextPageToken = Nothing+ , _tdlTeamDrives = Nothing+ , _tdlKind = "drive#teamDriveList"+ }++-- | The page token for the next page of Team Drives. This will be absent if+-- the end of the Team Drives list has been reached. If the token is+-- rejected for any reason, it should be discarded, and pagination should+-- be restarted from the first page of results.+tdlNextPageToken :: Lens' TeamDriveList (Maybe Text)+tdlNextPageToken+ = lens _tdlNextPageToken+ (\ s a -> s{_tdlNextPageToken = a})++-- | The list of Team Drives. If nextPageToken is populated, then this list+-- may be incomplete and an additional page of results should be fetched.+tdlTeamDrives :: Lens' TeamDriveList [TeamDrive]+tdlTeamDrives+ = lens _tdlTeamDrives+ (\ s a -> s{_tdlTeamDrives = a})+ . _Default+ . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#teamDriveList\".+tdlKind :: Lens' TeamDriveList Text+tdlKind = lens _tdlKind (\ s a -> s{_tdlKind = a})++instance FromJSON TeamDriveList where+ parseJSON+ = withObject "TeamDriveList"+ (\ o ->+ TeamDriveList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "teamDrives" .!= mempty)+ <*> (o .:? "kind" .!= "drive#teamDriveList"))++instance ToJSON TeamDriveList where+ toJSON TeamDriveList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _tdlNextPageToken,+ ("teamDrives" .=) <$> _tdlTeamDrives,+ Just ("kind" .= _tdlKind)])++-- | An notification channel used to watch for resource changes.+--+-- /See:/ 'channel' smart constructor.+data Channel = Channel'+ { _cResourceURI :: !(Maybe Text)+ , _cResourceId :: !(Maybe Text)+ , _cKind :: !Text+ , _cExpiration :: !(Maybe (Textual Int64))+ , _cToken :: !(Maybe Text)+ , _cAddress :: !(Maybe Text)+ , _cPayload :: !(Maybe Bool)+ , _cParams :: !(Maybe ChannelParams)+ , _cId :: !(Maybe Text)+ , _cType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Channel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cResourceURI'+--+-- * 'cResourceId'+--+-- * 'cKind'+--+-- * 'cExpiration'+--+-- * 'cToken'+--+-- * 'cAddress'+--+-- * 'cPayload'+--+-- * 'cParams'+--+-- * 'cId'+--+-- * 'cType'+channel+ :: Channel+channel =+ Channel'+ { _cResourceURI = Nothing+ , _cResourceId = Nothing+ , _cKind = "api#channel"+ , _cExpiration = Nothing+ , _cToken = Nothing+ , _cAddress = Nothing+ , _cPayload = Nothing+ , _cParams = Nothing+ , _cId = Nothing+ , _cType = Nothing+ }++-- | A version-specific identifier for the watched resource.+cResourceURI :: Lens' Channel (Maybe Text)+cResourceURI+ = lens _cResourceURI (\ s a -> s{_cResourceURI = a})++-- | An opaque ID that identifies the resource being watched on this channel.+-- Stable across different API versions.+cResourceId :: Lens' Channel (Maybe Text)+cResourceId+ = lens _cResourceId (\ s a -> s{_cResourceId = a})++-- | Identifies this as a notification channel used to watch for changes to a+-- resource. Value: the fixed string \"api#channel\".+cKind :: Lens' Channel Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | Date and time of notification channel expiration, expressed as a Unix+-- timestamp, in milliseconds. Optional.+cExpiration :: Lens' Channel (Maybe Int64)+cExpiration+ = lens _cExpiration (\ s a -> s{_cExpiration = a}) .+ mapping _Coerce++-- | An arbitrary string delivered to the target address with each+-- notification delivered over this channel. Optional.+cToken :: Lens' Channel (Maybe Text)+cToken = lens _cToken (\ s a -> s{_cToken = a})++-- | The address where notifications are delivered for this channel.+cAddress :: Lens' Channel (Maybe Text)+cAddress = lens _cAddress (\ s a -> s{_cAddress = a})++-- | A Boolean value to indicate whether payload is wanted. Optional.+cPayload :: Lens' Channel (Maybe Bool)+cPayload = lens _cPayload (\ s a -> s{_cPayload = a})++-- | Additional parameters controlling delivery channel behavior. Optional.+cParams :: Lens' Channel (Maybe ChannelParams)+cParams = lens _cParams (\ s a -> s{_cParams = a})++-- | A UUID or similar unique string that identifies this channel.+cId :: Lens' Channel (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++-- | The type of delivery mechanism used for this channel.+cType :: Lens' Channel (Maybe Text)+cType = lens _cType (\ s a -> s{_cType = a})++instance FromJSON Channel where+ parseJSON+ = withObject "Channel"+ (\ o ->+ Channel' <$>+ (o .:? "resourceUri") <*> (o .:? "resourceId") <*>+ (o .:? "kind" .!= "api#channel")+ <*> (o .:? "expiration")+ <*> (o .:? "token")+ <*> (o .:? "address")+ <*> (o .:? "payload")+ <*> (o .:? "params")+ <*> (o .:? "id")+ <*> (o .:? "type"))++instance ToJSON Channel where+ toJSON Channel'{..}+ = object+ (catMaybes+ [("resourceUri" .=) <$> _cResourceURI,+ ("resourceId" .=) <$> _cResourceId,+ Just ("kind" .= _cKind),+ ("expiration" .=) <$> _cExpiration,+ ("token" .=) <$> _cToken,+ ("address" .=) <$> _cAddress,+ ("payload" .=) <$> _cPayload,+ ("params" .=) <$> _cParams, ("id" .=) <$> _cId,+ ("type" .=) <$> _cType])++--+-- /See:/ 'aboutTeamDriveThemesItem' smart constructor.+data AboutTeamDriveThemesItem = AboutTeamDriveThemesItem'+ { _atdtiColorRgb :: !(Maybe Text)+ , _atdtiBackgRoundImageLink :: !(Maybe Text)+ , _atdtiId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutTeamDriveThemesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atdtiColorRgb'+--+-- * 'atdtiBackgRoundImageLink'+--+-- * 'atdtiId'+aboutTeamDriveThemesItem+ :: AboutTeamDriveThemesItem+aboutTeamDriveThemesItem =+ AboutTeamDriveThemesItem'+ { _atdtiColorRgb = Nothing+ , _atdtiBackgRoundImageLink = Nothing+ , _atdtiId = Nothing+ }++-- | The color of this Team Drive theme as an RGB hex string.+atdtiColorRgb :: Lens' AboutTeamDriveThemesItem (Maybe Text)+atdtiColorRgb+ = lens _atdtiColorRgb+ (\ s a -> s{_atdtiColorRgb = a})++-- | A link to this Team Drive theme\'s background image.+atdtiBackgRoundImageLink :: Lens' AboutTeamDriveThemesItem (Maybe Text)+atdtiBackgRoundImageLink+ = lens _atdtiBackgRoundImageLink+ (\ s a -> s{_atdtiBackgRoundImageLink = a})++-- | The ID of the theme.+atdtiId :: Lens' AboutTeamDriveThemesItem (Maybe Text)+atdtiId = lens _atdtiId (\ s a -> s{_atdtiId = a})++instance FromJSON AboutTeamDriveThemesItem where+ parseJSON+ = withObject "AboutTeamDriveThemesItem"+ (\ o ->+ AboutTeamDriveThemesItem' <$>+ (o .:? "colorRgb") <*> (o .:? "backgroundImageLink")+ <*> (o .:? "id"))++instance ToJSON AboutTeamDriveThemesItem where+ toJSON AboutTeamDriveThemesItem'{..}+ = object+ (catMaybes+ [("colorRgb" .=) <$> _atdtiColorRgb,+ ("backgroundImageLink" .=) <$>+ _atdtiBackgRoundImageLink,+ ("id" .=) <$> _atdtiId])++-- | A set of restrictions that apply to this Team Drive or items inside this+-- Team Drive.+--+-- /See:/ 'teamDriveRestrictions' smart constructor.+data TeamDriveRestrictions = TeamDriveRestrictions'+ { _tdrTeamMembersOnly :: !(Maybe Bool)+ , _tdrAdminManagedRestrictions :: !(Maybe Bool)+ , _tdrCopyRequiresWriterPermission :: !(Maybe Bool)+ , _tdrDomainUsersOnly :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamDriveRestrictions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdrTeamMembersOnly'+--+-- * 'tdrAdminManagedRestrictions'+--+-- * 'tdrCopyRequiresWriterPermission'+--+-- * 'tdrDomainUsersOnly'+teamDriveRestrictions+ :: TeamDriveRestrictions+teamDriveRestrictions =+ TeamDriveRestrictions'+ { _tdrTeamMembersOnly = Nothing+ , _tdrAdminManagedRestrictions = Nothing+ , _tdrCopyRequiresWriterPermission = Nothing+ , _tdrDomainUsersOnly = Nothing+ }++-- | Whether access to items inside this Team Drive is restricted to members+-- of this Team Drive.+tdrTeamMembersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)+tdrTeamMembersOnly+ = lens _tdrTeamMembersOnly+ (\ s a -> s{_tdrTeamMembersOnly = a})++-- | Whether administrative privileges on this Team Drive are required to+-- modify restrictions.+tdrAdminManagedRestrictions :: Lens' TeamDriveRestrictions (Maybe Bool)+tdrAdminManagedRestrictions+ = lens _tdrAdminManagedRestrictions+ (\ s a -> s{_tdrAdminManagedRestrictions = a})++-- | Whether the options to copy, print, or download files inside this Team+-- Drive, should be disabled for readers and commenters. When this+-- restriction is set to true, it will override the similarly named field+-- to true for any file inside this Team Drive.+tdrCopyRequiresWriterPermission :: Lens' TeamDriveRestrictions (Maybe Bool)+tdrCopyRequiresWriterPermission+ = lens _tdrCopyRequiresWriterPermission+ (\ s a -> s{_tdrCopyRequiresWriterPermission = a})++-- | Whether access to this Team Drive and items inside this Team Drive is+-- restricted to users of the domain to which this Team Drive belongs. This+-- restriction may be overridden by other sharing policies controlled+-- outside of this Team Drive.+tdrDomainUsersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)+tdrDomainUsersOnly+ = lens _tdrDomainUsersOnly+ (\ s a -> s{_tdrDomainUsersOnly = a})++instance FromJSON TeamDriveRestrictions where+ parseJSON+ = withObject "TeamDriveRestrictions"+ (\ o ->+ TeamDriveRestrictions' <$>+ (o .:? "teamMembersOnly") <*>+ (o .:? "adminManagedRestrictions")+ <*> (o .:? "copyRequiresWriterPermission")+ <*> (o .:? "domainUsersOnly"))++instance ToJSON TeamDriveRestrictions where+ toJSON TeamDriveRestrictions'{..}+ = object+ (catMaybes+ [("teamMembersOnly" .=) <$> _tdrTeamMembersOnly,+ ("adminManagedRestrictions" .=) <$>+ _tdrAdminManagedRestrictions,+ ("copyRequiresWriterPermission" .=) <$>+ _tdrCopyRequiresWriterPermission,+ ("domainUsersOnly" .=) <$> _tdrDomainUsersOnly])++-- | An image file and cropping parameters from which a background image for+-- this Team Drive is set. This is a write only field; it can only be set+-- on drive.teamdrives.update requests that don\'t set themeId. When+-- specified, all fields of the backgroundImageFile must be set.+--+-- /See:/ 'teamDriveBackgRoundImageFile' smart constructor.+data TeamDriveBackgRoundImageFile = TeamDriveBackgRoundImageFile'+ { _tdbrifXCoordinate :: !(Maybe (Textual Double))+ , _tdbrifYCoordinate :: !(Maybe (Textual Double))+ , _tdbrifWidth :: !(Maybe (Textual Double))+ , _tdbrifId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamDriveBackgRoundImageFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdbrifXCoordinate'+--+-- * 'tdbrifYCoordinate'+--+-- * 'tdbrifWidth'+--+-- * 'tdbrifId'+teamDriveBackgRoundImageFile+ :: TeamDriveBackgRoundImageFile+teamDriveBackgRoundImageFile =+ TeamDriveBackgRoundImageFile'+ { _tdbrifXCoordinate = Nothing+ , _tdbrifYCoordinate = Nothing+ , _tdbrifWidth = Nothing+ , _tdbrifId = Nothing+ }++-- | The X coordinate of the upper left corner of the cropping area in the+-- background image. This is a value in the closed range of 0 to 1. This+-- value represents the horizontal distance from the left side of the+-- entire image to the left side of the cropping area divided by the width+-- of the entire image.+tdbrifXCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)+tdbrifXCoordinate+ = lens _tdbrifXCoordinate+ (\ s a -> s{_tdbrifXCoordinate = a})+ . mapping _Coerce++-- | The Y coordinate of the upper left corner of the cropping area in the+-- background image. This is a value in the closed range of 0 to 1. This+-- value represents the vertical distance from the top side of the entire+-- image to the top side of the cropping area divided by the height of the+-- entire image.+tdbrifYCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)+tdbrifYCoordinate+ = lens _tdbrifYCoordinate+ (\ s a -> s{_tdbrifYCoordinate = a})+ . mapping _Coerce++-- | The width of the cropped image in the closed range of 0 to 1. This value+-- represents the width of the cropped image divided by the width of the+-- entire image. The height is computed by applying a width to height+-- aspect ratio of 80 to 9. The resulting image must be at least 1280+-- pixels wide and 144 pixels high.+tdbrifWidth :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)+tdbrifWidth+ = lens _tdbrifWidth (\ s a -> s{_tdbrifWidth = a}) .+ mapping _Coerce++-- | The ID of an image file in Drive to use for the background image.+tdbrifId :: Lens' TeamDriveBackgRoundImageFile (Maybe Text)+tdbrifId = lens _tdbrifId (\ s a -> s{_tdbrifId = a})++instance FromJSON TeamDriveBackgRoundImageFile where+ parseJSON+ = withObject "TeamDriveBackgRoundImageFile"+ (\ o ->+ TeamDriveBackgRoundImageFile' <$>+ (o .:? "xCoordinate") <*> (o .:? "yCoordinate") <*>+ (o .:? "width")+ <*> (o .:? "id"))++instance ToJSON TeamDriveBackgRoundImageFile where+ toJSON TeamDriveBackgRoundImageFile'{..}+ = object+ (catMaybes+ [("xCoordinate" .=) <$> _tdbrifXCoordinate,+ ("yCoordinate" .=) <$> _tdbrifYCoordinate,+ ("width" .=) <$> _tdbrifWidth,+ ("id" .=) <$> _tdbrifId])++-- | Additional metadata about video media. This may not be available+-- immediately upon upload.+--+-- /See:/ 'fileVideoMediaMetadata' smart constructor.+data FileVideoMediaMetadata = FileVideoMediaMetadata'+ { _fvmmHeight :: !(Maybe (Textual Int32))+ , _fvmmWidth :: !(Maybe (Textual Int32))+ , _fvmmDurationMillis :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileVideoMediaMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fvmmHeight'+--+-- * 'fvmmWidth'+--+-- * 'fvmmDurationMillis'+fileVideoMediaMetadata+ :: FileVideoMediaMetadata+fileVideoMediaMetadata =+ FileVideoMediaMetadata'+ { _fvmmHeight = Nothing+ , _fvmmWidth = Nothing+ , _fvmmDurationMillis = Nothing+ }++-- | The height of the video in pixels.+fvmmHeight :: Lens' FileVideoMediaMetadata (Maybe Int32)+fvmmHeight+ = lens _fvmmHeight (\ s a -> s{_fvmmHeight = a}) .+ mapping _Coerce++-- | The width of the video in pixels.+fvmmWidth :: Lens' FileVideoMediaMetadata (Maybe Int32)+fvmmWidth+ = lens _fvmmWidth (\ s a -> s{_fvmmWidth = a}) .+ mapping _Coerce++-- | The duration of the video in milliseconds.+fvmmDurationMillis :: Lens' FileVideoMediaMetadata (Maybe Int64)+fvmmDurationMillis+ = lens _fvmmDurationMillis+ (\ s a -> s{_fvmmDurationMillis = a})+ . mapping _Coerce++instance FromJSON FileVideoMediaMetadata where+ parseJSON+ = withObject "FileVideoMediaMetadata"+ (\ o ->+ FileVideoMediaMetadata' <$>+ (o .:? "height") <*> (o .:? "width") <*>+ (o .:? "durationMillis"))++instance ToJSON FileVideoMediaMetadata where+ toJSON FileVideoMediaMetadata'{..}+ = object+ (catMaybes+ [("height" .=) <$> _fvmmHeight,+ ("width" .=) <$> _fvmmWidth,+ ("durationMillis" .=) <$> _fvmmDurationMillis])++-- | A collection of arbitrary key-value pairs which are private to the+-- requesting app. Entries with null values are cleared in update and copy+-- requests.+--+-- /See:/ 'fileAppProperties' smart constructor.+newtype FileAppProperties = FileAppProperties'+ { _fapAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileAppProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fapAddtional'+fileAppProperties+ :: HashMap Text Text -- ^ 'fapAddtional'+ -> FileAppProperties+fileAppProperties pFapAddtional_ =+ FileAppProperties'+ { _fapAddtional = _Coerce # pFapAddtional_+ }++fapAddtional :: Lens' FileAppProperties (HashMap Text Text)+fapAddtional+ = lens _fapAddtional (\ s a -> s{_fapAddtional = a})+ . _Coerce++instance FromJSON FileAppProperties where+ parseJSON+ = withObject "FileAppProperties"+ (\ o -> FileAppProperties' <$> (parseJSONObject o))++instance ToJSON FileAppProperties where+ toJSON = toJSON . _fapAddtional++-- | A change to a file or Team Drive.+--+-- /See:/ 'change' smart constructor.+data Change = Change'+ { _chaRemoved :: !(Maybe Bool)+ , _chaTime :: !(Maybe DateTime')+ , _chaKind :: !Text+ , _chaTeamDrive :: !(Maybe TeamDrive)+ , _chaTeamDriveId :: !(Maybe Text)+ , _chaType :: !(Maybe Text)+ , _chaFileId :: !(Maybe Text)+ , _chaFile :: !(Maybe File)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Change' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chaRemoved'+--+-- * 'chaTime'+--+-- * 'chaKind'+--+-- * 'chaTeamDrive'+--+-- * 'chaTeamDriveId'+--+-- * 'chaType'+--+-- * 'chaFileId'+--+-- * 'chaFile'+change+ :: Change+change =+ Change'+ { _chaRemoved = Nothing+ , _chaTime = Nothing+ , _chaKind = "drive#change"+ , _chaTeamDrive = Nothing+ , _chaTeamDriveId = Nothing+ , _chaType = Nothing+ , _chaFileId = Nothing+ , _chaFile = Nothing+ }++-- | Whether the file or Team Drive has been removed from this list of+-- changes, for example by deletion or loss of access.+chaRemoved :: Lens' Change (Maybe Bool)+chaRemoved+ = lens _chaRemoved (\ s a -> s{_chaRemoved = a})++-- | The time of this change (RFC 3339 date-time).+chaTime :: Lens' Change (Maybe UTCTime)+chaTime+ = lens _chaTime (\ s a -> s{_chaTime = a}) .+ mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#change\".+chaKind :: Lens' Change Text+chaKind = lens _chaKind (\ s a -> s{_chaKind = a})++-- | The updated state of the Team Drive. Present if the type is teamDrive,+-- the user is still a member of the Team Drive, and the Team Drive has not+-- been removed.+chaTeamDrive :: Lens' Change (Maybe TeamDrive)+chaTeamDrive+ = lens _chaTeamDrive (\ s a -> s{_chaTeamDrive = a})++-- | The ID of the Team Drive associated with this change.+chaTeamDriveId :: Lens' Change (Maybe Text)+chaTeamDriveId+ = lens _chaTeamDriveId+ (\ s a -> s{_chaTeamDriveId = a})++-- | The type of the change. Possible values are file and teamDrive.+chaType :: Lens' Change (Maybe Text)+chaType = lens _chaType (\ s a -> s{_chaType = a})++-- | The ID of the file which has changed.+chaFileId :: Lens' Change (Maybe Text)+chaFileId+ = lens _chaFileId (\ s a -> s{_chaFileId = a})++-- | The updated state of the file. Present if the type is file and the file+-- has not been removed from this list of changes.+chaFile :: Lens' Change (Maybe File)+chaFile = lens _chaFile (\ s a -> s{_chaFile = a})++instance FromJSON Change where+ parseJSON+ = withObject "Change"+ (\ o ->+ Change' <$>+ (o .:? "removed") <*> (o .:? "time") <*>+ (o .:? "kind" .!= "drive#change")+ <*> (o .:? "teamDrive")+ <*> (o .:? "teamDriveId")+ <*> (o .:? "type")+ <*> (o .:? "fileId")+ <*> (o .:? "file"))++instance ToJSON Change where+ toJSON Change'{..}+ = object+ (catMaybes+ [("removed" .=) <$> _chaRemoved,+ ("time" .=) <$> _chaTime, Just ("kind" .= _chaKind),+ ("teamDrive" .=) <$> _chaTeamDrive,+ ("teamDriveId" .=) <$> _chaTeamDriveId,+ ("type" .=) <$> _chaType,+ ("fileId" .=) <$> _chaFileId,+ ("file" .=) <$> _chaFile])++-- | Representation of a Team Drive.+--+-- /See:/ 'teamDrive' smart constructor.+data TeamDrive = TeamDrive'+ { _tdThemeId :: !(Maybe Text)+ , _tdBackgRoundImageFile :: !(Maybe TeamDriveBackgRoundImageFile)+ , _tdColorRgb :: !(Maybe Text)+ , _tdCreatedTime :: !(Maybe DateTime')+ , _tdKind :: !Text+ , _tdBackgRoundImageLink :: !(Maybe Text)+ , _tdName :: !(Maybe Text)+ , _tdRestrictions :: !(Maybe TeamDriveRestrictions)+ , _tdId :: !(Maybe Text)+ , _tdCapabilities :: !(Maybe TeamDriveCapabilities)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamDrive' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdThemeId'+--+-- * 'tdBackgRoundImageFile'+--+-- * 'tdColorRgb'+--+-- * 'tdCreatedTime'+--+-- * 'tdKind'+--+-- * 'tdBackgRoundImageLink'+--+-- * 'tdName'+--+-- * 'tdRestrictions'+--+-- * 'tdId'+--+-- * 'tdCapabilities'+teamDrive+ :: TeamDrive+teamDrive =+ TeamDrive'+ { _tdThemeId = Nothing+ , _tdBackgRoundImageFile = Nothing+ , _tdColorRgb = Nothing+ , _tdCreatedTime = Nothing+ , _tdKind = "drive#teamDrive"+ , _tdBackgRoundImageLink = Nothing+ , _tdName = Nothing+ , _tdRestrictions = Nothing+ , _tdId = Nothing+ , _tdCapabilities = Nothing+ }++-- | The ID of the theme from which the background image and color will be+-- set. The set of possible teamDriveThemes can be retrieved from a+-- drive.about.get response. When not specified on a+-- drive.teamdrives.create request, a random theme is chosen from which the+-- background image and color are set. This is a write-only field; it can+-- only be set on requests that don\'t set colorRgb or backgroundImageFile.+tdThemeId :: Lens' TeamDrive (Maybe Text)+tdThemeId+ = lens _tdThemeId (\ s a -> s{_tdThemeId = a})++-- | An image file and cropping parameters from which a background image for+-- this Team Drive is set. This is a write only field; it can only be set+-- on drive.teamdrives.update requests that don\'t set themeId. When+-- specified, all fields of the backgroundImageFile must be set.+tdBackgRoundImageFile :: Lens' TeamDrive (Maybe TeamDriveBackgRoundImageFile)+tdBackgRoundImageFile+ = lens _tdBackgRoundImageFile+ (\ s a -> s{_tdBackgRoundImageFile = a})++-- | The color of this Team Drive as an RGB hex string. It can only be set on+-- a drive.teamdrives.update request that does not set themeId.+tdColorRgb :: Lens' TeamDrive (Maybe Text)+tdColorRgb+ = lens _tdColorRgb (\ s a -> s{_tdColorRgb = a})++-- | The time at which the Team Drive was created (RFC 3339 date-time).+tdCreatedTime :: Lens' TeamDrive (Maybe UTCTime)+tdCreatedTime+ = lens _tdCreatedTime+ (\ s a -> s{_tdCreatedTime = a})+ . mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#teamDrive\".+tdKind :: Lens' TeamDrive Text+tdKind = lens _tdKind (\ s a -> s{_tdKind = a})++-- | A short-lived link to this Team Drive\'s background image.+tdBackgRoundImageLink :: Lens' TeamDrive (Maybe Text)+tdBackgRoundImageLink+ = lens _tdBackgRoundImageLink+ (\ s a -> s{_tdBackgRoundImageLink = a})++-- | The name of this Team Drive.+tdName :: Lens' TeamDrive (Maybe Text)+tdName = lens _tdName (\ s a -> s{_tdName = a})++-- | A set of restrictions that apply to this Team Drive or items inside this+-- Team Drive.+tdRestrictions :: Lens' TeamDrive (Maybe TeamDriveRestrictions)+tdRestrictions+ = lens _tdRestrictions+ (\ s a -> s{_tdRestrictions = a})++-- | The ID of this Team Drive which is also the ID of the top level folder+-- of this Team Drive.+tdId :: Lens' TeamDrive (Maybe Text)+tdId = lens _tdId (\ s a -> s{_tdId = a})++-- | Capabilities the current user has on this Team Drive.+tdCapabilities :: Lens' TeamDrive (Maybe TeamDriveCapabilities)+tdCapabilities+ = lens _tdCapabilities+ (\ s a -> s{_tdCapabilities = a})++instance FromJSON TeamDrive where+ parseJSON+ = withObject "TeamDrive"+ (\ o ->+ TeamDrive' <$>+ (o .:? "themeId") <*> (o .:? "backgroundImageFile")+ <*> (o .:? "colorRgb")+ <*> (o .:? "createdTime")+ <*> (o .:? "kind" .!= "drive#teamDrive")+ <*> (o .:? "backgroundImageLink")+ <*> (o .:? "name")+ <*> (o .:? "restrictions")+ <*> (o .:? "id")+ <*> (o .:? "capabilities"))++instance ToJSON TeamDrive where+ toJSON TeamDrive'{..}+ = object+ (catMaybes+ [("themeId" .=) <$> _tdThemeId,+ ("backgroundImageFile" .=) <$>+ _tdBackgRoundImageFile,+ ("colorRgb" .=) <$> _tdColorRgb,+ ("createdTime" .=) <$> _tdCreatedTime,+ Just ("kind" .= _tdKind),+ ("backgroundImageLink" .=) <$>+ _tdBackgRoundImageLink,+ ("name" .=) <$> _tdName,+ ("restrictions" .=) <$> _tdRestrictions,+ ("id" .=) <$> _tdId,+ ("capabilities" .=) <$> _tdCapabilities])++-- | A map of source MIME type to possible targets for all supported exports.+--+-- /See:/ 'aboutExportFormats' smart constructor.+newtype AboutExportFormats = AboutExportFormats'+ { _aefAddtional :: HashMap Text [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutExportFormats' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aefAddtional'+aboutExportFormats+ :: HashMap Text [Text] -- ^ 'aefAddtional'+ -> AboutExportFormats+aboutExportFormats pAefAddtional_ =+ AboutExportFormats'+ { _aefAddtional = _Coerce # pAefAddtional_+ }++aefAddtional :: Lens' AboutExportFormats (HashMap Text [Text])+aefAddtional+ = lens _aefAddtional (\ s a -> s{_aefAddtional = a})+ . _Coerce++instance FromJSON AboutExportFormats where+ parseJSON+ = withObject "AboutExportFormats"+ (\ o -> AboutExportFormats' <$> (parseJSONObject o))++instance ToJSON AboutExportFormats where+ toJSON = toJSON . _aefAddtional++-- | Information about a Drive user.+--+-- /See:/ 'user' smart constructor.+data User = User'+ { _uPhotoLink :: !(Maybe Text)+ , _uMe :: !(Maybe Bool)+ , _uKind :: !Text+ , _uEmailAddress :: !(Maybe Text)+ , _uDisplayName :: !(Maybe Text)+ , _uPermissionId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'User' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uPhotoLink'+--+-- * 'uMe'+--+-- * 'uKind'+--+-- * 'uEmailAddress'+--+-- * 'uDisplayName'+--+-- * 'uPermissionId'+user+ :: User+user =+ User'+ { _uPhotoLink = Nothing+ , _uMe = Nothing+ , _uKind = "drive#user"+ , _uEmailAddress = Nothing+ , _uDisplayName = Nothing+ , _uPermissionId = Nothing+ }++-- | A link to the user\'s profile photo, if available.+uPhotoLink :: Lens' User (Maybe Text)+uPhotoLink+ = lens _uPhotoLink (\ s a -> s{_uPhotoLink = a})++-- | Whether this user is the requesting user.+uMe :: Lens' User (Maybe Bool)+uMe = lens _uMe (\ s a -> s{_uMe = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#user\".+uKind :: Lens' User Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | The email address of the user. This may not be present in certain+-- contexts if the user has not made their email address visible to the+-- requester.+uEmailAddress :: Lens' User (Maybe Text)+uEmailAddress+ = lens _uEmailAddress+ (\ s a -> s{_uEmailAddress = a})++-- | A plain text displayable name for this user.+uDisplayName :: Lens' User (Maybe Text)+uDisplayName+ = lens _uDisplayName (\ s a -> s{_uDisplayName = a})++-- | The user\'s ID as visible in Permission resources.+uPermissionId :: Lens' User (Maybe Text)+uPermissionId+ = lens _uPermissionId+ (\ s a -> s{_uPermissionId = a})++instance FromJSON User where+ parseJSON+ = withObject "User"+ (\ o ->+ User' <$>+ (o .:? "photoLink") <*> (o .:? "me") <*>+ (o .:? "kind" .!= "drive#user")+ <*> (o .:? "emailAddress")+ <*> (o .:? "displayName")+ <*> (o .:? "permissionId"))++instance ToJSON User where+ toJSON User'{..}+ = object+ (catMaybes+ [("photoLink" .=) <$> _uPhotoLink,+ ("me" .=) <$> _uMe, Just ("kind" .= _uKind),+ ("emailAddress" .=) <$> _uEmailAddress,+ ("displayName" .=) <$> _uDisplayName,+ ("permissionId" .=) <$> _uPermissionId])++-- | A list of changes for a user.+--+-- /See:/ 'changeList' smart constructor.+data ChangeList = ChangeList'+ { _clNewStartPageToken :: !(Maybe Text)+ , _clNextPageToken :: !(Maybe Text)+ , _clChanges :: !(Maybe [Change])+ , _clKind :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangeList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clNewStartPageToken'+--+-- * 'clNextPageToken'+--+-- * 'clChanges'+--+-- * 'clKind'+changeList+ :: ChangeList+changeList =+ ChangeList'+ { _clNewStartPageToken = Nothing+ , _clNextPageToken = Nothing+ , _clChanges = Nothing+ , _clKind = "drive#changeList"+ }++-- | The starting page token for future changes. This will be present only if+-- the end of the current changes list has been reached.+clNewStartPageToken :: Lens' ChangeList (Maybe Text)+clNewStartPageToken+ = lens _clNewStartPageToken+ (\ s a -> s{_clNewStartPageToken = a})++-- | The page token for the next page of changes. This will be absent if the+-- end of the changes list has been reached. If the token is rejected for+-- any reason, it should be discarded, and pagination should be restarted+-- from the first page of results.+clNextPageToken :: Lens' ChangeList (Maybe Text)+clNextPageToken+ = lens _clNextPageToken+ (\ s a -> s{_clNextPageToken = a})++-- | The list of changes. If nextPageToken is populated, then this list may+-- be incomplete and an additional page of results should be fetched.+clChanges :: Lens' ChangeList [Change]+clChanges+ = lens _clChanges (\ s a -> s{_clChanges = a}) .+ _Default+ . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#changeList\".+clKind :: Lens' ChangeList Text+clKind = lens _clKind (\ s a -> s{_clKind = a})++instance FromJSON ChangeList where+ parseJSON+ = withObject "ChangeList"+ (\ o ->+ ChangeList' <$>+ (o .:? "newStartPageToken") <*>+ (o .:? "nextPageToken")+ <*> (o .:? "changes" .!= mempty)+ <*> (o .:? "kind" .!= "drive#changeList"))++instance ToJSON ChangeList where+ toJSON ChangeList'{..}+ = object+ (catMaybes+ [("newStartPageToken" .=) <$> _clNewStartPageToken,+ ("nextPageToken" .=) <$> _clNextPageToken,+ ("changes" .=) <$> _clChanges,+ Just ("kind" .= _clKind)])++-- | Links for exporting Google Docs to specific formats.+--+-- /See:/ 'revisionExportLinks' smart constructor.+newtype RevisionExportLinks = RevisionExportLinks'+ { _relAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionExportLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'relAddtional'+revisionExportLinks+ :: HashMap Text Text -- ^ 'relAddtional'+ -> RevisionExportLinks+revisionExportLinks pRelAddtional_ =+ RevisionExportLinks'+ { _relAddtional = _Coerce # pRelAddtional_+ }++-- | A mapping from export format to URL+relAddtional :: Lens' RevisionExportLinks (HashMap Text Text)+relAddtional+ = lens _relAddtional (\ s a -> s{_relAddtional = a})+ . _Coerce++instance FromJSON RevisionExportLinks where+ parseJSON+ = withObject "RevisionExportLinks"+ (\ o -> RevisionExportLinks' <$> (parseJSONObject o))++instance ToJSON RevisionExportLinks where+ toJSON = toJSON . _relAddtional++-- | Additional information about the content of the file. These fields are+-- never populated in responses.+--+-- /See:/ 'fileContentHints' smart constructor.+data FileContentHints = FileContentHints'+ { _fchThumbnail :: !(Maybe FileContentHintsThumbnail)+ , _fchIndexableText :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileContentHints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fchThumbnail'+--+-- * 'fchIndexableText'+fileContentHints+ :: FileContentHints+fileContentHints =+ FileContentHints'+ { _fchThumbnail = Nothing+ , _fchIndexableText = Nothing+ }++-- | A thumbnail for the file. This will only be used if Drive cannot+-- generate a standard thumbnail.+fchThumbnail :: Lens' FileContentHints (Maybe FileContentHintsThumbnail)+fchThumbnail+ = lens _fchThumbnail (\ s a -> s{_fchThumbnail = a})++-- | Text to be indexed for the file to improve fullText queries. This is+-- limited to 128KB in length and may contain HTML elements.+fchIndexableText :: Lens' FileContentHints (Maybe Text)+fchIndexableText+ = lens _fchIndexableText+ (\ s a -> s{_fchIndexableText = a})++instance FromJSON FileContentHints where+ parseJSON+ = withObject "FileContentHints"+ (\ o ->+ FileContentHints' <$>+ (o .:? "thumbnail") <*> (o .:? "indexableText"))++instance ToJSON FileContentHints where+ toJSON FileContentHints'{..}+ = object+ (catMaybes+ [("thumbnail" .=) <$> _fchThumbnail,+ ("indexableText" .=) <$> _fchIndexableText])++-- | Additional parameters controlling delivery channel behavior. Optional.+--+-- /See:/ 'channelParams' smart constructor.+newtype ChannelParams = ChannelParams'+ { _cpAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChannelParams' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpAddtional'+channelParams+ :: HashMap Text Text -- ^ 'cpAddtional'+ -> ChannelParams+channelParams pCpAddtional_ =+ ChannelParams'+ { _cpAddtional = _Coerce # pCpAddtional_+ }++-- | Declares a new parameter by name.+cpAddtional :: Lens' ChannelParams (HashMap Text Text)+cpAddtional+ = lens _cpAddtional (\ s a -> s{_cpAddtional = a}) .+ _Coerce++instance FromJSON ChannelParams where+ parseJSON+ = withObject "ChannelParams"+ (\ o -> ChannelParams' <$> (parseJSONObject o))++instance ToJSON ChannelParams where+ toJSON = toJSON . _cpAddtional++-- | A collection of arbitrary key-value pairs which are visible to all apps.+-- Entries with null values are cleared in update and copy requests.+--+-- /See:/ 'fileProperties' smart constructor.+newtype FileProperties = FileProperties'+ { _fpAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fpAddtional'+fileProperties+ :: HashMap Text Text -- ^ 'fpAddtional'+ -> FileProperties+fileProperties pFpAddtional_ =+ FileProperties'+ { _fpAddtional = _Coerce # pFpAddtional_+ }++fpAddtional :: Lens' FileProperties (HashMap Text Text)+fpAddtional+ = lens _fpAddtional (\ s a -> s{_fpAddtional = a}) .+ _Coerce++instance FromJSON FileProperties where+ parseJSON+ = withObject "FileProperties"+ (\ o -> FileProperties' <$> (parseJSONObject o))++instance ToJSON FileProperties where+ toJSON = toJSON . _fpAddtional++-- | A map of maximum import sizes by MIME type, in bytes.+--+-- /See:/ 'aboutMaxImportSizes' smart constructor.+newtype AboutMaxImportSizes = AboutMaxImportSizes'+ { _amisAddtional :: HashMap Text (Textual Int64)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutMaxImportSizes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amisAddtional'+aboutMaxImportSizes+ :: HashMap Text Int64 -- ^ 'amisAddtional'+ -> AboutMaxImportSizes+aboutMaxImportSizes pAmisAddtional_ =+ AboutMaxImportSizes'+ { _amisAddtional = _Coerce # pAmisAddtional_+ }++amisAddtional :: Lens' AboutMaxImportSizes (HashMap Text Int64)+amisAddtional+ = lens _amisAddtional+ (\ s a -> s{_amisAddtional = a})+ . _Coerce++instance FromJSON AboutMaxImportSizes where+ parseJSON+ = withObject "AboutMaxImportSizes"+ (\ o -> AboutMaxImportSizes' <$> (parseJSONObject o))++instance ToJSON AboutMaxImportSizes where+ toJSON = toJSON . _amisAddtional++-- | Information about the user, the user\'s Drive, and system capabilities.+--+-- /See:/ 'about' smart constructor.+data About = About'+ { _aExportFormats :: !(Maybe AboutExportFormats)+ , _aMaxImportSizes :: !(Maybe AboutMaxImportSizes)+ , _aCanCreateTeamDrives :: !(Maybe Bool)+ , _aImportFormats :: !(Maybe AboutImportFormats)+ , _aKind :: !Text+ , _aAppInstalled :: !(Maybe Bool)+ , _aUser :: !(Maybe User)+ , _aStorageQuota :: !(Maybe AboutStorageQuota)+ , _aMaxUploadSize :: !(Maybe (Textual Int64))+ , _aTeamDriveThemes :: !(Maybe [AboutTeamDriveThemesItem])+ , _aFolderColorPalette :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'About' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aExportFormats'+--+-- * 'aMaxImportSizes'+--+-- * 'aCanCreateTeamDrives'+--+-- * 'aImportFormats'+--+-- * 'aKind'+--+-- * 'aAppInstalled'+--+-- * 'aUser'+--+-- * 'aStorageQuota'+--+-- * 'aMaxUploadSize'+--+-- * 'aTeamDriveThemes'+--+-- * 'aFolderColorPalette'+about+ :: About+about =+ About'+ { _aExportFormats = Nothing+ , _aMaxImportSizes = Nothing+ , _aCanCreateTeamDrives = Nothing+ , _aImportFormats = Nothing+ , _aKind = "drive#about"+ , _aAppInstalled = Nothing+ , _aUser = Nothing+ , _aStorageQuota = Nothing+ , _aMaxUploadSize = Nothing+ , _aTeamDriveThemes = Nothing+ , _aFolderColorPalette = Nothing+ }++-- | A map of source MIME type to possible targets for all supported exports.+aExportFormats :: Lens' About (Maybe AboutExportFormats)+aExportFormats+ = lens _aExportFormats+ (\ s a -> s{_aExportFormats = a})++-- | A map of maximum import sizes by MIME type, in bytes.+aMaxImportSizes :: Lens' About (Maybe AboutMaxImportSizes)+aMaxImportSizes+ = lens _aMaxImportSizes+ (\ s a -> s{_aMaxImportSizes = a})++-- | Whether the user can create Team Drives.+aCanCreateTeamDrives :: Lens' About (Maybe Bool)+aCanCreateTeamDrives+ = lens _aCanCreateTeamDrives+ (\ s a -> s{_aCanCreateTeamDrives = a})++-- | A map of source MIME type to possible targets for all supported imports.+aImportFormats :: Lens' About (Maybe AboutImportFormats)+aImportFormats+ = lens _aImportFormats+ (\ s a -> s{_aImportFormats = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#about\".+aKind :: Lens' About Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | Whether the user has installed the requesting app.+aAppInstalled :: Lens' About (Maybe Bool)+aAppInstalled+ = lens _aAppInstalled+ (\ s a -> s{_aAppInstalled = a})++-- | The authenticated user.+aUser :: Lens' About (Maybe User)+aUser = lens _aUser (\ s a -> s{_aUser = a})++-- | The user\'s storage quota limits and usage. All fields are measured in+-- bytes.+aStorageQuota :: Lens' About (Maybe AboutStorageQuota)+aStorageQuota+ = lens _aStorageQuota+ (\ s a -> s{_aStorageQuota = a})++-- | The maximum upload size in bytes.+aMaxUploadSize :: Lens' About (Maybe Int64)+aMaxUploadSize+ = lens _aMaxUploadSize+ (\ s a -> s{_aMaxUploadSize = a})+ . mapping _Coerce++-- | A list of themes that are supported for Team Drives.+aTeamDriveThemes :: Lens' About [AboutTeamDriveThemesItem]+aTeamDriveThemes+ = lens _aTeamDriveThemes+ (\ s a -> s{_aTeamDriveThemes = a})+ . _Default+ . _Coerce++-- | The currently supported folder colors as RGB hex strings.+aFolderColorPalette :: Lens' About [Text]+aFolderColorPalette+ = lens _aFolderColorPalette+ (\ s a -> s{_aFolderColorPalette = a})+ . _Default+ . _Coerce++instance FromJSON About where+ parseJSON+ = withObject "About"+ (\ o ->+ About' <$>+ (o .:? "exportFormats") <*> (o .:? "maxImportSizes")+ <*> (o .:? "canCreateTeamDrives")+ <*> (o .:? "importFormats")+ <*> (o .:? "kind" .!= "drive#about")+ <*> (o .:? "appInstalled")+ <*> (o .:? "user")+ <*> (o .:? "storageQuota")+ <*> (o .:? "maxUploadSize")+ <*> (o .:? "teamDriveThemes" .!= mempty)+ <*> (o .:? "folderColorPalette" .!= mempty))++instance ToJSON About where+ toJSON About'{..}+ = object+ (catMaybes+ [("exportFormats" .=) <$> _aExportFormats,+ ("maxImportSizes" .=) <$> _aMaxImportSizes,+ ("canCreateTeamDrives" .=) <$> _aCanCreateTeamDrives,+ ("importFormats" .=) <$> _aImportFormats,+ Just ("kind" .= _aKind),+ ("appInstalled" .=) <$> _aAppInstalled,+ ("user" .=) <$> _aUser,+ ("storageQuota" .=) <$> _aStorageQuota,+ ("maxUploadSize" .=) <$> _aMaxUploadSize,+ ("teamDriveThemes" .=) <$> _aTeamDriveThemes,+ ("folderColorPalette" .=) <$> _aFolderColorPalette])++-- | Geographic location information stored in the image.+--+-- /See:/ 'fileImageMediaMetadataLocation' smart constructor.+data FileImageMediaMetadataLocation = FileImageMediaMetadataLocation'+ { _fimmlLatitude :: !(Maybe (Textual Double))+ , _fimmlAltitude :: !(Maybe (Textual Double))+ , _fimmlLongitude :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileImageMediaMetadataLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fimmlLatitude'+--+-- * 'fimmlAltitude'+--+-- * 'fimmlLongitude'+fileImageMediaMetadataLocation+ :: FileImageMediaMetadataLocation+fileImageMediaMetadataLocation =+ FileImageMediaMetadataLocation'+ { _fimmlLatitude = Nothing+ , _fimmlAltitude = Nothing+ , _fimmlLongitude = Nothing+ }++-- | The latitude stored in the image.+fimmlLatitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlLatitude+ = lens _fimmlLatitude+ (\ s a -> s{_fimmlLatitude = a})+ . mapping _Coerce++-- | The altitude stored in the image.+fimmlAltitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlAltitude+ = lens _fimmlAltitude+ (\ s a -> s{_fimmlAltitude = a})+ . mapping _Coerce++-- | The longitude stored in the image.+fimmlLongitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlLongitude+ = lens _fimmlLongitude+ (\ s a -> s{_fimmlLongitude = a})+ . mapping _Coerce++instance FromJSON FileImageMediaMetadataLocation+ where+ parseJSON+ = withObject "FileImageMediaMetadataLocation"+ (\ o ->+ FileImageMediaMetadataLocation' <$>+ (o .:? "latitude") <*> (o .:? "altitude") <*>+ (o .:? "longitude"))++instance ToJSON FileImageMediaMetadataLocation where+ toJSON FileImageMediaMetadataLocation'{..}+ = object+ (catMaybes+ [("latitude" .=) <$> _fimmlLatitude,+ ("altitude" .=) <$> _fimmlAltitude,+ ("longitude" .=) <$> _fimmlLongitude])++--+-- /See:/ 'startPageToken' smart constructor.+data StartPageToken = StartPageToken'+ { _sptKind :: !Text+ , _sptStartPageToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartPageToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sptKind'+--+-- * 'sptStartPageToken'+startPageToken+ :: StartPageToken+startPageToken =+ StartPageToken'+ { _sptKind = "drive#startPageToken"+ , _sptStartPageToken = Nothing+ }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#startPageToken\".+sptKind :: Lens' StartPageToken Text+sptKind = lens _sptKind (\ s a -> s{_sptKind = a})++-- | The starting page token for listing changes.+sptStartPageToken :: Lens' StartPageToken (Maybe Text)+sptStartPageToken+ = lens _sptStartPageToken+ (\ s a -> s{_sptStartPageToken = a})++instance FromJSON StartPageToken where+ parseJSON+ = withObject "StartPageToken"+ (\ o ->+ StartPageToken' <$>+ (o .:? "kind" .!= "drive#startPageToken") <*>+ (o .:? "startPageToken"))++instance ToJSON StartPageToken where+ toJSON StartPageToken'{..}+ = object+ (catMaybes+ [Just ("kind" .= _sptKind),+ ("startPageToken" .=) <$> _sptStartPageToken])++-- | Additional metadata about image media, if available.+--+-- /See:/ 'fileImageMediaMetadata' smart constructor.+data FileImageMediaMetadata = FileImageMediaMetadata'+ { _fimmRotation :: !(Maybe (Textual Int32))+ , _fimmHeight :: !(Maybe (Textual Int32))+ , _fimmSubjectDistance :: !(Maybe (Textual Int32))+ , _fimmMaxApertureValue :: !(Maybe (Textual Double))+ , _fimmIsoSpeed :: !(Maybe (Textual Int32))+ , _fimmTime :: !(Maybe Text)+ , _fimmLocation :: !(Maybe FileImageMediaMetadataLocation)+ , _fimmAperture :: !(Maybe (Textual Double))+ , _fimmFocalLength :: !(Maybe (Textual Double))+ , _fimmCameraMake :: !(Maybe Text)+ , _fimmWidth :: !(Maybe (Textual Int32))+ , _fimmExposureTime :: !(Maybe (Textual Double))+ , _fimmCameraModel :: !(Maybe Text)+ , _fimmWhiteBalance :: !(Maybe Text)+ , _fimmLens :: !(Maybe Text)+ , _fimmFlashUsed :: !(Maybe Bool)+ , _fimmExposureBias :: !(Maybe (Textual Double))+ , _fimmMeteringMode :: !(Maybe Text)+ , _fimmExposureMode :: !(Maybe Text)+ , _fimmSensor :: !(Maybe Text)+ , _fimmColorSpace :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileImageMediaMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fimmRotation'+--+-- * 'fimmHeight'+--+-- * 'fimmSubjectDistance'+--+-- * 'fimmMaxApertureValue'+--+-- * 'fimmIsoSpeed'+--+-- * 'fimmTime'+--+-- * 'fimmLocation'+--+-- * 'fimmAperture'+--+-- * 'fimmFocalLength'+--+-- * 'fimmCameraMake'+--+-- * 'fimmWidth'+--+-- * 'fimmExposureTime'+--+-- * 'fimmCameraModel'+--+-- * 'fimmWhiteBalance'+--+-- * 'fimmLens'+--+-- * 'fimmFlashUsed'+--+-- * 'fimmExposureBias'+--+-- * 'fimmMeteringMode'+--+-- * 'fimmExposureMode'+--+-- * 'fimmSensor'+--+-- * 'fimmColorSpace'+fileImageMediaMetadata+ :: FileImageMediaMetadata+fileImageMediaMetadata =+ FileImageMediaMetadata'+ { _fimmRotation = Nothing+ , _fimmHeight = Nothing+ , _fimmSubjectDistance = Nothing+ , _fimmMaxApertureValue = Nothing+ , _fimmIsoSpeed = Nothing+ , _fimmTime = Nothing+ , _fimmLocation = Nothing+ , _fimmAperture = Nothing+ , _fimmFocalLength = Nothing+ , _fimmCameraMake = Nothing+ , _fimmWidth = Nothing+ , _fimmExposureTime = Nothing+ , _fimmCameraModel = Nothing+ , _fimmWhiteBalance = Nothing+ , _fimmLens = Nothing+ , _fimmFlashUsed = Nothing+ , _fimmExposureBias = Nothing+ , _fimmMeteringMode = Nothing+ , _fimmExposureMode = Nothing+ , _fimmSensor = Nothing+ , _fimmColorSpace = Nothing+ }++-- | The rotation in clockwise degrees from the image\'s original+-- orientation.+fimmRotation :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmRotation+ = lens _fimmRotation (\ s a -> s{_fimmRotation = a})+ . mapping _Coerce++-- | The height of the image in pixels.+fimmHeight :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmHeight+ = lens _fimmHeight (\ s a -> s{_fimmHeight = a}) .+ mapping _Coerce++-- | The distance to the subject of the photo, in meters.+fimmSubjectDistance :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmSubjectDistance+ = lens _fimmSubjectDistance+ (\ s a -> s{_fimmSubjectDistance = a})+ . mapping _Coerce++-- | The smallest f-number of the lens at the focal length used to create the+-- photo (APEX value).+fimmMaxApertureValue :: Lens' FileImageMediaMetadata (Maybe Double)+fimmMaxApertureValue+ = lens _fimmMaxApertureValue+ (\ s a -> s{_fimmMaxApertureValue = a})+ . mapping _Coerce++-- | The ISO speed used to create the photo.+fimmIsoSpeed :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmIsoSpeed+ = lens _fimmIsoSpeed (\ s a -> s{_fimmIsoSpeed = a})+ . mapping _Coerce++-- | The date and time the photo was taken (EXIF DateTime).+fimmTime :: Lens' FileImageMediaMetadata (Maybe Text)+fimmTime = lens _fimmTime (\ s a -> s{_fimmTime = a})++-- | Geographic location information stored in the image.+fimmLocation :: Lens' FileImageMediaMetadata (Maybe FileImageMediaMetadataLocation)+fimmLocation+ = lens _fimmLocation (\ s a -> s{_fimmLocation = a})++-- | The aperture used to create the photo (f-number).+fimmAperture :: Lens' FileImageMediaMetadata (Maybe Double)+fimmAperture+ = lens _fimmAperture (\ s a -> s{_fimmAperture = a})+ . mapping _Coerce++-- | The focal length used to create the photo, in millimeters.+fimmFocalLength :: Lens' FileImageMediaMetadata (Maybe Double)+fimmFocalLength+ = lens _fimmFocalLength+ (\ s a -> s{_fimmFocalLength = a})+ . mapping _Coerce++-- | The make of the camera used to create the photo.+fimmCameraMake :: Lens' FileImageMediaMetadata (Maybe Text)+fimmCameraMake+ = lens _fimmCameraMake+ (\ s a -> s{_fimmCameraMake = a})++-- | The width of the image in pixels.+fimmWidth :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmWidth+ = lens _fimmWidth (\ s a -> s{_fimmWidth = a}) .+ mapping _Coerce++-- | The length of the exposure, in seconds.+fimmExposureTime :: Lens' FileImageMediaMetadata (Maybe Double)+fimmExposureTime+ = lens _fimmExposureTime+ (\ s a -> s{_fimmExposureTime = a})+ . mapping _Coerce++-- | The model of the camera used to create the photo.+fimmCameraModel :: Lens' FileImageMediaMetadata (Maybe Text)+fimmCameraModel+ = lens _fimmCameraModel+ (\ s a -> s{_fimmCameraModel = a})++-- | The white balance mode used to create the photo.+fimmWhiteBalance :: Lens' FileImageMediaMetadata (Maybe Text)+fimmWhiteBalance+ = lens _fimmWhiteBalance+ (\ s a -> s{_fimmWhiteBalance = a})++-- | The lens used to create the photo.+fimmLens :: Lens' FileImageMediaMetadata (Maybe Text)+fimmLens = lens _fimmLens (\ s a -> s{_fimmLens = a})++-- | Whether a flash was used to create the photo.+fimmFlashUsed :: Lens' FileImageMediaMetadata (Maybe Bool)+fimmFlashUsed+ = lens _fimmFlashUsed+ (\ s a -> s{_fimmFlashUsed = a})++-- | The exposure bias of the photo (APEX value).+fimmExposureBias :: Lens' FileImageMediaMetadata (Maybe Double)+fimmExposureBias+ = lens _fimmExposureBias+ (\ s a -> s{_fimmExposureBias = a})+ . mapping _Coerce++-- | The metering mode used to create the photo.+fimmMeteringMode :: Lens' FileImageMediaMetadata (Maybe Text)+fimmMeteringMode+ = lens _fimmMeteringMode+ (\ s a -> s{_fimmMeteringMode = a})++-- | The exposure mode used to create the photo.+fimmExposureMode :: Lens' FileImageMediaMetadata (Maybe Text)+fimmExposureMode+ = lens _fimmExposureMode+ (\ s a -> s{_fimmExposureMode = a})++-- | The type of sensor used to create the photo.+fimmSensor :: Lens' FileImageMediaMetadata (Maybe Text)+fimmSensor+ = lens _fimmSensor (\ s a -> s{_fimmSensor = a})++-- | The color space of the photo.+fimmColorSpace :: Lens' FileImageMediaMetadata (Maybe Text)+fimmColorSpace+ = lens _fimmColorSpace+ (\ s a -> s{_fimmColorSpace = a})++instance FromJSON FileImageMediaMetadata where+ parseJSON+ = withObject "FileImageMediaMetadata"+ (\ o ->+ FileImageMediaMetadata' <$>+ (o .:? "rotation") <*> (o .:? "height") <*>+ (o .:? "subjectDistance")+ <*> (o .:? "maxApertureValue")+ <*> (o .:? "isoSpeed")+ <*> (o .:? "time")+ <*> (o .:? "location")+ <*> (o .:? "aperture")+ <*> (o .:? "focalLength")+ <*> (o .:? "cameraMake")+ <*> (o .:? "width")+ <*> (o .:? "exposureTime")+ <*> (o .:? "cameraModel")+ <*> (o .:? "whiteBalance")+ <*> (o .:? "lens")+ <*> (o .:? "flashUsed")+ <*> (o .:? "exposureBias")+ <*> (o .:? "meteringMode")+ <*> (o .:? "exposureMode")+ <*> (o .:? "sensor")+ <*> (o .:? "colorSpace"))++instance ToJSON FileImageMediaMetadata where+ toJSON FileImageMediaMetadata'{..}+ = object+ (catMaybes+ [("rotation" .=) <$> _fimmRotation,+ ("height" .=) <$> _fimmHeight,+ ("subjectDistance" .=) <$> _fimmSubjectDistance,+ ("maxApertureValue" .=) <$> _fimmMaxApertureValue,+ ("isoSpeed" .=) <$> _fimmIsoSpeed,+ ("time" .=) <$> _fimmTime,+ ("location" .=) <$> _fimmLocation,+ ("aperture" .=) <$> _fimmAperture,+ ("focalLength" .=) <$> _fimmFocalLength,+ ("cameraMake" .=) <$> _fimmCameraMake,+ ("width" .=) <$> _fimmWidth,+ ("exposureTime" .=) <$> _fimmExposureTime,+ ("cameraModel" .=) <$> _fimmCameraModel,+ ("whiteBalance" .=) <$> _fimmWhiteBalance,+ ("lens" .=) <$> _fimmLens,+ ("flashUsed" .=) <$> _fimmFlashUsed,+ ("exposureBias" .=) <$> _fimmExposureBias,+ ("meteringMode" .=) <$> _fimmMeteringMode,+ ("exposureMode" .=) <$> _fimmExposureMode,+ ("sensor" .=) <$> _fimmSensor,+ ("colorSpace" .=) <$> _fimmColorSpace])++-- | A comment on a file.+--+-- /See:/ 'comment' smart constructor.+data Comment = Comment'+ { _comHTMLContent :: !(Maybe Text)+ , _comModifiedTime :: !(Maybe DateTime')+ , _comCreatedTime :: !(Maybe DateTime')+ , _comKind :: !Text+ , _comResolved :: !(Maybe Bool)+ , _comQuotedFileContent :: !(Maybe CommentQuotedFileContent)+ , _comAnchor :: !(Maybe Text)+ , _comContent :: !(Maybe Text)+ , _comReplies :: !(Maybe [Reply])+ , _comAuthor :: !(Maybe User)+ , _comId :: !(Maybe Text)+ , _comDeleted :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Comment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'comHTMLContent'+--+-- * 'comModifiedTime'+--+-- * 'comCreatedTime'+--+-- * 'comKind'+--+-- * 'comResolved'+--+-- * 'comQuotedFileContent'+--+-- * 'comAnchor'+--+-- * 'comContent'+--+-- * 'comReplies'+--+-- * 'comAuthor'+--+-- * 'comId'+--+-- * 'comDeleted'+comment+ :: Comment+comment =+ Comment'+ { _comHTMLContent = Nothing+ , _comModifiedTime = Nothing+ , _comCreatedTime = Nothing+ , _comKind = "drive#comment"+ , _comResolved = Nothing+ , _comQuotedFileContent = Nothing+ , _comAnchor = Nothing+ , _comContent = Nothing+ , _comReplies = Nothing+ , _comAuthor = Nothing+ , _comId = Nothing+ , _comDeleted = Nothing+ }++-- | The content of the comment with HTML formatting.+comHTMLContent :: Lens' Comment (Maybe Text)+comHTMLContent+ = lens _comHTMLContent+ (\ s a -> s{_comHTMLContent = a})++-- | The last time the comment or any of its replies was modified (RFC 3339+-- date-time).+comModifiedTime :: Lens' Comment (Maybe UTCTime)+comModifiedTime+ = lens _comModifiedTime+ (\ s a -> s{_comModifiedTime = a})+ . mapping _DateTime++-- | The time at which the comment was created (RFC 3339 date-time).+comCreatedTime :: Lens' Comment (Maybe UTCTime)+comCreatedTime+ = lens _comCreatedTime+ (\ s a -> s{_comCreatedTime = a})+ . mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#comment\".+comKind :: Lens' Comment Text+comKind = lens _comKind (\ s a -> s{_comKind = a})++-- | Whether the comment has been resolved by one of its replies.+comResolved :: Lens' Comment (Maybe Bool)+comResolved+ = lens _comResolved (\ s a -> s{_comResolved = a})++-- | The file content to which the comment refers, typically within the+-- anchor region. For a text file, for example, this would be the text at+-- the location of the comment.+comQuotedFileContent :: Lens' Comment (Maybe CommentQuotedFileContent)+comQuotedFileContent+ = lens _comQuotedFileContent+ (\ s a -> s{_comQuotedFileContent = a})++-- | A region of the document represented as a JSON string. See anchor+-- documentation for details on how to define and interpret anchor+-- properties.+comAnchor :: Lens' Comment (Maybe Text)+comAnchor+ = lens _comAnchor (\ s a -> s{_comAnchor = a})++-- | The plain text content of the comment. This field is used for setting+-- the content, while htmlContent should be displayed.+comContent :: Lens' Comment (Maybe Text)+comContent+ = lens _comContent (\ s a -> s{_comContent = a})++-- | The full list of replies to the comment in chronological order.+comReplies :: Lens' Comment [Reply]+comReplies+ = lens _comReplies (\ s a -> s{_comReplies = a}) .+ _Default+ . _Coerce++-- | The user who created the comment.+comAuthor :: Lens' Comment (Maybe User)+comAuthor+ = lens _comAuthor (\ s a -> s{_comAuthor = a})++-- | The ID of the comment.+comId :: Lens' Comment (Maybe Text)+comId = lens _comId (\ s a -> s{_comId = a})++-- | Whether the comment has been deleted. A deleted comment has no content.+comDeleted :: Lens' Comment (Maybe Bool)+comDeleted+ = lens _comDeleted (\ s a -> s{_comDeleted = a})++instance FromJSON Comment where+ parseJSON+ = withObject "Comment"+ (\ o ->+ Comment' <$>+ (o .:? "htmlContent") <*> (o .:? "modifiedTime") <*>+ (o .:? "createdTime")+ <*> (o .:? "kind" .!= "drive#comment")+ <*> (o .:? "resolved")+ <*> (o .:? "quotedFileContent")+ <*> (o .:? "anchor")+ <*> (o .:? "content")+ <*> (o .:? "replies" .!= mempty)+ <*> (o .:? "author")+ <*> (o .:? "id")+ <*> (o .:? "deleted"))++instance ToJSON Comment where+ toJSON Comment'{..}+ = object+ (catMaybes+ [("htmlContent" .=) <$> _comHTMLContent,+ ("modifiedTime" .=) <$> _comModifiedTime,+ ("createdTime" .=) <$> _comCreatedTime,+ Just ("kind" .= _comKind),+ ("resolved" .=) <$> _comResolved,+ ("quotedFileContent" .=) <$> _comQuotedFileContent,+ ("anchor" .=) <$> _comAnchor,+ ("content" .=) <$> _comContent,+ ("replies" .=) <$> _comReplies,+ ("author" .=) <$> _comAuthor, ("id" .=) <$> _comId,+ ("deleted" .=) <$> _comDeleted])++-- | The metadata for a revision to a file.+--+-- /See:/ 'revision' smart constructor.+data Revision = Revision'+ { _revModifiedTime :: !(Maybe DateTime')+ , _revSize :: !(Maybe (Textual Int64))+ , _revOriginalFilename :: !(Maybe Text)+ , _revKind :: !Text+ , _revPublished :: !(Maybe Bool)+ , _revLastModifyingUser :: !(Maybe User)+ , _revPublishAuto :: !(Maybe Bool)+ , _revMD5Checksum :: !(Maybe Text)+ , _revKeepForever :: !(Maybe Bool)+ , _revMimeType :: !(Maybe Text)+ , _revExportLinks :: !(Maybe RevisionExportLinks)+ , _revPublishedOutsideDomain :: !(Maybe Bool)+ , _revId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Revision' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'revModifiedTime'+--+-- * 'revSize'+--+-- * 'revOriginalFilename'+--+-- * 'revKind'+--+-- * 'revPublished'+--+-- * 'revLastModifyingUser'+--+-- * 'revPublishAuto'+--+-- * 'revMD5Checksum'+--+-- * 'revKeepForever'+--+-- * 'revMimeType'+--+-- * 'revExportLinks'+--+-- * 'revPublishedOutsideDomain'+--+-- * 'revId'+revision+ :: Revision+revision =+ Revision'+ { _revModifiedTime = Nothing+ , _revSize = Nothing+ , _revOriginalFilename = Nothing+ , _revKind = "drive#revision"+ , _revPublished = Nothing+ , _revLastModifyingUser = Nothing+ , _revPublishAuto = Nothing+ , _revMD5Checksum = Nothing+ , _revKeepForever = Nothing+ , _revMimeType = Nothing+ , _revExportLinks = Nothing+ , _revPublishedOutsideDomain = Nothing+ , _revId = Nothing+ }++-- | The last time the revision was modified (RFC 3339 date-time).+revModifiedTime :: Lens' Revision (Maybe UTCTime)+revModifiedTime+ = lens _revModifiedTime+ (\ s a -> s{_revModifiedTime = a})+ . mapping _DateTime++-- | The size of the revision\'s content in bytes. This is only applicable to+-- files with binary content in Drive.+revSize :: Lens' Revision (Maybe Int64)+revSize+ = lens _revSize (\ s a -> s{_revSize = a}) .+ mapping _Coerce++-- | The original filename used to create this revision. This is only+-- applicable to files with binary content in Drive.+revOriginalFilename :: Lens' Revision (Maybe Text)+revOriginalFilename+ = lens _revOriginalFilename+ (\ s a -> s{_revOriginalFilename = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#revision\".+revKind :: Lens' Revision Text+revKind = lens _revKind (\ s a -> s{_revKind = a})++-- | Whether this revision is published. This is only applicable to Google+-- Docs.+revPublished :: Lens' Revision (Maybe Bool)+revPublished+ = lens _revPublished (\ s a -> s{_revPublished = a})++-- | The last user to modify this revision.+revLastModifyingUser :: Lens' Revision (Maybe User)+revLastModifyingUser+ = lens _revLastModifyingUser+ (\ s a -> s{_revLastModifyingUser = a})++-- | Whether subsequent revisions will be automatically republished. This is+-- only applicable to Google Docs.+revPublishAuto :: Lens' Revision (Maybe Bool)+revPublishAuto+ = lens _revPublishAuto+ (\ s a -> s{_revPublishAuto = a})++-- | The MD5 checksum of the revision\'s content. This is only applicable to+-- files with binary content in Drive.+revMD5Checksum :: Lens' Revision (Maybe Text)+revMD5Checksum+ = lens _revMD5Checksum+ (\ s a -> s{_revMD5Checksum = a})++-- | Whether to keep this revision forever, even if it is no longer the head+-- revision. If not set, the revision will be automatically purged 30 days+-- after newer content is uploaded. This can be set on a maximum of 200+-- revisions for a file. This field is only applicable to files with binary+-- content in Drive.+revKeepForever :: Lens' Revision (Maybe Bool)+revKeepForever+ = lens _revKeepForever+ (\ s a -> s{_revKeepForever = a})++-- | The MIME type of the revision.+revMimeType :: Lens' Revision (Maybe Text)+revMimeType+ = lens _revMimeType (\ s a -> s{_revMimeType = a})++-- | Links for exporting Google Docs to specific formats.+revExportLinks :: Lens' Revision (Maybe RevisionExportLinks)+revExportLinks+ = lens _revExportLinks+ (\ s a -> s{_revExportLinks = a})++-- | Whether this revision is published outside the domain. This is only+-- applicable to Google Docs.+revPublishedOutsideDomain :: Lens' Revision (Maybe Bool)+revPublishedOutsideDomain+ = lens _revPublishedOutsideDomain+ (\ s a -> s{_revPublishedOutsideDomain = a})++-- | The ID of the revision.+revId :: Lens' Revision (Maybe Text)+revId = lens _revId (\ s a -> s{_revId = a})++instance FromJSON Revision where+ parseJSON+ = withObject "Revision"+ (\ o ->+ Revision' <$>+ (o .:? "modifiedTime") <*> (o .:? "size") <*>+ (o .:? "originalFilename")+ <*> (o .:? "kind" .!= "drive#revision")+ <*> (o .:? "published")+ <*> (o .:? "lastModifyingUser")+ <*> (o .:? "publishAuto")+ <*> (o .:? "md5Checksum")+ <*> (o .:? "keepForever")+ <*> (o .:? "mimeType")+ <*> (o .:? "exportLinks")+ <*> (o .:? "publishedOutsideDomain")+ <*> (o .:? "id"))++instance ToJSON Revision where+ toJSON Revision'{..}+ = object+ (catMaybes+ [("modifiedTime" .=) <$> _revModifiedTime,+ ("size" .=) <$> _revSize,+ ("originalFilename" .=) <$> _revOriginalFilename,+ Just ("kind" .= _revKind),+ ("published" .=) <$> _revPublished,+ ("lastModifyingUser" .=) <$> _revLastModifyingUser,+ ("publishAuto" .=) <$> _revPublishAuto,+ ("md5Checksum" .=) <$> _revMD5Checksum,+ ("keepForever" .=) <$> _revKeepForever,+ ("mimeType" .=) <$> _revMimeType,+ ("exportLinks" .=) <$> _revExportLinks,+ ("publishedOutsideDomain" .=) <$>+ _revPublishedOutsideDomain,+ ("id" .=) <$> _revId])++-- | A permission for a file. A permission grants a user, group, domain or+-- the world access to a file or a folder hierarchy.+--+-- /See:/ 'permission' smart constructor.+data Permission = Permission'+ { _pPhotoLink :: !(Maybe Text)+ , _pTeamDrivePermissionDetails :: !(Maybe [PermissionTeamDrivePermissionDetailsItem])+ , _pKind :: !Text+ , _pDomain :: !(Maybe Text)+ , _pRole :: !(Maybe Text)+ , _pEmailAddress :: !(Maybe Text)+ , _pAllowFileDiscovery :: !(Maybe Bool)+ , _pDisplayName :: !(Maybe Text)+ , _pId :: !(Maybe Text)+ , _pDeleted :: !(Maybe Bool)+ , _pType :: !(Maybe Text)+ , _pExpirationTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Permission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pPhotoLink'+--+-- * 'pTeamDrivePermissionDetails'+--+-- * 'pKind'+--+-- * 'pDomain'+--+-- * 'pRole'+--+-- * 'pEmailAddress'+--+-- * 'pAllowFileDiscovery'+--+-- * 'pDisplayName'+--+-- * 'pId'+--+-- * 'pDeleted'+--+-- * 'pType'+--+-- * 'pExpirationTime'+permission+ :: Permission+permission =+ Permission'+ { _pPhotoLink = Nothing+ , _pTeamDrivePermissionDetails = Nothing+ , _pKind = "drive#permission"+ , _pDomain = Nothing+ , _pRole = Nothing+ , _pEmailAddress = Nothing+ , _pAllowFileDiscovery = Nothing+ , _pDisplayName = Nothing+ , _pId = Nothing+ , _pDeleted = Nothing+ , _pType = Nothing+ , _pExpirationTime = Nothing+ }++-- | A link to the user\'s profile photo, if available.+pPhotoLink :: Lens' Permission (Maybe Text)+pPhotoLink+ = lens _pPhotoLink (\ s a -> s{_pPhotoLink = a})++-- | Details of whether the permissions on this Team Drive item are inherited+-- or directly on this item. This is an output-only field which is present+-- only for Team Drive items.+pTeamDrivePermissionDetails :: Lens' Permission [PermissionTeamDrivePermissionDetailsItem]+pTeamDrivePermissionDetails+ = lens _pTeamDrivePermissionDetails+ (\ s a -> s{_pTeamDrivePermissionDetails = a})+ . _Default+ . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#permission\".+pKind :: Lens' Permission Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | The domain to which this permission refers.+pDomain :: Lens' Permission (Maybe Text)+pDomain = lens _pDomain (\ s a -> s{_pDomain = a})++-- | The role granted by this permission. While new values may be supported+-- in the future, the following are currently allowed: - owner - organizer+-- - fileOrganizer - writer - commenter - reader+pRole :: Lens' Permission (Maybe Text)+pRole = lens _pRole (\ s a -> s{_pRole = a})++-- | The email address of the user or group to which this permission refers.+pEmailAddress :: Lens' Permission (Maybe Text)+pEmailAddress+ = lens _pEmailAddress+ (\ s a -> s{_pEmailAddress = a})++-- | Whether the permission allows the file to be discovered through search.+-- This is only applicable for permissions of type domain or anyone.+pAllowFileDiscovery :: Lens' Permission (Maybe Bool)+pAllowFileDiscovery+ = lens _pAllowFileDiscovery+ (\ s a -> s{_pAllowFileDiscovery = a})++-- | A displayable name for users, groups or domains.+pDisplayName :: Lens' Permission (Maybe Text)+pDisplayName+ = lens _pDisplayName (\ s a -> s{_pDisplayName = a})++-- | The ID of this permission. This is a unique identifier for the grantee,+-- and is published in User resources as permissionId.+pId :: Lens' Permission (Maybe Text)+pId = lens _pId (\ s a -> s{_pId = a})++-- | Whether the account associated with this permission has been deleted.+-- This field only pertains to user and group permissions.+pDeleted :: Lens' Permission (Maybe Bool)+pDeleted = lens _pDeleted (\ s a -> s{_pDeleted = a})++-- | The type of the grantee. Valid values are: - user - group - domain -+-- anyone+pType :: Lens' Permission (Maybe Text)+pType = lens _pType (\ s a -> s{_pType = a})++-- | The time at which this permission will expire (RFC 3339 date-time).+-- Expiration times have the following restrictions: - They can only be set+-- on user and group permissions - The time must be in the future - The+-- time cannot be more than a year in the future+pExpirationTime :: Lens' Permission (Maybe UTCTime)+pExpirationTime+ = lens _pExpirationTime+ (\ s a -> s{_pExpirationTime = a})+ . mapping _DateTime++instance FromJSON Permission where+ parseJSON+ = withObject "Permission"+ (\ o ->+ Permission' <$>+ (o .:? "photoLink") <*>+ (o .:? "teamDrivePermissionDetails" .!= mempty)+ <*> (o .:? "kind" .!= "drive#permission")+ <*> (o .:? "domain")+ <*> (o .:? "role")+ <*> (o .:? "emailAddress")+ <*> (o .:? "allowFileDiscovery")+ <*> (o .:? "displayName")+ <*> (o .:? "id")+ <*> (o .:? "deleted")+ <*> (o .:? "type")+ <*> (o .:? "expirationTime"))++instance ToJSON Permission where+ toJSON Permission'{..}+ = object+ (catMaybes+ [("photoLink" .=) <$> _pPhotoLink,+ ("teamDrivePermissionDetails" .=) <$>+ _pTeamDrivePermissionDetails,+ Just ("kind" .= _pKind), ("domain" .=) <$> _pDomain,+ ("role" .=) <$> _pRole,+ ("emailAddress" .=) <$> _pEmailAddress,+ ("allowFileDiscovery" .=) <$> _pAllowFileDiscovery,+ ("displayName" .=) <$> _pDisplayName,+ ("id" .=) <$> _pId, ("deleted" .=) <$> _pDeleted,+ ("type" .=) <$> _pType,+ ("expirationTime" .=) <$> _pExpirationTime])++-- | The metadata for a file.+--+-- /See:/ 'file' smart constructor.+data File = File'+ { _fOwnedByMe :: !(Maybe Bool)+ , _fThumbnailLink :: !(Maybe Text)+ , _fFullFileExtension :: !(Maybe Text)+ , _fModifiedTime :: !(Maybe DateTime')+ , _fModifiedByMeTime :: !(Maybe DateTime')+ , _fFileExtension :: !(Maybe Text)+ , _fViewedByMe :: !(Maybe Bool)+ , _fOwners :: !(Maybe [User])+ , _fViewedByMeTime :: !(Maybe DateTime')+ , _fModifiedByMe :: !(Maybe Bool)+ , _fSize :: !(Maybe (Textual Int64))+ , _fTrashed :: !(Maybe Bool)+ , _fWebViewLink :: !(Maybe Text)+ , _fCreatedTime :: !(Maybe DateTime')+ , _fTrashedTime :: !(Maybe DateTime')+ , _fOriginalFilename :: !(Maybe Text)+ , _fKind :: !Text+ , _fLastModifyingUser :: !(Maybe User)+ , _fIconLink :: !(Maybe Text)+ , _fHasThumbnail :: !(Maybe Bool)+ , _fThumbnailVersion :: !(Maybe (Textual Int64))+ , _fImageMediaMetadata :: !(Maybe FileImageMediaMetadata)+ , _fExplicitlyTrashed :: !(Maybe Bool)+ , _fShared :: !(Maybe Bool)+ , _fMD5Checksum :: !(Maybe Text)+ , _fTeamDriveId :: !(Maybe Text)+ , _fFolderColorRgb :: !(Maybe Text)+ , _fMimeType :: !(Maybe Text)+ , _fIsAppAuthorized :: !(Maybe Bool)+ , _fCopyRequiresWriterPermission :: !(Maybe Bool)+ , _fName :: !(Maybe Text)+ , _fExportLinks :: !(Maybe FileExportLinks)+ , _fParents :: !(Maybe [Text])+ , _fStarred :: !(Maybe Bool)+ , _fSpaces :: !(Maybe [Text])+ , _fVersion :: !(Maybe (Textual Int64))+ , _fHasAugmentedPermissions :: !(Maybe Bool)+ , _fWritersCanShare :: !(Maybe Bool)+ , _fTrashingUser :: !(Maybe User)+ , _fId :: !(Maybe Text)+ , _fPermissionIds :: !(Maybe [Text])+ , _fPermissions :: !(Maybe [Permission])+ , _fQuotaBytesUsed :: !(Maybe (Textual Int64))+ , _fAppProperties :: !(Maybe FileAppProperties)+ , _fVideoMediaMetadata :: !(Maybe FileVideoMediaMetadata)+ , _fSharedWithMeTime :: !(Maybe DateTime')+ , _fHeadRevisionId :: !(Maybe Text)+ , _fCapabilities :: !(Maybe FileCapabilities)+ , _fDescription :: !(Maybe Text)+ , _fViewersCanCopyContent :: !(Maybe Bool)+ , _fSharingUser :: !(Maybe User)+ , _fWebContentLink :: !(Maybe Text)+ , _fContentHints :: !(Maybe FileContentHints)+ , _fProperties :: !(Maybe FileProperties)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'File' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fOwnedByMe'+--+-- * 'fThumbnailLink'+--+-- * 'fFullFileExtension'+--+-- * 'fModifiedTime'+--+-- * 'fModifiedByMeTime'+--+-- * 'fFileExtension'+--+-- * 'fViewedByMe'+--+-- * 'fOwners'+--+-- * 'fViewedByMeTime'+--+-- * 'fModifiedByMe'+--+-- * 'fSize'+--+-- * 'fTrashed'+--+-- * 'fWebViewLink'+--+-- * 'fCreatedTime'+--+-- * 'fTrashedTime'+--+-- * 'fOriginalFilename'+--+-- * 'fKind'+--+-- * 'fLastModifyingUser'+--+-- * 'fIconLink'+--+-- * 'fHasThumbnail'+--+-- * 'fThumbnailVersion'+--+-- * 'fImageMediaMetadata'+--+-- * 'fExplicitlyTrashed'+--+-- * 'fShared'+--+-- * 'fMD5Checksum'+--+-- * 'fTeamDriveId'+--+-- * 'fFolderColorRgb'+--+-- * 'fMimeType'+--+-- * 'fIsAppAuthorized'+--+-- * 'fCopyRequiresWriterPermission'+--+-- * 'fName'+--+-- * 'fExportLinks'+--+-- * 'fParents'+--+-- * 'fStarred'+--+-- * 'fSpaces'+--+-- * 'fVersion'+--+-- * 'fHasAugmentedPermissions'+--+-- * 'fWritersCanShare'+--+-- * 'fTrashingUser'+--+-- * 'fId'+--+-- * 'fPermissionIds'+--+-- * 'fPermissions'+--+-- * 'fQuotaBytesUsed'+--+-- * 'fAppProperties'+--+-- * 'fVideoMediaMetadata'+--+-- * 'fSharedWithMeTime'+--+-- * 'fHeadRevisionId'+--+-- * 'fCapabilities'+--+-- * 'fDescription'+--+-- * 'fViewersCanCopyContent'+--+-- * 'fSharingUser'+--+-- * 'fWebContentLink'+--+-- * 'fContentHints'+--+-- * 'fProperties'+file+ :: File+file =+ File'+ { _fOwnedByMe = Nothing+ , _fThumbnailLink = Nothing+ , _fFullFileExtension = Nothing+ , _fModifiedTime = Nothing+ , _fModifiedByMeTime = Nothing+ , _fFileExtension = Nothing+ , _fViewedByMe = Nothing+ , _fOwners = Nothing+ , _fViewedByMeTime = Nothing+ , _fModifiedByMe = Nothing+ , _fSize = Nothing+ , _fTrashed = Nothing+ , _fWebViewLink = Nothing+ , _fCreatedTime = Nothing+ , _fTrashedTime = Nothing+ , _fOriginalFilename = Nothing+ , _fKind = "drive#file"+ , _fLastModifyingUser = Nothing+ , _fIconLink = Nothing+ , _fHasThumbnail = Nothing+ , _fThumbnailVersion = Nothing+ , _fImageMediaMetadata = Nothing+ , _fExplicitlyTrashed = Nothing+ , _fShared = Nothing+ , _fMD5Checksum = Nothing+ , _fTeamDriveId = Nothing+ , _fFolderColorRgb = Nothing+ , _fMimeType = Nothing+ , _fIsAppAuthorized = Nothing+ , _fCopyRequiresWriterPermission = Nothing+ , _fName = Nothing+ , _fExportLinks = Nothing+ , _fParents = Nothing+ , _fStarred = Nothing+ , _fSpaces = Nothing+ , _fVersion = Nothing+ , _fHasAugmentedPermissions = Nothing+ , _fWritersCanShare = Nothing+ , _fTrashingUser = Nothing+ , _fId = Nothing+ , _fPermissionIds = Nothing+ , _fPermissions = Nothing+ , _fQuotaBytesUsed = Nothing+ , _fAppProperties = Nothing+ , _fVideoMediaMetadata = Nothing+ , _fSharedWithMeTime = Nothing+ , _fHeadRevisionId = Nothing+ , _fCapabilities = Nothing+ , _fDescription = Nothing+ , _fViewersCanCopyContent = Nothing+ , _fSharingUser = Nothing+ , _fWebContentLink = Nothing+ , _fContentHints = Nothing+ , _fProperties = Nothing+ }++-- | Whether the user owns the file. Not populated for Team Drive files.+fOwnedByMe :: Lens' File (Maybe Bool)+fOwnedByMe+ = lens _fOwnedByMe (\ s a -> s{_fOwnedByMe = a})++-- | A short-lived link to the file\'s thumbnail, if available. Typically+-- lasts on the order of hours. Only populated when the requesting app can+-- access the file\'s content.+fThumbnailLink :: Lens' File (Maybe Text)+fThumbnailLink+ = lens _fThumbnailLink+ (\ s a -> s{_fThumbnailLink = a})++-- | The full file extension extracted from the name field. May contain+-- multiple concatenated extensions, such as \"tar.gz\". This is only+-- available for files with binary content in Drive. This is automatically+-- updated when the name field changes, however it is not cleared if the+-- new name does not contain a valid extension.+fFullFileExtension :: Lens' File (Maybe Text)+fFullFileExtension+ = lens _fFullFileExtension+ (\ s a -> s{_fFullFileExtension = a})++-- | The last time the file was modified by anyone (RFC 3339 date-time). Note+-- that setting modifiedTime will also update modifiedByMeTime for the+-- user.+fModifiedTime :: Lens' File (Maybe UTCTime)+fModifiedTime+ = lens _fModifiedTime+ (\ s a -> s{_fModifiedTime = a})+ . mapping _DateTime++-- | The last time the file was modified by the user (RFC 3339 date-time).+fModifiedByMeTime :: Lens' File (Maybe UTCTime)+fModifiedByMeTime+ = lens _fModifiedByMeTime+ (\ s a -> s{_fModifiedByMeTime = a})+ . mapping _DateTime++-- | The final component of fullFileExtension. This is only available for+-- files with binary content in Drive.+fFileExtension :: Lens' File (Maybe Text)+fFileExtension+ = lens _fFileExtension+ (\ s a -> s{_fFileExtension = a})++-- | Whether the file has been viewed by this user.+fViewedByMe :: Lens' File (Maybe Bool)+fViewedByMe+ = lens _fViewedByMe (\ s a -> s{_fViewedByMe = a})++-- | The owners of the file. Currently, only certain legacy files may have+-- more than one owner. Not populated for Team Drive files.+fOwners :: Lens' File [User]+fOwners+ = lens _fOwners (\ s a -> s{_fOwners = a}) . _Default+ . _Coerce++-- | The last time the file was viewed by the user (RFC 3339 date-time).+fViewedByMeTime :: Lens' File (Maybe UTCTime)+fViewedByMeTime+ = lens _fViewedByMeTime+ (\ s a -> s{_fViewedByMeTime = a})+ . mapping _DateTime++-- | Whether the file has been modified by this user.+fModifiedByMe :: Lens' File (Maybe Bool)+fModifiedByMe+ = lens _fModifiedByMe+ (\ s a -> s{_fModifiedByMe = a})++-- | The size of the file\'s content in bytes. This is only applicable to+-- files with binary content in Drive.+fSize :: Lens' File (Maybe Int64)+fSize+ = lens _fSize (\ s a -> s{_fSize = a}) .+ mapping _Coerce++-- | Whether the file has been trashed, either explicitly or from a trashed+-- parent folder. Only the owner may trash a file, and other users cannot+-- see files in the owner\'s trash.+fTrashed :: Lens' File (Maybe Bool)+fTrashed = lens _fTrashed (\ s a -> s{_fTrashed = a})++-- | A link for opening the file in a relevant Google editor or viewer in a+-- browser.+fWebViewLink :: Lens' File (Maybe Text)+fWebViewLink+ = lens _fWebViewLink (\ s a -> s{_fWebViewLink = a})++-- | The time at which the file was created (RFC 3339 date-time).+fCreatedTime :: Lens' File (Maybe UTCTime)+fCreatedTime+ = lens _fCreatedTime (\ s a -> s{_fCreatedTime = a})+ . mapping _DateTime++-- | The time that the item was trashed (RFC 3339 date-time). Only populated+-- for Team Drive files.+fTrashedTime :: Lens' File (Maybe UTCTime)+fTrashedTime+ = lens _fTrashedTime (\ s a -> s{_fTrashedTime = a})+ . mapping _DateTime++-- | The original filename of the uploaded content if available, or else the+-- original value of the name field. This is only available for files with+-- binary content in Drive.+fOriginalFilename :: Lens' File (Maybe Text)+fOriginalFilename+ = lens _fOriginalFilename+ (\ s a -> s{_fOriginalFilename = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#file\".+fKind :: Lens' File Text+fKind = lens _fKind (\ s a -> s{_fKind = a})++-- | The last user to modify the file.+fLastModifyingUser :: Lens' File (Maybe User)+fLastModifyingUser+ = lens _fLastModifyingUser+ (\ s a -> s{_fLastModifyingUser = a})++-- | A static, unauthenticated link to the file\'s icon.+fIconLink :: Lens' File (Maybe Text)+fIconLink+ = lens _fIconLink (\ s a -> s{_fIconLink = a})++-- | Whether this file has a thumbnail. This does not indicate whether the+-- requesting app has access to the thumbnail. To check access, look for+-- the presence of the thumbnailLink field.+fHasThumbnail :: Lens' File (Maybe Bool)+fHasThumbnail+ = lens _fHasThumbnail+ (\ s a -> s{_fHasThumbnail = a})++-- | The thumbnail version for use in thumbnail cache invalidation.+fThumbnailVersion :: Lens' File (Maybe Int64)+fThumbnailVersion+ = lens _fThumbnailVersion+ (\ s a -> s{_fThumbnailVersion = a})+ . mapping _Coerce++-- | Additional metadata about image media, if available.+fImageMediaMetadata :: Lens' File (Maybe FileImageMediaMetadata)+fImageMediaMetadata+ = lens _fImageMediaMetadata+ (\ s a -> s{_fImageMediaMetadata = a})++-- | Whether the file has been explicitly trashed, as opposed to recursively+-- trashed from a parent folder.+fExplicitlyTrashed :: Lens' File (Maybe Bool)+fExplicitlyTrashed+ = lens _fExplicitlyTrashed+ (\ s a -> s{_fExplicitlyTrashed = a})++-- | Whether the file has been shared. Not populated for Team Drive files.+fShared :: Lens' File (Maybe Bool)+fShared = lens _fShared (\ s a -> s{_fShared = a})++-- | The MD5 checksum for the content of the file. This is only applicable to+-- files with binary content in Drive.+fMD5Checksum :: Lens' File (Maybe Text)+fMD5Checksum+ = lens _fMD5Checksum (\ s a -> s{_fMD5Checksum = a})++-- | ID of the Team Drive the file resides in.+fTeamDriveId :: Lens' File (Maybe Text)+fTeamDriveId+ = lens _fTeamDriveId (\ s a -> s{_fTeamDriveId = a})++-- | The color for a folder as an RGB hex string. The supported colors are+-- published in the folderColorPalette field of the About resource. If an+-- unsupported color is specified, the closest color in the palette will be+-- used instead.+fFolderColorRgb :: Lens' File (Maybe Text)+fFolderColorRgb+ = lens _fFolderColorRgb+ (\ s a -> s{_fFolderColorRgb = a})++-- | The MIME type of the file. Drive will attempt to automatically detect an+-- appropriate value from uploaded content if no value is provided. The+-- value cannot be changed unless a new revision is uploaded. If a file is+-- created with a Google Doc MIME type, the uploaded content will be+-- imported if possible. The supported import formats are published in the+-- About resource.+fMimeType :: Lens' File (Maybe Text)+fMimeType+ = lens _fMimeType (\ s a -> s{_fMimeType = a})++-- | Whether the file was created or opened by the requesting app.+fIsAppAuthorized :: Lens' File (Maybe Bool)+fIsAppAuthorized+ = lens _fIsAppAuthorized+ (\ s a -> s{_fIsAppAuthorized = a})++-- | Whether the options to copy, print, or download this file, should be+-- disabled for readers and commenters.+fCopyRequiresWriterPermission :: Lens' File (Maybe Bool)+fCopyRequiresWriterPermission+ = lens _fCopyRequiresWriterPermission+ (\ s a -> s{_fCopyRequiresWriterPermission = a})++-- | The name of the file. This is not necessarily unique within a folder.+-- Note that for immutable items such as the top level folders of Team+-- Drives, My Drive root folder, and Application Data folder the name is+-- constant.+fName :: Lens' File (Maybe Text)+fName = lens _fName (\ s a -> s{_fName = a})++-- | Links for exporting Google Docs to specific formats.+fExportLinks :: Lens' File (Maybe FileExportLinks)+fExportLinks+ = lens _fExportLinks (\ s a -> s{_fExportLinks = a})++-- | The IDs of the parent folders which contain the file. If not specified+-- as part of a create request, the file will be placed directly in the+-- user\'s My Drive folder. If not specified as part of a copy request, the+-- file will inherit any discoverable parents of the source file. Update+-- requests must use the addParents and removeParents parameters to modify+-- the parents list.+fParents :: Lens' File [Text]+fParents+ = lens _fParents (\ s a -> s{_fParents = a}) .+ _Default+ . _Coerce++-- | Whether the user has starred the file.+fStarred :: Lens' File (Maybe Bool)+fStarred = lens _fStarred (\ s a -> s{_fStarred = a})++-- | The list of spaces which contain the file. The currently supported+-- values are \'drive\', \'appDataFolder\' and \'photos\'.+fSpaces :: Lens' File [Text]+fSpaces+ = lens _fSpaces (\ s a -> s{_fSpaces = a}) . _Default+ . _Coerce++-- | A monotonically increasing version number for the file. This reflects+-- every change made to the file on the server, even those not visible to+-- the user.+fVersion :: Lens' File (Maybe Int64)+fVersion+ = lens _fVersion (\ s a -> s{_fVersion = a}) .+ mapping _Coerce++-- | Whether any users are granted file access directly on this file. This+-- field is only populated for Team Drive files.+fHasAugmentedPermissions :: Lens' File (Maybe Bool)+fHasAugmentedPermissions+ = lens _fHasAugmentedPermissions+ (\ s a -> s{_fHasAugmentedPermissions = a})++-- | Whether users with only writer permission can modify the file\'s+-- permissions. Not populated for Team Drive files.+fWritersCanShare :: Lens' File (Maybe Bool)+fWritersCanShare+ = lens _fWritersCanShare+ (\ s a -> s{_fWritersCanShare = a})++-- | If the file has been explicitly trashed, the user who trashed it. Only+-- populated for Team Drive files.+fTrashingUser :: Lens' File (Maybe User)+fTrashingUser+ = lens _fTrashingUser+ (\ s a -> s{_fTrashingUser = a})++-- | The ID of the file.+fId :: Lens' File (Maybe Text)+fId = lens _fId (\ s a -> s{_fId = a})++-- | List of permission IDs for users with access to this file.+fPermissionIds :: Lens' File [Text]+fPermissionIds+ = lens _fPermissionIds+ (\ s a -> s{_fPermissionIds = a})+ . _Default+ . _Coerce++-- | The full list of permissions for the file. This is only available if the+-- requesting user can share the file. Not populated for Team Drive files.+fPermissions :: Lens' File [Permission]+fPermissions+ = lens _fPermissions (\ s a -> s{_fPermissions = a})+ . _Default+ . _Coerce++-- | The number of storage quota bytes used by the file. This includes the+-- head revision as well as previous revisions with keepForever enabled.+fQuotaBytesUsed :: Lens' File (Maybe Int64)+fQuotaBytesUsed+ = lens _fQuotaBytesUsed+ (\ s a -> s{_fQuotaBytesUsed = a})+ . mapping _Coerce++-- | A collection of arbitrary key-value pairs which are private to the+-- requesting app. Entries with null values are cleared in update and copy+-- requests.+fAppProperties :: Lens' File (Maybe FileAppProperties)+fAppProperties+ = lens _fAppProperties+ (\ s a -> s{_fAppProperties = a})++-- | Additional metadata about video media. This may not be available+-- immediately upon upload.+fVideoMediaMetadata :: Lens' File (Maybe FileVideoMediaMetadata)+fVideoMediaMetadata+ = lens _fVideoMediaMetadata+ (\ s a -> s{_fVideoMediaMetadata = a})++-- | The time at which the file was shared with the user, if applicable (RFC+-- 3339 date-time).+fSharedWithMeTime :: Lens' File (Maybe UTCTime)+fSharedWithMeTime+ = lens _fSharedWithMeTime+ (\ s a -> s{_fSharedWithMeTime = a})+ . mapping _DateTime++-- | The ID of the file\'s head revision. This is currently only available+-- for files with binary content in Drive.+fHeadRevisionId :: Lens' File (Maybe Text)+fHeadRevisionId+ = lens _fHeadRevisionId+ (\ s a -> s{_fHeadRevisionId = a})++-- | Capabilities the current user has on this file. Each capability+-- corresponds to a fine-grained action that a user may take.+fCapabilities :: Lens' File (Maybe FileCapabilities)+fCapabilities+ = lens _fCapabilities+ (\ s a -> s{_fCapabilities = a})++-- | A short description of the file.+fDescription :: Lens' File (Maybe Text)+fDescription+ = lens _fDescription (\ s a -> s{_fDescription = a})++-- | Deprecated - use copyRequiresWriterPermission instead.+fViewersCanCopyContent :: Lens' File (Maybe Bool)+fViewersCanCopyContent+ = lens _fViewersCanCopyContent+ (\ s a -> s{_fViewersCanCopyContent = a})++-- | The user who shared the file with the requesting user, if applicable.+fSharingUser :: Lens' File (Maybe User)+fSharingUser+ = lens _fSharingUser (\ s a -> s{_fSharingUser = a})++-- | A link for downloading the content of the file in a browser. This is+-- only available for files with binary content in Drive.+fWebContentLink :: Lens' File (Maybe Text)+fWebContentLink+ = lens _fWebContentLink+ (\ s a -> s{_fWebContentLink = a})++-- | Additional information about the content of the file. These fields are+-- never populated in responses.+fContentHints :: Lens' File (Maybe FileContentHints)+fContentHints+ = lens _fContentHints+ (\ s a -> s{_fContentHints = a})++-- | A collection of arbitrary key-value pairs which are visible to all apps.+-- Entries with null values are cleared in update and copy requests.+fProperties :: Lens' File (Maybe FileProperties)+fProperties+ = lens _fProperties (\ s a -> s{_fProperties = a})++instance FromJSON File where+ parseJSON+ = withObject "File"+ (\ o ->+ File' <$>+ (o .:? "ownedByMe") <*> (o .:? "thumbnailLink") <*>+ (o .:? "fullFileExtension")+ <*> (o .:? "modifiedTime")+ <*> (o .:? "modifiedByMeTime")+ <*> (o .:? "fileExtension")+ <*> (o .:? "viewedByMe")+ <*> (o .:? "owners" .!= mempty)+ <*> (o .:? "viewedByMeTime")+ <*> (o .:? "modifiedByMe")+ <*> (o .:? "size")+ <*> (o .:? "trashed")+ <*> (o .:? "webViewLink")+ <*> (o .:? "createdTime")+ <*> (o .:? "trashedTime")+ <*> (o .:? "originalFilename")+ <*> (o .:? "kind" .!= "drive#file")+ <*> (o .:? "lastModifyingUser")+ <*> (o .:? "iconLink")+ <*> (o .:? "hasThumbnail")+ <*> (o .:? "thumbnailVersion")+ <*> (o .:? "imageMediaMetadata")+ <*> (o .:? "explicitlyTrashed")+ <*> (o .:? "shared")+ <*> (o .:? "md5Checksum")+ <*> (o .:? "teamDriveId")+ <*> (o .:? "folderColorRgb")+ <*> (o .:? "mimeType")+ <*> (o .:? "isAppAuthorized")+ <*> (o .:? "copyRequiresWriterPermission")+ <*> (o .:? "name")+ <*> (o .:? "exportLinks")+ <*> (o .:? "parents" .!= mempty)+ <*> (o .:? "starred")+ <*> (o .:? "spaces" .!= mempty)+ <*> (o .:? "version")+ <*> (o .:? "hasAugmentedPermissions")+ <*> (o .:? "writersCanShare")+ <*> (o .:? "trashingUser")+ <*> (o .:? "id")+ <*> (o .:? "permissionIds" .!= mempty)+ <*> (o .:? "permissions" .!= mempty)+ <*> (o .:? "quotaBytesUsed")+ <*> (o .:? "appProperties")+ <*> (o .:? "videoMediaMetadata")+ <*> (o .:? "sharedWithMeTime")+ <*> (o .:? "headRevisionId")+ <*> (o .:? "capabilities")+ <*> (o .:? "description")+ <*> (o .:? "viewersCanCopyContent")+ <*> (o .:? "sharingUser")+ <*> (o .:? "webContentLink")+ <*> (o .:? "contentHints")+ <*> (o .:? "properties"))++instance ToJSON File where+ toJSON File'{..}+ = object+ (catMaybes+ [("ownedByMe" .=) <$> _fOwnedByMe,+ ("thumbnailLink" .=) <$> _fThumbnailLink,+ ("fullFileExtension" .=) <$> _fFullFileExtension,+ ("modifiedTime" .=) <$> _fModifiedTime,+ ("modifiedByMeTime" .=) <$> _fModifiedByMeTime,+ ("fileExtension" .=) <$> _fFileExtension,+ ("viewedByMe" .=) <$> _fViewedByMe,+ ("owners" .=) <$> _fOwners,+ ("viewedByMeTime" .=) <$> _fViewedByMeTime,+ ("modifiedByMe" .=) <$> _fModifiedByMe,+ ("size" .=) <$> _fSize, ("trashed" .=) <$> _fTrashed,+ ("webViewLink" .=) <$> _fWebViewLink,+ ("createdTime" .=) <$> _fCreatedTime,+ ("trashedTime" .=) <$> _fTrashedTime,+ ("originalFilename" .=) <$> _fOriginalFilename,+ Just ("kind" .= _fKind),+ ("lastModifyingUser" .=) <$> _fLastModifyingUser,+ ("iconLink" .=) <$> _fIconLink,+ ("hasThumbnail" .=) <$> _fHasThumbnail,+ ("thumbnailVersion" .=) <$> _fThumbnailVersion,+ ("imageMediaMetadata" .=) <$> _fImageMediaMetadata,+ ("explicitlyTrashed" .=) <$> _fExplicitlyTrashed,+ ("shared" .=) <$> _fShared,+ ("md5Checksum" .=) <$> _fMD5Checksum,+ ("teamDriveId" .=) <$> _fTeamDriveId,+ ("folderColorRgb" .=) <$> _fFolderColorRgb,+ ("mimeType" .=) <$> _fMimeType,+ ("isAppAuthorized" .=) <$> _fIsAppAuthorized,+ ("copyRequiresWriterPermission" .=) <$>+ _fCopyRequiresWriterPermission,+ ("name" .=) <$> _fName,+ ("exportLinks" .=) <$> _fExportLinks,+ ("parents" .=) <$> _fParents,+ ("starred" .=) <$> _fStarred,+ ("spaces" .=) <$> _fSpaces,+ ("version" .=) <$> _fVersion,+ ("hasAugmentedPermissions" .=) <$>+ _fHasAugmentedPermissions,+ ("writersCanShare" .=) <$> _fWritersCanShare,+ ("trashingUser" .=) <$> _fTrashingUser,+ ("id" .=) <$> _fId,+ ("permissionIds" .=) <$> _fPermissionIds,+ ("permissions" .=) <$> _fPermissions,+ ("quotaBytesUsed" .=) <$> _fQuotaBytesUsed,+ ("appProperties" .=) <$> _fAppProperties,+ ("videoMediaMetadata" .=) <$> _fVideoMediaMetadata,+ ("sharedWithMeTime" .=) <$> _fSharedWithMeTime,+ ("headRevisionId" .=) <$> _fHeadRevisionId,+ ("capabilities" .=) <$> _fCapabilities,+ ("description" .=) <$> _fDescription,+ ("viewersCanCopyContent" .=) <$>+ _fViewersCanCopyContent,+ ("sharingUser" .=) <$> _fSharingUser,+ ("webContentLink" .=) <$> _fWebContentLink,+ ("contentHints" .=) <$> _fContentHints,+ ("properties" .=) <$> _fProperties])++--+-- /See:/ 'permissionTeamDrivePermissionDetailsItem' smart constructor.+data PermissionTeamDrivePermissionDetailsItem = PermissionTeamDrivePermissionDetailsItem'+ { _ptdpdiInherited :: !(Maybe Bool)+ , _ptdpdiTeamDrivePermissionType :: !(Maybe Text)+ , _ptdpdiRole :: !(Maybe Text)+ , _ptdpdiInheritedFrom :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionTeamDrivePermissionDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptdpdiInherited'+--+-- * 'ptdpdiTeamDrivePermissionType'+--+-- * 'ptdpdiRole'+--+-- * 'ptdpdiInheritedFrom'+permissionTeamDrivePermissionDetailsItem+ :: PermissionTeamDrivePermissionDetailsItem+permissionTeamDrivePermissionDetailsItem =+ PermissionTeamDrivePermissionDetailsItem'+ { _ptdpdiInherited = Nothing+ , _ptdpdiTeamDrivePermissionType = Nothing+ , _ptdpdiRole = Nothing+ , _ptdpdiInheritedFrom = Nothing+ }++-- | Whether this permission is inherited. This field is always populated.+-- This is an output-only field.+ptdpdiInherited :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Bool)+ptdpdiInherited+ = lens _ptdpdiInherited+ (\ s a -> s{_ptdpdiInherited = a})++-- | The Team Drive permission type for this user. While new values may be+-- added in future, the following are currently possible: - file - member+ptdpdiTeamDrivePermissionType :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)+ptdpdiTeamDrivePermissionType+ = lens _ptdpdiTeamDrivePermissionType+ (\ s a -> s{_ptdpdiTeamDrivePermissionType = a})++-- | The primary role for this user. While new values may be added in the+-- future, the following are currently possible: - organizer -+-- fileOrganizer - writer - commenter - reader+ptdpdiRole :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)+ptdpdiRole+ = lens _ptdpdiRole (\ s a -> s{_ptdpdiRole = a})++-- | The ID of the item from which this permission is inherited. This is an+-- output-only field and is only populated for members of the Team Drive.+ptdpdiInheritedFrom :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)+ptdpdiInheritedFrom+ = lens _ptdpdiInheritedFrom+ (\ s a -> s{_ptdpdiInheritedFrom = a})++instance FromJSON+ PermissionTeamDrivePermissionDetailsItem where+ parseJSON+ = withObject+ "PermissionTeamDrivePermissionDetailsItem"+ (\ o ->+ PermissionTeamDrivePermissionDetailsItem' <$>+ (o .:? "inherited") <*>+ (o .:? "teamDrivePermissionType")+ <*> (o .:? "role")+ <*> (o .:? "inheritedFrom"))++instance ToJSON+ PermissionTeamDrivePermissionDetailsItem where+ toJSON PermissionTeamDrivePermissionDetailsItem'{..}+ = object+ (catMaybes+ [("inherited" .=) <$> _ptdpdiInherited,+ ("teamDrivePermissionType" .=) <$>+ _ptdpdiTeamDrivePermissionType,+ ("role" .=) <$> _ptdpdiRole,+ ("inheritedFrom" .=) <$> _ptdpdiInheritedFrom])++-- | A list of generated file IDs which can be provided in create requests.+--+-- /See:/ 'generatedIds' smart constructor.+data GeneratedIds = GeneratedIds'+ { _giSpace :: !(Maybe Text)+ , _giKind :: !Text+ , _giIds :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeneratedIds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giSpace'+--+-- * 'giKind'+--+-- * 'giIds'+generatedIds+ :: GeneratedIds+generatedIds =+ GeneratedIds'+ { _giSpace = Nothing+ , _giKind = "drive#generatedIds"+ , _giIds = Nothing+ }++-- | The type of file that can be created with these IDs.+giSpace :: Lens' GeneratedIds (Maybe Text)+giSpace = lens _giSpace (\ s a -> s{_giSpace = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#generatedIds\".+giKind :: Lens' GeneratedIds Text+giKind = lens _giKind (\ s a -> s{_giKind = a})++-- | The IDs generated for the requesting user in the specified space.+giIds :: Lens' GeneratedIds [Text]+giIds+ = lens _giIds (\ s a -> s{_giIds = a}) . _Default .+ _Coerce++instance FromJSON GeneratedIds where+ parseJSON+ = withObject "GeneratedIds"+ (\ o ->+ GeneratedIds' <$>+ (o .:? "space") <*>+ (o .:? "kind" .!= "drive#generatedIds")+ <*> (o .:? "ids" .!= mempty))++instance ToJSON GeneratedIds where+ toJSON GeneratedIds'{..}+ = object+ (catMaybes+ [("space" .=) <$> _giSpace, Just ("kind" .= _giKind),+ ("ids" .=) <$> _giIds])++-- | Links for exporting Google Docs to specific formats.+--+-- /See:/ 'fileExportLinks' smart constructor.+newtype FileExportLinks = FileExportLinks'+ { _felAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileExportLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'felAddtional'+fileExportLinks+ :: HashMap Text Text -- ^ 'felAddtional'+ -> FileExportLinks+fileExportLinks pFelAddtional_ =+ FileExportLinks'+ { _felAddtional = _Coerce # pFelAddtional_+ }++-- | A mapping from export format to URL+felAddtional :: Lens' FileExportLinks (HashMap Text Text)+felAddtional+ = lens _felAddtional (\ s a -> s{_felAddtional = a})+ . _Coerce++instance FromJSON FileExportLinks where+ parseJSON+ = withObject "FileExportLinks"+ (\ o -> FileExportLinks' <$> (parseJSONObject o))++instance ToJSON FileExportLinks where+ toJSON = toJSON . _felAddtional++-- | A list of comments on a file.+--+-- /See:/ 'commentList' smart constructor.+data CommentList = CommentList'+ { _cllNextPageToken :: !(Maybe Text)+ , _cllKind :: !Text+ , _cllComments :: !(Maybe [Comment])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cllNextPageToken'+--+-- * 'cllKind'+--+-- * 'cllComments'+commentList+ :: CommentList+commentList =+ CommentList'+ { _cllNextPageToken = Nothing+ , _cllKind = "drive#commentList"+ , _cllComments = Nothing+ }++-- | The page token for the next page of comments. This will be absent if the+-- end of the comments list has been reached. If the token is rejected for+-- any reason, it should be discarded, and pagination should be restarted+-- from the first page of results.+cllNextPageToken :: Lens' CommentList (Maybe Text)+cllNextPageToken+ = lens _cllNextPageToken+ (\ s a -> s{_cllNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#commentList\".+cllKind :: Lens' CommentList Text+cllKind = lens _cllKind (\ s a -> s{_cllKind = a})++-- | The list of comments. If nextPageToken is populated, then this list may+-- be incomplete and an additional page of results should be fetched.+cllComments :: Lens' CommentList [Comment]+cllComments+ = lens _cllComments (\ s a -> s{_cllComments = a}) .+ _Default+ . _Coerce++instance FromJSON CommentList where+ parseJSON+ = withObject "CommentList"+ (\ o ->+ CommentList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "drive#commentList")+ <*> (o .:? "comments" .!= mempty))++instance ToJSON CommentList where+ toJSON CommentList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _cllNextPageToken,+ Just ("kind" .= _cllKind),+ ("comments" .=) <$> _cllComments])++-- | A list of revisions of a file.+--+-- /See:/ 'revisionList' smart constructor.+data RevisionList = RevisionList'+ { _rllNextPageToken :: !(Maybe Text)+ , _rllKind :: !Text+ , _rllRevisions :: !(Maybe [Revision])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rllNextPageToken'+--+-- * 'rllKind'+--+-- * 'rllRevisions'+revisionList+ :: RevisionList+revisionList =+ RevisionList'+ { _rllNextPageToken = Nothing+ , _rllKind = "drive#revisionList"+ , _rllRevisions = Nothing+ }++-- | The page token for the next page of revisions. This will be absent if+-- the end of the revisions list has been reached. If the token is rejected+-- for any reason, it should be discarded, and pagination should be+-- restarted from the first page of results.+rllNextPageToken :: Lens' RevisionList (Maybe Text)+rllNextPageToken+ = lens _rllNextPageToken+ (\ s a -> s{_rllNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#revisionList\".+rllKind :: Lens' RevisionList Text+rllKind = lens _rllKind (\ s a -> s{_rllKind = a})++-- | The list of revisions. If nextPageToken is populated, then this list may+-- be incomplete and an additional page of results should be fetched.+rllRevisions :: Lens' RevisionList [Revision]+rllRevisions+ = lens _rllRevisions (\ s a -> s{_rllRevisions = a})+ . _Default+ . _Coerce++instance FromJSON RevisionList where+ parseJSON+ = withObject "RevisionList"+ (\ o ->+ RevisionList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "drive#revisionList")+ <*> (o .:? "revisions" .!= mempty))++instance ToJSON RevisionList where+ toJSON RevisionList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _rllNextPageToken,+ Just ("kind" .= _rllKind),+ ("revisions" .=) <$> _rllRevisions])++-- | A list of permissions for a file.+--+-- /See:/ 'permissionList' smart constructor.+data PermissionList = PermissionList'+ { _plNextPageToken :: !(Maybe Text)+ , _plKind :: !Text+ , _plPermissions :: !(Maybe [Permission])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plNextPageToken'+--+-- * 'plKind'+--+-- * 'plPermissions'+permissionList+ :: PermissionList+permissionList =+ PermissionList'+ { _plNextPageToken = Nothing+ , _plKind = "drive#permissionList"+ , _plPermissions = Nothing+ }++-- | The page token for the next page of permissions. This field will be+-- absent if the end of the permissions list has been reached. If the token+-- is rejected for any reason, it should be discarded, and pagination+-- should be restarted from the first page of results.+plNextPageToken :: Lens' PermissionList (Maybe Text)+plNextPageToken+ = lens _plNextPageToken+ (\ s a -> s{_plNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#permissionList\".+plKind :: Lens' PermissionList Text+plKind = lens _plKind (\ s a -> s{_plKind = a})++-- | The list of permissions. If nextPageToken is populated, then this list+-- may be incomplete and an additional page of results should be fetched.+plPermissions :: Lens' PermissionList [Permission]+plPermissions+ = lens _plPermissions+ (\ s a -> s{_plPermissions = a})+ . _Default+ . _Coerce++instance FromJSON PermissionList where+ parseJSON+ = withObject "PermissionList"+ (\ o ->+ PermissionList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "drive#permissionList")+ <*> (o .:? "permissions" .!= mempty))++instance ToJSON PermissionList where+ toJSON PermissionList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _plNextPageToken,+ Just ("kind" .= _plKind), ("permissions" .=) <$> _plPermissions])
gen/Network/Google/Drive/Types/Sum.hs view
@@ -16,9 +16,9 @@ -- module Network.Google.Drive.Types.Sum where -import Network.Google.Prelude+import Network.Google.Prelude hiding (Bytes) --- | The source of files to list.+-- | The source of files to list. Deprecated: use \'corpora\' instead. data FilesListCorpus = FLCDomain -- ^ @domain@
gen/Network/Google/Resource/Drive/Changes/GetStartPageToken.hs view
@@ -32,6 +32,9 @@ , changesGetStartPageToken , ChangesGetStartPageToken + -- * Request Lenses+ , cgsptTeamDriveId+ , cgsptSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -44,22 +47,47 @@ "v3" :> "changes" :> "startPageToken" :>- QueryParam "alt" AltJSON :>- Get '[JSON] StartPageToken+ QueryParam "teamDriveId" Text :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] StartPageToken -- | Gets the starting pageToken for listing future changes. -- -- /See:/ 'changesGetStartPageToken' smart constructor.-data ChangesGetStartPageToken =- ChangesGetStartPageToken'- deriving (Eq,Show,Data,Typeable,Generic)+data ChangesGetStartPageToken = ChangesGetStartPageToken'+ { _cgsptTeamDriveId :: !(Maybe Text)+ , _cgsptSupportsTeamDrives :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'ChangesGetStartPageToken' with the minimum fields required to make a request. --+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgsptTeamDriveId'+--+-- * 'cgsptSupportsTeamDrives' changesGetStartPageToken :: ChangesGetStartPageToken-changesGetStartPageToken = ChangesGetStartPageToken'+changesGetStartPageToken =+ ChangesGetStartPageToken'+ { _cgsptTeamDriveId = Nothing+ , _cgsptSupportsTeamDrives = False+ } +-- | The ID of the Team Drive for which the starting pageToken for listing+-- future changes from that Team Drive will be returned.+cgsptTeamDriveId :: Lens' ChangesGetStartPageToken (Maybe Text)+cgsptTeamDriveId+ = lens _cgsptTeamDriveId+ (\ s a -> s{_cgsptTeamDriveId = a})++-- | Whether the requesting application supports Team Drives.+cgsptSupportsTeamDrives :: Lens' ChangesGetStartPageToken Bool+cgsptSupportsTeamDrives+ = lens _cgsptSupportsTeamDrives+ (\ s a -> s{_cgsptSupportsTeamDrives = a})+ instance GoogleRequest ChangesGetStartPageToken where type Rs ChangesGetStartPageToken = StartPageToken type Scopes ChangesGetStartPageToken =@@ -70,8 +98,11 @@ "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly"]- requestClient ChangesGetStartPageToken'{}- = go (Just AltJSON) driveService+ requestClient ChangesGetStartPageToken'{..}+ = go _cgsptTeamDriveId+ (Just _cgsptSupportsTeamDrives)+ (Just AltJSON)+ driveService where go = buildClient (Proxy :: Proxy ChangesGetStartPageTokenResource)
gen/Network/Google/Resource/Drive/Changes/List.hs view
@@ -20,7 +20,7 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists changes for a user.+-- Lists the changes for a user or Team Drive. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.list@. module Network.Google.Resource.Drive.Changes.List@@ -33,11 +33,15 @@ , ChangesList -- * Request Lenses+ , clIncludeTeamDriveItems+ , clIncludeCorpusRemovals+ , clTeamDriveId , clRestrictToMyDrive , clSpaces , clPageToken , clPageSize , clIncludeRemoved+ , clSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -50,27 +54,41 @@ "v3" :> "changes" :> QueryParam "pageToken" Text :>- QueryParam "restrictToMyDrive" Bool :>- QueryParam "spaces" Text :>- QueryParam "pageSize" (Textual Int32) :>- QueryParam "includeRemoved" Bool :>- QueryParam "alt" AltJSON :> Get '[JSON] ChangeList+ QueryParam "includeTeamDriveItems" Bool :>+ QueryParam "includeCorpusRemovals" Bool :>+ QueryParam "teamDriveId" Text :>+ QueryParam "restrictToMyDrive" Bool :>+ QueryParam "spaces" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "includeRemoved" Bool :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] ChangeList --- | Lists changes for a user.+-- | Lists the changes for a user or Team Drive. -- -- /See:/ 'changesList' smart constructor. data ChangesList = ChangesList'- { _clRestrictToMyDrive :: !Bool- , _clSpaces :: !Text- , _clPageToken :: !Text- , _clPageSize :: !(Textual Int32)- , _clIncludeRemoved :: !Bool+ { _clIncludeTeamDriveItems :: !Bool+ , _clIncludeCorpusRemovals :: !Bool+ , _clTeamDriveId :: !(Maybe Text)+ , _clRestrictToMyDrive :: !Bool+ , _clSpaces :: !Text+ , _clPageToken :: !Text+ , _clPageSize :: !(Textual Int32)+ , _clIncludeRemoved :: !Bool+ , _clSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'ChangesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'clIncludeTeamDriveItems'+--+-- * 'clIncludeCorpusRemovals'+--+-- * 'clTeamDriveId'+-- -- * 'clRestrictToMyDrive' -- -- * 'clSpaces'@@ -80,18 +98,47 @@ -- * 'clPageSize' -- -- * 'clIncludeRemoved'+--+-- * 'clSupportsTeamDrives' changesList :: Text -- ^ 'clPageToken' -> ChangesList changesList pClPageToken_ = ChangesList'- { _clRestrictToMyDrive = False+ { _clIncludeTeamDriveItems = False+ , _clIncludeCorpusRemovals = False+ , _clTeamDriveId = Nothing+ , _clRestrictToMyDrive = False , _clSpaces = "drive" , _clPageToken = pClPageToken_ , _clPageSize = 100 , _clIncludeRemoved = True+ , _clSupportsTeamDrives = False } +-- | Whether Team Drive files or changes should be included in results.+clIncludeTeamDriveItems :: Lens' ChangesList Bool+clIncludeTeamDriveItems+ = lens _clIncludeTeamDriveItems+ (\ s a -> s{_clIncludeTeamDriveItems = a})++-- | Whether changes should include the file resource if the file is still+-- accessible by the user at the time of the request, even when a file was+-- removed from the list of changes and there will be no further change+-- entries for this file.+clIncludeCorpusRemovals :: Lens' ChangesList Bool+clIncludeCorpusRemovals+ = lens _clIncludeCorpusRemovals+ (\ s a -> s{_clIncludeCorpusRemovals = a})++-- | The Team Drive from which changes will be returned. If specified the+-- change IDs will be reflective of the Team Drive; use the combined Team+-- Drive ID and change ID as an identifier.+clTeamDriveId :: Lens' ChangesList (Maybe Text)+clTeamDriveId+ = lens _clTeamDriveId+ (\ s a -> s{_clTeamDriveId = a})+ -- | Whether to restrict the results to changes inside the My Drive -- hierarchy. This omits changes to files such as those in the Application -- Data folder or shared files which have not been added to My Drive.@@ -118,13 +165,19 @@ = lens _clPageSize (\ s a -> s{_clPageSize = a}) . _Coerce --- | Whether to include changes indicating that items have left the view of--- the changes list, for example by deletion or lost access.+-- | Whether to include changes indicating that items have been removed from+-- the list of changes, for example by deletion or loss of access. clIncludeRemoved :: Lens' ChangesList Bool clIncludeRemoved = lens _clIncludeRemoved (\ s a -> s{_clIncludeRemoved = a}) +-- | Whether the requesting application supports Team Drives.+clSupportsTeamDrives :: Lens' ChangesList Bool+clSupportsTeamDrives+ = lens _clSupportsTeamDrives+ (\ s a -> s{_clSupportsTeamDrives = a})+ instance GoogleRequest ChangesList where type Rs ChangesList = ChangeList type Scopes ChangesList =@@ -136,10 +189,15 @@ "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly"] requestClient ChangesList'{..}- = go (Just _clPageToken) (Just _clRestrictToMyDrive)+ = go (Just _clPageToken)+ (Just _clIncludeTeamDriveItems)+ (Just _clIncludeCorpusRemovals)+ _clTeamDriveId+ (Just _clRestrictToMyDrive) (Just _clSpaces) (Just _clPageSize) (Just _clIncludeRemoved)+ (Just _clSupportsTeamDrives) (Just AltJSON) driveService where go
gen/Network/Google/Resource/Drive/Changes/Watch.hs view
@@ -33,12 +33,16 @@ , ChangesWatch -- * Request Lenses+ , cwIncludeTeamDriveItems , cwPayload+ , cwIncludeCorpusRemovals+ , cwTeamDriveId , cwRestrictToMyDrive , cwSpaces , cwPageToken , cwPageSize , cwIncludeRemoved+ , cwSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -52,31 +56,45 @@ "changes" :> "watch" :> QueryParam "pageToken" Text :>- QueryParam "restrictToMyDrive" Bool :>- QueryParam "spaces" Text :>- QueryParam "pageSize" (Textual Int32) :>- QueryParam "includeRemoved" Bool :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] Channel :> Post '[JSON] Channel+ QueryParam "includeTeamDriveItems" Bool :>+ QueryParam "includeCorpusRemovals" Bool :>+ QueryParam "teamDriveId" Text :>+ QueryParam "restrictToMyDrive" Bool :>+ QueryParam "spaces" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "includeRemoved" Bool :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :> Post '[JSON] Channel -- | Subscribes to changes for a user. -- -- /See:/ 'changesWatch' smart constructor. data ChangesWatch = ChangesWatch'- { _cwPayload :: !Channel- , _cwRestrictToMyDrive :: !Bool- , _cwSpaces :: !Text- , _cwPageToken :: !Text- , _cwPageSize :: !(Textual Int32)- , _cwIncludeRemoved :: !Bool+ { _cwIncludeTeamDriveItems :: !Bool+ , _cwPayload :: !Channel+ , _cwIncludeCorpusRemovals :: !Bool+ , _cwTeamDriveId :: !(Maybe Text)+ , _cwRestrictToMyDrive :: !Bool+ , _cwSpaces :: !Text+ , _cwPageToken :: !Text+ , _cwPageSize :: !(Textual Int32)+ , _cwIncludeRemoved :: !Bool+ , _cwSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'ChangesWatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'cwIncludeTeamDriveItems'+-- -- * 'cwPayload' --+-- * 'cwIncludeCorpusRemovals'+--+-- * 'cwTeamDriveId'+-- -- * 'cwRestrictToMyDrive' -- -- * 'cwSpaces'@@ -86,25 +104,54 @@ -- * 'cwPageSize' -- -- * 'cwIncludeRemoved'+--+-- * 'cwSupportsTeamDrives' changesWatch :: Channel -- ^ 'cwPayload' -> Text -- ^ 'cwPageToken' -> ChangesWatch changesWatch pCwPayload_ pCwPageToken_ = ChangesWatch'- { _cwPayload = pCwPayload_+ { _cwIncludeTeamDriveItems = False+ , _cwPayload = pCwPayload_+ , _cwIncludeCorpusRemovals = False+ , _cwTeamDriveId = Nothing , _cwRestrictToMyDrive = False , _cwSpaces = "drive" , _cwPageToken = pCwPageToken_ , _cwPageSize = 100 , _cwIncludeRemoved = True+ , _cwSupportsTeamDrives = False } +-- | Whether Team Drive files or changes should be included in results.+cwIncludeTeamDriveItems :: Lens' ChangesWatch Bool+cwIncludeTeamDriveItems+ = lens _cwIncludeTeamDriveItems+ (\ s a -> s{_cwIncludeTeamDriveItems = a})+ -- | Multipart request metadata. cwPayload :: Lens' ChangesWatch Channel cwPayload = lens _cwPayload (\ s a -> s{_cwPayload = a}) +-- | Whether changes should include the file resource if the file is still+-- accessible by the user at the time of the request, even when a file was+-- removed from the list of changes and there will be no further change+-- entries for this file.+cwIncludeCorpusRemovals :: Lens' ChangesWatch Bool+cwIncludeCorpusRemovals+ = lens _cwIncludeCorpusRemovals+ (\ s a -> s{_cwIncludeCorpusRemovals = a})++-- | The Team Drive from which changes will be returned. If specified the+-- change IDs will be reflective of the Team Drive; use the combined Team+-- Drive ID and change ID as an identifier.+cwTeamDriveId :: Lens' ChangesWatch (Maybe Text)+cwTeamDriveId+ = lens _cwTeamDriveId+ (\ s a -> s{_cwTeamDriveId = a})+ -- | Whether to restrict the results to changes inside the My Drive -- hierarchy. This omits changes to files such as those in the Application -- Data folder or shared files which have not been added to My Drive.@@ -131,13 +178,19 @@ = lens _cwPageSize (\ s a -> s{_cwPageSize = a}) . _Coerce --- | Whether to include changes indicating that items have left the view of--- the changes list, for example by deletion or lost access.+-- | Whether to include changes indicating that items have been removed from+-- the list of changes, for example by deletion or loss of access. cwIncludeRemoved :: Lens' ChangesWatch Bool cwIncludeRemoved = lens _cwIncludeRemoved (\ s a -> s{_cwIncludeRemoved = a}) +-- | Whether the requesting application supports Team Drives.+cwSupportsTeamDrives :: Lens' ChangesWatch Bool+cwSupportsTeamDrives+ = lens _cwSupportsTeamDrives+ (\ s a -> s{_cwSupportsTeamDrives = a})+ instance GoogleRequest ChangesWatch where type Rs ChangesWatch = Channel type Scopes ChangesWatch =@@ -149,10 +202,15 @@ "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly"] requestClient ChangesWatch'{..}- = go (Just _cwPageToken) (Just _cwRestrictToMyDrive)+ = go (Just _cwPageToken)+ (Just _cwIncludeTeamDriveItems)+ (Just _cwIncludeCorpusRemovals)+ _cwTeamDriveId+ (Just _cwRestrictToMyDrive) (Just _cwSpaces) (Just _cwPageSize) (Just _cwIncludeRemoved)+ (Just _cwSupportsTeamDrives) (Just AltJSON) _cwPayload driveService
gen/Network/Google/Resource/Drive/Files/Copy.hs view
@@ -39,6 +39,7 @@ , fKeepRevisionForever , fIgnoreDefaultVisibility , fFileId+ , fSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -55,8 +56,9 @@ QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] File :> Post '[JSON] File+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] File :> Post '[JSON] File -- | Creates a copy of a file and applies any requested updates with patch -- semantics.@@ -68,6 +70,7 @@ , _fKeepRevisionForever :: !Bool , _fIgnoreDefaultVisibility :: !Bool , _fFileId :: !Text+ , _fSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'FilesCopy' with the minimum fields required to make a request.@@ -83,6 +86,8 @@ -- * 'fIgnoreDefaultVisibility' -- -- * 'fFileId'+--+-- * 'fSupportsTeamDrives' filesCopy :: File -- ^ 'fPayload' -> Text -- ^ 'fFileId'@@ -94,6 +99,7 @@ , _fKeepRevisionForever = False , _fIgnoreDefaultVisibility = False , _fFileId = pFFileId_+ , _fSupportsTeamDrives = False } -- | Multipart request metadata.@@ -126,6 +132,12 @@ fFileId :: Lens' FilesCopy Text fFileId = lens _fFileId (\ s a -> s{_fFileId = a}) +-- | Whether the requesting application supports Team Drives.+fSupportsTeamDrives :: Lens' FilesCopy Bool+fSupportsTeamDrives+ = lens _fSupportsTeamDrives+ (\ s a -> s{_fSupportsTeamDrives = a})+ instance GoogleRequest FilesCopy where type Rs FilesCopy = File type Scopes FilesCopy =@@ -137,6 +149,7 @@ = go _fFileId _fOCRLanguage (Just _fKeepRevisionForever) (Just _fIgnoreDefaultVisibility)+ (Just _fSupportsTeamDrives) (Just AltJSON) _fPayload driveService
gen/Network/Google/Resource/Drive/Files/Create.hs view
@@ -38,6 +38,7 @@ , fcOCRLanguage , fcKeepRevisionForever , fcIgnoreDefaultVisibility+ , fcSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -53,8 +54,9 @@ QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] File :> Post '[JSON] File+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] File :> Post '[JSON] File :<|> "upload" :> "drive" :>@@ -64,9 +66,10 @@ QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :>- QueryParam "alt" AltJSON :>- QueryParam "uploadType" Multipart :>- MultipartRelated '[JSON] File :> Post '[JSON] File+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ QueryParam "uploadType" Multipart :>+ MultipartRelated '[JSON] File :> Post '[JSON] File -- | Creates a new file. --@@ -77,6 +80,7 @@ , _fcOCRLanguage :: !(Maybe Text) , _fcKeepRevisionForever :: !Bool , _fcIgnoreDefaultVisibility :: !Bool+ , _fcSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'FilesCreate' with the minimum fields required to make a request.@@ -92,6 +96,8 @@ -- * 'fcKeepRevisionForever' -- -- * 'fcIgnoreDefaultVisibility'+--+-- * 'fcSupportsTeamDrives' filesCreate :: File -- ^ 'fcPayload' -> FilesCreate@@ -102,6 +108,7 @@ , _fcOCRLanguage = Nothing , _fcKeepRevisionForever = False , _fcIgnoreDefaultVisibility = False+ , _fcSupportsTeamDrives = False } -- | Multipart request metadata.@@ -138,6 +145,12 @@ = lens _fcIgnoreDefaultVisibility (\ s a -> s{_fcIgnoreDefaultVisibility = a}) +-- | Whether the requesting application supports Team Drives.+fcSupportsTeamDrives :: Lens' FilesCreate Bool+fcSupportsTeamDrives+ = lens _fcSupportsTeamDrives+ (\ s a -> s{_fcSupportsTeamDrives = a})+ instance GoogleRequest FilesCreate where type Rs FilesCreate = File type Scopes FilesCreate =@@ -149,6 +162,7 @@ _fcOCRLanguage (Just _fcKeepRevisionForever) (Just _fcIgnoreDefaultVisibility)+ (Just _fcSupportsTeamDrives) (Just AltJSON) _fcPayload driveService@@ -166,6 +180,7 @@ _fcOCRLanguage (Just _fcKeepRevisionForever) (Just _fcIgnoreDefaultVisibility)+ (Just _fcSupportsTeamDrives) (Just AltJSON) (Just Multipart) _fcPayload
gen/Network/Google/Resource/Drive/Files/Delete.hs view
@@ -21,8 +21,9 @@ -- Portability : non-portable (GHC extensions) -- -- Permanently deletes a file owned by the user without moving it to the--- trash. If the target is a folder, all descendants owned by the user are--- also deleted.+-- trash. If the file belongs to a Team Drive the user must be an organizer+-- on the parent. If the target is a folder, all descendants owned by the+-- user are also deleted. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.delete@. module Network.Google.Resource.Drive.Files.Delete@@ -36,6 +37,7 @@ -- * Request Lenses , fdFileId+ , fdSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -48,15 +50,18 @@ "v3" :> "files" :> Capture "fileId" Text :>- QueryParam "alt" AltJSON :> Delete '[JSON] ()+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :> Delete '[JSON] () -- | Permanently deletes a file owned by the user without moving it to the--- trash. If the target is a folder, all descendants owned by the user are--- also deleted.+-- trash. If the file belongs to a Team Drive the user must be an organizer+-- on the parent. If the target is a folder, all descendants owned by the+-- user are also deleted. -- -- /See:/ 'filesDelete' smart constructor.-newtype FilesDelete = FilesDelete'- { _fdFileId :: Text+data FilesDelete = FilesDelete'+ { _fdFileId :: !Text+ , _fdSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'FilesDelete' with the minimum fields required to make a request.@@ -64,18 +69,27 @@ -- Use one of the following lenses to modify other fields as desired: -- -- * 'fdFileId'+--+-- * 'fdSupportsTeamDrives' filesDelete :: Text -- ^ 'fdFileId' -> FilesDelete filesDelete pFdFileId_ = FilesDelete' { _fdFileId = pFdFileId_+ , _fdSupportsTeamDrives = False } -- | The ID of the file. fdFileId :: Lens' FilesDelete Text fdFileId = lens _fdFileId (\ s a -> s{_fdFileId = a}) +-- | Whether the requesting application supports Team Drives.+fdSupportsTeamDrives :: Lens' FilesDelete Bool+fdSupportsTeamDrives+ = lens _fdSupportsTeamDrives+ (\ s a -> s{_fdSupportsTeamDrives = a})+ instance GoogleRequest FilesDelete where type Rs FilesDelete = () type Scopes FilesDelete =@@ -83,7 +97,9 @@ "https://www.googleapis.com/auth/drive.appdata", "https://www.googleapis.com/auth/drive.file"] requestClient FilesDelete'{..}- = go _fdFileId (Just AltJSON) driveService+ = go _fdFileId (Just _fdSupportsTeamDrives)+ (Just AltJSON)+ driveService where go = buildClient (Proxy :: Proxy FilesDeleteResource) mempty
gen/Network/Google/Resource/Drive/Files/Export.hs view
@@ -21,7 +21,7 @@ -- Portability : non-portable (GHC extensions) -- -- Exports a Google Doc to the requested MIME type and returns the exported--- content.+-- content. Please note that the exported content is limited to 10MB. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.export@. module Network.Google.Resource.Drive.Files.Export@@ -62,7 +62,7 @@ Get '[OctetStream] Stream -- | Exports a Google Doc to the requested MIME type and returns the exported--- content.+-- content. Please note that the exported content is limited to 10MB. -- -- /See:/ 'filesExport' smart constructor. data FilesExport = FilesExport'
gen/Network/Google/Resource/Drive/Files/Get.hs view
@@ -35,6 +35,7 @@ -- * Request Lenses , fgAcknowledgeAbuse , fgFileId+ , fgSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -48,22 +49,25 @@ "files" :> Capture "fileId" Text :> QueryParam "acknowledgeAbuse" Bool :>- QueryParam "alt" AltJSON :> Get '[JSON] File+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] File :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "acknowledgeAbuse" Bool :>- QueryParam "alt" AltMedia :>- Get '[OctetStream] Stream+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltMedia :>+ Get '[OctetStream] Stream -- | Gets a file\'s metadata or content by ID. -- -- /See:/ 'filesGet' smart constructor. data FilesGet = FilesGet'- { _fgAcknowledgeAbuse :: !Bool- , _fgFileId :: !Text+ { _fgAcknowledgeAbuse :: !Bool+ , _fgFileId :: !Text+ , _fgSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'FilesGet' with the minimum fields required to make a request.@@ -73,6 +77,8 @@ -- * 'fgAcknowledgeAbuse' -- -- * 'fgFileId'+--+-- * 'fgSupportsTeamDrives' filesGet :: Text -- ^ 'fgFileId' -> FilesGet@@ -80,6 +86,7 @@ FilesGet' { _fgAcknowledgeAbuse = False , _fgFileId = pFgFileId_+ , _fgSupportsTeamDrives = False } -- | Whether the user is acknowledging the risk of downloading known malware@@ -93,6 +100,12 @@ fgFileId :: Lens' FilesGet Text fgFileId = lens _fgFileId (\ s a -> s{_fgFileId = a}) +-- | Whether the requesting application supports Team Drives.+fgSupportsTeamDrives :: Lens' FilesGet Bool+fgSupportsTeamDrives+ = lens _fgSupportsTeamDrives+ (\ s a -> s{_fgSupportsTeamDrives = a})+ instance GoogleRequest FilesGet where type Rs FilesGet = File type Scopes FilesGet =@@ -105,6 +118,7 @@ "https://www.googleapis.com/auth/drive.readonly"] requestClient FilesGet'{..} = go _fgFileId (Just _fgAcknowledgeAbuse)+ (Just _fgSupportsTeamDrives) (Just AltJSON) driveService where go :<|> _@@ -117,6 +131,7 @@ Scopes FilesGet requestClient (MediaDownload FilesGet'{..}) = go _fgFileId (Just _fgAcknowledgeAbuse)+ (Just _fgSupportsTeamDrives) (Just AltMedia) driveService where _ :<|> go
gen/Network/Google/Resource/Drive/Files/List.hs view
@@ -33,12 +33,16 @@ , FilesList -- * Request Lenses+ , flCorpora , flOrderBy+ , flIncludeTeamDriveItems , flQ+ , flTeamDriveId , flSpaces , flCorpus , flPageToken , flPageSize+ , flSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -50,34 +54,48 @@ "drive" :> "v3" :> "files" :>- QueryParam "orderBy" Text :>- QueryParam "q" Text :>- QueryParam "spaces" Text :>- QueryParam "corpus" FilesListCorpus :>- QueryParam "pageToken" Text :>- QueryParam "pageSize" (Textual Int32) :>- QueryParam "alt" AltJSON :> Get '[JSON] FileList+ QueryParam "corpora" Text :>+ QueryParam "orderBy" Text :>+ QueryParam "includeTeamDriveItems" Bool :>+ QueryParam "q" Text :>+ QueryParam "teamDriveId" Text :>+ QueryParam "spaces" Text :>+ QueryParam "corpus" FilesListCorpus :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] FileList -- | Lists or searches files. -- -- /See:/ 'filesList' smart constructor. data FilesList = FilesList'- { _flOrderBy :: !(Maybe Text)- , _flQ :: !(Maybe Text)- , _flSpaces :: !Text- , _flCorpus :: !FilesListCorpus- , _flPageToken :: !(Maybe Text)- , _flPageSize :: !(Textual Int32)+ { _flCorpora :: !(Maybe Text)+ , _flOrderBy :: !(Maybe Text)+ , _flIncludeTeamDriveItems :: !Bool+ , _flQ :: !(Maybe Text)+ , _flTeamDriveId :: !(Maybe Text)+ , _flSpaces :: !Text+ , _flCorpus :: !(Maybe FilesListCorpus)+ , _flPageToken :: !(Maybe Text)+ , _flPageSize :: !(Textual Int32)+ , _flSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'FilesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'flCorpora'+-- -- * 'flOrderBy' --+-- * 'flIncludeTeamDriveItems'+-- -- * 'flQ' --+-- * 'flTeamDriveId'+-- -- * 'flSpaces' -- -- * 'flCorpus'@@ -85,23 +103,38 @@ -- * 'flPageToken' -- -- * 'flPageSize'+--+-- * 'flSupportsTeamDrives' filesList :: FilesList filesList = FilesList'- { _flOrderBy = Nothing+ { _flCorpora = Nothing+ , _flOrderBy = Nothing+ , _flIncludeTeamDriveItems = False , _flQ = Nothing+ , _flTeamDriveId = Nothing , _flSpaces = "drive"- , _flCorpus = FLCUser+ , _flCorpus = Nothing , _flPageToken = Nothing , _flPageSize = 100+ , _flSupportsTeamDrives = False } +-- | Comma-separated list of bodies of items (files\/documents) to which the+-- query applies. Supported bodies are \'user\', \'domain\', \'teamDrive\'+-- and \'allTeamDrives\'. \'allTeamDrives\' must be combined with \'user\';+-- all other values must be used in isolation. Prefer \'user\' or+-- \'teamDrive\' to \'allTeamDrives\' for efficiency.+flCorpora :: Lens' FilesList (Maybe Text)+flCorpora+ = lens _flCorpora (\ s a -> s{_flCorpora = a})+ -- | A comma-separated list of sort keys. Valid keys are \'createdTime\', -- \'folder\', \'modifiedByMeTime\', \'modifiedTime\', \'name\',--- \'quotaBytesUsed\', \'recency\', \'sharedWithMeTime\', \'starred\', and--- \'viewedByMeTime\'. Each key sorts ascending by default, but may be--- reversed with the \'desc\' modifier. Example usage:+-- \'name_natural\', \'quotaBytesUsed\', \'recency\', \'sharedWithMeTime\',+-- \'starred\', and \'viewedByMeTime\'. Each key sorts ascending by+-- default, but may be reversed with the \'desc\' modifier. Example usage: -- ?orderBy=folder,modifiedTime desc,name. Please note that there is a -- current limitation for users with approximately one million files in -- which the requested sort order is ignored.@@ -109,18 +142,30 @@ flOrderBy = lens _flOrderBy (\ s a -> s{_flOrderBy = a}) +-- | Whether Team Drive items should be included in results.+flIncludeTeamDriveItems :: Lens' FilesList Bool+flIncludeTeamDriveItems+ = lens _flIncludeTeamDriveItems+ (\ s a -> s{_flIncludeTeamDriveItems = a})+ -- | A query for filtering the file results. See the \"Search for Files\" -- guide for supported syntax. flQ :: Lens' FilesList (Maybe Text) flQ = lens _flQ (\ s a -> s{_flQ = a}) +-- | ID of Team Drive to search.+flTeamDriveId :: Lens' FilesList (Maybe Text)+flTeamDriveId+ = lens _flTeamDriveId+ (\ s a -> s{_flTeamDriveId = a})+ -- | A comma-separated list of spaces to query within the corpus. Supported -- values are \'drive\', \'appDataFolder\' and \'photos\'. flSpaces :: Lens' FilesList Text flSpaces = lens _flSpaces (\ s a -> s{_flSpaces = a}) --- | The source of files to list.-flCorpus :: Lens' FilesList FilesListCorpus+-- | The source of files to list. Deprecated: use \'corpora\' instead.+flCorpus :: Lens' FilesList (Maybe FilesListCorpus) flCorpus = lens _flCorpus (\ s a -> s{_flCorpus = a}) -- | The token for continuing a previous list request on the next page. This@@ -130,12 +175,20 @@ flPageToken = lens _flPageToken (\ s a -> s{_flPageToken = a}) --- | The maximum number of files to return per page.+-- | The maximum number of files to return per page. Partial or empty result+-- pages are possible even before the end of the files list has been+-- reached. flPageSize :: Lens' FilesList Int32 flPageSize = lens _flPageSize (\ s a -> s{_flPageSize = a}) . _Coerce +-- | Whether the requesting application supports Team Drives.+flSupportsTeamDrives :: Lens' FilesList Bool+flSupportsTeamDrives+ = lens _flSupportsTeamDrives+ (\ s a -> s{_flSupportsTeamDrives = a})+ instance GoogleRequest FilesList where type Rs FilesList = FileList type Scopes FilesList =@@ -147,10 +200,15 @@ "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly"] requestClient FilesList'{..}- = go _flOrderBy _flQ (Just _flSpaces)- (Just _flCorpus)+ = go _flCorpora _flOrderBy+ (Just _flIncludeTeamDriveItems)+ _flQ+ _flTeamDriveId+ (Just _flSpaces)+ _flCorpus _flPageToken (Just _flPageSize)+ (Just _flSupportsTeamDrives) (Just AltJSON) driveService where go
gen/Network/Google/Resource/Drive/Files/Update.hs view
@@ -40,6 +40,7 @@ , fuKeepRevisionForever , fuFileId , fuAddParents+ , fuSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -57,8 +58,9 @@ QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "addParents" Text :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] File :> Patch '[JSON] File+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] File :> Patch '[JSON] File :<|> "upload" :> "drive" :>@@ -70,10 +72,11 @@ QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "addParents" Text :>- QueryParam "alt" AltJSON :>- QueryParam "uploadType" Multipart :>- MultipartRelated '[JSON] File :>- Patch '[JSON] File+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ QueryParam "uploadType" Multipart :>+ MultipartRelated '[JSON] File :>+ Patch '[JSON] File -- | Updates a file\'s metadata and\/or content with patch semantics. --@@ -86,6 +89,7 @@ , _fuKeepRevisionForever :: !Bool , _fuFileId :: !Text , _fuAddParents :: !(Maybe Text)+ , _fuSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'FilesUpdate' with the minimum fields required to make a request.@@ -105,6 +109,8 @@ -- * 'fuFileId' -- -- * 'fuAddParents'+--+-- * 'fuSupportsTeamDrives' filesUpdate :: File -- ^ 'fuPayload' -> Text -- ^ 'fuFileId'@@ -118,6 +124,7 @@ , _fuKeepRevisionForever = False , _fuFileId = pFuFileId_ , _fuAddParents = Nothing+ , _fuSupportsTeamDrives = False } -- | Multipart request metadata.@@ -159,6 +166,12 @@ fuAddParents = lens _fuAddParents (\ s a -> s{_fuAddParents = a}) +-- | Whether the requesting application supports Team Drives.+fuSupportsTeamDrives :: Lens' FilesUpdate Bool+fuSupportsTeamDrives+ = lens _fuSupportsTeamDrives+ (\ s a -> s{_fuSupportsTeamDrives = a})+ instance GoogleRequest FilesUpdate where type Rs FilesUpdate = File type Scopes FilesUpdate =@@ -173,6 +186,7 @@ _fuOCRLanguage (Just _fuKeepRevisionForever) _fuAddParents+ (Just _fuSupportsTeamDrives) (Just AltJSON) _fuPayload driveService@@ -191,6 +205,7 @@ _fuOCRLanguage (Just _fuKeepRevisionForever) _fuAddParents+ (Just _fuSupportsTeamDrives) (Just AltJSON) (Just Multipart) _fuPayload
gen/Network/Google/Resource/Drive/Files/Watch.hs view
@@ -36,6 +36,7 @@ , fwPayload , fwAcknowledgeAbuse , fwFileId+ , fwSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -50,8 +51,9 @@ Capture "fileId" Text :> "watch" :> QueryParam "acknowledgeAbuse" Bool :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] Channel :> Post '[JSON] Channel+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :> Post '[JSON] Channel :<|> "drive" :> "v3" :>@@ -59,16 +61,18 @@ Capture "fileId" Text :> "watch" :> QueryParam "acknowledgeAbuse" Bool :>- QueryParam "alt" AltMedia :>- Post '[OctetStream] Stream+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltMedia :>+ Post '[OctetStream] Stream -- | Subscribes to changes to a file -- -- /See:/ 'filesWatch' smart constructor. data FilesWatch = FilesWatch'- { _fwPayload :: !Channel- , _fwAcknowledgeAbuse :: !Bool- , _fwFileId :: !Text+ { _fwPayload :: !Channel+ , _fwAcknowledgeAbuse :: !Bool+ , _fwFileId :: !Text+ , _fwSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'FilesWatch' with the minimum fields required to make a request.@@ -80,6 +84,8 @@ -- * 'fwAcknowledgeAbuse' -- -- * 'fwFileId'+--+-- * 'fwSupportsTeamDrives' filesWatch :: Channel -- ^ 'fwPayload' -> Text -- ^ 'fwFileId'@@ -89,6 +95,7 @@ { _fwPayload = pFwPayload_ , _fwAcknowledgeAbuse = False , _fwFileId = pFwFileId_+ , _fwSupportsTeamDrives = False } -- | Multipart request metadata.@@ -107,6 +114,12 @@ fwFileId :: Lens' FilesWatch Text fwFileId = lens _fwFileId (\ s a -> s{_fwFileId = a}) +-- | Whether the requesting application supports Team Drives.+fwSupportsTeamDrives :: Lens' FilesWatch Bool+fwSupportsTeamDrives+ = lens _fwSupportsTeamDrives+ (\ s a -> s{_fwSupportsTeamDrives = a})+ instance GoogleRequest FilesWatch where type Rs FilesWatch = Channel type Scopes FilesWatch =@@ -119,6 +132,7 @@ "https://www.googleapis.com/auth/drive.readonly"] requestClient FilesWatch'{..} = go _fwFileId (Just _fwAcknowledgeAbuse)+ (Just _fwSupportsTeamDrives) (Just AltJSON) _fwPayload driveService@@ -133,6 +147,7 @@ Scopes FilesWatch requestClient (MediaDownload FilesWatch'{..}) = go _fwFileId (Just _fwAcknowledgeAbuse)+ (Just _fwSupportsTeamDrives) (Just AltMedia) driveService where _ :<|> go
gen/Network/Google/Resource/Drive/Permissions/Create.hs view
@@ -20,7 +20,7 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a permission for a file.+-- Creates a permission for a file or Team Drive. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.create@. module Network.Google.Resource.Drive.Permissions.Create@@ -36,8 +36,10 @@ , pcSendNotificationEmail , pcPayload , pcEmailMessage+ , pcUseDomainAdminAccess , pcTransferOwnership , pcFileId+ , pcSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -53,19 +55,23 @@ "permissions" :> QueryParam "sendNotificationEmail" Bool :> QueryParam "emailMessage" Text :>- QueryParam "transferOwnership" Bool :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] Permission :> Post '[JSON] Permission+ QueryParam "useDomainAdminAccess" Bool :>+ QueryParam "transferOwnership" Bool :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Permission :> Post '[JSON] Permission --- | Creates a permission for a file.+-- | Creates a permission for a file or Team Drive. -- -- /See:/ 'permissionsCreate' smart constructor. data PermissionsCreate = PermissionsCreate' { _pcSendNotificationEmail :: !(Maybe Bool) , _pcPayload :: !Permission , _pcEmailMessage :: !(Maybe Text)+ , _pcUseDomainAdminAccess :: !Bool , _pcTransferOwnership :: !Bool , _pcFileId :: !Text+ , _pcSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'PermissionsCreate' with the minimum fields required to make a request.@@ -78,9 +84,13 @@ -- -- * 'pcEmailMessage' --+-- * 'pcUseDomainAdminAccess'+-- -- * 'pcTransferOwnership' -- -- * 'pcFileId'+--+-- * 'pcSupportsTeamDrives' permissionsCreate :: Permission -- ^ 'pcPayload' -> Text -- ^ 'pcFileId'@@ -90,8 +100,10 @@ { _pcSendNotificationEmail = Nothing , _pcPayload = pPcPayload_ , _pcEmailMessage = Nothing+ , _pcUseDomainAdminAccess = False , _pcTransferOwnership = False , _pcFileId = pPcFileId_+ , _pcSupportsTeamDrives = False } -- | Whether to send a notification email when sharing to users or groups.@@ -107,12 +119,20 @@ pcPayload = lens _pcPayload (\ s a -> s{_pcPayload = a}) --- | A custom message to include in the notification email.+-- | A plain text custom message to include in the notification email. pcEmailMessage :: Lens' PermissionsCreate (Maybe Text) pcEmailMessage = lens _pcEmailMessage (\ s a -> s{_pcEmailMessage = a}) +-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the item belongs.+pcUseDomainAdminAccess :: Lens' PermissionsCreate Bool+pcUseDomainAdminAccess+ = lens _pcUseDomainAdminAccess+ (\ s a -> s{_pcUseDomainAdminAccess = a})+ -- | Whether to transfer ownership to the specified user and downgrade the -- current owner to a writer. This parameter is required as an -- acknowledgement of the side effect.@@ -121,10 +141,16 @@ = lens _pcTransferOwnership (\ s a -> s{_pcTransferOwnership = a}) --- | The ID of the file.+-- | The ID of the file or Team Drive. pcFileId :: Lens' PermissionsCreate Text pcFileId = lens _pcFileId (\ s a -> s{_pcFileId = a}) +-- | Whether the requesting application supports Team Drives.+pcSupportsTeamDrives :: Lens' PermissionsCreate Bool+pcSupportsTeamDrives+ = lens _pcSupportsTeamDrives+ (\ s a -> s{_pcSupportsTeamDrives = a})+ instance GoogleRequest PermissionsCreate where type Rs PermissionsCreate = Permission type Scopes PermissionsCreate =@@ -133,7 +159,9 @@ requestClient PermissionsCreate'{..} = go _pcFileId _pcSendNotificationEmail _pcEmailMessage+ (Just _pcUseDomainAdminAccess) (Just _pcTransferOwnership)+ (Just _pcSupportsTeamDrives) (Just AltJSON) _pcPayload driveService
gen/Network/Google/Resource/Drive/Permissions/Delete.hs view
@@ -33,7 +33,9 @@ , PermissionsDelete -- * Request Lenses+ , pdUseDomainAdminAccess , pdFileId+ , pdSupportsTeamDrives , pdPermissionId ) where @@ -49,22 +51,30 @@ Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :>- QueryParam "alt" AltJSON :> Delete '[JSON] ()+ QueryParam "useDomainAdminAccess" Bool :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :> Delete '[JSON] () -- | Deletes a permission. -- -- /See:/ 'permissionsDelete' smart constructor. data PermissionsDelete = PermissionsDelete'- { _pdFileId :: !Text- , _pdPermissionId :: !Text+ { _pdUseDomainAdminAccess :: !Bool+ , _pdFileId :: !Text+ , _pdSupportsTeamDrives :: !Bool+ , _pdPermissionId :: !Text } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'PermissionsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'pdUseDomainAdminAccess'+-- -- * 'pdFileId' --+-- * 'pdSupportsTeamDrives'+-- -- * 'pdPermissionId' permissionsDelete :: Text -- ^ 'pdFileId'@@ -72,14 +82,30 @@ -> PermissionsDelete permissionsDelete pPdFileId_ pPdPermissionId_ = PermissionsDelete'- { _pdFileId = pPdFileId_+ { _pdUseDomainAdminAccess = False+ , _pdFileId = pPdFileId_+ , _pdSupportsTeamDrives = False , _pdPermissionId = pPdPermissionId_ } --- | The ID of the file.+-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the item belongs.+pdUseDomainAdminAccess :: Lens' PermissionsDelete Bool+pdUseDomainAdminAccess+ = lens _pdUseDomainAdminAccess+ (\ s a -> s{_pdUseDomainAdminAccess = a})++-- | The ID of the file or Team Drive. pdFileId :: Lens' PermissionsDelete Text pdFileId = lens _pdFileId (\ s a -> s{_pdFileId = a}) +-- | Whether the requesting application supports Team Drives.+pdSupportsTeamDrives :: Lens' PermissionsDelete Bool+pdSupportsTeamDrives+ = lens _pdSupportsTeamDrives+ (\ s a -> s{_pdSupportsTeamDrives = a})+ -- | The ID of the permission. pdPermissionId :: Lens' PermissionsDelete Text pdPermissionId@@ -92,7 +118,10 @@ '["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"] requestClient PermissionsDelete'{..}- = go _pdFileId _pdPermissionId (Just AltJSON)+ = go _pdFileId _pdPermissionId+ (Just _pdUseDomainAdminAccess)+ (Just _pdSupportsTeamDrives)+ (Just AltJSON) driveService where go = buildClient
gen/Network/Google/Resource/Drive/Permissions/Get.hs view
@@ -33,7 +33,9 @@ , PermissionsGet -- * Request Lenses+ , pgUseDomainAdminAccess , pgFileId+ , pgSupportsTeamDrives , pgPermissionId ) where @@ -49,22 +51,30 @@ Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :>- QueryParam "alt" AltJSON :> Get '[JSON] Permission+ QueryParam "useDomainAdminAccess" Bool :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] Permission -- | Gets a permission by ID. -- -- /See:/ 'permissionsGet' smart constructor. data PermissionsGet = PermissionsGet'- { _pgFileId :: !Text- , _pgPermissionId :: !Text+ { _pgUseDomainAdminAccess :: !Bool+ , _pgFileId :: !Text+ , _pgSupportsTeamDrives :: !Bool+ , _pgPermissionId :: !Text } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'PermissionsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'pgUseDomainAdminAccess'+-- -- * 'pgFileId' --+-- * 'pgSupportsTeamDrives'+-- -- * 'pgPermissionId' permissionsGet :: Text -- ^ 'pgFileId'@@ -72,14 +82,30 @@ -> PermissionsGet permissionsGet pPgFileId_ pPgPermissionId_ = PermissionsGet'- { _pgFileId = pPgFileId_+ { _pgUseDomainAdminAccess = False+ , _pgFileId = pPgFileId_+ , _pgSupportsTeamDrives = False , _pgPermissionId = pPgPermissionId_ } +-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the item belongs.+pgUseDomainAdminAccess :: Lens' PermissionsGet Bool+pgUseDomainAdminAccess+ = lens _pgUseDomainAdminAccess+ (\ s a -> s{_pgUseDomainAdminAccess = a})+ -- | The ID of the file. pgFileId :: Lens' PermissionsGet Text pgFileId = lens _pgFileId (\ s a -> s{_pgFileId = a}) +-- | Whether the requesting application supports Team Drives.+pgSupportsTeamDrives :: Lens' PermissionsGet Bool+pgSupportsTeamDrives+ = lens _pgSupportsTeamDrives+ (\ s a -> s{_pgSupportsTeamDrives = a})+ -- | The ID of the permission. pgPermissionId :: Lens' PermissionsGet Text pgPermissionId@@ -96,7 +122,10 @@ "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly"] requestClient PermissionsGet'{..}- = go _pgFileId _pgPermissionId (Just AltJSON)+ = go _pgFileId _pgPermissionId+ (Just _pgUseDomainAdminAccess)+ (Just _pgSupportsTeamDrives)+ (Just AltJSON) driveService where go = buildClient (Proxy :: Proxy PermissionsGetResource)
gen/Network/Google/Resource/Drive/Permissions/List.hs view
@@ -20,7 +20,7 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists a file\'s permissions.+-- Lists a file\'s or Team Drive\'s permissions. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.list@. module Network.Google.Resource.Drive.Permissions.List@@ -33,7 +33,11 @@ , PermissionsList -- * Request Lenses+ , plPageToken+ , plUseDomainAdminAccess , plFileId+ , plPageSize+ , plSupportsTeamDrives ) where import Network.Google.Drive.Types@@ -47,33 +51,83 @@ "files" :> Capture "fileId" Text :> "permissions" :>- QueryParam "alt" AltJSON :>- Get '[JSON] PermissionList+ QueryParam "pageToken" Text :>+ QueryParam "useDomainAdminAccess" Bool :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] PermissionList --- | Lists a file\'s permissions.+-- | Lists a file\'s or Team Drive\'s permissions. -- -- /See:/ 'permissionsList' smart constructor.-newtype PermissionsList = PermissionsList'- { _plFileId :: Text+data PermissionsList = PermissionsList'+ { _plPageToken :: !(Maybe Text)+ , _plUseDomainAdminAccess :: !Bool+ , _plFileId :: !Text+ , _plPageSize :: !(Maybe (Textual Int32))+ , _plSupportsTeamDrives :: !Bool } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'PermissionsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'plPageToken'+--+-- * 'plUseDomainAdminAccess'+-- -- * 'plFileId'+--+-- * 'plPageSize'+--+-- * 'plSupportsTeamDrives' permissionsList :: Text -- ^ 'plFileId' -> PermissionsList permissionsList pPlFileId_ = PermissionsList'- { _plFileId = pPlFileId_+ { _plPageToken = Nothing+ , _plUseDomainAdminAccess = False+ , _plFileId = pPlFileId_+ , _plPageSize = Nothing+ , _plSupportsTeamDrives = False } --- | The ID of the file.+-- | The token for continuing a previous list request on the next page. This+-- should be set to the value of \'nextPageToken\' from the previous+-- response.+plPageToken :: Lens' PermissionsList (Maybe Text)+plPageToken+ = lens _plPageToken (\ s a -> s{_plPageToken = a})++-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the item belongs.+plUseDomainAdminAccess :: Lens' PermissionsList Bool+plUseDomainAdminAccess+ = lens _plUseDomainAdminAccess+ (\ s a -> s{_plUseDomainAdminAccess = a})++-- | The ID of the file or Team Drive. plFileId :: Lens' PermissionsList Text plFileId = lens _plFileId (\ s a -> s{_plFileId = a}) +-- | The maximum number of permissions to return per page. When not set for+-- files in a Team Drive, at most 100 results will be returned. When not+-- set for files that are not in a Team Drive, the entire list will be+-- returned.+plPageSize :: Lens' PermissionsList (Maybe Int32)+plPageSize+ = lens _plPageSize (\ s a -> s{_plPageSize = a}) .+ mapping _Coerce++-- | Whether the requesting application supports Team Drives.+plSupportsTeamDrives :: Lens' PermissionsList Bool+plSupportsTeamDrives+ = lens _plSupportsTeamDrives+ (\ s a -> s{_plSupportsTeamDrives = a})+ instance GoogleRequest PermissionsList where type Rs PermissionsList = PermissionList type Scopes PermissionsList =@@ -84,7 +138,12 @@ "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly"] requestClient PermissionsList'{..}- = go _plFileId (Just AltJSON) driveService+ = go _plFileId _plPageToken+ (Just _plUseDomainAdminAccess)+ _plPageSize+ (Just _plSupportsTeamDrives)+ (Just AltJSON)+ driveService where go = buildClient (Proxy :: Proxy PermissionsListResource)
gen/Network/Google/Resource/Drive/Permissions/Update.hs view
@@ -35,8 +35,10 @@ -- * Request Lenses , puPayload , puRemoveExpiration+ , puUseDomainAdminAccess , puTransferOwnership , puFileId+ , puSupportsTeamDrives , puPermissionId ) where @@ -53,20 +55,24 @@ "permissions" :> Capture "permissionId" Text :> QueryParam "removeExpiration" Bool :>- QueryParam "transferOwnership" Bool :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] Permission :>- Patch '[JSON] Permission+ QueryParam "useDomainAdminAccess" Bool :>+ QueryParam "transferOwnership" Bool :>+ QueryParam "supportsTeamDrives" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Permission :>+ Patch '[JSON] Permission -- | Updates a permission with patch semantics. -- -- /See:/ 'permissionsUpdate' smart constructor. data PermissionsUpdate = PermissionsUpdate'- { _puPayload :: !Permission- , _puRemoveExpiration :: !Bool- , _puTransferOwnership :: !Bool- , _puFileId :: !Text- , _puPermissionId :: !Text+ { _puPayload :: !Permission+ , _puRemoveExpiration :: !Bool+ , _puUseDomainAdminAccess :: !Bool+ , _puTransferOwnership :: !Bool+ , _puFileId :: !Text+ , _puSupportsTeamDrives :: !Bool+ , _puPermissionId :: !Text } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'PermissionsUpdate' with the minimum fields required to make a request.@@ -77,10 +83,14 @@ -- -- * 'puRemoveExpiration' --+-- * 'puUseDomainAdminAccess'+-- -- * 'puTransferOwnership' -- -- * 'puFileId' --+-- * 'puSupportsTeamDrives'+-- -- * 'puPermissionId' permissionsUpdate :: Permission -- ^ 'puPayload'@@ -91,8 +101,10 @@ PermissionsUpdate' { _puPayload = pPuPayload_ , _puRemoveExpiration = False+ , _puUseDomainAdminAccess = False , _puTransferOwnership = False , _puFileId = pPuFileId_+ , _puSupportsTeamDrives = False , _puPermissionId = pPuPermissionId_ } @@ -107,6 +119,14 @@ = lens _puRemoveExpiration (\ s a -> s{_puRemoveExpiration = a}) +-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the item belongs.+puUseDomainAdminAccess :: Lens' PermissionsUpdate Bool+puUseDomainAdminAccess+ = lens _puUseDomainAdminAccess+ (\ s a -> s{_puUseDomainAdminAccess = a})+ -- | Whether to transfer ownership to the specified user and downgrade the -- current owner to a writer. This parameter is required as an -- acknowledgement of the side effect.@@ -115,10 +135,16 @@ = lens _puTransferOwnership (\ s a -> s{_puTransferOwnership = a}) --- | The ID of the file.+-- | The ID of the file or Team Drive. puFileId :: Lens' PermissionsUpdate Text puFileId = lens _puFileId (\ s a -> s{_puFileId = a}) +-- | Whether the requesting application supports Team Drives.+puSupportsTeamDrives :: Lens' PermissionsUpdate Bool+puSupportsTeamDrives+ = lens _puSupportsTeamDrives+ (\ s a -> s{_puSupportsTeamDrives = a})+ -- | The ID of the permission. puPermissionId :: Lens' PermissionsUpdate Text puPermissionId@@ -133,7 +159,9 @@ requestClient PermissionsUpdate'{..} = go _puFileId _puPermissionId (Just _puRemoveExpiration)+ (Just _puUseDomainAdminAccess) (Just _puTransferOwnership)+ (Just _puSupportsTeamDrives) (Just AltJSON) _puPayload driveService
+ gen/Network/Google/Resource/Drive/Teamdrives/Create.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Drive.Teamdrives.Create+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new Team Drive.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.create@.+module Network.Google.Resource.Drive.Teamdrives.Create+ (+ -- * REST Resource+ TeamdrivesCreateResource++ -- * Creating a Request+ , teamdrivesCreate+ , TeamdrivesCreate++ -- * Request Lenses+ , tcRequestId+ , tcPayload+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.create@ method which the+-- 'TeamdrivesCreate' request conforms to.+type TeamdrivesCreateResource =+ "drive" :>+ "v3" :>+ "teamdrives" :>+ QueryParam "requestId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TeamDrive :> Post '[JSON] TeamDrive++-- | Creates a new Team Drive.+--+-- /See:/ 'teamdrivesCreate' smart constructor.+data TeamdrivesCreate = TeamdrivesCreate'+ { _tcRequestId :: !Text+ , _tcPayload :: !TeamDrive+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamdrivesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcRequestId'+--+-- * 'tcPayload'+teamdrivesCreate+ :: Text -- ^ 'tcRequestId'+ -> TeamDrive -- ^ 'tcPayload'+ -> TeamdrivesCreate+teamdrivesCreate pTcRequestId_ pTcPayload_ =+ TeamdrivesCreate'+ { _tcRequestId = pTcRequestId_+ , _tcPayload = pTcPayload_+ }++-- | An ID, such as a random UUID, which uniquely identifies this user\'s+-- request for idempotent creation of a Team Drive. A repeated request by+-- the same user and with the same request ID will avoid creating+-- duplicates by attempting to create the same Team Drive. If the Team+-- Drive already exists a 409 error will be returned.+tcRequestId :: Lens' TeamdrivesCreate Text+tcRequestId+ = lens _tcRequestId (\ s a -> s{_tcRequestId = a})++-- | Multipart request metadata.+tcPayload :: Lens' TeamdrivesCreate TeamDrive+tcPayload+ = lens _tcPayload (\ s a -> s{_tcPayload = a})++instance GoogleRequest TeamdrivesCreate where+ type Rs TeamdrivesCreate = TeamDrive+ type Scopes TeamdrivesCreate =+ '["https://www.googleapis.com/auth/drive"]+ requestClient TeamdrivesCreate'{..}+ = go (Just _tcRequestId) (Just AltJSON) _tcPayload+ driveService+ where go+ = buildClient+ (Proxy :: Proxy TeamdrivesCreateResource)+ mempty
+ gen/Network/Google/Resource/Drive/Teamdrives/Delete.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Drive.Teamdrives.Delete+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently deletes a Team Drive for which the user is an organizer. The+-- Team Drive cannot contain any untrashed items.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.delete@.+module Network.Google.Resource.Drive.Teamdrives.Delete+ (+ -- * REST Resource+ TeamdrivesDeleteResource++ -- * Creating a Request+ , teamdrivesDelete+ , TeamdrivesDelete++ -- * Request Lenses+ , tdTeamDriveId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.delete@ method which the+-- 'TeamdrivesDelete' request conforms to.+type TeamdrivesDeleteResource =+ "drive" :>+ "v3" :>+ "teamdrives" :>+ Capture "teamDriveId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Permanently deletes a Team Drive for which the user is an organizer. The+-- Team Drive cannot contain any untrashed items.+--+-- /See:/ 'teamdrivesDelete' smart constructor.+newtype TeamdrivesDelete = TeamdrivesDelete'+ { _tdTeamDriveId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamdrivesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdTeamDriveId'+teamdrivesDelete+ :: Text -- ^ 'tdTeamDriveId'+ -> TeamdrivesDelete+teamdrivesDelete pTdTeamDriveId_ =+ TeamdrivesDelete'+ { _tdTeamDriveId = pTdTeamDriveId_+ }++-- | The ID of the Team Drive+tdTeamDriveId :: Lens' TeamdrivesDelete Text+tdTeamDriveId+ = lens _tdTeamDriveId+ (\ s a -> s{_tdTeamDriveId = a})++instance GoogleRequest TeamdrivesDelete where+ type Rs TeamdrivesDelete = ()+ type Scopes TeamdrivesDelete =+ '["https://www.googleapis.com/auth/drive"]+ requestClient TeamdrivesDelete'{..}+ = go _tdTeamDriveId (Just AltJSON) driveService+ where go+ = buildClient+ (Proxy :: Proxy TeamdrivesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Teamdrives/Get.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Drive.Teamdrives.Get+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a Team Drive\'s metadata by ID.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.get@.+module Network.Google.Resource.Drive.Teamdrives.Get+ (+ -- * REST Resource+ TeamdrivesGetResource++ -- * Creating a Request+ , teamdrivesGet+ , TeamdrivesGet++ -- * Request Lenses+ , tgTeamDriveId+ , tgUseDomainAdminAccess+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.get@ method which the+-- 'TeamdrivesGet' request conforms to.+type TeamdrivesGetResource =+ "drive" :>+ "v3" :>+ "teamdrives" :>+ Capture "teamDriveId" Text :>+ QueryParam "useDomainAdminAccess" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] TeamDrive++-- | Gets a Team Drive\'s metadata by ID.+--+-- /See:/ 'teamdrivesGet' smart constructor.+data TeamdrivesGet = TeamdrivesGet'+ { _tgTeamDriveId :: !Text+ , _tgUseDomainAdminAccess :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamdrivesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tgTeamDriveId'+--+-- * 'tgUseDomainAdminAccess'+teamdrivesGet+ :: Text -- ^ 'tgTeamDriveId'+ -> TeamdrivesGet+teamdrivesGet pTgTeamDriveId_ =+ TeamdrivesGet'+ { _tgTeamDriveId = pTgTeamDriveId_+ , _tgUseDomainAdminAccess = False+ }++-- | The ID of the Team Drive+tgTeamDriveId :: Lens' TeamdrivesGet Text+tgTeamDriveId+ = lens _tgTeamDriveId+ (\ s a -> s{_tgTeamDriveId = a})++-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the Team Drive belongs.+tgUseDomainAdminAccess :: Lens' TeamdrivesGet Bool+tgUseDomainAdminAccess+ = lens _tgUseDomainAdminAccess+ (\ s a -> s{_tgUseDomainAdminAccess = a})++instance GoogleRequest TeamdrivesGet where+ type Rs TeamdrivesGet = TeamDrive+ type Scopes TeamdrivesGet =+ '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.readonly"]+ requestClient TeamdrivesGet'{..}+ = go _tgTeamDriveId (Just _tgUseDomainAdminAccess)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy TeamdrivesGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Teamdrives/List.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Drive.Teamdrives.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the user\'s Team Drives.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.list@.+module Network.Google.Resource.Drive.Teamdrives.List+ (+ -- * REST Resource+ TeamdrivesListResource++ -- * Creating a Request+ , teamdrivesList+ , TeamdrivesList++ -- * Request Lenses+ , tlQ+ , tlPageToken+ , tlUseDomainAdminAccess+ , tlPageSize+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.list@ method which the+-- 'TeamdrivesList' request conforms to.+type TeamdrivesListResource =+ "drive" :>+ "v3" :>+ "teamdrives" :>+ QueryParam "q" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "useDomainAdminAccess" Bool :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] TeamDriveList++-- | Lists the user\'s Team Drives.+--+-- /See:/ 'teamdrivesList' smart constructor.+data TeamdrivesList = TeamdrivesList'+ { _tlQ :: !(Maybe Text)+ , _tlPageToken :: !(Maybe Text)+ , _tlUseDomainAdminAccess :: !Bool+ , _tlPageSize :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamdrivesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlQ'+--+-- * 'tlPageToken'+--+-- * 'tlUseDomainAdminAccess'+--+-- * 'tlPageSize'+teamdrivesList+ :: TeamdrivesList+teamdrivesList =+ TeamdrivesList'+ { _tlQ = Nothing+ , _tlPageToken = Nothing+ , _tlUseDomainAdminAccess = False+ , _tlPageSize = 10+ }++-- | Query string for searching Team Drives.+tlQ :: Lens' TeamdrivesList (Maybe Text)+tlQ = lens _tlQ (\ s a -> s{_tlQ = a})++-- | Page token for Team Drives.+tlPageToken :: Lens' TeamdrivesList (Maybe Text)+tlPageToken+ = lens _tlPageToken (\ s a -> s{_tlPageToken = a})++-- | Issue the request as a domain administrator; if set to true, then all+-- Team Drives of the domain in which the requester is an administrator are+-- returned.+tlUseDomainAdminAccess :: Lens' TeamdrivesList Bool+tlUseDomainAdminAccess+ = lens _tlUseDomainAdminAccess+ (\ s a -> s{_tlUseDomainAdminAccess = a})++-- | Maximum number of Team Drives to return.+tlPageSize :: Lens' TeamdrivesList Int32+tlPageSize+ = lens _tlPageSize (\ s a -> s{_tlPageSize = a}) .+ _Coerce++instance GoogleRequest TeamdrivesList where+ type Rs TeamdrivesList = TeamDriveList+ type Scopes TeamdrivesList =+ '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.readonly"]+ requestClient TeamdrivesList'{..}+ = go _tlQ _tlPageToken (Just _tlUseDomainAdminAccess)+ (Just _tlPageSize)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy TeamdrivesListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Teamdrives/Update.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Drive.Teamdrives.Update+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a Team Drive\'s metadata+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.update@.+module Network.Google.Resource.Drive.Teamdrives.Update+ (+ -- * REST Resource+ TeamdrivesUpdateResource++ -- * Creating a Request+ , teamdrivesUpdate+ , TeamdrivesUpdate++ -- * Request Lenses+ , tuPayload+ , tuTeamDriveId+ , tuUseDomainAdminAccess+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.update@ method which the+-- 'TeamdrivesUpdate' request conforms to.+type TeamdrivesUpdateResource =+ "drive" :>+ "v3" :>+ "teamdrives" :>+ Capture "teamDriveId" Text :>+ QueryParam "useDomainAdminAccess" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TeamDrive :> Patch '[JSON] TeamDrive++-- | Updates a Team Drive\'s metadata+--+-- /See:/ 'teamdrivesUpdate' smart constructor.+data TeamdrivesUpdate = TeamdrivesUpdate'+ { _tuPayload :: !TeamDrive+ , _tuTeamDriveId :: !Text+ , _tuUseDomainAdminAccess :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TeamdrivesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tuPayload'+--+-- * 'tuTeamDriveId'+--+-- * 'tuUseDomainAdminAccess'+teamdrivesUpdate+ :: TeamDrive -- ^ 'tuPayload'+ -> Text -- ^ 'tuTeamDriveId'+ -> TeamdrivesUpdate+teamdrivesUpdate pTuPayload_ pTuTeamDriveId_ =+ TeamdrivesUpdate'+ { _tuPayload = pTuPayload_+ , _tuTeamDriveId = pTuTeamDriveId_+ , _tuUseDomainAdminAccess = False+ }++-- | Multipart request metadata.+tuPayload :: Lens' TeamdrivesUpdate TeamDrive+tuPayload+ = lens _tuPayload (\ s a -> s{_tuPayload = a})++-- | The ID of the Team Drive+tuTeamDriveId :: Lens' TeamdrivesUpdate Text+tuTeamDriveId+ = lens _tuTeamDriveId+ (\ s a -> s{_tuTeamDriveId = a})++-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the Team Drive belongs.+tuUseDomainAdminAccess :: Lens' TeamdrivesUpdate Bool+tuUseDomainAdminAccess+ = lens _tuUseDomainAdminAccess+ (\ s a -> s{_tuUseDomainAdminAccess = a})++instance GoogleRequest TeamdrivesUpdate where+ type Rs TeamdrivesUpdate = TeamDrive+ type Scopes TeamdrivesUpdate =+ '["https://www.googleapis.com/auth/drive"]+ requestClient TeamdrivesUpdate'{..}+ = go _tuTeamDriveId (Just _tuUseDomainAdminAccess)+ (Just AltJSON)+ _tuPayload+ driveService+ where go+ = buildClient+ (Proxy :: Proxy TeamdrivesUpdateResource)+ mempty
gogol-drive.cabal view
@@ -1,5 +1,5 @@ name: gogol-drive-version: 0.3.0+version: 0.4.0 synopsis: Google Drive SDK. homepage: https://github.com/brendanhay/gogol bug-reports: https://github.com/brendanhay/gogol/issues@@ -70,11 +70,16 @@ , Network.Google.Resource.Drive.Revisions.Get , Network.Google.Resource.Drive.Revisions.List , Network.Google.Resource.Drive.Revisions.Update+ , Network.Google.Resource.Drive.Teamdrives.Create+ , Network.Google.Resource.Drive.Teamdrives.Delete+ , Network.Google.Resource.Drive.Teamdrives.Get+ , Network.Google.Resource.Drive.Teamdrives.List+ , Network.Google.Resource.Drive.Teamdrives.Update other-modules: Network.Google.Drive.Types.Product , Network.Google.Drive.Types.Sum build-depends:- gogol-core == 0.3.0.*+ gogol-core == 0.4.0.* , base >= 4.7 && < 5