dynamo integration
This commit is contained in:
parent
6f57c1d22d
commit
4442240e68
|
@ -50,7 +50,7 @@
|
|||
|
||||
<Spacer medium />
|
||||
|
||||
{#if query}
|
||||
{#if query?.parameters.length > 0}
|
||||
<ParameterBuilder
|
||||
bind:customParams={parameters.queryParams}
|
||||
parameters={query.parameters}
|
||||
|
|
|
@ -18,25 +18,56 @@ const SCHEMA = {
|
|||
},
|
||||
},
|
||||
query: {
|
||||
create: {
|
||||
DynamoConfig: {
|
||||
type: QUERY_TYPES.FIELDS,
|
||||
fields: {
|
||||
table: {
|
||||
type: FIELD_TYPES.STRING,
|
||||
required: true,
|
||||
},
|
||||
customisable: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
read: {
|
||||
DynamoConfig: {
|
||||
type: QUERY_TYPES.FIELDS,
|
||||
fields: {
|
||||
Table: {
|
||||
table: {
|
||||
type: FIELD_TYPES.STRING,
|
||||
required: true,
|
||||
},
|
||||
Index: {
|
||||
index: {
|
||||
type: FIELD_TYPES.STRING,
|
||||
},
|
||||
KeyConditionExpression: {
|
||||
customisable: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
update: {
|
||||
DynamoConfig: {
|
||||
type: QUERY_TYPES.FIELDS,
|
||||
fields: {
|
||||
table: {
|
||||
type: FIELD_TYPES.STRING,
|
||||
required: true,
|
||||
},
|
||||
ExpressionAttributeNames: {
|
||||
customisable: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
delete: {
|
||||
"Dynamo Partition Key": {
|
||||
type: QUERY_TYPES.FIELDS,
|
||||
fields: {
|
||||
table: {
|
||||
type: FIELD_TYPES.STRING,
|
||||
required: true,
|
||||
},
|
||||
ExpressionAttributeValues: {
|
||||
key: {
|
||||
type: FIELD_TYPES.STRING,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -55,12 +86,36 @@ class DynamoDBIntegration {
|
|||
AWS.config.update(this.config)
|
||||
}
|
||||
|
||||
async create(query) {
|
||||
const response = await this.client.query({
|
||||
TableName: query.table,
|
||||
Item: query.json,
|
||||
})
|
||||
return response
|
||||
}
|
||||
|
||||
async read(query) {
|
||||
const response = await this.client.query({
|
||||
TableName: query.Table,
|
||||
KeyConditionExpression: query.KeyConditionExpression,
|
||||
ExpressionAttributeNames: query.ExpressionAttributeNames,
|
||||
ExpressionAttributeValues: query.ExpressionAttributeValues,
|
||||
...query.json,
|
||||
})
|
||||
return response
|
||||
}
|
||||
|
||||
async update(query) {
|
||||
const response = await this.client.query({
|
||||
TableName: query.Table,
|
||||
...query.json,
|
||||
})
|
||||
return response
|
||||
}
|
||||
|
||||
async delete(query) {
|
||||
const response = await this.client.query({
|
||||
TableName: query.Table,
|
||||
Key: {
|
||||
id: query.key,
|
||||
},
|
||||
})
|
||||
return response
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue