{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.WorkDocs.Types.Activity where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.WorkDocs.Types.ActivityType
import Amazonka.WorkDocs.Types.CommentMetadata
import Amazonka.WorkDocs.Types.Participants
import Amazonka.WorkDocs.Types.ResourceMetadata
import Amazonka.WorkDocs.Types.UserMetadata
data Activity = Activity'
{
:: Prelude.Maybe CommentMetadata,
Activity -> Maybe UserMetadata
initiator :: Prelude.Maybe UserMetadata,
Activity -> Maybe Bool
isIndirectActivity :: Prelude.Maybe Prelude.Bool,
Activity -> Maybe Text
organizationId :: Prelude.Maybe Prelude.Text,
Activity -> Maybe ResourceMetadata
originalParent :: Prelude.Maybe ResourceMetadata,
Activity -> Maybe Participants
participants :: Prelude.Maybe Participants,
Activity -> Maybe ResourceMetadata
resourceMetadata :: Prelude.Maybe ResourceMetadata,
Activity -> Maybe POSIX
timeStamp :: Prelude.Maybe Data.POSIX,
Activity -> Maybe ActivityType
type' :: Prelude.Maybe ActivityType
}
deriving (Activity -> Activity -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Activity -> Activity -> Bool
$c/= :: Activity -> Activity -> Bool
== :: Activity -> Activity -> Bool
$c== :: Activity -> Activity -> Bool
Prelude.Eq, Int -> Activity -> ShowS
[Activity] -> ShowS
Activity -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Activity] -> ShowS
$cshowList :: [Activity] -> ShowS
show :: Activity -> String
$cshow :: Activity -> String
showsPrec :: Int -> Activity -> ShowS
$cshowsPrec :: Int -> Activity -> ShowS
Prelude.Show, forall x. Rep Activity x -> Activity
forall x. Activity -> Rep Activity x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Activity x -> Activity
$cfrom :: forall x. Activity -> Rep Activity x
Prelude.Generic)
newActivity ::
Activity
newActivity :: Activity
newActivity =
Activity'
{ $sel:commentMetadata:Activity' :: Maybe CommentMetadata
commentMetadata = forall a. Maybe a
Prelude.Nothing,
$sel:initiator:Activity' :: Maybe UserMetadata
initiator = forall a. Maybe a
Prelude.Nothing,
$sel:isIndirectActivity:Activity' :: Maybe Bool
isIndirectActivity = forall a. Maybe a
Prelude.Nothing,
$sel:organizationId:Activity' :: Maybe Text
organizationId = forall a. Maybe a
Prelude.Nothing,
$sel:originalParent:Activity' :: Maybe ResourceMetadata
originalParent = forall a. Maybe a
Prelude.Nothing,
$sel:participants:Activity' :: Maybe Participants
participants = forall a. Maybe a
Prelude.Nothing,
$sel:resourceMetadata:Activity' :: Maybe ResourceMetadata
resourceMetadata = forall a. Maybe a
Prelude.Nothing,
$sel:timeStamp:Activity' :: Maybe POSIX
timeStamp = forall a. Maybe a
Prelude.Nothing,
$sel:type':Activity' :: Maybe ActivityType
type' = forall a. Maybe a
Prelude.Nothing
}
activity_commentMetadata :: Lens.Lens' Activity (Prelude.Maybe CommentMetadata)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe CommentMetadata
commentMetadata :: Maybe CommentMetadata
$sel:commentMetadata:Activity' :: Activity -> Maybe CommentMetadata
commentMetadata} -> Maybe CommentMetadata
commentMetadata) (\s :: Activity
s@Activity' {} Maybe CommentMetadata
a -> Activity
s {$sel:commentMetadata:Activity' :: Maybe CommentMetadata
commentMetadata = Maybe CommentMetadata
a} :: Activity)
activity_initiator :: Lens.Lens' Activity (Prelude.Maybe UserMetadata)
activity_initiator :: Lens' Activity (Maybe UserMetadata)
activity_initiator = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe UserMetadata
initiator :: Maybe UserMetadata
$sel:initiator:Activity' :: Activity -> Maybe UserMetadata
initiator} -> Maybe UserMetadata
initiator) (\s :: Activity
s@Activity' {} Maybe UserMetadata
a -> Activity
s {$sel:initiator:Activity' :: Maybe UserMetadata
initiator = Maybe UserMetadata
a} :: Activity)
activity_isIndirectActivity :: Lens.Lens' Activity (Prelude.Maybe Prelude.Bool)
activity_isIndirectActivity :: Lens' Activity (Maybe Bool)
activity_isIndirectActivity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe Bool
isIndirectActivity :: Maybe Bool
$sel:isIndirectActivity:Activity' :: Activity -> Maybe Bool
isIndirectActivity} -> Maybe Bool
isIndirectActivity) (\s :: Activity
s@Activity' {} Maybe Bool
a -> Activity
s {$sel:isIndirectActivity:Activity' :: Maybe Bool
isIndirectActivity = Maybe Bool
a} :: Activity)
activity_organizationId :: Lens.Lens' Activity (Prelude.Maybe Prelude.Text)
activity_organizationId :: Lens' Activity (Maybe Text)
activity_organizationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe Text
organizationId :: Maybe Text
$sel:organizationId:Activity' :: Activity -> Maybe Text
organizationId} -> Maybe Text
organizationId) (\s :: Activity
s@Activity' {} Maybe Text
a -> Activity
s {$sel:organizationId:Activity' :: Maybe Text
organizationId = Maybe Text
a} :: Activity)
activity_originalParent :: Lens.Lens' Activity (Prelude.Maybe ResourceMetadata)
activity_originalParent :: Lens' Activity (Maybe ResourceMetadata)
activity_originalParent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe ResourceMetadata
originalParent :: Maybe ResourceMetadata
$sel:originalParent:Activity' :: Activity -> Maybe ResourceMetadata
originalParent} -> Maybe ResourceMetadata
originalParent) (\s :: Activity
s@Activity' {} Maybe ResourceMetadata
a -> Activity
s {$sel:originalParent:Activity' :: Maybe ResourceMetadata
originalParent = Maybe ResourceMetadata
a} :: Activity)
activity_participants :: Lens.Lens' Activity (Prelude.Maybe Participants)
activity_participants :: Lens' Activity (Maybe Participants)
activity_participants = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe Participants
participants :: Maybe Participants
$sel:participants:Activity' :: Activity -> Maybe Participants
participants} -> Maybe Participants
participants) (\s :: Activity
s@Activity' {} Maybe Participants
a -> Activity
s {$sel:participants:Activity' :: Maybe Participants
participants = Maybe Participants
a} :: Activity)
activity_resourceMetadata :: Lens.Lens' Activity (Prelude.Maybe ResourceMetadata)
activity_resourceMetadata :: Lens' Activity (Maybe ResourceMetadata)
activity_resourceMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe ResourceMetadata
resourceMetadata :: Maybe ResourceMetadata
$sel:resourceMetadata:Activity' :: Activity -> Maybe ResourceMetadata
resourceMetadata} -> Maybe ResourceMetadata
resourceMetadata) (\s :: Activity
s@Activity' {} Maybe ResourceMetadata
a -> Activity
s {$sel:resourceMetadata:Activity' :: Maybe ResourceMetadata
resourceMetadata = Maybe ResourceMetadata
a} :: Activity)
activity_timeStamp :: Lens.Lens' Activity (Prelude.Maybe Prelude.UTCTime)
activity_timeStamp :: Lens' Activity (Maybe UTCTime)
activity_timeStamp = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe POSIX
timeStamp :: Maybe POSIX
$sel:timeStamp:Activity' :: Activity -> Maybe POSIX
timeStamp} -> Maybe POSIX
timeStamp) (\s :: Activity
s@Activity' {} Maybe POSIX
a -> Activity
s {$sel:timeStamp:Activity' :: Maybe POSIX
timeStamp = Maybe POSIX
a} :: Activity) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
activity_type :: Lens.Lens' Activity (Prelude.Maybe ActivityType)
activity_type :: Lens' Activity (Maybe ActivityType)
activity_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Activity' {Maybe ActivityType
type' :: Maybe ActivityType
$sel:type':Activity' :: Activity -> Maybe ActivityType
type'} -> Maybe ActivityType
type') (\s :: Activity
s@Activity' {} Maybe ActivityType
a -> Activity
s {$sel:type':Activity' :: Maybe ActivityType
type' = Maybe ActivityType
a} :: Activity)
instance Data.FromJSON Activity where
parseJSON :: Value -> Parser Activity
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"Activity"
( \Object
x ->
Maybe CommentMetadata
-> Maybe UserMetadata
-> Maybe Bool
-> Maybe Text
-> Maybe ResourceMetadata
-> Maybe Participants
-> Maybe ResourceMetadata
-> Maybe POSIX
-> Maybe ActivityType
-> Activity
Activity'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"CommentMetadata")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Initiator")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"IsIndirectActivity")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"OrganizationId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"OriginalParent")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Participants")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ResourceMetadata")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"TimeStamp")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Type")
)
instance Prelude.Hashable Activity where
hashWithSalt :: Int -> Activity -> Int
hashWithSalt Int
_salt Activity' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe ActivityType
Maybe UserMetadata
Maybe ResourceMetadata
Maybe Participants
Maybe CommentMetadata
type' :: Maybe ActivityType
timeStamp :: Maybe POSIX
resourceMetadata :: Maybe ResourceMetadata
participants :: Maybe Participants
originalParent :: Maybe ResourceMetadata
organizationId :: Maybe Text
isIndirectActivity :: Maybe Bool
initiator :: Maybe UserMetadata
commentMetadata :: Maybe CommentMetadata
$sel:type':Activity' :: Activity -> Maybe ActivityType
$sel:timeStamp:Activity' :: Activity -> Maybe POSIX
$sel:resourceMetadata:Activity' :: Activity -> Maybe ResourceMetadata
$sel:participants:Activity' :: Activity -> Maybe Participants
$sel:originalParent:Activity' :: Activity -> Maybe ResourceMetadata
$sel:organizationId:Activity' :: Activity -> Maybe Text
$sel:isIndirectActivity:Activity' :: Activity -> Maybe Bool
$sel:initiator:Activity' :: Activity -> Maybe UserMetadata
$sel:commentMetadata:Activity' :: Activity -> Maybe CommentMetadata
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CommentMetadata
commentMetadata
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserMetadata
initiator
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isIndirectActivity
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
organizationId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceMetadata
originalParent
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Participants
participants
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceMetadata
resourceMetadata
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
timeStamp
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ActivityType
type'
instance Prelude.NFData Activity where
rnf :: Activity -> ()
rnf Activity' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe ActivityType
Maybe UserMetadata
Maybe ResourceMetadata
Maybe Participants
Maybe CommentMetadata
type' :: Maybe ActivityType
timeStamp :: Maybe POSIX
resourceMetadata :: Maybe ResourceMetadata
participants :: Maybe Participants
originalParent :: Maybe ResourceMetadata
organizationId :: Maybe Text
isIndirectActivity :: Maybe Bool
initiator :: Maybe UserMetadata
commentMetadata :: Maybe CommentMetadata
$sel:type':Activity' :: Activity -> Maybe ActivityType
$sel:timeStamp:Activity' :: Activity -> Maybe POSIX
$sel:resourceMetadata:Activity' :: Activity -> Maybe ResourceMetadata
$sel:participants:Activity' :: Activity -> Maybe Participants
$sel:originalParent:Activity' :: Activity -> Maybe ResourceMetadata
$sel:organizationId:Activity' :: Activity -> Maybe Text
$sel:isIndirectActivity:Activity' :: Activity -> Maybe Bool
$sel:initiator:Activity' :: Activity -> Maybe UserMetadata
$sel:commentMetadata:Activity' :: Activity -> Maybe CommentMetadata
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CommentMetadata
commentMetadata
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe UserMetadata
initiator
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isIndirectActivity
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
organizationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceMetadata
originalParent
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Participants
participants
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceMetadata
resourceMetadata
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
timeStamp
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActivityType
type'