chore(users): add password to user data for addNewUser
This commit is contained in:
parent
6cd0152636
commit
2490f8e69f
@ -1,4 +1,4 @@
|
||||
-- SPDX-FileCopyrightText: 2022-2023 Gregor Kleen <gregor@kleen.consulting>, Sarah Vaupel <sarah.vaupel@ifi.lmu.de>, Steffen Jost <jost@tcs.ifi.lmu.de>, Winnie Ros <winnie.ros@campus.lmu.de>
|
||||
-- SPDX-FileCopyrightText: 2022-2024 Sarah Vaupel <sarah.vaupel@uniworx.de>, Gregor Kleen <gregor@kleen.consulting>, Sarah Vaupel <sarah.vaupel@ifi.lmu.de>, Steffen Jost <jost@tcs.ifi.lmu.de>, Winnie Ros <winnie.ros@campus.lmu.de>
|
||||
--
|
||||
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
@ -35,21 +35,18 @@ adminUserForm template = renderAForm FormStandard
|
||||
<*> aopt (textField & cfStrip) (fslI MsgAdminUserPinPassword) (audPinPassword <$> template)
|
||||
<*> areq (emailField & cfCI) (fslI MsgAdminUserEmail) (audEmail <$> template)
|
||||
<*> areq (textField & cfStrip & cfCI) (fslI MsgAdminUserIdent) (audIdent <$> template)
|
||||
<*> areq (selectField optionsFinite) (fslI MsgAdminUserAuth & setTooltip MsgAdminUserAuthTooltip) (audAuth <$> template <|> Just AuthKindLDAP)
|
||||
<*> aopt uuidField (fslI MsgAdminUserAzureId) (audAzureId <$> template)
|
||||
<*> aopt passwordField (fslI MsgAdminUserPassword) (audPassword <$> template)
|
||||
|
||||
-- | Like `addNewUser`, but starts background jobs and tries to notify users, if applicable (i.e. /= AuthNoLogin )
|
||||
-- | Like `addNewUser`, but starts background jobs and tries to notify users
|
||||
addNewUserNotify :: AddUserData -> Handler (Maybe UserId)
|
||||
addNewUserNotify aud = do
|
||||
mbUid <- addNewUser aud
|
||||
case mbUid of
|
||||
Nothing -> return Nothing
|
||||
Just uid -> runDBJobs $ do
|
||||
queueDBJob $ JobSynchroniseUserdbUser uid
|
||||
let authKind = audAuth aud
|
||||
when (authKind /= AuthKindNoLogin) $
|
||||
queueDBJob $ JobSynchroniseUser uid
|
||||
when (is _Just $ audPassword aud) $ do
|
||||
queueDBJob . JobQueueNotification $ NotificationUserAuthModeUpdate uid
|
||||
when (authKind == AuthKindPWHash) $
|
||||
queueDBJob $ JobSendPasswordReset uid
|
||||
return $ Just uid
|
||||
|
||||
|
||||
@ -12,9 +12,6 @@ module Utils.Users
|
||||
import Import
|
||||
|
||||
|
||||
-- TODO: addNewUser might be redundant; use upsertUser instead?
|
||||
|
||||
|
||||
data AddUserData = AddUserData
|
||||
{ audTitle :: Maybe Text
|
||||
, audFirstName :: Text
|
||||
@ -33,6 +30,7 @@ data AddUserData = AddUserData
|
||||
, audPinPassword :: Maybe Text
|
||||
, audEmail :: UserEmail
|
||||
, audIdent :: UserIdent
|
||||
, audPassword :: Maybe Text
|
||||
}
|
||||
|
||||
|
||||
@ -45,7 +43,7 @@ addNewUser AddUserData{..} = do
|
||||
newUser = User
|
||||
{ userIdent = audIdent
|
||||
, userLastAuthentication = Nothing
|
||||
, userPasswordHash = Nothing
|
||||
, userPasswordHash = audPassword
|
||||
, userMaxFavourites = userDefaultMaxFavourites
|
||||
, userMaxFavouriteTerms = userDefaultMaxFavouriteTerms
|
||||
, userTheme = userDefaultTheme
|
||||
|
||||
Reference in New Issue
Block a user