#!/usr/bin/env bash # commands/group/logs.sh function cmd::group::logs::on_load() { flag::define --name value "Group name" required label:name flag::define --limit value "Max results" default:50 type:int min:1 flag::define --since value "Since duration" label:time flag::define --fw bool "Firewall only" flag::define --wg bool "WireGuard only" flag::exclusive --fw --wg } function cmd::group::logs::run() { flag::parse "$@" || return 1 local name; name=$(flag::value --name) local limit; limit=$(flag::value --limit) local since; since=$(flag::value --since) local fw=false wg=false flag::bool --fw && fw=true flag::bool --wg && wg=true [[ -z "$name" ]] && log::error "Missing required flag: --name" && return 1 group::require_exists "$name" || return 1 cmd::group::_logs_impl "$name" "$limit" "$since" "$fw" "$wg" }