From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id C26A6C112 for ; Thu, 14 Sep 2023 11:53:24 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id DF48D36B73 for ; Thu, 14 Sep 2023 11:52:53 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Thu, 14 Sep 2023 11:52:51 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5B67540FC4 for ; Thu, 14 Sep 2023 11:52:51 +0200 (CEST) From: Leo Nunner To: pmg-devel@lists.proxmox.com Date: Thu, 14 Sep 2023 11:52:30 +0200 Message-Id: <20230914095234.115469-10-l.nunner@proxmox.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230914095234.115469-1-l.nunner@proxmox.com> References: <20230914095234.115469-1-l.nunner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.094 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pmg-devel] [PATCH WIP api 09/11] match groups: list match groups in rule API X-BeenThere: pmg-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Mail Gateway development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Sep 2023 09:53:24 -0000 Add a list of all match groups that are associated with a rule when requesting the rule information via the API. Signed-off-by: Leo Nunner --- src/PMG/API2/ObjectGroupHelpers.pm | 4 +++- src/PMG/API2/RuleDB.pm | 4 +++- src/PMG/API2/Rules.pm | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/PMG/API2/ObjectGroupHelpers.pm b/src/PMG/API2/ObjectGroupHelpers.pm index 79e0d70..5e15d37 100644 --- a/src/PMG/API2/ObjectGroupHelpers.pm +++ b/src/PMG/API2/ObjectGroupHelpers.pm @@ -14,7 +14,7 @@ use PMG::DBTools; use PMG::RuleDB; sub format_rule { - my ($rule, $from, $to, $when, $what, $action) = @_; + my ($rule, $from, $to, $when, $what, $action, $match) = @_; my $cond_create_group = sub { my ($res, $name, $groupdata) = @_; @@ -38,6 +38,8 @@ sub format_rule { $cond_create_group->($data, 'what', $what); $cond_create_group->($data, 'action', $action); + $data->{match} = $match if $match; + return $data; } diff --git a/src/PMG/API2/RuleDB.pm b/src/PMG/API2/RuleDB.pm index 1fddb32..3942f36 100644 --- a/src/PMG/API2/RuleDB.pm +++ b/src/PMG/API2/RuleDB.pm @@ -141,8 +141,10 @@ __PACKAGE__->register_method({ my ($from, $to, $when, $what, $action) = $rdb->load_groups($rule); + my $matchgroups = $rdb->load_match_groups($rule); + my $data = PMG::API2::ObjectGroupHelpers::format_rule( - $rule, $from, $to, $when, $what, $action); + $rule, $from, $to, $when, $what, $action, $matchgroups); push @$res, $data; } diff --git a/src/PMG/API2/Rules.pm b/src/PMG/API2/Rules.pm index a048872..91e91ed 100644 --- a/src/PMG/API2/Rules.pm +++ b/src/PMG/API2/Rules.pm @@ -130,8 +130,10 @@ __PACKAGE__->register_method ({ my ($from, $to, $when, $what, $action) = $rdb->load_groups($rule); + my $matchgroups = $rdb->load_match_groups($rule); + my $data = PMG::API2::ObjectGroupHelpers::format_rule( - $rule, $from, $to, $when, $what, $action); + $rule, $from, $to, $when, $what, $action, $matchgroups); return $data; }}); -- 2.39.2