two_with_bash/lib/db.sh
GnomeZworc 1f28301a94
add delete subnet
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2025-05-08 12:16:34 +02:00

73 lines
No EOL
1.2 KiB
Bash

#!/bin/bash
FILE_TRASH="/dev/null"
DB_PATH="./data/"
# errors :
# 1 file do not exist
# 2 entry do not exist
#
# ok :
# 0 entry exist
function check_in_db {
local db_name="${1}"
local search_id="${2}"
[ -f "${DB_PATH}${db_name}.db" ] || return 1
cat "${DB_PATH}${db_name}.db" | \
grep -E "^${search_id}" > "${FILE_TRASH}" || return 2
return 0
}
function add_in_db {
local db_name="${1}"
shift 1
local IFS=";"
echo "$*" >> ${DB_PATH}${db_name}.db
return 0
}
function delete_in_db {
local db_name="${1}"
local id="${2}"
[ "$(uname)" == "Darwin" ] \
&& sed "/^${id}/d" "${DB_PATH}${db_name}.db" -i '' \
|| sed "/^${id}/d" "${DB_PATH}${db_name}.db" -i
return 0
}
# errors :
# 0 file do not exist
#
# ok :
# [1-500] entry count
function count_in_db {
local db_name="${1}"
local id="${2}"
[ -f "${DB_PATH}${db_name}.db" ] || return 0
count=$(cat "${DB_PATH}${db_name}.db" | grep "${id}" | wc -l | sed -e 's/ //g')
return "${count}"
}
function get_from_db {
local db_name="${1}"
local id="${2}"
[ -f "${DB_PATH}${db_name}.db" ] || return 0
cat "${DB_PATH}${db_name}.db" | grep "${id}"
return "$?"
}