123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- # -*- Mode: perl; indent-tabs-mode: nil -*-
- #
- # The contents of this file are subject to the Mozilla Public
- # License Version 1.1 (the "License"); you may not use this file
- # except in compliance with the License. You may obtain a copy of
- # the License at http://www.mozilla.org/MPL/
- #
- # Software distributed under the License is distributed on an "AS
- # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- # implied. See the License for the specific language governing
- # rights and limitations under the License.
- #
- # The Original Code is the Bugzilla Bug Tracking System.
- #
- # Contributor(s): Marc Schumann <wurblzap@gmail.com>
- # Max Kanat-Alexander <mkanat@bugzilla.org>
- package Bugzilla::WebService::Constants;
- use strict;
- use base qw(Exporter);
- @Bugzilla::WebService::Constants::EXPORT = qw(
- WS_ERROR_CODE
- ERROR_UNKNOWN_FATAL
- ERROR_UNKNOWN_TRANSIENT
- ERROR_AUTH_NODATA
- ERROR_UNIMPLEMENTED
- );
- # This maps the error names in global/*-error.html.tmpl to numbers.
- # Generally, transient errors should have a number above 0, and
- # fatal errors should have a number below 0.
- #
- # This hash should generally contain any error that could be thrown
- # by the WebService interface. If it's extremely unlikely that the
- # error could be thrown (like some CodeErrors), it doesn't have to
- # be listed here.
- #
- # "Transient" means "If you resubmit that request with different data,
- # it may work."
- #
- # "Fatal" means, "There's something wrong with Bugzilla, probably
- # something an administrator would have to fix."
- #
- # NOTE: Numbers must never be recycled. If you remove a number, leave a
- # comment that it was retired. Also, if an error changes its name, you'll
- # have to fix it here.
- use constant WS_ERROR_CODE => {
- # Generic Bugzilla::Object errors are 50-99.
- object_name_not_specified => 50,
- param_required => 50,
- object_does_not_exist => 51,
- # Error 52 exists only in later releases.
- param_invalid => 53,
- # Bug errors usually occupy the 100-200 range.
- improper_bug_id_field_value => 100,
- bug_id_does_not_exist => 101,
- bug_access_denied => 102,
- bug_access_query => 102,
- # These all mean "invalid alias"
- alias_too_long => 103,
- alias_in_use => 103,
- alias_is_numeric => 103,
- alias_has_comma_or_space => 103,
- # Misc. bug field errors
- illegal_field => 104,
- freetext_too_long => 104,
- # Component errors
- require_component => 105,
- component_name_too_long => 105,
- # Invalid Product
- no_products => 106,
- entry_access_denied => 106,
- product_access_denied => 106,
- product_disabled => 106,
- # Invalid Summary
- require_summary => 107,
- # Invalid field name
- invalid_field_name => 108,
- # Not authorized to edit the bug
- product_edit_denied => 109,
- # Authentication errors are usually 300-400.
- invalid_username_or_password => 300,
- account_disabled => 301,
- auth_invalid_email => 302,
- extern_id_conflict => -303,
- # User errors are 500-600.
- account_exists => 500,
- illegal_email_address => 501,
- account_creation_disabled => 501,
- account_creation_restricted => 501,
- password_too_short => 502,
- password_too_long => 503,
- invalid_username => 504,
- # This is from strict_isolation, but it also basically means
- # "invalid user."
- invalid_user_group => 504,
- };
- # These are the fallback defaults for errors not in ERROR_CODE.
- use constant ERROR_UNKNOWN_FATAL => -32000;
- use constant ERROR_UNKNOWN_TRANSIENT => 32000;
- use constant ERROR_AUTH_NODATA => 410;
- use constant ERROR_UNIMPLEMENTED => 910;
- use constant ERROR_GENERAL => 999;
- 1;
|