#!/bin/bash

# Copyright: 2023 Virtuozzo International GmbH

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.



[ -n "${POSTGRESDUMPERLIB_VERSION:-}" ] && return 0;
POSTGRESDUMPERLIB_VERSION="0.1";

include log;
include output;

$PROGRAM 'psql';
$PROGRAM 'wget';
$PROGRAM 'gzip';

function Restore() {

		while [ "$1" != "" ]; 
		do
		  case $1 in
		    -u | --user )     shift
		      local user="$1"
		      ;;
		    -p | --password ) shift
		      local password="$1"
		      ;;
		    -d | --dumpUrl )  shift
		      local dumpurl="$1"
		      ;;
		    -b | --dbname )   shift
		      local database="$1"
		      ;;
		  esac
		  shift
		done

		[ ! -e "/var/cache" ] && mkdir -p "/var/cache/";
		local dumpfile="/var/cache/tempdump$$.dump";
		$WGET --no-check-certificate $dumpurl -O $dumpfile >> $ACTIONS_LOG 2>&1;
		$GZIP -l ${dumpfile} > /dev/null 2>&1 && { mv "${dumpfile}" "${dumpfile}.gz" &&  $GZIP -d  "${dumpfile}.gz" && mv "${dumpfile}" "${dumpfile}.sql"; } || { mv "${dumpfile}" "${dumpfile}.sql"; }
		[ -s ${dumpfile}.sql ] || return 74;
		export PGPASSWORD="$password";
		echo "CREATE DATABASE $database" | $PSQL  -d postgres -U $user >> $ACTIONS_LOG 2>&1 || return 72;
		$PSQL -U $user $database < ${dumpfile}.sql >> $ACTIONS_LOG 2>&1 || return 73;
		[ -f ${dumpfile}.sql ] && rm -f ${dumpfile}.sql;
}

