{{- include "common.values.setup" . -}}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ template "common.names.fullname" . }}-scripts
  labels:
    {{- include "common.labels" . | nindent 4 }}
data:
  {{- /* Determine if the bittorrent port is enabled */ -}}
  {{- $bittorrentPort := .Values.service.bittorrent.ports.bittorrent.port -}}
  {{- if and .Values.settings.automaticPortSetup $bittorrentPort }}
  31-update-port: |-
    #!/bin/bash
    QBITTORRENT_CONFIGFILE="/config/qBittorrent/qBittorrent.conf"
    INCOMING_PORT={{- $bittorrentPort }}

    incoming_port_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin='${INCOMING_PORT})
    if [[ -z "${incoming_port_exist}" ]]; then
      incoming_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin')
      if [[ ! -z "${incoming_exist}" ]]; then
        # Get line number of Incoming
        LINE_NUM=$(grep -Fn -m 1 'Connection\PortRangeMin' ${QBITTORRENT_CONFIGFILE} | cut -d: -f 1)
        sed -i "${LINE_NUM}s@.*@Connection\\\PortRangeMin=${INCOMING_PORT}@" ${QBITTORRENT_CONFIGFILE}
      else
        echo "Connection\\PortRangeMin=${INCOMING_PORT}" >> ${QBITTORRENT_CONFIGFILE}
      fi
    fi
  {{- end }}
