@@ -10,61 +10,65 @@ import { dynamoEasyConfig } from '../config/dynamo-easy-config'
10
10
* @hidden
11
11
*/
12
12
export class DynamoDbWrapper {
13
- readonly dynamoDB : DynamoDB
13
+ readonly dynamoDB : DynamoDB . DynamoDB
14
14
15
- constructor ( dynamoDB ?: DynamoDB ) {
15
+ constructor ( dynamoDB ?: DynamoDB . DynamoDB ) {
16
16
// create the actual dynamoDB client
17
- this . dynamoDB = dynamoDB || new DynamoDB . default ( )
17
+ // TODO v3: check if any default configuration should be provided, possibly from dynamoEasyConfig
18
+ this . dynamoDB = dynamoDB || new DynamoDB . DynamoDB ( { } )
18
19
}
19
20
20
21
/*
21
22
* make all the dynamo requests return an promise
22
23
*/
23
24
putItem ( params : DynamoDB . PutItemInput ) : Promise < DynamoDB . PutItemOutput > {
24
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . putItem ( params ) . promise ( ) )
25
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . putItem ( params ) )
25
26
}
26
27
27
28
getItem ( params : DynamoDB . GetItemInput ) : Promise < DynamoDB . GetItemOutput > {
28
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . getItem ( params ) . promise ( ) )
29
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . getItem ( params ) )
29
30
}
30
31
31
32
updateItem ( params : DynamoDB . UpdateItemInput ) : Promise < DynamoDB . UpdateItemOutput > {
32
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . updateItem ( params ) . promise ( ) )
33
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . updateItem ( params ) )
33
34
}
34
35
35
36
deleteItem ( params : DynamoDB . DeleteItemInput ) : Promise < DynamoDB . DeleteItemOutput > {
36
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . deleteItem ( params ) . promise ( ) )
37
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . deleteItem ( params ) )
37
38
}
38
39
39
40
batchWriteItem ( params : DynamoDB . BatchWriteItemInput ) : Promise < DynamoDB . BatchWriteItemOutput > {
40
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . batchWriteItem ( params ) . promise ( ) )
41
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . batchWriteItem ( params ) )
41
42
}
42
43
43
44
batchGetItems ( params : DynamoDB . BatchGetItemInput ) : Promise < DynamoDB . BatchGetItemOutput > {
44
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . batchGetItem ( params ) . promise ( ) )
45
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . batchGetItem ( params ) )
45
46
}
46
47
47
48
transactWriteItems ( params : DynamoDB . TransactWriteItemsInput ) : Promise < DynamoDB . TransactWriteItemsOutput > {
48
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . transactWriteItems ( params ) . promise ( ) )
49
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . transactWriteItems ( params ) )
49
50
}
50
51
51
52
transactGetItems ( params : DynamoDB . TransactGetItemsInput ) : Promise < DynamoDB . TransactGetItemsOutput > {
52
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . transactGetItems ( params ) . promise ( ) )
53
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . transactGetItems ( params ) )
53
54
}
54
55
55
56
scan ( params : DynamoDB . ScanInput ) : Promise < DynamoDB . ScanOutput > {
56
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . scan ( params ) . promise ( ) )
57
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . scan ( params ) )
57
58
}
58
59
59
60
query ( params : DynamoDB . QueryInput ) : Promise < DynamoDB . QueryOutput > {
60
61
if ( ! params . KeyConditionExpression ) {
61
62
throw new Error ( 'key condition expression must be defined' )
62
63
}
63
64
64
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . query ( params ) . promise ( ) )
65
+ return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . query ( params ) )
65
66
}
66
67
67
- makeRequest ( operation : string , params ?: Record < string , any > ) : Promise < any > {
68
- return dynamoEasyConfig . sessionValidityEnsurer ( ) . then ( ( ) => this . dynamoDB . makeRequest ( operation , params ) . promise ( ) )
69
- }
68
+ /*
69
+ * TODO v3: check for replacement. DynamoDB.executeStatement is now used to execute statements using PartiQL
70
+ */
71
+ // makeRequest(operation: string, params?: Record<string, any>): Promise<any> {
72
+ // return dynamoEasyConfig.sessionValidityEnsurer().then(() => this.dynamoDB.executeStatement(operation as any, params))
73
+ // }
70
74
}
0 commit comments