From afda10c9964c6282f77478691ba8b31a25568dd4 Mon Sep 17 00:00:00 2001 From: tsuf239 <39455181+tsuf239@users.noreply.github.com> Date: Tue, 12 Sep 2023 19:35:08 +0300 Subject: [PATCH] fixing table methods --- libs/wingsdk/src/shared-aws/table.inflight.ts | 5 ++++- libs/wingsdk/src/target-tf-aws/table.ts | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libs/wingsdk/src/shared-aws/table.inflight.ts b/libs/wingsdk/src/shared-aws/table.inflight.ts index e1a2798f79b..18c55c23a7e 100644 --- a/libs/wingsdk/src/shared-aws/table.inflight.ts +++ b/libs/wingsdk/src/shared-aws/table.inflight.ts @@ -27,7 +27,10 @@ export class TableClient implements ITableClient { const command = new PutItemCommand({ TableName: this.tableName, Item: marshall(insertRow), - ConditionExpression: `attribute_not_exists(${this.primaryKey})`, + ConditionExpression: `attribute_not_exists(#primary_key)`, + ExpressionAttributeNames: { + "#primary_key": this.primaryKey, + }, }); await this.client.send(command); } catch (e) { diff --git a/libs/wingsdk/src/target-tf-aws/table.ts b/libs/wingsdk/src/target-tf-aws/table.ts index 987a0d4f76d..ba37fb13e8f 100644 --- a/libs/wingsdk/src/target-tf-aws/table.ts +++ b/libs/wingsdk/src/target-tf-aws/table.ts @@ -56,7 +56,10 @@ export class Table extends ex.Table { throw new Error("tables can only be bound by tfaws.Function for now"); } - if (ops.includes(ex.TableInflightMethods.INSERT)) { + if ( + ops.includes(ex.TableInflightMethods.INSERT) || + ops.includes(ex.TableInflightMethods.UPSERT) + ) { host.addPolicyStatements([ { actions: ["dynamodb:PutItem"],