echo "Initialising MongoDB..."
mongosh --host {% if MONGODB_REPLICA_SET %}{{ MONGODB_REPLICA_SET }}/{% endif %}{{ MONGODB_HOST }} --port {{ MONGODB_PORT }} {% if MONGODB_ROOT_USERNAME and MONGODB_ROOT_PASSWORD %}-u {{ MONGODB_ROOT_USERNAME }} -p {{ MONGODB_ROOT_PASSWORD }}{% endif %} admin <<EOF
  {% if MONGODB_USERNAME %}
  if (db.getUser("{{ MONGODB_USERNAME }}") == null) {
    db.createUser({
        user: "{{ MONGODB_USERNAME }}",
        pwd:  "{{ MONGODB_PASSWORD }}",
        roles: [
          { role: "readWrite", db: "{{ MONGODB_DATABASE }}" },
          {% if 'forum' in PLUGINS  %}{ role: "readWrite", db: "{{ FORUM_MONGODB_DATABASE }}" },{% endif %}
        ]
    })
  } else {
    db.updateUser("{{ MONGODB_USERNAME }}", {
      pwd: "{{ MONGODB_PASSWORD }}",
      roles: [
        { role: "readWrite", db: "{{ MONGODB_DATABASE }}" },
        {% if 'forum' in PLUGINS %}{ role: "readWrite", db: "{{ FORUM_MONGODB_DATABASE }}" },{% endif %}
      ]
    })
  }
  {% endif %}
  {{ patch("drydock-mongodb-init-job") }}
  exit
EOF
