#!/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"
}
