Passed
Pull Request — master (#13)
by eval
01:32
created

dynamodb.*DynamoDB.XExistTable   A

Complexity

Conditions 4

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 9
nop 2
dl 0
loc 14
rs 9.95
c 0
b 0
f 0
1
package dynamodb
2
3
import (
4
	"context"
5
6
	"github.com/evalphobia/aws-sdk-go-v2-wrapper/errors"
7
)
8
9
// XDeleteTableFromName deletes a table of `name`.
10
func (svc *DynamoDB) XDeleteTableFromName(ctx context.Context, name string) error {
11
	_, err := svc.DeleteTable(ctx, DeleteTableRequest{
12
		TableName: name,
13
	})
14
	return err
15
}
16
17
// XExistTable checks if the table already exists or not.
18
func (svc *DynamoDB) XExistTable(ctx context.Context, name string) (bool, error) {
19
	_, err := svc.DescribeTable(ctx, DescribeTableRequest{
20
		TableName: name,
21
	})
22
	if err == nil {
23
		return true, nil
24
	}
25
26
	if e, ok := err.(errors.ErrorData); ok {
27
		if e.GetAWSErrCode() == "ResourceNotFoundException" {
28
			return false, nil
29
		}
30
	}
31
	return false, err
32
}
33