#!/bin/sh
#
# Created by: Mark Felder <feld@FreeBSD.org>
# $FreeBSD: head/security/bitwarden-ruby/files/bitwarden-api.in 458452 2018-01-08 17:00:31Z feld $
#

# PROVIDE: bitwarden-api
# REQUIRE: LOGIN
# KEYWORD: shutdown

#
# Add the following line to /etc/rc.conf to enable `bitwarden-api':
#
# bitwarden_api_enable="YES"

. /etc/rc.subr
name=bitwarden_api

rcvar=bitwarden_api_enable
load_rc_config ${name}

: ${bitwarden_api_enable:=NO}
: ${bitwarden_api_port:=4567}
: ${bitwarden_api_signups:=NO}
: ${bitwarden_api_user:=www}
: ${bitwarden_api_group:=www}
: ${bitwarden_api_chdir=/usr/local/www/bitwarden-ruby}

pidfile="/var/run/bitwarden/${name}.pid"
procname=/usr/local/bin/ruby24
command="/usr/local/bin/rackup"
command_args="-P ${pidfile} -p ${bitwarden_api_port} -E production config.ru 2>&1 | logger -t bitwarden &"
start_precmd="start_precmd"

start_precmd()
{
        if [ ! -e /var/run/bitwarden ] ; then
                install -d -o ${bitwarden_api_user} -g ${bitwarden_api_group} /var/run/bitwarden;
        fi

        checkyesno bitwarden_api_signups
        if [ "$?" -eq 0 ]; then
                export ALLOW_SIGNUPS=1
                echo "Bitwarden Signups Enabled"
        fi
}

run_rc_command "$1"
