shiftcode / dynamo-easy

DynamoDB client for NodeJS and browser with a fluent api to build requests. We take care of the type mapping between JS and DynamoDB, customizable trough typescript decorators.
https://shiftcode.github.io/dynamo-easy/
MIT License
204 stars 27 forks source link

GET request providing only partitionKey on a table with a defined sortKey results in error #402

Open bwermes opened 1 year ago

bwermes commented 1 year ago

Describe the bug When performing a GET request providing only the partitionKey against a table that also contains a sortKey results in an error: please provide the sort key for the attribute name

My table contains

To Reproduce Steps to reproduce the behavior:

  1. Create a table with a PartitionKey and a SortKey: `@Model({tableName: 'Sample'}) export class className{ @PartitionKey() pk: string

    @SortKey() sk: string

    name: string;

    public constructor(init?: Partial) { Object.assign(this, init); } }`

  2. Perform a GET request against that table: const sample = await new DynamoStore(Sample).get('myPartitionKey');
  3. Observe the error

Expected behavior The GET method provides for the SortKey as optional. Other Dynamo libraries allow you to query a single record by PartitionKey only, returning the first record if multiple exist.