summaryrefslogtreecommitdiffstats
path: root/extensions/PhabBugz/lib/Types.pm
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/PhabBugz/lib/Types.pm')
-rw-r--r--extensions/PhabBugz/lib/Types.pm28
1 files changed, 28 insertions, 0 deletions
diff --git a/extensions/PhabBugz/lib/Types.pm b/extensions/PhabBugz/lib/Types.pm
new file mode 100644
index 000000000..493e97fbc
--- /dev/null
+++ b/extensions/PhabBugz/lib/Types.pm
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+package Bugzilla::Extension::PhabBugz::Types;
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use Type::Library
+ -base,
+ -declare => qw( Revision LinkedPhabUser PhabUser Policy Project );
+use Type::Utils -all;
+use Types::Standard -all;
+
+class_type Revision, { class => 'Bugzilla::Extension::PhabBugz::Revision' };
+class_type Policy, { class => 'Bugzilla::Extension::PhabBugz::Policy' };
+class_type Project, { class => 'Bugzilla::Extension::PhabBugz::Project' };
+class_type PhabUser, { class => 'Bugzilla::Extension::PhabBugz::User' };
+declare LinkedPhabUser,
+ as PhabUser,
+ where { is_Int($_->bugzilla_id) };
+
+1;