From 0841e85a57e570f15bd98eb011deea182c501fb7 Mon Sep 17 00:00:00 2001 From: 3wc <3wc@doesthisthing.work> Date: Wed, 30 Mar 2022 11:54:56 +0200 Subject: [PATCH] Add delete_user cmd --- abra.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/abra.sh b/abra.sh index 4877365..28f60a6 100644 --- a/abra.sh +++ b/abra.sh @@ -1 +1,34 @@ export APP_ENTRYPOINT_VERSION=v2 + +delete_user() { + if [ -z "$1" ] || [ -z "$2" ]; then + echo "Usage: ... delete_user " + exit 1 + fi + + USERID_REMOVE=$(echo "SELECT id FROM users WHERE username = '$1'" | psql -t -A -U user outline) + USERID_REPLACE=$(echo "SELECT id FROM users WHERE username = '$2'" | psql -t -A -U user outline) + + if [ -z "$USERID_REMOVE" ]; then + echo "Can't find ID of '$1'" + exit 1 + fi + + if [ -z "$USERID_REPLACE" ]; then + echo "Can't find ID of '$2'" + exit 1 + fi + + psql -U user outline <<- SQL + UPDATE documents SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE'; + UPDATE documents SET "lastModifiedById" = '$USERID_REPLACE' WHERE "lastModifiedById" = '$USERID_REMOVE'; + UPDATE documents SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE'; + UPDATE revisions SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE'; + UPDATE attachments SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE'; + DELETE FROM shares WHERE "userId" = '$USERID_REMOVE'; + DELETE FROM notification_settings WHERE "userId" = '$USERID_REMOVE'; + DELETE FROM events WHERE "actorId" = '$USERID_REMOVE'; + DELETE FROM events WHERE "userId" = '$USERID_REMOVE'; + DELETE FROM users WHERE username = '$1'; + SQL +}