37 lines
945 B
Bash
Executable File
37 lines
945 B
Bash
Executable File
#!/bin/sh
|
|
|
|
[ $# -ne 3 ] && echo "Usage: $0 <username> <password> <email>" && exit 1
|
|
|
|
if [ ! -f "$(which uuidgen 2> /dev/null)" ]; then
|
|
echo "$0 requires uuidgen but it's not installed. Aborting!"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$(systemctl is-active mongod)" != "active" ]; then
|
|
echo "ERROR: mongoDB service is not running"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
USERNAME=$1
|
|
PASSWORD=`printf $2 | sha256sum | awk '{ print $1 }'`
|
|
EMAIL=$3
|
|
[ -z "$TENANT_ID" ] && TENANT_ID=`uuidgen`
|
|
|
|
|
|
EXISTS=$(mongo main --quiet --eval "db.users.find({ username: '$USERNAME' })")
|
|
|
|
if [ -n "$EXISTS" ]; then
|
|
echo "ERROR: user already exists!"
|
|
exit 1
|
|
fi
|
|
|
|
INSERTED=$(mongo main --quiet --eval "db.users.insert({ name: '$USERNAME', username: '$USERNAME', password: '$PASSWORD', email: '$EMAIL', tenant_id: '$TENANT_ID' }).nInserted")
|
|
|
|
if [ $INSERTED -eq 1 ]; then
|
|
echo "User added: $USERNAME"
|
|
echo "Tenant ID: $TENANT_ID"
|
|
else
|
|
echo "ERROR: Failed to add user"
|
|
fi
|