{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.WorkDocs.AddResourcePermissions
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates a set of permissions for the specified folder or document. The
-- resource permissions are overwritten if the principals already have
-- different permissions.
module Amazonka.WorkDocs.AddResourcePermissions
  ( -- * Creating a Request
    AddResourcePermissions (..),
    newAddResourcePermissions,

    -- * Request Lenses
    addResourcePermissions_authenticationToken,
    addResourcePermissions_notificationOptions,
    addResourcePermissions_resourceId,
    addResourcePermissions_principals,

    -- * Destructuring the Response
    AddResourcePermissionsResponse (..),
    newAddResourcePermissionsResponse,

    -- * Response Lenses
    addResourcePermissionsResponse_shareResults,
    addResourcePermissionsResponse_httpStatus,
  )
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.WorkDocs.Types

-- | /See:/ 'newAddResourcePermissions' smart constructor.
data AddResourcePermissions = AddResourcePermissions'
  { -- | Amazon WorkDocs authentication token. Not required when using AWS
    -- administrator credentials to access the API.
    AddResourcePermissions -> Maybe (Sensitive Text)
authenticationToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The notification options.
    AddResourcePermissions -> Maybe NotificationOptions
notificationOptions :: Prelude.Maybe NotificationOptions,
    -- | The ID of the resource.
    AddResourcePermissions -> Text
resourceId :: Prelude.Text,
    -- | The users, groups, or organization being granted permission.
    AddResourcePermissions -> [SharePrincipal]
principals :: [SharePrincipal]
  }
  deriving (AddResourcePermissions -> AddResourcePermissions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddResourcePermissions -> AddResourcePermissions -> Bool
$c/= :: AddResourcePermissions -> AddResourcePermissions -> Bool
== :: AddResourcePermissions -> AddResourcePermissions -> Bool
$c== :: AddResourcePermissions -> AddResourcePermissions -> Bool
Prelude.Eq, Int -> AddResourcePermissions -> ShowS
[AddResourcePermissions] -> ShowS
AddResourcePermissions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddResourcePermissions] -> ShowS
$cshowList :: [AddResourcePermissions] -> ShowS
show :: AddResourcePermissions -> String
$cshow :: AddResourcePermissions -> String
showsPrec :: Int -> AddResourcePermissions -> ShowS
$cshowsPrec :: Int -> AddResourcePermissions -> ShowS
Prelude.Show, forall x. Rep AddResourcePermissions x -> AddResourcePermissions
forall x. AddResourcePermissions -> Rep AddResourcePermissions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AddResourcePermissions x -> AddResourcePermissions
$cfrom :: forall x. AddResourcePermissions -> Rep AddResourcePermissions x
Prelude.Generic)

-- |
-- Create a value of 'AddResourcePermissions' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'authenticationToken', 'addResourcePermissions_authenticationToken' - Amazon WorkDocs authentication token. Not required when using AWS
-- administrator credentials to access the API.
--
-- 'notificationOptions', 'addResourcePermissions_notificationOptions' - The notification options.
--
-- 'resourceId', 'addResourcePermissions_resourceId' - The ID of the resource.
--
-- 'principals', 'addResourcePermissions_principals' - The users, groups, or organization being granted permission.
newAddResourcePermissions ::
  -- | 'resourceId'
  Prelude.Text ->
  AddResourcePermissions
newAddResourcePermissions :: Text -> AddResourcePermissions
newAddResourcePermissions Text
pResourceId_ =
  AddResourcePermissions'
    { $sel:authenticationToken:AddResourcePermissions' :: Maybe (Sensitive Text)
authenticationToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:notificationOptions:AddResourcePermissions' :: Maybe NotificationOptions
notificationOptions = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceId:AddResourcePermissions' :: Text
resourceId = Text
pResourceId_,
      $sel:principals:AddResourcePermissions' :: [SharePrincipal]
principals = forall a. Monoid a => a
Prelude.mempty
    }

-- | Amazon WorkDocs authentication token. Not required when using AWS
-- administrator credentials to access the API.
addResourcePermissions_authenticationToken :: Lens.Lens' AddResourcePermissions (Prelude.Maybe Prelude.Text)
addResourcePermissions_authenticationToken :: Lens' AddResourcePermissions (Maybe Text)
addResourcePermissions_authenticationToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddResourcePermissions' {Maybe (Sensitive Text)
authenticationToken :: Maybe (Sensitive Text)
$sel:authenticationToken:AddResourcePermissions' :: AddResourcePermissions -> Maybe (Sensitive Text)
authenticationToken} -> Maybe (Sensitive Text)
authenticationToken) (\s :: AddResourcePermissions
s@AddResourcePermissions' {} Maybe (Sensitive Text)
a -> AddResourcePermissions
s {$sel:authenticationToken:AddResourcePermissions' :: Maybe (Sensitive Text)
authenticationToken = Maybe (Sensitive Text)
a} :: AddResourcePermissions) 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. Iso' (Sensitive a) a
Data._Sensitive

-- | The notification options.
addResourcePermissions_notificationOptions :: Lens.Lens' AddResourcePermissions (Prelude.Maybe NotificationOptions)
addResourcePermissions_notificationOptions :: Lens' AddResourcePermissions (Maybe NotificationOptions)
addResourcePermissions_notificationOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddResourcePermissions' {Maybe NotificationOptions
notificationOptions :: Maybe NotificationOptions
$sel:notificationOptions:AddResourcePermissions' :: AddResourcePermissions -> Maybe NotificationOptions
notificationOptions} -> Maybe NotificationOptions
notificationOptions) (\s :: AddResourcePermissions
s@AddResourcePermissions' {} Maybe NotificationOptions
a -> AddResourcePermissions
s {$sel:notificationOptions:AddResourcePermissions' :: Maybe NotificationOptions
notificationOptions = Maybe NotificationOptions
a} :: AddResourcePermissions)

-- | The ID of the resource.
addResourcePermissions_resourceId :: Lens.Lens' AddResourcePermissions Prelude.Text
addResourcePermissions_resourceId :: Lens' AddResourcePermissions Text
addResourcePermissions_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddResourcePermissions' {Text
resourceId :: Text
$sel:resourceId:AddResourcePermissions' :: AddResourcePermissions -> Text
resourceId} -> Text
resourceId) (\s :: AddResourcePermissions
s@AddResourcePermissions' {} Text
a -> AddResourcePermissions
s {$sel:resourceId:AddResourcePermissions' :: Text
resourceId = Text
a} :: AddResourcePermissions)

-- | The users, groups, or organization being granted permission.
addResourcePermissions_principals :: Lens.Lens' AddResourcePermissions [SharePrincipal]
addResourcePermissions_principals :: Lens' AddResourcePermissions [SharePrincipal]
addResourcePermissions_principals = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddResourcePermissions' {[SharePrincipal]
principals :: [SharePrincipal]
$sel:principals:AddResourcePermissions' :: AddResourcePermissions -> [SharePrincipal]
principals} -> [SharePrincipal]
principals) (\s :: AddResourcePermissions
s@AddResourcePermissions' {} [SharePrincipal]
a -> AddResourcePermissions
s {$sel:principals:AddResourcePermissions' :: [SharePrincipal]
principals = [SharePrincipal]
a} :: AddResourcePermissions) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance Core.AWSRequest AddResourcePermissions where
  type
    AWSResponse AddResourcePermissions =
      AddResourcePermissionsResponse
  request :: (Service -> Service)
-> AddResourcePermissions -> Request AddResourcePermissions
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy AddResourcePermissions
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse AddResourcePermissions)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe [ShareResult] -> Int -> AddResourcePermissionsResponse
AddResourcePermissionsResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ShareResults" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable AddResourcePermissions where
  hashWithSalt :: Int -> AddResourcePermissions -> Int
hashWithSalt Int
_salt AddResourcePermissions' {[SharePrincipal]
Maybe (Sensitive Text)
Maybe NotificationOptions
Text
principals :: [SharePrincipal]
resourceId :: Text
notificationOptions :: Maybe NotificationOptions
authenticationToken :: Maybe (Sensitive Text)
$sel:principals:AddResourcePermissions' :: AddResourcePermissions -> [SharePrincipal]
$sel:resourceId:AddResourcePermissions' :: AddResourcePermissions -> Text
$sel:notificationOptions:AddResourcePermissions' :: AddResourcePermissions -> Maybe NotificationOptions
$sel:authenticationToken:AddResourcePermissions' :: AddResourcePermissions -> Maybe (Sensitive Text)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
authenticationToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe NotificationOptions
notificationOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [SharePrincipal]
principals

instance Prelude.NFData AddResourcePermissions where
  rnf :: AddResourcePermissions -> ()
rnf AddResourcePermissions' {[SharePrincipal]
Maybe (Sensitive Text)
Maybe NotificationOptions
Text
principals :: [SharePrincipal]
resourceId :: Text
notificationOptions :: Maybe NotificationOptions
authenticationToken :: Maybe (Sensitive Text)
$sel:principals:AddResourcePermissions' :: AddResourcePermissions -> [SharePrincipal]
$sel:resourceId:AddResourcePermissions' :: AddResourcePermissions -> Text
$sel:notificationOptions:AddResourcePermissions' :: AddResourcePermissions -> Maybe NotificationOptions
$sel:authenticationToken:AddResourcePermissions' :: AddResourcePermissions -> Maybe (Sensitive Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
authenticationToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe NotificationOptions
notificationOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [SharePrincipal]
principals

instance Data.ToHeaders AddResourcePermissions where
  toHeaders :: AddResourcePermissions -> ResponseHeaders
toHeaders AddResourcePermissions' {[SharePrincipal]
Maybe (Sensitive Text)
Maybe NotificationOptions
Text
principals :: [SharePrincipal]
resourceId :: Text
notificationOptions :: Maybe NotificationOptions
authenticationToken :: Maybe (Sensitive Text)
$sel:principals:AddResourcePermissions' :: AddResourcePermissions -> [SharePrincipal]
$sel:resourceId:AddResourcePermissions' :: AddResourcePermissions -> Text
$sel:notificationOptions:AddResourcePermissions' :: AddResourcePermissions -> Maybe NotificationOptions
$sel:authenticationToken:AddResourcePermissions' :: AddResourcePermissions -> Maybe (Sensitive Text)
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ HeaderName
"Authentication" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe (Sensitive Text)
authenticationToken,
        HeaderName
"Content-Type"
          forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"application/x-amz-json-1.1" :: Prelude.ByteString)
      ]

instance Data.ToJSON AddResourcePermissions where
  toJSON :: AddResourcePermissions -> Value
toJSON AddResourcePermissions' {[SharePrincipal]
Maybe (Sensitive Text)
Maybe NotificationOptions
Text
principals :: [SharePrincipal]
resourceId :: Text
notificationOptions :: Maybe NotificationOptions
authenticationToken :: Maybe (Sensitive Text)
$sel:principals:AddResourcePermissions' :: AddResourcePermissions -> [SharePrincipal]
$sel:resourceId:AddResourcePermissions' :: AddResourcePermissions -> Text
$sel:notificationOptions:AddResourcePermissions' :: AddResourcePermissions -> Maybe NotificationOptions
$sel:authenticationToken:AddResourcePermissions' :: AddResourcePermissions -> Maybe (Sensitive Text)
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"NotificationOptions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NotificationOptions
notificationOptions,
            forall a. a -> Maybe a
Prelude.Just (Key
"Principals" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [SharePrincipal]
principals)
          ]
      )

instance Data.ToPath AddResourcePermissions where
  toPath :: AddResourcePermissions -> ByteString
toPath AddResourcePermissions' {[SharePrincipal]
Maybe (Sensitive Text)
Maybe NotificationOptions
Text
principals :: [SharePrincipal]
resourceId :: Text
notificationOptions :: Maybe NotificationOptions
authenticationToken :: Maybe (Sensitive Text)
$sel:principals:AddResourcePermissions' :: AddResourcePermissions -> [SharePrincipal]
$sel:resourceId:AddResourcePermissions' :: AddResourcePermissions -> Text
$sel:notificationOptions:AddResourcePermissions' :: AddResourcePermissions -> Maybe NotificationOptions
$sel:authenticationToken:AddResourcePermissions' :: AddResourcePermissions -> Maybe (Sensitive Text)
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/api/v1/resources/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
resourceId,
        ByteString
"/permissions"
      ]

instance Data.ToQuery AddResourcePermissions where
  toQuery :: AddResourcePermissions -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newAddResourcePermissionsResponse' smart constructor.
data AddResourcePermissionsResponse = AddResourcePermissionsResponse'
  { -- | The share results.
    AddResourcePermissionsResponse -> Maybe [ShareResult]
shareResults :: Prelude.Maybe [ShareResult],
    -- | The response's http status code.
    AddResourcePermissionsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (AddResourcePermissionsResponse
-> AddResourcePermissionsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddResourcePermissionsResponse
-> AddResourcePermissionsResponse -> Bool
$c/= :: AddResourcePermissionsResponse
-> AddResourcePermissionsResponse -> Bool
== :: AddResourcePermissionsResponse
-> AddResourcePermissionsResponse -> Bool
$c== :: AddResourcePermissionsResponse
-> AddResourcePermissionsResponse -> Bool
Prelude.Eq, Int -> AddResourcePermissionsResponse -> ShowS
[AddResourcePermissionsResponse] -> ShowS
AddResourcePermissionsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddResourcePermissionsResponse] -> ShowS
$cshowList :: [AddResourcePermissionsResponse] -> ShowS
show :: AddResourcePermissionsResponse -> String
$cshow :: AddResourcePermissionsResponse -> String
showsPrec :: Int -> AddResourcePermissionsResponse -> ShowS
$cshowsPrec :: Int -> AddResourcePermissionsResponse -> ShowS
Prelude.Show, forall x.
Rep AddResourcePermissionsResponse x
-> AddResourcePermissionsResponse
forall x.
AddResourcePermissionsResponse
-> Rep AddResourcePermissionsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AddResourcePermissionsResponse x
-> AddResourcePermissionsResponse
$cfrom :: forall x.
AddResourcePermissionsResponse
-> Rep AddResourcePermissionsResponse x
Prelude.Generic)

-- |
-- Create a value of 'AddResourcePermissionsResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'shareResults', 'addResourcePermissionsResponse_shareResults' - The share results.
--
-- 'httpStatus', 'addResourcePermissionsResponse_httpStatus' - The response's http status code.
newAddResourcePermissionsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  AddResourcePermissionsResponse
newAddResourcePermissionsResponse :: Int -> AddResourcePermissionsResponse
newAddResourcePermissionsResponse Int
pHttpStatus_ =
  AddResourcePermissionsResponse'
    { $sel:shareResults:AddResourcePermissionsResponse' :: Maybe [ShareResult]
shareResults =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:AddResourcePermissionsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The share results.
addResourcePermissionsResponse_shareResults :: Lens.Lens' AddResourcePermissionsResponse (Prelude.Maybe [ShareResult])
addResourcePermissionsResponse_shareResults :: Lens' AddResourcePermissionsResponse (Maybe [ShareResult])
addResourcePermissionsResponse_shareResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddResourcePermissionsResponse' {Maybe [ShareResult]
shareResults :: Maybe [ShareResult]
$sel:shareResults:AddResourcePermissionsResponse' :: AddResourcePermissionsResponse -> Maybe [ShareResult]
shareResults} -> Maybe [ShareResult]
shareResults) (\s :: AddResourcePermissionsResponse
s@AddResourcePermissionsResponse' {} Maybe [ShareResult]
a -> AddResourcePermissionsResponse
s {$sel:shareResults:AddResourcePermissionsResponse' :: Maybe [ShareResult]
shareResults = Maybe [ShareResult]
a} :: AddResourcePermissionsResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
addResourcePermissionsResponse_httpStatus :: Lens.Lens' AddResourcePermissionsResponse Prelude.Int
addResourcePermissionsResponse_httpStatus :: Lens' AddResourcePermissionsResponse Int
addResourcePermissionsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddResourcePermissionsResponse' {Int
httpStatus :: Int
$sel:httpStatus:AddResourcePermissionsResponse' :: AddResourcePermissionsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AddResourcePermissionsResponse
s@AddResourcePermissionsResponse' {} Int
a -> AddResourcePermissionsResponse
s {$sel:httpStatus:AddResourcePermissionsResponse' :: Int
httpStatus = Int
a} :: AddResourcePermissionsResponse)

instance
  Prelude.NFData
    AddResourcePermissionsResponse
  where
  rnf :: AddResourcePermissionsResponse -> ()
rnf AddResourcePermissionsResponse' {Int
Maybe [ShareResult]
httpStatus :: Int
shareResults :: Maybe [ShareResult]
$sel:httpStatus:AddResourcePermissionsResponse' :: AddResourcePermissionsResponse -> Int
$sel:shareResults:AddResourcePermissionsResponse' :: AddResourcePermissionsResponse -> Maybe [ShareResult]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [ShareResult]
shareResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus