From 019dca96ad502e0a28d6efc66a9f481a324822e5 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 1 Jan 2019 10:44:50 -0800 Subject: [PATCH] http exports for additional service types, RT#81945 --- FS/FS/part_export/cable_http.pm | 73 ++++++++++++++++++++++++++++++++++++++ FS/FS/part_export/circuit_http.pm | 73 ++++++++++++++++++++++++++++++++++++++ FS/FS/part_export/external_http.pm | 73 ++++++++++++++++++++++++++++++++++++++ FS/FS/part_export/hardware_http.pm | 73 ++++++++++++++++++++++++++++++++++++++ FS/FS/part_export/phone_http.pm | 73 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 365 insertions(+) create mode 100644 FS/FS/part_export/cable_http.pm create mode 100644 FS/FS/part_export/circuit_http.pm create mode 100644 FS/FS/part_export/external_http.pm create mode 100644 FS/FS/part_export/hardware_http.pm create mode 100644 FS/FS/part_export/phone_http.pm diff --git a/FS/FS/part_export/cable_http.pm b/FS/FS/part_export/cable_http.pm new file mode 100644 index 000000000..57dc7f2f3 --- /dev/null +++ b/FS/FS/part_export/cable_http.pm @@ -0,0 +1,73 @@ +package FS::part_export::cable_http; +use base qw( FS::part_export::http ); + +use Tie::IxHash; + +tie our %options, 'Tie::IxHash', + 'method' => { label =>'Method', + type =>'select', + #options =>[qw(POST GET)], + options =>[qw(POST)], + default =>'POST' }, + 'url' => { label => 'URL', default => 'http://', }, + 'ssl_no_verify' => { label => 'Skip SSL certificate validation', + type => 'checkbox', + }, + 'insert_data' => { + label => 'Insert data', + type => 'textarea', + default => join("\n", + ), + }, + 'delete_data' => { + label => 'Delete data', + type => 'textarea', + default => join("\n", + ), + }, + 'replace_data' => { + label => 'Replace data', + type => 'textarea', + default => join("\n", + ), + }, + 'suspend_data' => { + label => 'Suspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'unsuspend_data' => { + label => 'Unsuspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'success_regexp' => { + label => 'Success Regexp', + default => '', + }, +; + +%info = ( + 'svc' => 'svc_cable', + 'desc' => 'Send an HTTP or HTTPS GET or POST request, for cable services.', + 'options' => \%options, + 'no_machine' => 1, + 'notes' => <<'END' +Send an HTTP or HTTPS GET or POST to the specified URL on account addition, +modification and deletion. +

Each "Data" option takes a list of name value pairs on successive +lines. +

+If "Success Regexp" is specified, the response from the server will be +tested against it to determine if the export succeeded.

+END +); + +1; + diff --git a/FS/FS/part_export/circuit_http.pm b/FS/FS/part_export/circuit_http.pm new file mode 100644 index 000000000..a50f448a3 --- /dev/null +++ b/FS/FS/part_export/circuit_http.pm @@ -0,0 +1,73 @@ +package FS::part_export::circuit_http; +use base qw( FS::part_export::http ); + +use Tie::IxHash; + +tie our %options, 'Tie::IxHash', + 'method' => { label =>'Method', + type =>'select', + #options =>[qw(POST GET)], + options =>[qw(POST)], + default =>'POST' }, + 'url' => { label => 'URL', default => 'http://', }, + 'ssl_no_verify' => { label => 'Skip SSL certificate validation', + type => 'checkbox', + }, + 'insert_data' => { + label => 'Insert data', + type => 'textarea', + default => join("\n", + ), + }, + 'delete_data' => { + label => 'Delete data', + type => 'textarea', + default => join("\n", + ), + }, + 'replace_data' => { + label => 'Replace data', + type => 'textarea', + default => join("\n", + ), + }, + 'suspend_data' => { + label => 'Suspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'unsuspend_data' => { + label => 'Unsuspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'success_regexp' => { + label => 'Success Regexp', + default => '', + }, +; + +%info = ( + 'svc' => 'svc_circuit', + 'desc' => 'Send an HTTP or HTTPS GET or POST request, for circuit services.', + 'options' => \%options, + 'no_machine' => 1, + 'notes' => <<'END' +Send an HTTP or HTTPS GET or POST to the specified URL on account addition, +modification and deletion. +

Each "Data" option takes a list of name value pairs on successive +lines. +

+If "Success Regexp" is specified, the response from the server will be +tested against it to determine if the export succeeded.

+END +); + +1; + diff --git a/FS/FS/part_export/external_http.pm b/FS/FS/part_export/external_http.pm new file mode 100644 index 000000000..783bcea44 --- /dev/null +++ b/FS/FS/part_export/external_http.pm @@ -0,0 +1,73 @@ +package FS::part_export::external_http; +use base qw( FS::part_export::http ); + +use Tie::IxHash; + +tie our %options, 'Tie::IxHash', + 'method' => { label =>'Method', + type =>'select', + #options =>[qw(POST GET)], + options =>[qw(POST)], + default =>'POST' }, + 'url' => { label => 'URL', default => 'http://', }, + 'ssl_no_verify' => { label => 'Skip SSL certificate validation', + type => 'checkbox', + }, + 'insert_data' => { + label => 'Insert data', + type => 'textarea', + default => join("\n", + ), + }, + 'delete_data' => { + label => 'Delete data', + type => 'textarea', + default => join("\n", + ), + }, + 'replace_data' => { + label => 'Replace data', + type => 'textarea', + default => join("\n", + ), + }, + 'suspend_data' => { + label => 'Suspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'unsuspend_data' => { + label => 'Unsuspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'success_regexp' => { + label => 'Success Regexp', + default => '', + }, +; + +%info = ( + 'svc' => 'svc_external', + 'desc' => 'Send an HTTP or HTTPS GET or POST request, for FTTx services.', + 'options' => \%options, + 'no_machine' => 1, + 'notes' => <<'END' +Send an HTTP or HTTPS GET or POST to the specified URL on account addition, +modification and deletion. +

Each "Data" option takes a list of name value pairs on successive +lines. +

+If "Success Regexp" is specified, the response from the server will be +tested against it to determine if the export succeeded.

+END +); + +1; + diff --git a/FS/FS/part_export/hardware_http.pm b/FS/FS/part_export/hardware_http.pm new file mode 100644 index 000000000..2d353e215 --- /dev/null +++ b/FS/FS/part_export/hardware_http.pm @@ -0,0 +1,73 @@ +package FS::part_export::hardware_http; +use base qw( FS::part_export::http ); + +use Tie::IxHash; + +tie our %options, 'Tie::IxHash', + 'method' => { label =>'Method', + type =>'select', + #options =>[qw(POST GET)], + options =>[qw(POST)], + default =>'POST' }, + 'url' => { label => 'URL', default => 'http://', }, + 'ssl_no_verify' => { label => 'Skip SSL certificate validation', + type => 'checkbox', + }, + 'insert_data' => { + label => 'Insert data', + type => 'textarea', + default => join("\n", + ), + }, + 'delete_data' => { + label => 'Delete data', + type => 'textarea', + default => join("\n", + ), + }, + 'replace_data' => { + label => 'Replace data', + type => 'textarea', + default => join("\n", + ), + }, + 'suspend_data' => { + label => 'Suspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'unsuspend_data' => { + label => 'Unsuspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'success_regexp' => { + label => 'Success Regexp', + default => '', + }, +; + +%info = ( + 'svc' => 'svc_hardware', + 'desc' => 'Send an HTTP or HTTPS GET or POST request, for hardware services.', + 'options' => \%options, + 'no_machine' => 1, + 'notes' => <<'END' +Send an HTTP or HTTPS GET or POST to the specified URL on account addition, +modification and deletion. +

Each "Data" option takes a list of name value pairs on successive +lines. +

+If "Success Regexp" is specified, the response from the server will be +tested against it to determine if the export succeeded.

+END +); + +1; + diff --git a/FS/FS/part_export/phone_http.pm b/FS/FS/part_export/phone_http.pm new file mode 100644 index 000000000..5df589a9a --- /dev/null +++ b/FS/FS/part_export/phone_http.pm @@ -0,0 +1,73 @@ +package FS::part_export::phone_http; +use base qw( FS::part_export::http ); + +use Tie::IxHash; + +tie our %options, 'Tie::IxHash', + 'method' => { label =>'Method', + type =>'select', + #options =>[qw(POST GET)], + options =>[qw(POST)], + default =>'POST' }, + 'url' => { label => 'URL', default => 'http://', }, + 'ssl_no_verify' => { label => 'Skip SSL certificate validation', + type => 'checkbox', + }, + 'insert_data' => { + label => 'Insert data', + type => 'textarea', + default => join("\n", + ), + }, + 'delete_data' => { + label => 'Delete data', + type => 'textarea', + default => join("\n", + ), + }, + 'replace_data' => { + label => 'Replace data', + type => 'textarea', + default => join("\n", + ), + }, + 'suspend_data' => { + label => 'Suspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'unsuspend_data' => { + label => 'Unsuspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'success_regexp' => { + label => 'Success Regexp', + default => '', + }, +; + +%info = ( + 'svc' => 'svc_phone', + 'desc' => 'Send an HTTP or HTTPS GET or POST request, for phone number services.', + 'options' => \%options, + 'no_machine' => 1, + 'notes' => <<'END' +Send an HTTP or HTTPS GET or POST to the specified URL on account addition, +modification and deletion. +

Each "Data" option takes a list of name value pairs on successive +lines. +

+If "Success Regexp" is specified, the response from the server will be +tested against it to determine if the export succeeded.

+END +); + +1; + -- 2.11.0