Skip to content
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

fix(auth): verifyTotp throw EnableSoftwareTokenMfaException #4558

Merged
merged 3 commits into from
Mar 15, 2024

Conversation

Equartey
Copy link
Contributor

Issue #, if available:
#4490
Description of changes:
Throw exception when verifying the setup TOTP code for better DX/UX.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@Equartey Equartey requested a review from a team as a code owner March 15, 2024 14:57
Jordan-Nelson
Jordan-Nelson previously approved these changes Mar 15, 2024
khatruong2009
khatruong2009 previously approved these changes Mar 15, 2024
Jordan-Nelson
Jordan-Nelson previously approved these changes Mar 15, 2024
@Equartey Equartey dismissed stale reviews from Jordan-Nelson and khatruong2009 via e75d7f9 March 15, 2024 17:45
@Equartey Equartey changed the title fix(auth): verifyTotp throw CodeMismatchException fix(auth): verifyTotp throw EnableSoftwareTokenMfaException Mar 15, 2024
@Equartey Equartey merged commit 396d0ec into main Mar 15, 2024
77 checks passed
@Equartey Equartey deleted the fix/auth-verify-totp-throw-exception branch March 15, 2024 18:57
Equartey added a commit that referenced this pull request Mar 15, 2024
### Fixes
- fix(auth): Allow retries with verifyTotpSetup() ([#4532](#4532))
- fix(auth): device metadata migration ([#4503](#4503))
- fix(auth): verifyTotp throw EnableSoftwareTokenMfaException ([#4558](#4558))

Updated-Components: amplify_lints, Amplify Flutter, Amplify Dart, Amplify UI, DB Common, Secure Storage, AWS Common, Smithy, Worker Bee
Equartey added a commit that referenced this pull request Mar 15, 2024
### Fixes
- fix(auth): Allow retries with verifyTotpSetup() ([#4532](#4532))
- fix(auth): device metadata migration ([#4503](#4503))
- fix(auth): verifyTotp throw EnableSoftwareTokenMfaException ([#4558](#4558))

Updated-Components: amplify_lints, Amplify Flutter, Amplify Dart, Amplify UI, DB Common, Secure Storage, AWS Common, Smithy, Worker Bee
Equartey added a commit that referenced this pull request Mar 15, 2024
### Fixes
- fix(auth): Allow retries with verifyTotpSetup() ([#4532](#4532))
- fix(auth): device metadata migration ([#4503](#4503))
- fix(auth): verifyTotp throw EnableSoftwareTokenMfaException ([#4558](#4558))

Updated-Components: amplify_lints, Amplify Flutter, Amplify Dart, Amplify UI, DB Common, Secure Storage, AWS Common, Smithy, Worker Bee
Equartey added a commit that referenced this pull request Mar 15, 2024
### Fixes
- fix(auth): Allow retries with verifyTotpSetup() ([#4532](#4532))
- fix(auth): device metadata migration ([#4503](#4503))
- fix(auth): verifyTotp throw EnableSoftwareTokenMfaException ([#4558](#4558))

Updated-Components: amplify_lints, Amplify Flutter, Amplify Dart, Amplify UI, DB Common, Secure Storage, AWS Common, Smithy, Worker Bee
Jordan-Nelson added a commit that referenced this pull request Mar 25, 2024
* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: update download apis to use path

* chore: skip tests other than main

* chore: run dart format on both files that are receiving analyze warnings

* chore: used dart fix to add trailing commas

* chore: fixed formatting

* chore: run format on test files

* chore: fix formatting in integration tests

* chore: update generated code

* chore: add leading `/`

* chore: remove access level from e2e test

* fix(auth): device metadata migration (#4503)

* merge main

* chore: added a bracket and removed new keywords

* chore: changed signature of deleteLegacyDeviceSecrets and regenerated pigeons. Changed legacysecrethandler.kt file to .txt to "comment" it out

* chore: run dart format on generated file

* chore: migrateLegacyDeviceSecrets now gets called before deleteLegacyCredentials. Cognito_device_secrets return type fixed

* chore: add delete and fetch methods to the cognito swift file

* fix: various issues with implementation

* chore: fix lint issues

* test: update test to include mfa and token refresh

* chore: use coroutines, add plugin

* chore: remove generate code in iOS

* chore: fetch asf deviceId from shared prefs directly

* chore: update error name

* chore: remove native auth plugin

* chore: remove old legacy handler

* chore: remove check for null device metadata

* chore: flatten nested if statements

* chore: remove unused type

---------

Co-authored-by: Kha Truong <64438356+khatruong2009@users.noreply.github.com>

* fix(auth): Allow retries with verifyTotpSetup() (#4532)

* chore(version): cherry pick Bump version (#4545)

* fix(auth): verifyTotp throw EnableSoftwareTokenMfaException (#4558)

* chore(version): cherry pick Bump version (#4560)

* chore: Update BUG-REPORT.yaml (#4568)

* fix: correct `package_info_plus` version constraint (#4583)

chore: fix version constraint

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path

* chore: remove duplicate code from rebase

* chore: removed random text file

* chore: remove commented code

* chore: fix failing tests

* chore: update options, tests

* chore: update options classes

* chore: add back temp dir

* chore: fix integ test

* chore: add skip back to io specific test

* chore: skip test set up in configs other than main

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>
Jordan-Nelson added a commit that referenced this pull request Apr 9, 2024
* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: update download apis to use path

* chore: skip tests other than main

* chore: run dart format on both files that are receiving analyze warnings

* chore: used dart fix to add trailing commas

* chore: fixed formatting

* chore: run format on test files

* chore: fix formatting in integration tests

* chore: update generated code

* chore: add leading `/`

* chore: remove access level from e2e test

* fix(auth): device metadata migration (#4503)

* merge main

* chore: added a bracket and removed new keywords

* chore: changed signature of deleteLegacyDeviceSecrets and regenerated pigeons. Changed legacysecrethandler.kt file to .txt to "comment" it out

* chore: run dart format on generated file

* chore: migrateLegacyDeviceSecrets now gets called before deleteLegacyCredentials. Cognito_device_secrets return type fixed

* chore: add delete and fetch methods to the cognito swift file

* fix: various issues with implementation

* chore: fix lint issues

* test: update test to include mfa and token refresh

* chore: use coroutines, add plugin

* chore: remove generate code in iOS

* chore: fetch asf deviceId from shared prefs directly

* chore: update error name

* chore: remove native auth plugin

* chore: remove old legacy handler

* chore: remove check for null device metadata

* chore: flatten nested if statements

* chore: remove unused type

---------

Co-authored-by: Kha Truong <64438356+khatruong2009@users.noreply.github.com>

* fix(auth): Allow retries with verifyTotpSetup() (#4532)

* chore(version): cherry pick Bump version (#4545)

* fix(auth): verifyTotp throw EnableSoftwareTokenMfaException (#4558)

* chore(version): cherry pick Bump version (#4560)

* chore: Update BUG-REPORT.yaml (#4568)

* fix: correct `package_info_plus` version constraint (#4583)

chore: fix version constraint

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path

* chore: remove duplicate code from rebase

* chore: removed random text file

* chore: remove commented code

* chore: fix failing tests

* chore: update options, tests

* chore: update options classes

* chore: add back temp dir

* chore: fix integ test

* chore: add skip back to io specific test

* chore: skip test set up in configs other than main

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>
Jordan-Nelson added a commit that referenced this pull request Apr 12, 2024
* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: skip tests other than main

* chore: update generated code

* chore: add leading `/`

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path (#4561)

* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: update download apis to use path

* chore: skip tests other than main

* chore: run dart format on both files that are receiving analyze warnings

* chore: used dart fix to add trailing commas

* chore: fixed formatting

* chore: run format on test files

* chore: fix formatting in integration tests

* chore: update generated code

* chore: add leading `/`

* chore: remove access level from e2e test

* fix(auth): device metadata migration (#4503)

* merge main

* chore: added a bracket and removed new keywords

* chore: changed signature of deleteLegacyDeviceSecrets and regenerated pigeons. Changed legacysecrethandler.kt file to .txt to "comment" it out

* chore: run dart format on generated file

* chore: migrateLegacyDeviceSecrets now gets called before deleteLegacyCredentials. Cognito_device_secrets return type fixed

* chore: add delete and fetch methods to the cognito swift file

* fix: various issues with implementation

* chore: fix lint issues

* test: update test to include mfa and token refresh

* chore: use coroutines, add plugin

* chore: remove generate code in iOS

* chore: fetch asf deviceId from shared prefs directly

* chore: update error name

* chore: remove native auth plugin

* chore: remove old legacy handler

* chore: remove check for null device metadata

* chore: flatten nested if statements

* chore: remove unused type

---------

Co-authored-by: Kha Truong <64438356+khatruong2009@users.noreply.github.com>

* fix(auth): Allow retries with verifyTotpSetup() (#4532)

* chore(version): cherry pick Bump version (#4545)

* fix(auth): verifyTotp throw EnableSoftwareTokenMfaException (#4558)

* chore(version): cherry pick Bump version (#4560)

* chore: Update BUG-REPORT.yaml (#4568)

* fix: correct `package_info_plus` version constraint (#4583)

chore: fix version constraint

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path

* chore: remove duplicate code from rebase

* chore: removed random text file

* chore: remove commented code

* chore: fix failing tests

* chore: update options, tests

* chore: update options classes

* chore: add back temp dir

* chore: fix integ test

* chore: add skip back to io specific test

* chore: skip test set up in configs other than main

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>

* feat(storage): update `remove` and `removeMany` APIs (#4593)

* chore: update removeMany API

* chore: update remove api, tests

* chore: handle leading slash

* test: update e2e tests

* chore: update sample app

* chore: fix comment

* chore: add doc comment

* chore: update path validation logic

* chore: remove leading `/` from tests

* chore: add `/` back to `StoragePathValidationException` test

* chore: update tests

* chore: remove leading `/`

* chore: update tests

* chore: remove unused types and constructors, use consistent naming  (#4603)

* chore: remove unused types and properties

* fix: set path of S3Item in download file

* chore: use consistent naming when resolving path

* chore: update path resolution in tests

* fix: update where leading `/` is added for getUrl

* feat: update list API (#4600)

* feat: list API init commit

* chore: removed / from beginning of paths

* chore: fix formatting

* chore: fix formatting and tests

* chore: fix formatting in storage_s3_service_test.dart

* chore: remove commented code and and / before paths

* Apply suggestions from code review

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore: remove accessLevel from StorageListOptions

* chore: removed prefix formatter and fixed formatting

* chore: removed unused field

* chore: remove prefix resolver and fix classes

* chore: change variable name

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: fix formatting

* chore: add deleted documentation back in

* chore: fixed comment placement

---------

Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore(storage): cleanup and enable tests (#4617)

* chore: update canary tests

* chore: remove `StorageOperationOptions`

* chore: remove access level from examples

* chore: update doc comment

* chore: enable transfer acceleration tests

* chore: update not found message

* chore: update `S3PathResolver` doc comments

* fix: copy impl

* chore: remove skips from tests

* chore: add back other env to integ tests

* chore: remove targetIdentityId from `S3ListOptions`

* chore: remove try/catch from test

* chore: update formatting

* chore: update copy test

* Update packages/storage/amplify_storage_s3/example/integration_test/use_case_test.dart

* chore: add space back to test path

* chore: update path in test

* chore: clean up example app

* chore: rename `withIdentityId` to `fromIdentityId`

* chore: add validation for empty path

* chore: add tests for path resolver

* chore: remove reference to CLI in doc comment

* chore: add comment to `StoragePathFromIdentityId`

* chore: revert public API changes in s3 list result

* chore: use `resolvePaths` in copy API

* chore: update error handling for identityId

* chore: undo changes to type cast in html download file

* chore: fix failing copy tests

* chore: update doc comment

Co-authored-by: NikaHsn <nika.hasani@gmail.com>

* chore: update doc comments

Co-authored-by: NikaHsn <nika.hasani@gmail.com>

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>
Co-authored-by: NikaHsn <nika.hasani@gmail.com>
Jordan-Nelson added a commit that referenced this pull request Apr 12, 2024
chore: add `S3PathResolver`

chore: update `getUrl` and `getProperties` API

chore: update S3UploadTask

chore: fix tests

chore: validate storage path

chore: add tests for S3PathResolver

feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

chore: refactor StoragePath (#4544)

chore: remove `key` from public APIs

chore: update tests to adjust for using path

chore: fix lint issues

chore: fix formatting

chore: fix test

chore: remove lint ignored

chore: update comment

chore: remove unused method

chore: skip tests other than main

chore: update generated code

chore: add leading `/`

feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

chore: update download apis to use path (#4561)

* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: update download apis to use path

* chore: skip tests other than main

* chore: run dart format on both files that are receiving analyze warnings

* chore: used dart fix to add trailing commas

* chore: fixed formatting

* chore: run format on test files

* chore: fix formatting in integration tests

* chore: update generated code

* chore: add leading `/`

* chore: remove access level from e2e test

* fix(auth): device metadata migration (#4503)

* merge main

* chore: added a bracket and removed new keywords

* chore: changed signature of deleteLegacyDeviceSecrets and regenerated pigeons. Changed legacysecrethandler.kt file to .txt to "comment" it out

* chore: run dart format on generated file

* chore: migrateLegacyDeviceSecrets now gets called before deleteLegacyCredentials. Cognito_device_secrets return type fixed

* chore: add delete and fetch methods to the cognito swift file

* fix: various issues with implementation

* chore: fix lint issues

* test: update test to include mfa and token refresh

* chore: use coroutines, add plugin

* chore: remove generate code in iOS

* chore: fetch asf deviceId from shared prefs directly

* chore: update error name

* chore: remove native auth plugin

* chore: remove old legacy handler

* chore: remove check for null device metadata

* chore: flatten nested if statements

* chore: remove unused type

---------

Co-authored-by: Kha Truong <64438356+khatruong2009@users.noreply.github.com>

* fix(auth): Allow retries with verifyTotpSetup() (#4532)

* chore(version): cherry pick Bump version (#4545)

* fix(auth): verifyTotp throw EnableSoftwareTokenMfaException (#4558)

* chore(version): cherry pick Bump version (#4560)

* chore: Update BUG-REPORT.yaml (#4568)

* fix: correct `package_info_plus` version constraint (#4583)

chore: fix version constraint

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path

* chore: remove duplicate code from rebase

* chore: removed random text file

* chore: remove commented code

* chore: fix failing tests

* chore: update options, tests

* chore: update options classes

* chore: add back temp dir

* chore: fix integ test

* chore: add skip back to io specific test

* chore: skip test set up in configs other than main

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>

feat(storage): update `remove` and `removeMany` APIs (#4593)

* chore: update removeMany API

* chore: update remove api, tests

* chore: handle leading slash

* test: update e2e tests

* chore: update sample app

* chore: fix comment

* chore: add doc comment

* chore: update path validation logic

* chore: remove leading `/` from tests

* chore: add `/` back to `StoragePathValidationException` test

* chore: update tests

* chore: remove leading `/`

* chore: update tests

chore: remove unused types and constructors, use consistent naming  (#4603)

* chore: remove unused types and properties

* fix: set path of S3Item in download file

* chore: use consistent naming when resolving path

* chore: update path resolution in tests

* fix: update where leading `/` is added for getUrl

feat: update list API (#4600)

* feat: list API init commit

* chore: removed / from beginning of paths

* chore: fix formatting

* chore: fix formatting and tests

* chore: fix formatting in storage_s3_service_test.dart

* chore: remove commented code and and / before paths

* Apply suggestions from code review

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore: remove accessLevel from StorageListOptions

* chore: removed prefix formatter and fixed formatting

* chore: removed unused field

* chore: remove prefix resolver and fix classes

* chore: change variable name

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: fix formatting

* chore: add deleted documentation back in

* chore: fixed comment placement

---------

Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

chore(storage): cleanup and enable tests (#4617)

* chore: update canary tests

* chore: remove `StorageOperationOptions`

* chore: remove access level from examples

* chore: update doc comment

* chore: enable transfer acceleration tests

* chore: update not found message

* chore: update `S3PathResolver` doc comments

* fix: copy impl

* chore: remove skips from tests

* chore: add back other env to integ tests

* chore: remove targetIdentityId from `S3ListOptions`

* chore: remove try/catch from test

* chore: update formatting

* chore: update copy test

Update packages/storage/amplify_storage_s3/example/integration_test/use_case_test.dart

chore: add space back to test path

chore: update path in test

chore: clean up example app

chore: rename `withIdentityId` to `fromIdentityId`

chore: add validation for empty path

chore: add tests for path resolver

chore: remove reference to CLI in doc comment

chore: add comment to `StoragePathFromIdentityId`

chore: revert public API changes in s3 list result

chore: use `resolvePaths` in copy API

chore: update error handling for identityId

chore: undo changes to type cast in html download file

chore: fix failing copy tests

chore: update doc comment

Co-authored-by: NikaHsn <nika.hasani@gmail.com>
khatruong2009 added a commit that referenced this pull request Apr 12, 2024
* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: skip tests other than main

* chore: update generated code

* chore: add leading `/`

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path (#4561)

* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: update download apis to use path

* chore: skip tests other than main

* chore: run dart format on both files that are receiving analyze warnings

* chore: used dart fix to add trailing commas

* chore: fixed formatting

* chore: run format on test files

* chore: fix formatting in integration tests

* chore: update generated code

* chore: add leading `/`

* chore: remove access level from e2e test

* fix(auth): device metadata migration (#4503)

* merge main

* chore: added a bracket and removed new keywords

* chore: changed signature of deleteLegacyDeviceSecrets and regenerated pigeons. Changed legacysecrethandler.kt file to .txt to "comment" it out

* chore: run dart format on generated file

* chore: migrateLegacyDeviceSecrets now gets called before deleteLegacyCredentials. Cognito_device_secrets return type fixed

* chore: add delete and fetch methods to the cognito swift file

* fix: various issues with implementation

* chore: fix lint issues

* test: update test to include mfa and token refresh

* chore: use coroutines, add plugin

* chore: remove generate code in iOS

* chore: fetch asf deviceId from shared prefs directly

* chore: update error name

* chore: remove native auth plugin

* chore: remove old legacy handler

* chore: remove check for null device metadata

* chore: flatten nested if statements

* chore: remove unused type

---------

Co-authored-by: Kha Truong <64438356+khatruong2009@users.noreply.github.com>

* fix(auth): Allow retries with verifyTotpSetup() (#4532)

* chore(version): cherry pick Bump version (#4545)

* fix(auth): verifyTotp throw EnableSoftwareTokenMfaException (#4558)

* chore(version): cherry pick Bump version (#4560)

* chore: Update BUG-REPORT.yaml (#4568)

* fix: correct `package_info_plus` version constraint (#4583)

chore: fix version constraint

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path

* chore: remove duplicate code from rebase

* chore: removed random text file

* chore: remove commented code

* chore: fix failing tests

* chore: update options, tests

* chore: update options classes

* chore: add back temp dir

* chore: fix integ test

* chore: add skip back to io specific test

* chore: skip test set up in configs other than main

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>

* feat(storage): update `remove` and `removeMany` APIs (#4593)

* chore: update removeMany API

* chore: update remove api, tests

* chore: handle leading slash

* test: update e2e tests

* chore: update sample app

* chore: fix comment

* chore: add doc comment

* chore: update path validation logic

* chore: remove leading `/` from tests

* chore: add `/` back to `StoragePathValidationException` test

* chore: update tests

* chore: remove leading `/`

* chore: update tests

* chore: remove unused types and constructors, use consistent naming  (#4603)

* chore: remove unused types and properties

* fix: set path of S3Item in download file

* chore: use consistent naming when resolving path

* chore: update path resolution in tests

* fix: update where leading `/` is added for getUrl

* feat: update list API (#4600)

* feat: list API init commit

* chore: removed / from beginning of paths

* chore: fix formatting

* chore: fix formatting and tests

* chore: fix formatting in storage_s3_service_test.dart

* chore: remove commented code and and / before paths

* Apply suggestions from code review

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore: remove accessLevel from StorageListOptions

* chore: removed prefix formatter and fixed formatting

* chore: removed unused field

* chore: remove prefix resolver and fix classes

* chore: change variable name

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: fix formatting

* chore: add deleted documentation back in

* chore: fixed comment placement

---------

Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore(storage): cleanup and enable tests (#4617)

* chore: update canary tests

* chore: remove `StorageOperationOptions`

* chore: remove access level from examples

* chore: update doc comment

* chore: enable transfer acceleration tests

* chore: update not found message

* chore: update `S3PathResolver` doc comments

* fix: copy impl

* chore: remove skips from tests

* chore: add back other env to integ tests

* chore: remove targetIdentityId from `S3ListOptions`

* chore: remove try/catch from test

* chore: update formatting

* chore: update copy test

* Update packages/storage/amplify_storage_s3/example/integration_test/use_case_test.dart

* chore: add space back to test path

* chore: update path in test

* chore: clean up example app

* chore: rename `withIdentityId` to `fromIdentityId`

* chore: add validation for empty path

* chore: add tests for path resolver

* chore: remove reference to CLI in doc comment

* chore: add comment to `StoragePathFromIdentityId`

* chore: revert public API changes in s3 list result

* chore: use `resolvePaths` in copy API

* chore: update error handling for identityId

* chore: undo changes to type cast in html download file

* chore: fix failing copy tests

* chore: update doc comment

Co-authored-by: NikaHsn <nika.hasani@gmail.com>

* chore: update doc comments

Co-authored-by: NikaHsn <nika.hasani@gmail.com>

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>
Co-authored-by: NikaHsn <nika.hasani@gmail.com>
Jordan-Nelson added a commit that referenced this pull request Apr 24, 2024
* feat!: Update storage APIs to accept `StoragePath` (#4549)

* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: skip tests other than main

* chore: update generated code

* chore: add leading `/`

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path (#4561)

* chore: add `StoragePath`

* chore: add `S3PathResolver`

* chore: update `getUrl` and `getProperties` API

* chore: update S3UploadTask

* chore: fix tests

* chore: validate storage path

* chore: add tests for S3PathResolver

* feat: Gen 2 Upload APIs (#4542)

* feat: add path parameter and made key optional

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added/modified unit tests and added a missing deprecation tag

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: added extra assert statement to make sure users don't put in both path and key into upload method

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: add ignore statements to ignore key deprecated warnings

* chore: add ignore statements for deprecated members

---------

Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: refactor StoragePath (#4544)

* chore: remove `key` from public APIs

* chore: update tests to adjust for using path

* chore: fix lint issues

* chore: fix formatting

* chore: fix test

* chore: remove lint ignored

* chore: update comment

* chore: remove unused method

* chore: update download apis to use path

* chore: skip tests other than main

* chore: run dart format on both files that are receiving analyze warnings

* chore: used dart fix to add trailing commas

* chore: fixed formatting

* chore: run format on test files

* chore: fix formatting in integration tests

* chore: update generated code

* chore: add leading `/`

* chore: remove access level from e2e test

* fix(auth): device metadata migration (#4503)

* merge main

* chore: added a bracket and removed new keywords

* chore: changed signature of deleteLegacyDeviceSecrets and regenerated pigeons. Changed legacysecrethandler.kt file to .txt to "comment" it out

* chore: run dart format on generated file

* chore: migrateLegacyDeviceSecrets now gets called before deleteLegacyCredentials. Cognito_device_secrets return type fixed

* chore: add delete and fetch methods to the cognito swift file

* fix: various issues with implementation

* chore: fix lint issues

* test: update test to include mfa and token refresh

* chore: use coroutines, add plugin

* chore: remove generate code in iOS

* chore: fetch asf deviceId from shared prefs directly

* chore: update error name

* chore: remove native auth plugin

* chore: remove old legacy handler

* chore: remove check for null device metadata

* chore: flatten nested if statements

* chore: remove unused type

---------

Co-authored-by: Kha Truong <64438356+khatruong2009@users.noreply.github.com>

* fix(auth): Allow retries with verifyTotpSetup() (#4532)

* chore(version): cherry pick Bump version (#4545)

* fix(auth): verifyTotp throw EnableSoftwareTokenMfaException (#4558)

* chore(version): cherry pick Bump version (#4560)

* chore: Update BUG-REPORT.yaml (#4568)

* fix: correct `package_info_plus` version constraint (#4583)

chore: fix version constraint

* feat(storage): copy and move APIs (#4569)

* chore: update copy api

* chore: update integ tests for copy

* chore: removed unused code

* chore: add back test

* chore: update download apis to use path

* chore: remove duplicate code from rebase

* chore: removed random text file

* chore: remove commented code

* chore: fix failing tests

* chore: update options, tests

* chore: update options classes

* chore: add back temp dir

* chore: fix integ test

* chore: add skip back to io specific test

* chore: skip test set up in configs other than main

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>

* feat(storage): update `remove` and `removeMany` APIs (#4593)

* chore: update removeMany API

* chore: update remove api, tests

* chore: handle leading slash

* test: update e2e tests

* chore: update sample app

* chore: fix comment

* chore: add doc comment

* chore: update path validation logic

* chore: remove leading `/` from tests

* chore: add `/` back to `StoragePathValidationException` test

* chore: update tests

* chore: remove leading `/`

* chore: update tests

* chore: remove unused types and constructors, use consistent naming  (#4603)

* chore: remove unused types and properties

* fix: set path of S3Item in download file

* chore: use consistent naming when resolving path

* chore: update path resolution in tests

* fix: update where leading `/` is added for getUrl

* feat: update list API (#4600)

* feat: list API init commit

* chore: removed / from beginning of paths

* chore: fix formatting

* chore: fix formatting and tests

* chore: fix formatting in storage_s3_service_test.dart

* chore: remove commented code and and / before paths

* Apply suggestions from code review

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore: remove accessLevel from StorageListOptions

* chore: removed prefix formatter and fixed formatting

* chore: removed unused field

* chore: remove prefix resolver and fix classes

* chore: change variable name

Co-Authored-By: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore: fix formatting

* chore: add deleted documentation back in

* chore: fixed comment placement

---------

Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>

* chore(storage): cleanup and enable tests (#4617)

* chore: update canary tests

* chore: remove `StorageOperationOptions`

* chore: remove access level from examples

* chore: update doc comment

* chore: enable transfer acceleration tests

* chore: update not found message

* chore: update `S3PathResolver` doc comments

* fix: copy impl

* chore: remove skips from tests

* chore: add back other env to integ tests

* chore: remove targetIdentityId from `S3ListOptions`

* chore: remove try/catch from test

* chore: update formatting

* chore: update copy test

* Update packages/storage/amplify_storage_s3/example/integration_test/use_case_test.dart

* chore: add space back to test path

* chore: update path in test

* chore: clean up example app

* chore: rename `withIdentityId` to `fromIdentityId`

* chore: add validation for empty path

* chore: add tests for path resolver

* chore: remove reference to CLI in doc comment

* chore: add comment to `StoragePathFromIdentityId`

* chore: revert public API changes in s3 list result

* chore: use `resolvePaths` in copy API

* chore: update error handling for identityId

* chore: undo changes to type cast in html download file

* chore: fix failing copy tests

* chore: update doc comment

Co-authored-by: NikaHsn <nika.hasani@gmail.com>

* chore: update doc comments

Co-authored-by: NikaHsn <nika.hasani@gmail.com>

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>
Co-authored-by: NikaHsn <nika.hasani@gmail.com>

* chore!: remove prefix resolver, passthrough prefix resolver, and accessLevel (#4631)

- Remove prefix resolver, passthrough prefix resolver, and accessLevel

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>

* chore(storage): add e2e tests for `uploadData`, `uploadFile`, `getUrl`, `getProperties` (#4615)

* chore: add tests for upload

* chore: update constructor name

* chore: update teardown

* chore: add tests for unauthorized path

* chore: add getUrl tests

* chore: make vars final

* chore: create util for user tear down

* chore: add get properties test

* chore: update doc comments

* chore: fix failing test

* chore: update tests to use `testWidgets`

* chore: fix failing web e2e tests

* chore: rethrow teardown failures

* chore: use `expectedResolvedPath` in upload op

* chore: use util for generating user/pw

* chore: use `AWSFile.fromPath` in tests

* chore: update file names

* chore: update removeMany API, add tests for `remove`, `removeMany`, `copy` (#4748)

* chore: update remove many API

* chore: use `expectLater` in tests, add test for non existent path

* chore: add e2e tests for `remove`, `removeMany`

* chore: refactor `objectExists` util

* chore: add copy tests

* chore update main_test file

* chore: E2E tests for downloadFile, downloadData, and List (#4697)

* chore: add downloadData and downloadFile e2e tests

* chore: fix formatting

* chore: fix formatting part 2

* chore: change amplifyEnvironments key to main

* chore: uncomment addTearDown

* chore: comment addTearDown again

* chore: use addTearDown instead of tearDownAll

* chore: uncomment addTearDown in configure.dart file

* chore: add e2e tests for list()

* chore: fixed formatting issues caused by merge

* chore: fix tests to return a future in the teardown

* chore: fix formatting

* chore: upgrade e2e tests to java 17

* chore: revert previous commit

* chore: remove storage_path_with_identity_id.dart file from merge

* chore: replace if statement with expect

* chore: delete create_file and switch uploadFile to uploadData in tests

* Update packages/storage/amplify_storage_s3/example/integration_test/list_test.dart

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore: fix formatting and add signInNewUser

* chore: move uploadData to setupAll and add path verification

* chore: fix formatting

* chore: move uploadData methods to setupAll at the beginning of the test

* chore: add expects for value on the result in download files

* chore: fixed formatting

* chore: add expects for file path and fixed variables

* chore: add test for listAll option

* chore: fix formatting

* chore: switch tests to testWidgets

* chore: add test for unauthorized path

* chore: add tests for different localFile constructors

* chore: fix formatting

* chore: use addTearDownPath and added paths

* chore: fix formatting

* chore: change metadata headers to description

* Update packages/storage/amplify_storage_s3/example/integration_test/download_data_test.dart

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore: make all vars final if possible

* chore: fixed formatting and renamed variables

* chore: fix test grouping

* Update packages/storage/amplify_storage_s3/example/integration_test/download_file_test.dart

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* Update packages/storage/amplify_storage_s3/example/integration_test/download_file_test.dart

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore: remove unnecessary tearDown

* chore: add file ops and adjusted other tests

* chore: change list test exception

* Update packages/storage/amplify_storage_s3/example/integration_test/download_file_test.dart

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* Update packages/storage/amplify_storage_s3/example/integration_test/download_file_test.dart

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* Update packages/storage/amplify_storage_s3/example/integration_test/download_data_test.dart

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* Update packages/storage/amplify_storage_s3/example/integration_test/download_file_test.dart

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore: fix formatting

* Revert "chore: fix formatting"

This reverts commit a0d9080.

* Revert "Merge branch 'feat/storage-gen2' into feat/storage/e2e/download-list"

This reverts commit d0a92cd, reversing
changes made to d9746a8.

* chore: fix merge errors

* chore: fix more merge changes

---------

Co-authored-by: Jordan Nelson <nejrd@amazon.com>

* chore(storage): remove deprecated storage options (#4749)

* chore(storage): add test coverage, remove old e2e tests (#4763)

* chore: add test for content type inference

* chore: add test for url with special characters

* chore: remove old integ tests

* fix: include useAccelerateEndpoint in upload

* fix: only close sink if it exists

* chore: add tests for an env with dots in the name

---------

Co-authored-by: Jordan Nelson <Jordanryannelson@gmail.com>
Co-authored-by: Jordan Nelson <20613561+Jordan-Nelson@users.noreply.github.com>
Co-authored-by: Jordan Nelson <nejrd@amazon.com>
Co-authored-by: Elijah Quartey <Equartey@users.noreply.github.com>
Co-authored-by: NikaHsn <nika.hasani@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants