#!/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

USERNAME=$1
PASSWORD=`printf $2 | sha256sum | awk '{ print $1 }'`
EMAIL=$3

if [ "$(systemctl is-active mongod)" != "active" ]; then
        echo "ERROR: mongoDB service is not running"
        exit 1  
fi

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' }).nInserted"`

if [ $INSERTED -eq 1 ]; then
    echo "User added: $USERNAME"
else
    echo "ERROR: Failed to add user"
fi
