summaryrefslogtreecommitdiff
path: root/fig-web/src/Fig/Web/LDAP.hs
diff options
context:
space:
mode:
Diffstat (limited to 'fig-web/src/Fig/Web/LDAP.hs')
-rw-r--r--fig-web/src/Fig/Web/LDAP.hs43
1 files changed, 0 insertions, 43 deletions
diff --git a/fig-web/src/Fig/Web/LDAP.hs b/fig-web/src/Fig/Web/LDAP.hs
deleted file mode 100644
index 07c87d9..0000000
--- a/fig-web/src/Fig/Web/LDAP.hs
+++ /dev/null
@@ -1,43 +0,0 @@
-module Fig.Web.LDAP where
-
-import Fig.Prelude
-
-import System.Exit (ExitCode(..))
-import qualified System.Process as Proc
-
-import qualified Data.UUID as UUID
-import qualified Data.UUID.V4 as UUID
-import qualified Data.Text as Text
-
-import Fig.Web.Utils
-
--- | Reset the password in LDAP for the specified user (creating the user if necessary)
-resetUserPassword :: MonadIO m => Config -> Text -> Text -> m (Maybe Text)
-resetUserPassword cfg user uid = do
- let login = Text.toLower user
- password <- UUID.toText <$> liftIO UUID.nextRandom
- (exitCode, out0, err0) <- liftIO . flip Proc.readCreateProcessWithExitCode ""
- . Proc.proc cfg.lldapCli $ unpack <$>
- [ "-H", cfg.lldapHost
- , "-D", cfg.lldapUser
- , "-w", cfg.lldapPassword
- , "user", "add", login, uid <> "@users.colonq.computer"
- , "-p", password
- , "-f", uid
- ]
- (_, out1, err1) <- liftIO . flip Proc.readCreateProcessWithExitCode ""
- . Proc.proc cfg.lldapCli $ unpack <$>
- [ "-H", cfg.lldapHost
- , "-D", cfg.lldapUser
- , "-w", cfg.lldapPassword
- , "user", "group", "add", login, "fig_users"
- ]
- case exitCode of
- ExitSuccess -> pure $ Just password
- ExitFailure _ -> do
- log . pack $ mconcat
- [ "LDAP CLI error:\n"
- , out0, err0
- , out1, err1
- ]
- pure Nothing