@@ -17,18 +17,18 @@ import AWSLambdaRuntime
17
17
import BreezeDynamoDBService
18
18
import Logging
19
19
20
- struct BreezeLambdaHandler < T: BreezeCodable > {
20
+ struct BreezeLambdaHandler < T: BreezeCodable > : LambdaHandler , Sendable {
21
21
typealias Event = APIGatewayV2Request
22
22
typealias Output = APIGatewayV2Response
23
23
24
- let service : BreezeDynamoDBManaging
24
+ let dbManager : BreezeDynamoDBManaging
25
25
let operation : BreezeOperation
26
26
27
27
var keyName : String {
28
- self . service . keyName
28
+ self . dbManager . keyName
29
29
}
30
-
31
- func handle( context : AWSLambdaRuntimeCore . LambdaContext , event : APIGatewayV2Request ) async -> APIGatewayV2Response {
30
+
31
+ public func handle( _ event : APIGatewayV2Request , context : LambdaContext ) async throws -> APIGatewayV2Response {
32
32
switch self . operation {
33
33
case . create:
34
34
return await self . createLambdaHandler ( context: context, event: event)
@@ -49,7 +49,7 @@ struct BreezeLambdaHandler<T: BreezeCodable> {
49
49
return APIGatewayV2Response ( with: error, statusCode: . forbidden)
50
50
}
51
51
do {
52
- let result : T = try await service . createItem ( item: item)
52
+ let result : T = try await dbManager . createItem ( item: item)
53
53
return APIGatewayV2Response ( with: result, statusCode: . created)
54
54
} catch {
55
55
return APIGatewayV2Response ( with: error, statusCode: . forbidden)
@@ -62,7 +62,7 @@ struct BreezeLambdaHandler<T: BreezeCodable> {
62
62
return APIGatewayV2Response ( with: error, statusCode: . forbidden)
63
63
}
64
64
do {
65
- let result : T = try await service . readItem ( key: key)
65
+ let result : T = try await dbManager . readItem ( key: key)
66
66
return APIGatewayV2Response ( with: result, statusCode: . ok)
67
67
} catch {
68
68
return APIGatewayV2Response ( with: error, statusCode: . notFound)
@@ -75,7 +75,7 @@ struct BreezeLambdaHandler<T: BreezeCodable> {
75
75
return APIGatewayV2Response ( with: error, statusCode: . forbidden)
76
76
}
77
77
do {
78
- let result : T = try await service . updateItem ( item: item)
78
+ let result : T = try await dbManager . updateItem ( item: item)
79
79
return APIGatewayV2Response ( with: result, statusCode: . ok)
80
80
} catch {
81
81
return APIGatewayV2Response ( with: error, statusCode: . notFound)
@@ -97,7 +97,7 @@ struct BreezeLambdaHandler<T: BreezeCodable> {
97
97
}
98
98
do {
99
99
let simpleItem = SimpleItem ( key: key, createdAt: createdAt, updatedAt: updatedAt)
100
- try await self . service . deleteItem ( item: simpleItem)
100
+ try await self . dbManager . deleteItem ( item: simpleItem)
101
101
return APIGatewayV2Response ( with: BreezeEmptyResponse ( ) , statusCode: . ok)
102
102
} catch {
103
103
return APIGatewayV2Response ( with: error, statusCode: . notFound)
@@ -108,7 +108,7 @@ struct BreezeLambdaHandler<T: BreezeCodable> {
108
108
do {
109
109
let key = event. queryStringParameters ? [ " exclusiveStartKey " ]
110
110
let limit : Int ? = event. queryStringParameter ( " limit " )
111
- let result : ListResponse < T > = try await service . listItems ( key: key, limit: limit)
111
+ let result : ListResponse < T > = try await dbManager . listItems ( key: key, limit: limit)
112
112
return APIGatewayV2Response ( with: result, statusCode: . ok)
113
113
} catch {
114
114
return APIGatewayV2Response ( with: error, statusCode: . forbidden)
0 commit comments