aboutsummaryrefslogtreecommitdiffhomepage
path: root/Functions/FirebaseFunctions/Public/FIRError.h
diff options
context:
space:
mode:
authorGravatar Paul Beusterien <paulbeusterien@google.com>2018-03-20 11:59:03 -0700
committerGravatar GitHub <noreply@github.com>2018-03-20 11:59:03 -0700
commitb7f35a0b76bb2afd682b806d2b25568611612557 (patch)
treedeb4577d3e54c3fafa2a065605faef228a186c1b /Functions/FirebaseFunctions/Public/FIRError.h
parent7e65885762757209e0e14ec28e99ec91380e9c2f (diff)
Initial Firebase Functions (#948)
Diffstat (limited to 'Functions/FirebaseFunctions/Public/FIRError.h')
-rw-r--r--Functions/FirebaseFunctions/Public/FIRError.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/Functions/FirebaseFunctions/Public/FIRError.h b/Functions/FirebaseFunctions/Public/FIRError.h
new file mode 100644
index 0000000..a275633
--- /dev/null
+++ b/Functions/FirebaseFunctions/Public/FIRError.h
@@ -0,0 +1,90 @@
+// Copyright 2017 Google
+//
+// Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+// The error domain for codes in the FIRFunctionsErrorCode enum.
+FOUNDATION_EXPORT NSString *const FIRFunctionsErrorDomain NS_SWIFT_NAME(FunctionsErrorDomain);
+
+// The key for finding error details in the NSError userInfo.
+FOUNDATION_EXPORT NSString *const FIRFunctionsErrorDetailsKey NS_SWIFT_NAME(FunctionsErrorDetailsKey);
+
+/**
+ * The set of error status codes that can be returned from a Callable HTTPS tigger. These are the
+ * canonical error codes for Google APIs, as documented here:
+ * https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto#L26
+ */
+typedef NS_ENUM(NSInteger, FIRFunctionsErrorCode) {
+ /** The operation completed successfully. */
+ FIRFunctionsErrorCodeOK = 0,
+ /** The operation was cancelled (typically by the caller). */
+ FIRFunctionsErrorCodeCancelled = 1,
+ /** Unknown error or an error from a different error domain. */
+ FIRFunctionsErrorCodeUnknown = 2,
+ /**
+ * Client specified an invalid argument. Note that this differs from `FailedPrecondition`.
+ * `InvalidArgument` indicates arguments that are problematic regardless of the state of the
+ * system (e.g., an invalid field name).
+ */
+ FIRFunctionsErrorCodeInvalidArgument = 3,
+ /**
+ * Deadline expired before operation could complete. For operations that change the state of the
+ * system, this error may be returned even if the operation has completed successfully. For
+ * example, a successful response from a server could have been delayed long enough for the
+ * deadline to expire.
+ */
+ FIRFunctionsErrorCodeDeadlineExceeded = 4,
+ /** Some requested document was not found. */
+ FIRFunctionsErrorCodeNotFound = 5,
+ /** Some document that we attempted to create already exists. */
+ FIRFunctionsErrorCodeAlreadyExists = 6,
+ /** The caller does not have permission to execute the specified operation. */
+ FIRFunctionsErrorCodePermissionDenied = 7,
+ /**
+ * Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system
+ * is out of space.
+ */
+ FIRFunctionsErrorCodeResourceExhausted = 8,
+ /**
+ * Operation was rejected because the system is not in a state required for the operation's
+ * execution.
+ */
+ FIRFunctionsErrorCodeFailedPrecondition = 9,
+ /**
+ * The operation was aborted, typically due to a concurrency issue like transaction aborts, etc.
+ */
+ FIRFunctionsErrorCodeAborted = 10,
+ /** Operation was attempted past the valid range. */
+ FIRFunctionsErrorCodeOutOfRange = 11,
+ /** Operation is not implemented or not supported/enabled. */
+ FIRFunctionsErrorCodeUnimplemented = 12,
+ /**
+ * Internal errors. Means some invariant expected by underlying system has been broken. If you
+ * see one of these errors, something is very broken.
+ */
+ FIRFunctionsErrorCodeInternal = 13,
+ /**
+ * The service is currently unavailable. This is a most likely a transient condition and may be
+ * corrected by retrying with a backoff.
+ */
+ FIRFunctionsErrorCodeUnavailable = 14,
+ /** Unrecoverable data loss or corruption. */
+ FIRFunctionsErrorCodeDataLoss = 15,
+ /** The request does not have valid authentication credentials for the operation. */
+ FIRFunctionsErrorCodeUnauthenticated = 16,
+};
+
+NS_ASSUME_NONNULL_END