-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBreezeLambdaAPIError.swift
More file actions
55 lines (52 loc) · 2.13 KB
/
BreezeLambdaAPIError.swift
File metadata and controls
55 lines (52 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright 2024 (c) Andrea Scuderi - https://github.com/swift-serverless
//
// 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.
#if canImport(FoundationEssentials)
import FoundationEssentials
#else
import Foundation
#endif
/// Enumeration that defines various errors that can occur in the Breeze Lambda API.
enum BreezeLambdaAPIError: Error {
/// Indicates that an item is invalid.
case invalidItem
/// Indicates that the DynamoDB table name is not found in the environment.
case tableNameNotFound
/// Indicates that the key name for the DynamoDB table is not found in the environment.
case keyNameNotFound
/// Indicates that the request made to the API is invalid.
case invalidRequest
/// Indicates that the _HANDLER environment variable is invalid or missing.
case invalidHandler
/// Indicates that the service is invalid, possibly due to misconfiguration or an unsupported operation.
case invalidService
}
/// Extension for BreezeLambdaAPIError to provide localized error descriptions.
extension BreezeLambdaAPIError: LocalizedError {
var errorDescription: String? {
switch self {
case .invalidItem:
return "Invalid Item"
case .tableNameNotFound:
return "Environment DYNAMO_DB_TABLE_NAME is not set"
case .keyNameNotFound:
return "Environment DYNAMO_DB_KEY is not set"
case .invalidRequest:
return "Invalid request"
case .invalidHandler:
return "Environment _HANDLER is invalid or missing"
case .invalidService:
return "Invalid Service"
}
}
}