#!/bin/sh
set -e

bin=$SNAP/sshpiperd
config=$SNAP_DATA/sshpiperd.ini

args=""
for opt in $($bin daemon options); do
    v=$(snapctl get $opt)

    if [ "$v" != "" ]; then
        v=$(eval echo $v)

        if [ "$v" = "true" ];then
            args="$args --$opt"
        else
            args="$args --$opt=$v"
        fi
    
    # special default
    elif [ "$opt" = "upstream-workingdir" ]; then
        mkdir -p $SNAP_COMMON/workingdir
        args="$args --$opt=$SNAP_COMMON/workingdir"
    elif [ "$opt" = "upstream-sqlite-dbfile" ]; then
        args="$args --$opt=$SNAP_COMMON/sshpiperd.sqlite3"
    elif [ "$opt" = "auditor-typescriptlogger-outputdir" ]; then
        mkdir -p $SNAP_COMMON/typescriptlog
        args="$args --$opt=$SNAP_COMMON/typescriptlog"
    elif [ "$opt" = "server-key" ]; then
        args="$args --$opt=$SNAP_COMMON/host_rsa_key"
    elif [ "$opt" = "log-flags" ]; then
        args="$args --$opt=0"
    fi
done

echo ";DO NOT MODIFY, USE snap set sshpiperd key=val, AUTO GENERATED" $(date) > $config
$bin daemon --config /dev/null $args dumpconfig >> $config
