Module

Yoga.DynamoDB.DynamoDB

Package
purescript-yoga-dynamodb
Repository
rowtype-yoga/purescript-yoga-dynamodb

#DynamoDB Source

#DynamoDBItem Source

#Region Source

newtype Region

Constructors

Instances

#Endpoint Source

#AttributeValue Source

#Limit Source

newtype Limit

Constructors

Instances

#ExpressionAttributeValues Source

#ExpressionAttributeNames Source

#attrValue Source

#DynamoDBConfigImpl Source

type DynamoDBConfigImpl :: Row Typetype DynamoDBConfigImpl = (credentials :: { accessKeyId :: AccessKeyId, secretAccessKey :: SecretAccessKey, sessionToken :: SessionToken }, endpoint :: Endpoint, maxAttempts :: Int, region :: Region, requestTimeout :: Int)

#createDynamoDBImpl Source

#createDynamoDB Source

createDynamoDB :: forall opts opts_. Union opts opts_ DynamoDBConfigImpl => Record opts -> Effect DynamoDB

#PutItemOptionsImpl Source

type PutItemOptionsImpl :: Row Typetype PutItemOptionsImpl = (conditionExpression :: ConditionExpression, expressionAttributeNames :: ExpressionAttributeNames, expressionAttributeValues :: ExpressionAttributeValues, returnValues :: String)

#PutItemResult Source

type PutItemResult = { attributes :: Maybe DynamoDBItem }

#putItemImpl Source

putItemImpl :: forall opts. EffectFn2 DynamoDB { item :: DynamoDBItem, tableName :: TableName | opts } (Promise { attributes :: Nullable DynamoDBItem })

#putItemWithOptions Source

#GetItemOptionsImpl Source

type GetItemOptionsImpl :: Row Typetype GetItemOptionsImpl = (consistentRead :: Boolean, expressionAttributeNames :: ExpressionAttributeNames, projectionExpression :: ProjectionExpression)

#getItemImpl Source

getItemImpl :: forall opts. EffectFn2 DynamoDB { key :: DynamoDBItem, tableName :: TableName | opts } (Promise { item :: Nullable DynamoDBItem })

#getItemWithOptions Source

getItemWithOptions :: forall opts opts_. Union opts opts_ GetItemOptionsImpl => TableName -> DynamoDBItem -> Record opts -> DynamoDB -> Aff (Maybe DynamoDBItem)

#UpdateItemOptionsImpl Source

type UpdateItemOptionsImpl :: Row Typetype UpdateItemOptionsImpl = (conditionExpression :: ConditionExpression, expressionAttributeNames :: ExpressionAttributeNames, expressionAttributeValues :: ExpressionAttributeValues, returnValues :: String)

#UpdateItemResult Source

type UpdateItemResult = { attributes :: Maybe DynamoDBItem }

#updateItemImpl Source

updateItemImpl :: forall opts. EffectFn2 DynamoDB { key :: DynamoDBItem, tableName :: TableName, updateExpression :: UpdateExpression | opts } (Promise { attributes :: Nullable DynamoDBItem })

#updateItemWithOptions Source

#DeleteItemOptionsImpl Source

type DeleteItemOptionsImpl :: Row Typetype DeleteItemOptionsImpl = (conditionExpression :: ConditionExpression, expressionAttributeNames :: ExpressionAttributeNames, expressionAttributeValues :: ExpressionAttributeValues, returnValues :: String)

#DeleteItemResult Source

type DeleteItemResult = { attributes :: Maybe DynamoDBItem }

#deleteItemImpl Source

deleteItemImpl :: forall opts. EffectFn2 DynamoDB { key :: DynamoDBItem, tableName :: TableName | opts } (Promise { attributes :: Nullable DynamoDBItem })

#deleteItemWithOptions Source

#QueryOptionsImpl Source

type QueryOptionsImpl :: Row Typetype QueryOptionsImpl = (consistentRead :: Boolean, exclusiveStartKey :: DynamoDBItem, expressionAttributeNames :: ExpressionAttributeNames, expressionAttributeValues :: ExpressionAttributeValues, filterExpression :: FilterExpression, indexName :: IndexName, limit :: Limit, projectionExpression :: ProjectionExpression, scanIndexForward :: Boolean)

#QueryResult Source

type QueryResult = { count :: Int, items :: Array DynamoDBItem, lastEvaluatedKey :: Maybe DynamoDBItem, scannedCount :: Int }

#queryImpl Source

queryImpl :: forall opts. EffectFn2 DynamoDB { keyConditionExpression :: KeyConditionExpression, tableName :: TableName | opts } (Promise { count :: Int, items :: Array DynamoDBItem, lastEvaluatedKey :: Nullable DynamoDBItem, scannedCount :: Int })

#queryWithOptions Source

#ScanOptionsImpl Source

type ScanOptionsImpl :: Row Typetype ScanOptionsImpl = (consistentRead :: Boolean, exclusiveStartKey :: DynamoDBItem, expressionAttributeNames :: ExpressionAttributeNames, expressionAttributeValues :: ExpressionAttributeValues, filterExpression :: FilterExpression, indexName :: IndexName, limit :: Limit, projectionExpression :: ProjectionExpression)

#ScanResult Source

type ScanResult = { count :: Int, items :: Array DynamoDBItem, lastEvaluatedKey :: Maybe DynamoDBItem, scannedCount :: Int }

#scanImpl Source

scanImpl :: forall opts. EffectFn2 DynamoDB { tableName :: TableName | opts } (Promise { count :: Int, items :: Array DynamoDBItem, lastEvaluatedKey :: Nullable DynamoDBItem, scannedCount :: Int })

#scanWithOptions Source

scanWithOptions :: forall opts opts_. Union opts opts_ ScanOptionsImpl => TableName -> Record opts -> DynamoDB -> Aff ScanResult

#BatchGetRequestItems Source

type BatchGetRequestItems = Object { keys :: Array DynamoDBItem, projectionExpression :: Maybe ProjectionExpression }

#BatchGetResult Source

type BatchGetResult = { responses :: BatchGetResponses, unprocessedKeys :: Object (Array DynamoDBItem) }

#batchGetItemImpl Source

batchGetItemImpl :: EffectFn2 DynamoDB Foreign (Promise { responses :: Foreign, unprocessedKeys :: Foreign })

#PutRequest Source

type PutRequest = { item :: DynamoDBItem }

#DeleteRequest Source

type DeleteRequest = { key :: DynamoDBItem }

#WriteRequest Source

type WriteRequest = { deleteRequest :: Maybe DeleteRequest, putRequest :: Maybe PutRequest }

#BatchWriteResult Source

type BatchWriteResult = { unprocessedItems :: Object (Array WriteRequest) }

#batchWriteItemImpl Source

#TransactGetItem Source

type TransactGetItem = { key :: DynamoDBItem, tableName :: TableName }

#TransactPutItem Source

type TransactPutItem = { conditionExpression :: Maybe ConditionExpression, item :: DynamoDBItem, tableName :: TableName }

#TransactUpdateItem Source

type TransactUpdateItem = { key :: DynamoDBItem, tableName :: TableName, updateExpression :: UpdateExpression }

#TransactDeleteItem Source

type TransactDeleteItem = { conditionExpression :: Maybe ConditionExpression, key :: DynamoDBItem, tableName :: TableName }

#TransactGetResult Source

type TransactGetResult = { responses :: Array { item :: Maybe DynamoDBItem } }

#transactGetItemsImpl Source

#AttributeDefinition Source

type AttributeDefinition = { attributeName :: String, attributeType :: String }

#KeySchemaElement Source

type KeySchemaElement = { attributeName :: String, keyType :: String }

#ProvisionedThroughput Source

type ProvisionedThroughput = { readCapacityUnits :: Int, writeCapacityUnits :: Int }

#GlobalSecondaryIndex Source

type GlobalSecondaryIndex = { indexName :: IndexName, keySchema :: Array KeySchemaElement, projection :: { projectionType :: String }, provisionedThroughput :: Maybe ProvisionedThroughput }

#LocalSecondaryIndex Source

type LocalSecondaryIndex = { indexName :: IndexName, keySchema :: Array KeySchemaElement, projection :: { projectionType :: String } }

#StreamSpecification Source

type StreamSpecification = { streamEnabled :: Boolean, streamViewType :: String }

#Tag Source

type Tag = { key :: String, value :: String }

#CreateTableOptionsImpl Source

type CreateTableOptionsImpl :: Row Typetype CreateTableOptionsImpl = (billingMode :: String, globalSecondaryIndexes :: Array GlobalSecondaryIndex, localSecondaryIndexes :: Array LocalSecondaryIndex, provisionedThroughput :: ProvisionedThroughput, streamSpecification :: StreamSpecification, tags :: Array Tag)

#createTableImpl Source

createTableImpl :: forall opts. EffectFn2 DynamoDB { attributeDefinitions :: Array AttributeDefinition, keySchema :: Array KeySchemaElement, tableName :: TableName | opts } (Promise Foreign)

#createTable Source

createTable :: forall opts opts_. Union opts opts_ CreateTableOptionsImpl => { attributeDefinitions :: Array AttributeDefinition, keySchema :: Array KeySchemaElement, tableName :: TableName | opts } -> DynamoDB -> Aff Foreign

#ListTablesResult Source

type ListTablesResult = { lastEvaluatedTableName :: Maybe TableName, tableNames :: Array TableName }

#listTablesImpl Source

listTablesImpl :: EffectFn2 DynamoDB (Nullable Int) (Promise { lastEvaluatedTableName :: Nullable TableName, tableNames :: Array TableName })