generated from coop-cloud/example
Add delete_user_by_id, delete_duplicate_users
This commit is contained in:
parent
beeffe65f6
commit
00576231e5
62
abra.sh
62
abra.sh
@ -6,24 +6,14 @@ migrate() {
|
|||||||
yarn db:migrate --env=production-ssl-disabled
|
yarn db:migrate --env=production-ssl-disabled
|
||||||
}
|
}
|
||||||
|
|
||||||
delete_user() {
|
delete_user_by_id() {
|
||||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||||
echo "Usage: ... delete_user <user-to-delete> <user-to-replace>"
|
echo "Usage: ... delete_user_by_id <userid-to-delete> <userid-to-replace>"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
USERID_REMOVE=$(echo "SELECT id FROM users WHERE username = '$1'" | psql -t -A -U outline outline)
|
USERID_REPLACE="$2"
|
||||||
USERID_REPLACE=$(echo "SELECT id FROM users WHERE username = '$2'" | psql -t -A -U outline outline)
|
USERID_REMOVE="$1"
|
||||||
|
|
||||||
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 outline outline <<- SQL
|
psql -U outline outline <<- SQL
|
||||||
UPDATE documents SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE';
|
UPDATE documents SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE';
|
||||||
@ -41,6 +31,48 @@ delete_user() {
|
|||||||
DELETE FROM notification_settings WHERE "userId" = '$USERID_REMOVE';
|
DELETE FROM notification_settings WHERE "userId" = '$USERID_REMOVE';
|
||||||
DELETE FROM events WHERE "actorId" = '$USERID_REMOVE';
|
DELETE FROM events WHERE "actorId" = '$USERID_REMOVE';
|
||||||
DELETE FROM events WHERE "userId" = '$USERID_REMOVE';
|
DELETE FROM events WHERE "userId" = '$USERID_REMOVE';
|
||||||
DELETE FROM users WHERE username = '$1';
|
DELETE FROM users WHERE "id" = '$USERID_REMOVE';
|
||||||
SQL
|
SQL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete_user() {
|
||||||
|
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||||
|
echo "Usage: ... delete_user <userid-to-delete> <userid-to-replace>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
USERID_REMOVE=$(echo "SELECT id FROM users WHERE username = '$1'" | psql -t -A -U outline outline)
|
||||||
|
USERID_REPLACE=$(echo "SELECT id FROM users WHERE username = '$2'" | psql -t -A -U outline 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
|
||||||
|
|
||||||
|
delete_user_by_id "$USERID_REMOVE" "$USERID_REPLACE"
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_duplicate_users() {
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Usage: ... delete_duplicate_users <username>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
USERIDS=$(echo "SELECT id FROM users WHERE username = '$1' ORDER BY users.\"createdAt\" DESC" | psql -t -A -U outline outline)
|
||||||
|
|
||||||
|
if [ ! "$(echo "$USERIDS" | wc -l)" -gt 1 ]; then
|
||||||
|
echo "Only one user exists, bailing"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
USERID_NEW=$(echo "$USERIDS" | head -n1)
|
||||||
|
|
||||||
|
for USERID_OLD in $(echo "$USERIDS" | tail -n+2); do
|
||||||
|
delete_user_by_id "$USERID_OLD" "$USERID_NEW"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user