{-# 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.Calendar.Events.List
(
EventsListResource
, eventsList
, EventsList
, elSyncToken
, elCalendarId
, elTimeMin
, elOrderBy
, elSingleEvents
, elPrivateExtendedProperty
, elShowDeleted
, elQ
, elSharedExtendedProperty
, elMaxAttendees
, elICalUId
, elUpdatedMin
, elPageToken
, elTimeZone
, elShowHiddenInvitations
, elMaxResults
, elAlwaysIncludeEmail
, elTimeMax
) where
import Network.Google.AppsCalendar.Types
import Network.Google.Prelude
type EventsListResource =
"calendar" :>
"v3" :>
"calendars" :>
Capture "calendarId" Text :>
"events" :>
QueryParam "syncToken" Text :>
QueryParam "timeMin" DateTime' :>
QueryParam "orderBy" EventsListOrderBy :>
QueryParam "singleEvents" Bool :>
QueryParams "privateExtendedProperty" Text :>
QueryParam "showDeleted" Bool :>
QueryParam "q" Text :>
QueryParams "sharedExtendedProperty" Text :>
QueryParam "maxAttendees" (Textual Int32) :>
QueryParam "iCalUID" Text :>
QueryParam "updatedMin" DateTime' :>
QueryParam "pageToken" Text :>
QueryParam "timeZone" Text :>
QueryParam "showHiddenInvitations" Bool
:>
QueryParam "maxResults"
(Textual Int32)
:>
QueryParam "alwaysIncludeEmail"
Bool
:>
QueryParam "timeMax" DateTime' :>
QueryParam "alt" AltJSON :>
Get '[JSON] Events
-- | Returns events on the specified calendar.
--
-- /See:/ 'eventsList' smart constructor.
data EventsList = EventsList'
{ _elSyncToken :: !(Maybe Text)
, _elCalendarId :: !Text
, _elTimeMin :: !(Maybe DateTime')
, _elOrderBy :: !(Maybe EventsListOrderBy)
, _elSingleEvents :: !(Maybe Bool)
, _elPrivateExtendedProperty :: !(Maybe [Text])
, _elShowDeleted :: !(Maybe Bool)
, _elQ :: !(Maybe Text)
, _elSharedExtendedProperty :: !(Maybe [Text])
, _elMaxAttendees :: !(Maybe (Textual Int32))
, _elICalUId :: !(Maybe Text)
, _elUpdatedMin :: !(Maybe DateTime')
, _elPageToken :: !(Maybe Text)
, _elTimeZone :: !(Maybe Text)
, _elShowHiddenInvitations :: !(Maybe Bool)
, _elMaxResults :: !(Textual Int32)
, _elAlwaysIncludeEmail :: !(Maybe Bool)
, _elTimeMax :: !(Maybe DateTime')
} deriving (Eq,Show,Data,Typeable,Generic)
-- | Creates a value of 'EventsList' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'elSyncToken'
--
-- * 'elCalendarId'
--
-- * 'elTimeMin'
--
-- * 'elOrderBy'
--
-- * 'elSingleEvents'
--
-- * 'elPrivateExtendedProperty'
--
-- * 'elShowDeleted'
--
-- * 'elQ'
--
-- * 'elSharedExtendedProperty'
--
-- * 'elMaxAttendees'
--
-- * 'elICalUId'
--
-- * 'elUpdatedMin'
--
-- * 'elPageToken'
--
-- * 'elTimeZone'
--
-- * 'elShowHiddenInvitations'
--
-- * 'elMaxResults'
--
-- * 'elAlwaysIncludeEmail'
--
-- * 'elTimeMax'
eventsList
:: Text -- ^ 'elCalendarId'
-> EventsList
eventsList pElCalendarId_ =
EventsList'
{ _elSyncToken = Nothing
, _elCalendarId = pElCalendarId_
, _elTimeMin = Nothing
, _elOrderBy = Nothing
, _elSingleEvents = Nothing
, _elPrivateExtendedProperty = Nothing
, _elShowDeleted = Nothing
, _elQ = Nothing
, _elSharedExtendedProperty = Nothing
, _elMaxAttendees = Nothing
, _elICalUId = Nothing
, _elUpdatedMin = Nothing
, _elPageToken = Nothing
, _elTimeZone = Nothing
, _elShowHiddenInvitations = Nothing
, _elMaxResults = 250
, _elAlwaysIncludeEmail = Nothing
, _elTimeMax = Nothing
}
-- | Token obtained from the nextSyncToken field returned on the last page of
-- results from the previous list request. It makes the result of this list
-- request contain only entries that have changed since then. All events
-- deleted since the previous list request will always be in the result set
-- and it is not allowed to set showDeleted to False. There are several
-- query parameters that cannot be specified together with nextSyncToken to
-- ensure consistency of the client state. These are: - iCalUID - orderBy -
-- privateExtendedProperty - q - sharedExtendedProperty - timeMin - timeMax
-- - updatedMin If the syncToken expires, the server will respond with a
-- 410 GONE response code and the client should clear its storage and
-- perform a full synchronization without any syncToken. Learn more about
-- incremental synchronization. Optional. The default is to return all
-- entries.
elSyncToken :: Lens' EventsList (Maybe Text)
elSyncToken
= lens _elSyncToken (\ s a -> s{_elSyncToken = a})
-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list
-- method. If you want to access the primary calendar of the currently
-- logged in user, use the \"primary\" keyword.
elCalendarId :: Lens' EventsList Text
elCalendarId
= lens _elCalendarId (\ s a -> s{_elCalendarId = a})
-- | Lower bound (inclusive) for an event\'s end time to filter by. Optional.
-- The default is not to filter by end time. Must be an RFC3339 timestamp
-- with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00,
-- 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.
elTimeMin :: Lens' EventsList (Maybe UTCTime)
elTimeMin
= lens _elTimeMin (\ s a -> s{_elTimeMin = a}) .
mapping _DateTime
-- | The order of the events returned in the result. Optional. The default is
-- an unspecified, stable order.
elOrderBy :: Lens' EventsList (Maybe EventsListOrderBy)
elOrderBy
= lens _elOrderBy (\ s a -> s{_elOrderBy = a})
-- | Whether to expand recurring events into instances and only return single
-- one-off events and instances of recurring events, but not the underlying
-- recurring events themselves. Optional. The default is False.
elSingleEvents :: Lens' EventsList (Maybe Bool)
elSingleEvents
= lens _elSingleEvents
(\ s a -> s{_elSingleEvents = a})
-- | Extended properties constraint specified as propertyName=value. Matches
-- only private properties. This parameter might be repeated multiple times
-- to return events that match all given constraints.
elPrivateExtendedProperty :: Lens' EventsList [Text]
elPrivateExtendedProperty
= lens _elPrivateExtendedProperty
(\ s a -> s{_elPrivateExtendedProperty = a})
. _Default
. _Coerce
-- | Whether to include deleted events (with status equals \"cancelled\") in
-- the result. Cancelled instances of recurring events (but not the
-- underlying recurring event) will still be included if showDeleted and
-- singleEvents are both False. If showDeleted and singleEvents are both
-- True, only single instances of deleted events (but not the underlying
-- recurring events) are returned. Optional. The default is False.
elShowDeleted :: Lens' EventsList (Maybe Bool)
elShowDeleted
= lens _elShowDeleted
(\ s a -> s{_elShowDeleted = a})
-- | Free text search terms to find events that match these terms in any
-- field, except for extended properties. Optional.
elQ :: Lens' EventsList (Maybe Text)
elQ = lens _elQ (\ s a -> s{_elQ = a})
-- | Extended properties constraint specified as propertyName=value. Matches
-- only shared properties. This parameter might be repeated multiple times
-- to return events that match all given constraints.
elSharedExtendedProperty :: Lens' EventsList [Text]
elSharedExtendedProperty
= lens _elSharedExtendedProperty
(\ s a -> s{_elSharedExtendedProperty = a})
. _Default
. _Coerce
-- | The maximum number of attendees to include in the response. If there are
-- more than the specified number of attendees, only the participant is
-- returned. Optional.
elMaxAttendees :: Lens' EventsList (Maybe Int32)
elMaxAttendees
= lens _elMaxAttendees
(\ s a -> s{_elMaxAttendees = a})
. mapping _Coerce
-- | Specifies event ID in the iCalendar format to be included in the
-- response. Optional.
elICalUId :: Lens' EventsList (Maybe Text)
elICalUId
= lens _elICalUId (\ s a -> s{_elICalUId = a})
-- | Lower bound for an event\'s last modification time (as a RFC3339
-- timestamp) to filter by. When specified, entries deleted since this time
-- will always be included regardless of showDeleted. Optional. The default
-- is not to filter by last modification time.
elUpdatedMin :: Lens' EventsList (Maybe UTCTime)
elUpdatedMin
= lens _elUpdatedMin (\ s a -> s{_elUpdatedMin = a})
. mapping _DateTime
-- | Token specifying which result page to return. Optional.
elPageToken :: Lens' EventsList (Maybe Text)
elPageToken
= lens _elPageToken (\ s a -> s{_elPageToken = a})
-- | Time zone used in the response. Optional. The default is the time zone
-- of the calendar.
elTimeZone :: Lens' EventsList (Maybe Text)
elTimeZone
= lens _elTimeZone (\ s a -> s{_elTimeZone = a})
-- | Whether to include hidden invitations in the result. Optional. The
-- default is False.
elShowHiddenInvitations :: Lens' EventsList (Maybe Bool)
elShowHiddenInvitations
= lens _elShowHiddenInvitations
(\ s a -> s{_elShowHiddenInvitations = a})
-- | Maximum number of events returned on one result page. By default the
-- value is 250 events. The page size can never be larger than 2500 events.
-- Optional.
elMaxResults :: Lens' EventsList Int32
elMaxResults
= lens _elMaxResults (\ s a -> s{_elMaxResults = a})
. _Coerce
-- | Whether to always include a value in the email field for the organizer,
-- creator and attendees, even if no real email is available (i.e. a
-- generated, non-working value will be provided). The use of this option
-- is discouraged and should only be used by clients which cannot handle
-- the absence of an email address value in the mentioned places. Optional.
-- The default is False.
elAlwaysIncludeEmail :: Lens' EventsList (Maybe Bool)
elAlwaysIncludeEmail
= lens _elAlwaysIncludeEmail
(\ s a -> s{_elAlwaysIncludeEmail = a})
-- | Upper bound (exclusive) for an event\'s start time to filter by.
-- Optional. The default is not to filter by start time. Must be an RFC3339
-- timestamp with mandatory time zone offset, e.g.,
-- 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be
-- provided but will be ignored.
elTimeMax :: Lens' EventsList (Maybe UTCTime)
elTimeMax
= lens _elTimeMax (\ s a -> s{_elTimeMax = a}) .
mapping _DateTime
instance GoogleRequest EventsList where
type Rs EventsList = Events
type Scopes EventsList =
'["https://www.googleapis.com/auth/calendar",
"https://www.googleapis.com/auth/calendar.readonly"]
requestClient EventsList'{..}
= go _elCalendarId _elSyncToken _elTimeMin _elOrderBy
_elSingleEvents
(_elPrivateExtendedProperty ^. _Default)
_elShowDeleted
_elQ
(_elSharedExtendedProperty ^. _Default)
_elMaxAttendees
_elICalUId
_elUpdatedMin
_elPageToken
_elTimeZone
_elShowHiddenInvitations
(Just _elMaxResults)
_elAlwaysIncludeEmail
_elTimeMax
(Just AltJSON)
appsCalendarService
where go
= buildClient (Proxy :: Proxy EventsListResource)
mempty