summaryrefslogtreecommitdiffstats
path: root/extensions/PhabBugz/Extension.pm
diff options
context:
space:
mode:
authorDavid Lawrence <dkl@mozilla.com>2017-12-18 22:39:42 +0100
committerDylan William Hardison <dylan@hardison.net>2017-12-19 06:24:02 +0100
commitc1c8739bb0a2eaf98ddaa2824abf4a048f209216 (patch)
tree0c9fb15c4b45ea9ac07afbce65504f83b843f9d8 /extensions/PhabBugz/Extension.pm
parentbc8533f5e9e211f250b5bc3247797feac0f1303b (diff)
downloadbugzilla-c1c8739bb0a2eaf98ddaa2824abf4a048f209216.tar.gz
bugzilla-c1c8739bb0a2eaf98ddaa2824abf4a048f209216.tar.xz
Bug 1409957 - Create polling daemon to query Phabricator for recent transcations and update bug data according to revision changes
Diffstat (limited to 'extensions/PhabBugz/Extension.pm')
-rw-r--r--extensions/PhabBugz/Extension.pm53
1 files changed, 53 insertions, 0 deletions
diff --git a/extensions/PhabBugz/Extension.pm b/extensions/PhabBugz/Extension.pm
index 68090aa10..b3ad44819 100644
--- a/extensions/PhabBugz/Extension.pm
+++ b/extensions/PhabBugz/Extension.pm
@@ -10,10 +10,20 @@ package Bugzilla::Extension::PhabBugz;
use 5.10.1;
use strict;
use warnings;
+
use parent qw(Bugzilla::Extension);
+use Bugzilla::Constants;
+use Bugzilla::Extension::PhabBugz::Feed;
+use Bugzilla::Extension::PhabBugz::Logger;
+
our $VERSION = '0.01';
+BEGIN {
+ *Bugzilla::User::phab_phid = sub { return $_[0]->{phab_phid}; };
+ *Bugzilla::User::phab_review_status = sub { return $_[0]->{phab_review_status}; };
+}
+
sub config_add_panels {
my ($self, $args) = @_;
my $modules = $args->{panel_modules};
@@ -40,4 +50,47 @@ sub webservice {
$args->{dispatch}->{PhabBugz} = "Bugzilla::Extension::PhabBugz::WebService";
}
+#
+# installation/config hooks
+#
+
+sub db_schema_abstract_schema {
+ my ($self, $args) = @_;
+ $args->{'schema'}->{'phabbugz'} = {
+ FIELDS => [
+ id => {
+ TYPE => 'INTSERIAL',
+ NOTNULL => 1,
+ PRIMARYKEY => 1,
+ },
+ name => {
+ TYPE => 'VARCHAR(255)',
+ NOTNULL => 1,
+ },
+ value => {
+ TYPE => 'MEDIUMTEXT',
+ NOTNULL => 1
+ }
+ ],
+ INDEXES => [
+ phabbugz_idx => {
+ FIELDS => ['name'],
+ TYPE => 'UNIQUE',
+ },
+ ],
+ };
+}
+
+sub install_filesystem {
+ my ($self, $args) = @_;
+ my $files = $args->{'files'};
+
+ my $extensionsdir = bz_locations()->{'extensionsdir'};
+ my $scriptname = $extensionsdir . "/PhabBugz/bin/phabbugzd.pl";
+
+ $files->{$scriptname} = {
+ perms => Bugzilla::Install::Filesystem::WS_EXECUTE
+ };
+}
+
__PACKAGE__->NAME;