#!/bin/bash

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;93m'
MAGENTA='\033[0;35m'
NC='\033[0m' # No Color

config_dir="$HOME/.config/ina/"
logfile="$config_dir/check_size.log"

. /usr/share/appdata/check-syslog-size.conf

function log() {
    echo $1 >> $logfile
}

echo -e "${GREEN}Checking syslog size${NC}"
[[ -d $config_dir ]] || {
    echo -e "${GREEN}Creating config directory${NC}"
    mkdir -p $config_dir
    echo "size: 0" > $config_dir/size_old
    echo "date:" `date +%s` >> $config_dir/size_old
    echo "date_human:" `date +%s` >> $config_dir/size_old
    log "Creating config directory:" `date`
}

size_now=`du -m /var/log/syslog | awk '{print $1}'`
date_now=`date +%s`
date_now_human=`date`
size_old=`cat $config_dir/size_old | grep "size:" | awk '{print $NF}'`
date_old=`cat $config_dir/size_old | grep "date:" | awk '{print $NF}'`
date_old_human=`cat $config_dir/size_old | grep "date_human:" | awk '{print $NF}'`

size_diff=`expr $size_now \- $size_old`

echo -e "${GREEN}Previous size: ${MAGENTA} $size_old Mb ${NC}"
echo -e "${GREEN}Current size:  ${MAGENTA} $size_now Mb ${NC}"
echo
echo -e "${GREEN}Diff:  ${MAGENTA} $size_diff Mb ${NC}"
echo -e "${GREEN}Limit: ${MAGENTA} $daily_grow Mb ${NC}"

log "Check date: $date_now_human"
log "Previous size: $size_old Mb"
log "Current size:  $size_now Mb"
log "Diff:  $size_diff Mb"
log "Limit: $daily_grow Mb"

echo "size: $size_now" > $config_dir/size_old
echo "date: $date_now" >> $config_dir/size_old
echo "date_human: $date_now_human" >> $config_dir/size_old

if [[ $size_diff -lt $daily_grow ]]
then echo -e "${GREEN}OK, exit${NC}"
    log ""
    exit 0
else echo "${RED}Growing too fast, proceed${NC}"
    log "Growing too fast, show alert triggerred"
fi

if [[ -f $HOME/.config/ina/dont_show_check_warning ]]
then echo -e "${GREEN}Alert is disabled${NC}"
    log "Alert is disabled"
    log ""
else log "Show alert message"
    log ""
    ina-check-syslog-dialog -g
fi
