package ddb

import (
	"github.com/aws/aws-sdk-go-v2/service/dynamodb"
)

type DynamoDBClient struct {
	*dynamodb.Client

	ApiKeyTableName        string
	PrivilegeRoleTableName string
	RolePrivilegeGSIName   string

	// DisableWrite is used to disable write operations to DynamoDB.
	DisableWrite bool
}

func NewDynamoDBClient(ddb *dynamodb.Client, apiKeyTableName, privilegeRoleTableName, rolePrivilegeGSIName string, disableWrite bool) *DynamoDBClient {
	return &DynamoDBClient{
		Client:                 ddb,
		ApiKeyTableName:        apiKeyTableName,
		PrivilegeRoleTableName: privilegeRoleTableName,
		RolePrivilegeGSIName:   rolePrivilegeGSIName,
		DisableWrite:           disableWrite,
	}
}
