Skip to content

Releases: sensedeep/dynamodb-onetable

v1.1.0

04 Apr 01:54
Compare
Choose a tag to compare

Minor Milestone Release

Features

  • Add one-to-many attribute mapping
  • Support various binary types: Buffer, ArrayBuffer, DataView
  • Add params.transform for custom data format transformations
  • Add schema.index.follow to set a GSI into a global follow mode
  • Updated doc

One to Many attribute mapping

The schema field map property can be used to set an alternate or shorter attribute name when storing in the database. Previously, this map value was a simple string which defined the real attribute name.

This release allows the map value to be a two part pair of the form: 'obj.name'. Using this form the item property will be stored in an object attribute named "obj" with the given name. This allows multiple item properties to be aggregated together into a single attribute for storage in the DynamoDB table.

This is most useful for GSIs which project keys and a single data field to minimize the storage footprint of the index. Using one-to-many attribute mappings, multiple models (entities) can project different attributes into a single GSI data attribute. When coupled with sparse indexes, this makes using GSIs much more flexible and cost effective to implement your query access patterns.

Fixes

See

v1.0.0

22 Mar 02:47
Compare
Choose a tag to compare

Major Milestone Release

Features

  • Schema supported one-table access to DynamoDB APIs.
  • Efficient storage and access of multiple entities in a single DynamoDB table.
  • High level API with type marshaling, validations, and extended query capability for get/delete/update operations.
  • Bidirectional conversion of DynamoDB types to Javascript types.
  • Option to invoke DynamoDB or simply generate API parameters.
  • Generation of Conditional, Filter, Key and Update expressions.
  • Schema item definitions for attribute types, default values, enums and validations.
  • Powerful field level validations with required and transactional unique attributes.
  • Easy parameterization of filter and conditional queries.
  • Multi-page response aggregation.
  • Compound and templated key management.
  • Encrypted fields.
  • Support for Batch, Transactions, GSI, LSI indexes.
  • Intercept hooks to modify DynamoDB requests and responses.
  • Controllable logging to see exact parameter, data and responses.
  • Simple, easy to read source to modify (< 1000 lines).
  • Safety options to prevent "rm -fr *".
  • Integrated metrics.
  • No module dependencies.
  • Support for the AWS SDK v3 and v2

Fixes

  • None

See

v0.7.2

22 Mar 02:28
Compare
Choose a tag to compare

Minor Patch Release

Features

  • None

Fixes

  • Fix validating key / filter operators

See

v0.7.0

19 Feb 01:16
Compare
Choose a tag to compare

Major Feature Release

This release brings support for the AWS SDK v3.

Features

  • Support AWS SDK v3
  • Add parse:true option to queryItems to read item collections
  • Add Table.groupByType utility

Fixes

  • Fix validating KeyConditionExpression and FilterExpression operators
  • Fix find/query with {begins: 'value} and {operator: 'value'} queries
  • Fix some issues with batch* operations
  • Fix unique field support when PK/SK were not named pk/sk
  • Documentation fixes

See

v0.6.11

15 Feb 08:10
Compare
Choose a tag to compare

Minor Patch Release

Features

  • None

Fixes

  • Fix hybrid build distribution for CommonJS and ESM
  • Update Doc with note about AWS v3

See

v0.6.10

15 Feb 08:09
Compare
Choose a tag to compare

Minor Patch Release

Features

  • None

Fixes

  • Documentation corrections

See

v0.6.9

10 Feb 21:51
Compare
Choose a tag to compare

Minor Patch Release

Features

  • None

Fixes

  • Setting UUID value for fields that require dynamic UUID (uuid: true in schema)
  • Fix find/scan filters for falsy non-null values
  • Documentation corrections

See

v0.6.8

06 Feb 02:12
Compare
Choose a tag to compare

Minor Patch Release

Features

  • Package as commonjs or ES modules using package.json exports
  • Add Table.scanModules API

Fixes

  • none

See

v0.6.7

04 Feb 00:10
Compare
Choose a tag to compare

Minor Patch Release

Features

  • Add params.exists for create/update/remove to control checking for attribute existence
  • Add Table.getSchema()

Fixes

  • Return default values if unset in get/find
  • Make ES module friendly

See

v0.6.6

18 Jan 05:59
Compare
Choose a tag to compare

Minor Patch Release

Features

  • Add params.context to override Table.context.
  • Add params.updateIndexes to force index attributes to be updated.

Fixes

  • Revert trace to default levels from 'info'

See