module Stratosphere.ResourceProperties.UserLoginProfile where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
data UserLoginProfile =
UserLoginProfile
{ _userLoginProfilePassword :: Val Text
, _userLoginProfilePasswordResetRequired :: Maybe (Val Bool')
} deriving (Show, Generic)
instance ToJSON UserLoginProfile where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
instance FromJSON UserLoginProfile where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 17, omitNothingFields = True }
userLoginProfile
:: Val Text
-> UserLoginProfile
userLoginProfile passwordarg =
UserLoginProfile
{ _userLoginProfilePassword = passwordarg
, _userLoginProfilePasswordResetRequired = Nothing
}
ulpPassword :: Lens' UserLoginProfile (Val Text)
ulpPassword = lens _userLoginProfilePassword (\s a -> s { _userLoginProfilePassword = a })
ulpPasswordResetRequired :: Lens' UserLoginProfile (Maybe (Val Bool'))
ulpPasswordResetRequired = lens _userLoginProfilePasswordResetRequired (\s a -> s { _userLoginProfilePasswordResetRequired = a })