From 77393fe4526d0b64d288c2ba47685f0096a7b979 Mon Sep 17 00:00:00 2001 From: Feufochmar Date: Tue, 4 May 2021 18:19:41 +0200 Subject: [PATCH] Add user management tools (useradd, userdel). --- useradd.rkt | 31 +++++++++++++++++++++++++++++++ userdel.rkt | 25 +++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 useradd.rkt create mode 100644 userdel.rkt diff --git a/useradd.rkt b/useradd.rkt new file mode 100644 index 0000000..5ead443 --- /dev/null +++ b/useradd.rkt @@ -0,0 +1,31 @@ +#lang racket/base + +; Add a new user to the database + +(require + "src/notepad/user.rkt" + "src/pages/notepad.rkt" ; To open the database + ) + +(displayln "Adding a new user.") +; Ask for user name +(displayln "Enter the user name:") +(define name (read-line)) +(when (eof-object? name) + (exit 1)) + +; Check if user already exists +(when (get-user-by-name name) + (displayln (string-append "User " name " already exists!")) + (exit 2)) + +; Ask for user password +(displayln "Enter the user password:") +(define password (read-line)) +(when (eof-object? name) + (exit 1)) + +; Add user to db +(void + (new-user name password)) +(displayln (string-append "User " name " added.")) diff --git a/userdel.rkt b/userdel.rkt new file mode 100644 index 0000000..0b0b1ea --- /dev/null +++ b/userdel.rkt @@ -0,0 +1,25 @@ +#lang racket/base + +; Remove a user from the database + +(require + "src/notepad/user.rkt" + "src/pages/notepad.rkt" ; To open the database + ) + +(displayln "Removing a user.") +; Ask for user name +(displayln "Enter the user name:") +(define name (read-line)) +(when (eof-object? name) + (exit 1)) + +; Get user +(define usr (get-user-by-name name)) +(cond + (usr + (remove-user usr) + (displayln (string-append "User " name " removed."))) + (#t + (displayln (string-append "User " name " does not exists!")) + (exit 2)))