Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / SL / DB / CustomDataExportQuery.pm
diff --git a/SL/DB/CustomDataExportQuery.pm b/SL/DB/CustomDataExportQuery.pm
new file mode 100644 (file)
index 0000000..bda91e2
--- /dev/null
@@ -0,0 +1,29 @@
+package SL::DB::CustomDataExportQuery;
+
+use strict;
+
+use SL::DB::MetaSetup::CustomDataExportQuery;
+use SL::DB::Manager::CustomDataExportQuery;
+
+__PACKAGE__->meta->add_relationship(
+  parameters => {
+    type       => 'one to many',
+    class      => 'SL::DB::CustomDataExportQueryParameter',
+    column_map => { id => 'query_id' },
+  },
+);
+
+__PACKAGE__->meta->initialize;
+
+sub used_parameter_names {
+  my ($self) = @_;
+
+  my %parameters;
+
+  my $sql_query   = $self->sql_query // '';
+  $parameters{$1} = 1 while $sql_query =~ m{<\%(.+?)\%>}g;
+
+  return sort keys %parameters;
+}
+
+1;