Skip to content

Maintenance: expose record status & expiry config + make DynamoDB deps optional #1678

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
1 of 2 tasks
dreamorosi opened this issue Sep 13, 2023 · 2 comments · Fixed by #1679
Closed
1 of 2 tasks

Maintenance: expose record status & expiry config + make DynamoDB deps optional #1678

dreamorosi opened this issue Sep 13, 2023 · 2 comments · Fixed by #1679
Assignees
Labels
completed This item is complete and has been merged/shipped idempotency This item relates to the Idempotency Utility internal PRs that introduce changes in governance, tech debt and chores (linting setup, baseline, etc.)

Comments

@dreamorosi
Copy link
Contributor

Summary

While working on #1484 I realized that in order to make it easy to create your own Idempotency provider there are a few items that need to be tweaked:

  • Some persistence layers require a default ttl setting when instantiating a client, this info is already available in the BasePersistenceLayer class that is extended when creating your own provider, but it's not exposed to children
  • The IdempotencyRecordStatus is an object that maps constants to values (aka similar to an Enum). Currently this is part of the types folder & exports, which is confusing and also wrong, since it's not a type.
  • When not using the DynamoDBPersistenceLayer there's no reason why customers should install the @aws-sdk/lib-dynamodb module

This issue serves to track the work to change these items.

Why is this needed?

So that customers creating their own persistence layer for Idempotency or extending the default one can have a better DX.

Which area does this relate to?

Idempotency

Solution

No response

Acknowledgment

Future readers

Please react with 👍 and your use case to help us understand customer demand.

@dreamorosi dreamorosi added internal PRs that introduce changes in governance, tech debt and chores (linting setup, baseline, etc.) idempotency This item relates to the Idempotency Utility confirmed The scope is clear, ready for implementation labels Sep 13, 2023
@dreamorosi dreamorosi added this to the Idempotency - GA Release milestone Sep 13, 2023
@dreamorosi dreamorosi self-assigned this Sep 13, 2023
@dreamorosi dreamorosi changed the title Maintenance: expose record status & expiry config + make Maintenance: expose record status & expiry config + make DynamoDB deps optional Sep 13, 2023
@github-project-automation github-project-automation bot moved this from Working on it to Coming soon in Powertools for AWS Lambda (TypeScript) Sep 14, 2023
@github-actions
Copy link
Contributor

⚠️ COMMENT VISIBILITY WARNING ⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

@github-actions github-actions bot added pending-release This item has been merged and will be released soon and removed confirmed The scope is clear, ready for implementation labels Sep 14, 2023
@github-actions
Copy link
Contributor

This is now released under v1.13.0 version!

@github-actions github-actions bot added completed This item is complete and has been merged/shipped and removed pending-release This item has been merged and will be released soon labels Sep 18, 2023
@dreamorosi dreamorosi moved this from Coming soon to Shipped in Powertools for AWS Lambda (TypeScript) Sep 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
completed This item is complete and has been merged/shipped idempotency This item relates to the Idempotency Utility internal PRs that introduce changes in governance, tech debt and chores (linting setup, baseline, etc.)
Projects
1 participant