Skip to content

Commit

Permalink
chore(authenticator): Merge RC (#1184)
Browse files Browse the repository at this point in the history
* Replace JCenter with Maven Central (#903)

* Replace JCenter with Maven Central

* Make uniform

* Revert core

* fix(datastore): remove default pagination behavior on iOS (#906)

* fix: remove default pagination on ios

* chore: update test to use models.length

* chore: remove sort order from test

* test: update datastore unit test

* chore: move var declaration inside if block

* feat(Auth) support preferPrivateSession flag (#897)

* support preferPrivateSession flag

* fix flutter format

* fix unit test

* create and use SignInWithWebUIOptions

* update styles and doc

* remove unused code

Co-authored-by: Mo Malaka <[email protected]>

* feat(auth): add global sign out (#782)

* feat: add global sign out

* chore: rmove unused code

* chore: Update android unit tests

* chore: update iOS unit tests

* chore: add unit tests for global sign out

* chore: fix formatting

* chore: update amplify-android to 1.26.0

* chore: update SignOutRequest comment

* chore: refactor FlutterSignOutRequest

* chore: update integration test commands to allow selection (#910)

* chore: update integ test commands with selection

* chore: update description

* chore: Revert unpub (#919)

* Add unpub iOS checks

* Fix port

* Add logs

* Run server in background

* Make script foreground

* Add wait before pub get

* Remove sleep

* Update URL

* Remove from CI

* Remove unpub stuff

* Fix API auth for REST (#925)

* chore: bump amplify-android dep to 1.28.0 (#949)

* feat(datastore): Add ModelField ReadOnly support (#599)

* feat(datastore): Add ModelField ReadOnly support

ModelFields can be readOnly to support non modifiable field types.

* Storage download progress (#928)

Co-authored-by: Dillon Nys <[email protected]>

* chore: 0.2.5 release (#975)

* fix(datastore): Sync Issues (#963)

* Bump iOS

* Bump version

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* fix(datastore): Remove temporary fix to issue #395 (#967)

* fix(datastore): OIDC Rework (#966)

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* Change internal OIDC implementation

* Remove iOS tests for now

* Remove AuthProviderTests

* Update conventions

* Fix whitespace

* Add tests

* Clean up

* Clean up concurrency

* Fix tests

* Bump iOS versions

* Clean up Android

* Update changelog date

* Update changelogs

Co-authored-by: Hui Zhao <[email protected]>

* fix(datastore): Re-emit events on hot restart (#980)

* Add hot restart protection

* Add test

* Update DataStoreHubEventStreamHandlerTests.swift

Fix unit test

* Add deinit for test cases

* fix(datastore): replay events on Android after a hot restart (#965)

* fix: replay events on Android after a hot restart

* chore: use mutable list

* Update formatting

Co-authored-by: Jordan Nelson <[email protected]>

* chore: Update issue template (#985)

* chore: Update issue template

Update issue template to include pubspec.lock file

* Update bug_report.md

* feat(datastore): add observeQuery API (#892)

* feat: dart only implementation of observeQuery

* feat: use sorted list for cached item

* chore: rename sorted list file

* feat: move merge logic inside QuerySnapshot

* chore: update logging

* chore: move evaluate logic to QueryPredicate

* feat: add compareTo for temporal types

* chore: update examples

* test: add unit tests for querySnapshot

* feat: add sync status

* chore: move StreamGroup

* feat: batch before sync

* feat: duration batching

* chore: create executor

* chore: add license

* feat: allow for no throttling

* test: add tests for throttle extension

* chore: remove events from QuerySnapshot

* chore: remove events from executor

* chore: undo change in main for unit tests

* chore: undo formatting change

* chore: remove temp changes to query

* chore: remove temp change in post model

* chore: add missing license

* chore: add missing license

* chore: remove check for dup event

* chore: handle non-comparable fields

* chore: remove comments from temporal types

* chore: remove late keyword

* chore: add operators to SortedList

* test: add test for withSyncStatus

* test: add tests for SortedList

* chore: replace StreamGroup w/ merge util

* chore: update comments

* test: add unit test for mergeStreams

* test: add tests for observeQueryExecutor

* chore: removed unused ensureInitialized calls

* chore: update doc comments

* fix: update query field operator comparisons

* test: add tests for sort comparisons

* test: query predicate comparison test

* test: add test for sync status cache

* test: add tests for and/or/not predicates

* chore: update model

* chore: address initial PR comments

* chore: refactor ObserveQueryExecutor

* chore: refactor SortedList to use ListMixin

* feat: update merge to use sync stream controller

* test: observeQuery integ tests

* chore: update example app

* feat: start batching after model sync started

* chore: removed runQueries() from example app

* chore: refactor sort order, add test

* chore: update import statement

* chore: refactor withSubscriptionEvent

* chore: add test coverage to throttle util

* chore: replace custom merge util with async

* chore: address formatting issue

* chore: remove unused stream util

* chore: undo unrelated change

* Revert test model changes

* Fix test model

* Bump iOS version

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* Revert "feat(datastore): Add ModelField ReadOnly support (#599)" (#994)

This reverts commit fd126027b7b3e6afa0f9ef1d037e7e380bf53a48.

* chore: 0.2.6 release (#993)

* 0.2.6 release

* Update example app pubspec

* Bump Android deps

* Query operator fields should be nullable

* Update changelogs

* fix: update predicate evaluation for nulls

* test: add query predicate evaluate tests for nulls

* chore: update test data

* chore: regen models with cli 6.3.1

* chore: add test schema file

Co-authored-by: Jordan Nelson <[email protected]>

* Remove spooky log messages (#1008)

* Insert final newline (#1010)

* fix(datastore): Android TemporalTime Save Issue (#1009)

Add padding in fromString method for TemporalDateTime and TemporalTime to replace trailing “0”s removed by Android.

Fix suggested by @martinzuccotti

* fix(api): OIDC fixes for Android (#1028)

* OIDC fixes for Android

* Update comments

* Fix Android unit tests

* Remove debug statement

* Minor cleanup

* Update exception message

* chore: update amplify pods to 1.15.5 (#1037)

* fix(datastore): fix temporal date/time query predicates (#1027)

* test: add integ tests for datetime types

* fix: serialize temporal types in predicates

* chore: Update integ tests for temporal types

* chore: add DateTime back with deprecation note

* chore: add deprecation log for DateTime types

* fix: add missing import

* test: add unit test for temporal type

* fix: serialize values for non-primitive types

* Update aws_date_time_query_predicate_test.dart

* Update aws_time_query_predicate_test.dart

* chore: update integ tests

* Post exceptions on the main thread (#1047)

* Update custom pre-sign up handler (#1051)

* chore: 0.2.7 release (#1052)

* 0.2.7 release

* Revert bump note for plugin interface

* chore: tweak integration tests, change storage assertion and use gradle version 4.0.1 for all example apps (#1040)

* fix: "Reply already submitted" crashes (#1058)

* Update Android

* Update iOS

* Fix Android unit test

* Fix iOS unit tests

* Fix DateTime parsing (#1062)

* fix(storage): Storage.list crash on null "options" (#1061)

* Fix storage crash

* Remove validation message

* chore: remove DateTime.now() from tests (#1060)

* chore: remove datetime.now from datastore interface

* chore: remove datetime.now from datastore unit tests

* chore: remove datetime now from datastore integ tests

* chore(amplify_core): move model-related types from datastore interface to amplify_core (#1023)

move some model-related types from datastore interface to core to support API model-based helpers

* Add ProGuard rules (#1064)

* fix: serialize confirm sign up options (#1083)

* fix: serialize confirm sign up options

* chore: update unit test

* fix:issue 1043 (#1044)

change 12-hours based date format to 24-hours .

https://developer.android.com/reference/kotlin/java/text/SimpleDateFormat#format

* fix (amplify_auth_cognito): fixes swallowed usercancelled exception with hosted ui android, and updates auth exampl… (#1015)

* fixes swallowed error with hosted ui android, and updates auth example app

* Update packages/amplify_auth_cognito/android/src/main/kotlin/com/amazonaws/amplify/amplify_auth_cognito/AuthCognito.kt

Co-authored-by: Dillon Nys <[email protected]>

Co-authored-by: Noyes <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* feat(datastore): Custom Error Handler (#1032)

* chore: 0.2.8 release (#1087)

* chore: 0.2.8 release

* Update changelogs

* Revert "chore(amplify_core): move model-related types from datastore interface to amplify_core (#1023)" (#1102)

This reverts commit 176653ea5cd7575f6d33d9825b7505c88e908f47.

* chore: 0.2.9 release (#1108)

* chore: 0.2.9 release

* Correct the info in changelogs

* Merge main into release-candidate (#1113)

* Replace JCenter with Maven Central (#903)

* Replace JCenter with Maven Central

* Make uniform

* Revert core

* fix(datastore): remove default pagination behavior on iOS (#906)

* fix: remove default pagination on ios

* chore: update test to use models.length

* chore: remove sort order from test

* test: update datastore unit test

* chore: move var declaration inside if block

* feat(Auth) support preferPrivateSession flag (#897)

* support preferPrivateSession flag

* fix flutter format

* fix unit test

* create and use SignInWithWebUIOptions

* update styles and doc

* remove unused code

Co-authored-by: Mo Malaka <[email protected]>

* feat(auth): add global sign out (#782)

* feat: add global sign out

* chore: rmove unused code

* chore: Update android unit tests

* chore: update iOS unit tests

* chore: add unit tests for global sign out

* chore: fix formatting

* chore: update amplify-android to 1.26.0

* chore: update SignOutRequest comment

* chore: refactor FlutterSignOutRequest

* chore: update integration test commands to allow selection (#910)

* chore: update integ test commands with selection

* chore: update description

* chore: Revert unpub (#919)

* Add unpub iOS checks

* Fix port

* Add logs

* Run server in background

* Make script foreground

* Add wait before pub get

* Remove sleep

* Update URL

* Remove from CI

* Remove unpub stuff

* Fix API auth for REST (#925)

* chore: bump amplify-android dep to 1.28.0 (#949)

* feat(datastore): Add ModelField ReadOnly support (#599)

* feat(datastore): Add ModelField ReadOnly support

ModelFields can be readOnly to support non modifiable field types.

* Storage download progress (#928)

Co-authored-by: Dillon Nys <[email protected]>

* chore: 0.2.5 release (#975)

* fix(datastore): Sync Issues (#963)

* Bump iOS

* Bump version

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* fix(datastore): Remove temporary fix to issue #395 (#967)

* fix(datastore): OIDC Rework (#966)

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* Change internal OIDC implementation

* Remove iOS tests for now

* Remove AuthProviderTests

* Update conventions

* Fix whitespace

* Add tests

* Clean up

* Clean up concurrency

* Fix tests

* Bump iOS versions

* Clean up Android

* Update changelog date

* Update changelogs

Co-authored-by: Hui Zhao <[email protected]>

* fix(datastore): Re-emit events on hot restart (#980)

* Add hot restart protection

* Add test

* Update DataStoreHubEventStreamHandlerTests.swift

Fix unit test

* Add deinit for test cases

* fix(datastore): replay events on Android after a hot restart (#965)

* fix: replay events on Android after a hot restart

* chore: use mutable list

* Update formatting

Co-authored-by: Jordan Nelson <[email protected]>

* chore: Update issue template (#985)

* chore: Update issue template

Update issue template to include pubspec.lock file

* Update bug_report.md

* feat(datastore): add observeQuery API (#892)

* feat: dart only implementation of observeQuery

* feat: use sorted list for cached item

* chore: rename sorted list file

* feat: move merge logic inside QuerySnapshot

* chore: update logging

* chore: move evaluate logic to QueryPredicate

* feat: add compareTo for temporal types

* chore: update examples

* test: add unit tests for querySnapshot

* feat: add sync status

* chore: move StreamGroup

* feat: batch before sync

* feat: duration batching

* chore: create executor

* chore: add license

* feat: allow for no throttling

* test: add tests for throttle extension

* chore: remove events from QuerySnapshot

* chore: remove events from executor

* chore: undo change in main for unit tests

* chore: undo formatting change

* chore: remove temp changes to query

* chore: remove temp change in post model

* chore: add missing license

* chore: add missing license

* chore: remove check for dup event

* chore: handle non-comparable fields

* chore: remove comments from temporal types

* chore: remove late keyword

* chore: add operators to SortedList

* test: add test for withSyncStatus

* test: add tests for SortedList

* chore: replace StreamGroup w/ merge util

* chore: update comments

* test: add unit test for mergeStreams

* test: add tests for observeQueryExecutor

* chore: removed unused ensureInitialized calls

* chore: update doc comments

* fix: update query field operator comparisons

* test: add tests for sort comparisons

* test: query predicate comparison test

* test: add test for sync status cache

* test: add tests for and/or/not predicates

* chore: update model

* chore: address initial PR comments

* chore: refactor ObserveQueryExecutor

* chore: refactor SortedList to use ListMixin

* feat: update merge to use sync stream controller

* test: observeQuery integ tests

* chore: update example app

* feat: start batching after model sync started

* chore: removed runQueries() from example app

* chore: refactor sort order, add test

* chore: update import statement

* chore: refactor withSubscriptionEvent

* chore: add test coverage to throttle util

* chore: replace custom merge util with async

* chore: address formatting issue

* chore: remove unused stream util

* chore: undo unrelated change

* Revert test model changes

* Fix test model

* Bump iOS version

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* Revert "feat(datastore): Add ModelField ReadOnly support (#599)" (#994)

This reverts commit fd126027b7b3e6afa0f9ef1d037e7e380bf53a48.

* chore: 0.2.6 release (#993)

* 0.2.6 release

* Update example app pubspec

* Bump Android deps

* Query operator fields should be nullable

* Update changelogs

* fix: update predicate evaluation for nulls

* test: add query predicate evaluate tests for nulls

* chore: update test data

* chore: regen models with cli 6.3.1

* chore: add test schema file

Co-authored-by: Jordan Nelson <[email protected]>

* Remove spooky log messages (#1008)

* Insert final newline (#1010)

* fix(datastore): Android TemporalTime Save Issue (#1009)

Add padding in fromString method for TemporalDateTime and TemporalTime to replace trailing “0”s removed by Android.

Fix suggested by @martinzuccotti

* fix(api): OIDC fixes for Android (#1028)

* OIDC fixes for Android

* Update comments

* Fix Android unit tests

* Remove debug statement

* Minor cleanup

* Update exception message

* chore: update amplify pods to 1.15.5 (#1037)

* fix(datastore): fix temporal date/time query predicates (#1027)

* test: add integ tests for datetime types

* fix: serialize temporal types in predicates

* chore: Update integ tests for temporal types

* chore: add DateTime back with deprecation note

* chore: add deprecation log for DateTime types

* fix: add missing import

* test: add unit test for temporal type

* fix: serialize values for non-primitive types

* Update aws_date_time_query_predicate_test.dart

* Update aws_time_query_predicate_test.dart

* chore: update integ tests

* Post exceptions on the main thread (#1047)

* Update custom pre-sign up handler (#1051)

* chore: 0.2.7 release (#1052)

* 0.2.7 release

* Revert bump note for plugin interface

* chore: tweak integration tests, change storage assertion and use gradle version 4.0.1 for all example apps (#1040)

* fix: "Reply already submitted" crashes (#1058)

* Update Android

* Update iOS

* Fix Android unit test

* Fix iOS unit tests

* Fix DateTime parsing (#1062)

* fix(storage): Storage.list crash on null "options" (#1061)

* Fix storage crash

* Remove validation message

* chore: remove DateTime.now() from tests (#1060)

* chore: remove datetime.now from datastore interface

* chore: remove datetime.now from datastore unit tests

* chore: remove datetime now from datastore integ tests

* Add ProGuard rules (#1064)

* fix:issue 1043 (#1044)

change 12-hours based date format to 24-hours .

https://developer.android.com/reference/kotlin/java/text/SimpleDateFormat#format

* fix (amplify_auth_cognito): fixes swallowed usercancelled exception with hosted ui android, and updates auth exampl… (#1015)

* fixes swallowed error with hosted ui android, and updates auth example app

* Update packages/amplify_auth_cognito/android/src/main/kotlin/com/amazonaws/amplify/amplify_auth_cognito/AuthCognito.kt

Co-authored-by: Dillon Nys <[email protected]>

Co-authored-by: Noyes <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* feat(datastore): Custom Error Handler (#1032)

* chore: 0.2.8 release (#1087)

* chore: 0.2.8 release

* Update changelogs

* chore: 0.2.9 release (#1108)

* chore: 0.2.9 release

* Correct the info in changelogs

* Fix incorrectly resolved conflict

* Fix amplify_core example iOS build

* Fix swift linter complained errors

- Function name cannot start with upper case
- Class name cannot start with lower case

* Revert "Fix swift linter complained errors"

This reverts commit ddceaa7d52202fd59f84645da145b1693e7698a8.

* Fix swiftlint errors

* Fix some changes

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Su Tran <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: hexch <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>

* Fix resolving conflict brought errors

* Fix duplicate test member

* Remove old core file

* chore: Add missing license headers (#1127)

* Add missing license headers

* Fix formatting

* Fix coroutines crash (#1132)

* fix(auth): Remove duplicate AtomicResult (#1133)

* Remove duplicate AtomicResult

* Rename result

* chore: merge RC into release/0.3.0 (#1118)

* break(datastore): cannot saving boolean as integer in SQLite (#895)

* break(amplify_auth_cognito): throw SignedOutException (#893)

* break(amplify_auth_cognito): fixes getCurrentUser disparity (#894)

* GraphQL Stream -> RC (#905)

* fix(amplify_auth_cognito): fixes getCurrentUser success (#911)

* chore: release 0.3.0-unstable.1 (#908)

* chore: release 0.3.0-rc.1 (#915)

* feat(datastore): Add CustomType functionality (#847) (#920)

* feat(datastore): Add CustomType functionality (#847)

* feat(datastore): Add CustomType functionality

* Update copyright year and reformatted some source code

* Resolve comments

* feat(datastore): Add CustomType support for amplify-flutter iOS

* squash

* Fix existing DataStore iOS unit tests

* Add unit tests for iOS changes

* Fix broken format

* Update example App iOS project settings

* Fix iOS unit tests

* Resolved comments for Android implementation

* Resolve comments for iOS implementation

* Upgrade amplify-android to 1.26.0

* Resolve comments targeting the iOS implementation

* Resolve comments

* Fix embedded desrialization after merging main

* Add CustomType integration tests

* Upgrade amplify-android to 1.27.0

* Apply suggestions from code review

Co-authored-by: Chris F <[email protected]>

* resolve comments

Co-authored-by: Chris F <[email protected]>

* Update datastore changelog

* Commit changes of schema.graphql for integration tests

* Resolve comments

* Fix timestamp fields may contain double value

* Add ending line

* Fix should be able to resolve multiple deps trees

* Upgrade amplify-android to 1.28.0

* Apply suggestions from code review

Co-authored-by: Chris F <[email protected]>

* Simplied map transform syntax

Co-authored-by: Chris F <[email protected]>

* Chore/rc merge main (#1003)

* Replace JCenter with Maven Central (#903)

* Replace JCenter with Maven Central

* Make uniform

* Revert core

* fix(datastore): remove default pagination behavior on iOS (#906)

* fix: remove default pagination on ios

* chore: update test to use models.length

* chore: remove sort order from test

* test: update datastore unit test

* chore: move var declaration inside if block

* feat(Auth) support preferPrivateSession flag (#897)

* support preferPrivateSession flag

* fix flutter format

* fix unit test

* create and use SignInWithWebUIOptions

* update styles and doc

* remove unused code

Co-authored-by: Mo Malaka <[email protected]>

* feat(auth): add global sign out (#782)

* feat: add global sign out

* chore: rmove unused code

* chore: Update android unit tests

* chore: update iOS unit tests

* chore: add unit tests for global sign out

* chore: fix formatting

* chore: update amplify-android to 1.26.0

* chore: update SignOutRequest comment

* chore: refactor FlutterSignOutRequest

* chore: update integration test commands to allow selection (#910)

* chore: update integ test commands with selection

* chore: update description

* chore: Revert unpub (#919)

* Add unpub iOS checks

* Fix port

* Add logs

* Run server in background

* Make script foreground

* Add wait before pub get

* Remove sleep

* Update URL

* Remove from CI

* Remove unpub stuff

* Fix API auth for REST (#925)

* chore: bump amplify-android dep to 1.28.0 (#949)

* feat(datastore): Add ModelField ReadOnly support (#599)

* feat(datastore): Add ModelField ReadOnly support

ModelFields can be readOnly to support non modifiable field types.

* Storage download progress (#928)

Co-authored-by: Dillon Nys <[email protected]>

* chore: 0.2.5 release (#975)

* fix(datastore): Sync Issues (#963)

* Bump iOS

* Bump version

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* fix(datastore): Remove temporary fix to issue #395 (#967)

* fix(datastore): OIDC Rework (#966)

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* Change internal OIDC implementation

* Remove iOS tests for now

* Remove AuthProviderTests

* Update conventions

* Fix whitespace

* Add tests

* Clean up

* Clean up concurrency

* Fix tests

* Bump iOS versions

* Clean up Android

* Update changelog date

* Update changelogs

Co-authored-by: Hui Zhao <[email protected]>

* fix(datastore): Re-emit events on hot restart (#980)

* Add hot restart protection

* Add test

* Update DataStoreHubEventStreamHandlerTests.swift

Fix unit test

* Add deinit for test cases

* fix(datastore): replay events on Android after a hot restart (#965)

* fix: replay events on Android after a hot restart

* chore: use mutable list

* Update formatting

Co-authored-by: Jordan Nelson <[email protected]>

* chore: Update issue template (#985)

* chore: Update issue template

Update issue template to include pubspec.lock file

* Update bug_report.md

* feat(datastore): add observeQuery API (#892)

* feat: dart only implementation of observeQuery

* feat: use sorted list for cached item

* chore: rename sorted list file

* feat: move merge logic inside QuerySnapshot

* chore: update logging

* chore: move evaluate logic to QueryPredicate

* feat: add compareTo for temporal types

* chore: update examples

* test: add unit tests for querySnapshot

* feat: add sync status

* chore: move StreamGroup

* feat: batch before sync

* feat: duration batching

* chore: create executor

* chore: add license

* feat: allow for no throttling

* test: add tests for throttle extension

* chore: remove events from QuerySnapshot

* chore: remove events from executor

* chore: undo change in main for unit tests

* chore: undo formatting change

* chore: remove temp changes to query

* chore: remove temp change in post model

* chore: add missing license

* chore: add missing license

* chore: remove check for dup event

* chore: handle non-comparable fields

* chore: remove comments from temporal types

* chore: remove late keyword

* chore: add operators to SortedList

* test: add test for withSyncStatus

* test: add tests for SortedList

* chore: replace StreamGroup w/ merge util

* chore: update comments

* test: add unit test for mergeStreams

* test: add tests for observeQueryExecutor

* chore: removed unused ensureInitialized calls

* chore: update doc comments

* fix: update query field operator comparisons

* test: add tests for sort comparisons

* test: query predicate comparison test

* test: add test for sync status cache

* test: add tests for and/or/not predicates

* chore: update model

* chore: address initial PR comments

* chore: refactor ObserveQueryExecutor

* chore: refactor SortedList to use ListMixin

* feat: update merge to use sync stream controller

* test: observeQuery integ tests

* chore: update example app

* feat: start batching after model sync started

* chore: removed runQueries() from example app

* chore: refactor sort order, add test

* chore: update import statement

* chore: refactor withSubscriptionEvent

* chore: add test coverage to throttle util

* chore: replace custom merge util with async

* chore: address formatting issue

* chore: remove unused stream util

* chore: undo unrelated change

* Revert test model changes

* Fix test model

* Bump iOS version

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* Revert "feat(datastore): Add ModelField ReadOnly support (#599)" (#994)

This reverts commit fd126027b7b3e6afa0f9ef1d037e7e380bf53a48.

* chore: 0.2.6 release (#993)

* 0.2.6 release

* Update example app pubspec

* Bump Android deps

* Query operator fields should be nullable

* Update changelogs

* fix: update predicate evaluation for nulls

* test: add query predicate evaluate tests for nulls

* chore: update test data

* chore: regen models with cli 6.3.1

* chore: add test schema file

Co-authored-by: Jordan Nelson <[email protected]>

* Fix failing tests due to missing test data

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Su Tran <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>

* chore: Lints (#918)

* Reorg + integ tests

* Clean up

* Update tests; attempt Android

* Throw if Android

* Lint amplify_flutter and amplify_core

* Fix

* Re-enable CI/CD lints

* Fix amplify_flutter tests

* Run Android lints

* Fix formatting

* Keep trying Android reset

* Create amplify_test_flutter package

* Fix API auth for REST (#925)

* feat(datastore): Add ModelField ReadOnly support (#599)

* feat(datastore): Add ModelField ReadOnly support

ModelFields can be readOnly to support non modifiable field types.

* chore: 0.2.5 release (#975)

* fix(datastore): Sync Issues (#963)

* Bump iOS

* Bump version

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* fix(datastore): Remove temporary fix to issue #395 (#967)

* fix(datastore): OIDC Rework (#966)

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* Change internal OIDC implementation

* Remove iOS tests for now

* Remove AuthProviderTests

* Update conventions

* Fix whitespace

* Add tests

* Clean up

* Clean up concurrency

* Fix tests

* Bump iOS versions

* Clean up Android

* Update changelog date

* Update changelogs

Co-authored-by: Hui Zhao <[email protected]>

* feat(datastore): add observeQuery API (#892)

* feat: dart only implementation of observeQuery

* feat: use sorted list for cached item

* chore: rename sorted list file

* feat: move merge logic inside QuerySnapshot

* chore: update logging

* chore: move evaluate logic to QueryPredicate

* feat: add compareTo for temporal types

* chore: update examples

* test: add unit tests for querySnapshot

* feat: add sync status

* chore: move StreamGroup

* feat: batch before sync

* feat: duration batching

* chore: create executor

* chore: add license

* feat: allow for no throttling

* test: add tests for throttle extension

* chore: remove events from QuerySnapshot

* chore: remove events from executor

* chore: undo change in main for unit tests

* chore: undo formatting change

* chore: remove temp changes to query

* chore: remove temp change in post model

* chore: add missing license

* chore: add missing license

* chore: remove check for dup event

* chore: handle non-comparable fields

* chore: remove comments from temporal types

* chore: remove late keyword

* chore: add operators to SortedList

* test: add test for withSyncStatus

* test: add tests for SortedList

* chore: replace StreamGroup w/ merge util

* chore: update comments

* test: add unit test for mergeStreams

* test: add tests for observeQueryExecutor

* chore: removed unused ensureInitialized calls

* chore: update doc comments

* fix: update query field operator comparisons

* test: add tests for sort comparisons

* test: query predicate comparison test

* test: add test for sync status cache

* test: add tests for and/or/not predicates

* chore: update model

* chore: address initial PR comments

* chore: refactor ObserveQueryExecutor

* chore: refactor SortedList to use ListMixin

* feat: update merge to use sync stream controller

* test: observeQuery integ tests

* chore: update example app

* feat: start batching after model sync started

* chore: removed runQueries() from example app

* chore: refactor sort order, add test

* chore: update import statement

* chore: refactor withSubscriptionEvent

* chore: add test coverage to throttle util

* chore: replace custom merge util with async

* chore: address formatting issue

* chore: remove unused stream util

* chore: undo unrelated change

* Revert test model changes

* Fix test model

* Bump iOS version

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* Revert "feat(datastore): Add ModelField ReadOnly support (#599)" (#994)

This reverts commit fd126027b7b3e6afa0f9ef1d037e7e380bf53a48.

* chore: 0.2.6 release (#993)

* 0.2.6 release

* Update example app pubspec

* Bump Android deps

* Query operator fields should be nullable

* Update changelogs

* fix: update predicate evaluation for nulls

* test: add query predicate evaluate tests for nulls

* chore: update test data

* chore: regen models with cli 6.3.1

* chore: add test schema file

Co-authored-by: Jordan Nelson <[email protected]>

* Fix imports

* Fix linting

* Update dependencies

* Add missing build tools

* Update pubspecs

* Revert Android changes

* Use local dependencies

* Update license and readme

* Trigger CI

* Fix imports

* Fix lints

* Revert amplify_flutter change

* Remove unnecessary lint disable

* Revert DataStore model changes; fix yellow

* Revert test pkg & integ tests

* Fix amplify_flutter example

* Fix amplify_flutter example

* Fix amplify_flutter example

* Remove uuid from API plugin deps

* Misc corrections

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>

* fix(datastore): Add auth rule provider info to generate schema (#955)

* fix(datastore): Add auth rule provider info to generate schema

* Covert CRLF to LF

* Make provider field optional

* Reformat kt file and address linter suggested issue

* Adapt auth provider to Android implementation

* Update test case to match the real use case

* chore(test): Add test pkgs and integ tests for core (#1011)

* Reorg + integ tests

* Clean up

* Update tests; attempt Android

* Throw if Android

* Lint amplify_flutter and amplify_core

* Fix

* Re-enable CI/CD lints

* Fix amplify_flutter tests

* Run Android lints

* Fix formatting

* Keep trying Android reset

* Create amplify_test_flutter package

* Fix API auth for REST (#925)

* feat(datastore): Add ModelField ReadOnly support (#599)

* feat(datastore): Add ModelField ReadOnly support

ModelFields can be readOnly to support non modifiable field types.

* chore: 0.2.5 release (#975)

* fix(datastore): Sync Issues (#963)

* Bump iOS

* Bump version

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* fix(datastore): Remove temporary fix to issue #395 (#967)

* fix(datastore): OIDC Rework (#966)

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* Change internal OIDC implementation

* Remove iOS tests for now

* Remove AuthProviderTests

* Update conventions

* Fix whitespace

* Add tests

* Clean up

* Clean up concurrency

* Fix tests

* Bump iOS versions

* Clean up Android

* Update changelog date

* Update changelogs

Co-authored-by: Hui Zhao <[email protected]>

* feat(datastore): add observeQuery API (#892)

* feat: dart only implementation of observeQuery

* feat: use sorted list for cached item

* chore: rename sorted list file

* feat: move merge logic inside QuerySnapshot

* chore: update logging

* chore: move evaluate logic to QueryPredicate

* feat: add compareTo for temporal types

* chore: update examples

* test: add unit tests for querySnapshot

* feat: add sync status

* chore: move StreamGroup

* feat: batch before sync

* feat: duration batching

* chore: create executor

* chore: add license

* feat: allow for no throttling

* test: add tests for throttle extension

* chore: remove events from QuerySnapshot

* chore: remove events from executor

* chore: undo change in main for unit tests

* chore: undo formatting change

* chore: remove temp changes to query

* chore: remove temp change in post model

* chore: add missing license

* chore: add missing license

* chore: remove check for dup event

* chore: handle non-comparable fields

* chore: remove comments from temporal types

* chore: remove late keyword

* chore: add operators to SortedList

* test: add test for withSyncStatus

* test: add tests for SortedList

* chore: replace StreamGroup w/ merge util

* chore: update comments

* test: add unit test for mergeStreams

* test: add tests for observeQueryExecutor

* chore: removed unused ensureInitialized calls

* chore: update doc comments

* fix: update query field operator comparisons

* test: add tests for sort comparisons

* test: query predicate comparison test

* test: add test for sync status cache

* test: add tests for and/or/not predicates

* chore: update model

* chore: address initial PR comments

* chore: refactor ObserveQueryExecutor

* chore: refactor SortedList to use ListMixin

* feat: update merge to use sync stream controller

* test: observeQuery integ tests

* chore: update example app

* feat: start batching after model sync started

* chore: removed runQueries() from example app

* chore: refactor sort order, add test

* chore: update import statement

* chore: refactor withSubscriptionEvent

* chore: add test coverage to throttle util

* chore: replace custom merge util with async

* chore: address formatting issue

* chore: remove unused stream util

* chore: undo unrelated change

* Revert test model changes

* Fix test model

* Bump iOS version

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* Revert "feat(datastore): Add ModelField ReadOnly support (#599)" (#994)

This reverts commit fd126027b7b3e6afa0f9ef1d037e7e380bf53a48.

* chore: 0.2.6 release (#993)

* 0.2.6 release

* Update example app pubspec

* Bump Android deps

* Query operator fields should be nullable

* Update changelogs

* fix: update predicate evaluation for nulls

* test: add query predicate evaluate tests for nulls

* chore: update test data

* chore: regen models with cli 6.3.1

* chore: add test schema file

Co-authored-by: Jordan Nelson <[email protected]>

* Fix imports

* Fix linting

* Update dependencies

* Add missing build tools

* Update pubspecs

* Revert Android changes

* Use local dependencies

* Update license and readme

* Trigger CI

* Fix imports

* Fix lints

* Revert amplify_flutter change

* Remove unnecessary lint disable

* Revert DataStore model changes; fix yellow

* Remove uuid from API plugin deps

* Misc corrections

* Add license headers

* Fix deps

* Remove flutter test pkg for now; fix integ tests

* Add flutter dependency

* Fix unit tests

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>

* chore: Melos integration tests (#1025)

* Melos integ test fixes

* Update test command

* Datastore support read only (#1024)

* feat(datastore): Add ModelField ReadOnly support

ModelFields can be readOnly to support non modifiable field types.

Updated all Datastore Codegen models with cli-codegen's new createdAt and updatedAt auto generated fields.

* chore(datastore): Update changelog with preview instructions (#1001)

* chore(datastore): Update changelog with preview instructions

* Reorganize the RC changelog

* Update description

* chore: release 0.3.0-rc.2 (#1030)

* chore: release 0.3.0-rc.2

* Update pubspec of the example app

* fix(api): Rebase OIDC fixes for RC (#1036)

* Rebase OIDC fixes for RC

* Update changelogs

* Remove dup gradle dep

* chore(datastore): Update codegen generated files (#1038)

* Post exceptions on the main thread (#1046)

* chore(auth): CognitoUserAttributes type (#1035)

* Re-land cognito attribute type

* Update examples

* Update doc comment

* Update values

* Make non-breaking

* Revert "Make non-breaking"

This reverts commit ccada62cb6208b28e082002aa0c994ec6b69caac.

* Make non-breaking

* Use UserAttributeKey instead of Object

* Clean up

* Fix unit test

* Change invalid key parsing

* Copy user attributes before removing

* Fix test

* Rename to CognitoUserAttributeKey

* Update user attribute methods to throw

* Remove import

* Fix integration test

* chore: Update changelog date (#1053)

* Update changelog date

* Update meta dependency

* chore: remove deprecated auth classes (#1049)

* chore: remove deprecated auth classes

* chore: uodate change log

* Update CHANGELOG.md

* Update CHANGELOG.md

* chore(amplify_core): move model-related types from datastore interface to amplify_core (#1023)

move some model-related types from datastore interface to core to support API model-based helpers

* fix: serialize confirm sign up options (#1083)

* fix: serialize confirm sign up options

* chore: update unit test

* Revert "chore(amplify_core): move model-related types from datastore interface to amplify_core (#1023)" (#1102)

This reverts commit 176653ea5cd7575f6d33d9825b7505c88e908f47.

* Merge main into release-candidate (#1113)

* Replace JCenter with Maven Central (#903)

* Replace JCenter with Maven Central

* Make uniform

* Revert core

* fix(datastore): remove default pagination behavior on iOS (#906)

* fix: remove default pagination on ios

* chore: update test to use models.length

* chore: remove sort order from test

* test: update datastore unit test

* chore: move var declaration inside if block

* feat(Auth) support preferPrivateSession flag (#897)

* support preferPrivateSession flag

* fix flutter format

* fix unit test

* create and use SignInWithWebUIOptions

* update styles and doc

* remove unused code

Co-authored-by: Mo Malaka <[email protected]>

* feat(auth): add global sign out (#782)

* feat: add global sign out

* chore: rmove unused code

* chore: Update android unit tests

* chore: update iOS unit tests

* chore: add unit tests for global sign out

* chore: fix formatting

* chore: update amplify-android to 1.26.0

* chore: update SignOutRequest comment

* chore: refactor FlutterSignOutRequest

* chore: update integration test commands to allow selection (#910)

* chore: update integ test commands with selection

* chore: update description

* chore: Revert unpub (#919)

* Add unpub iOS checks

* Fix port

* Add logs

* Run server in background

* Make script foreground

* Add wait before pub get

* Remove sleep

* Update URL

* Remove from CI

* Remove unpub stuff

* Fix API auth for REST (#925)

* chore: bump amplify-android dep to 1.28.0 (#949)

* feat(datastore): Add ModelField ReadOnly support (#599)

* feat(datastore): Add ModelField ReadOnly support

ModelFields can be readOnly to support non modifiable field types.

* Storage download progress (#928)

Co-authored-by: Dillon Nys <[email protected]>

* chore: 0.2.5 release (#975)

* fix(datastore): Sync Issues (#963)

* Bump iOS

* Bump version

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* fix(datastore): Remove temporary fix to issue #395 (#967)

* fix(datastore): OIDC Rework (#966)

* Bump version

* Update Changelogs

* Update changelogs

* Update changelogs

* Change internal OIDC implementation

* Remove iOS tests for now

* Remove AuthProviderTests

* Update conventions

* Fix whitespace

* Add tests

* Clean up

* Clean up concurrency

* Fix tests

* Bump iOS versions

* Clean up Android

* Update changelog date

* Update changelogs

Co-authored-by: Hui Zhao <[email protected]>

* fix(datastore): Re-emit events on hot restart (#980)

* Add hot restart protection

* Add test

* Update DataStoreHubEventStreamHandlerTests.swift

Fix unit test

* Add deinit for test cases

* fix(datastore): replay events on Android after a hot restart (#965)

* fix: replay events on Android after a hot restart

* chore: use mutable list

* Update formatting

Co-authored-by: Jordan Nelson <[email protected]>

* chore: Update issue template (#985)

* chore: Update issue template

Update issue template to include pubspec.lock file

* Update bug_report.md

* feat(datastore): add observeQuery API (#892)

* feat: dart only implementation of observeQuery

* feat: use sorted list for cached item

* chore: rename sorted list file

* feat: move merge logic inside QuerySnapshot

* chore: update logging

* chore: move evaluate logic to QueryPredicate

* feat: add compareTo for temporal types

* chore: update examples

* test: add unit tests for querySnapshot

* feat: add sync status

* chore: move StreamGroup

* feat: batch before sync

* feat: duration batching

* chore: create executor

* chore: add license

* feat: allow for no throttling

* test: add tests for throttle extension

* chore: remove events from QuerySnapshot

* chore: remove events from executor

* chore: undo change in main for unit tests

* chore: undo formatting change

* chore: remove temp changes to query

* chore: remove temp change in post model

* chore: add missing license

* chore: add missing license

* chore: remove check for dup event

* chore: handle non-comparable fields

* chore: remove comments from temporal types

* chore: remove late keyword

* chore: add operators to SortedList

* test: add test for withSyncStatus

* test: add tests for SortedList

* chore: replace StreamGroup w/ merge util

* chore: update comments

* test: add unit test for mergeStreams

* test: add tests for observeQueryExecutor

* chore: removed unused ensureInitialized calls

* chore: update doc comments

* fix: update query field operator comparisons

* test: add tests for sort comparisons

* test: query predicate comparison test

* test: add test for sync status cache

* test: add tests for and/or/not predicates

* chore: update model

* chore: address initial PR comments

* chore: refactor ObserveQueryExecutor

* chore: refactor SortedList to use ListMixin

* feat: update merge to use sync stream controller

* test: observeQuery integ tests

* chore: update example app

* feat: start batching after model sync started

* chore: removed runQueries() from example app

* chore: refactor sort order, add test

* chore: update import statement

* chore: refactor withSubscriptionEvent

* chore: add test coverage to throttle util

* chore: replace custom merge util with async

* chore: address formatting issue

* chore: remove unused stream util

* chore: undo unrelated change

* Revert test model changes

* Fix test model

* Bump iOS version

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* Revert "feat(datastore): Add ModelField ReadOnly support (#599)" (#994)

This reverts commit fd126027b7b3e6afa0f9ef1d037e7e380bf53a48.

* chore: 0.2.6 release (#993)

* 0.2.6 release

* Update example app pubspec

* Bump Android deps

* Query operator fields should be nullable

* Update changelogs

* fix: update predicate evaluation for nulls

* test: add query predicate evaluate tests for nulls

* chore: update test data

* chore: regen models with cli 6.3.1

* chore: add test schema file

Co-authored-by: Jordan Nelson <[email protected]>

* Remove spooky log messages (#1008)

* Insert final newline (#1010)

* fix(datastore): Android TemporalTime Save Issue (#1009)

Add padding in fromString method for TemporalDateTime and TemporalTime to replace trailing “0”s removed by Android.

Fix suggested by @martinzuccotti

* fix(api): OIDC fixes for Android (#1028)

* OIDC fixes for Android

* Update comments

* Fix Android unit tests

* Remove debug statement

* Minor cleanup

* Update exception message

* chore: update amplify pods to 1.15.5 (#1037)

* fix(datastore): fix temporal date/time query predicates (#1027)

* test: add integ tests for datetime types

* fix: serialize temporal types in predicates

* chore: Update integ tests for temporal types

* chore: add DateTime back with deprecation note

* chore: add deprecation log for DateTime types

* fix: add missing import

* test: add unit test for temporal type

* fix: serialize values for non-primitive types

* Update aws_date_time_query_predicate_test.dart

* Update aws_time_query_predicate_test.dart

* chore: update integ tests

* Post exceptions on the main thread (#1047)

* Update custom pre-sign up handler (#1051)

* chore: 0.2.7 release (#1052)

* 0.2.7 release

* Revert bump note for plugin interface

* chore: tweak integration tests, change storage assertion and use gradle version 4.0.1 for all example apps (#1040)

* fix: "Reply already submitted" crashes (#1058)

* Update Android

* Update iOS

* Fix Android unit test

* Fix iOS unit tests

* Fix DateTime parsing (#1062)

* fix(storage): Storage.list crash on null "options" (#1061)

* Fix storage crash

* Remove validation message

* chore: remove DateTime.now() from tests (#1060)

* chore: remove datetime.now from datastore interface

* chore: remove datetime.now from datastore unit tests

* chore: remove datetime now from datastore integ tests

* Add ProGuard rules (#1064)

* fix:issue 1043 (#1044)

change 12-hours based date format to 24-hours .

https://developer.android.com/reference/kotlin/java/text/SimpleDateFormat#format

* fix (amplify_auth_cognito): fixes swallowed usercancelled exception with hosted ui android, and updates auth exampl… (#1015)

* fixes swallowed error with hosted ui android, and updates auth example app

* Update packages/amplify_auth_cognito/android/src/main/kotlin/com/amazonaws/amplify/amplify_auth_cognito/AuthCognito.kt

Co-authored-by: Dillon Nys <[email protected]>

Co-authored-by: Noyes <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>

* feat(datastore): Custom Error Handler (#1032)

* chore: 0.2.8 release (#1087)

* chore: 0.2.8 release

* Update changelogs

* chore: 0.2.9 release (#1108)

* chore: 0.2.9 release

* Correct the info in changelogs

* Fix incorrectly resolved conflict

* Fix amplify_core example iOS build

* Fix swift linter complained errors

- Function name cannot start with upper case
- Class name cannot start with lower case

* Revert "Fix swift linter complained errors"

This reverts commit ddceaa7d52202fd59f84645da145b1693e7698a8.

* Fix swiftlint errors

* Fix some changes

Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Su Tran <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: hexch <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>

* Fix resolving conflict brought errors

* Fix duplicate test member

* Remove old core file

Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Su Tran <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: hexch <[email protected]>
Co-authored-by: Noyes <[email protected]>

* chore: upgrade dependencies (#1138)

- amplify-android to 1.29.1
- amplify-ios pin to 1.15.6

* fix (amplify_datastore): fix error map from ios (#1126)

* fix(api): 0.3.0 fixes (#1153)

* Prevent false positive of registered auth provider

* Use default auth rule on Android (prevent null ex)

* Safe Map cast

* Fix linting

* Cherry-pick #1153

* fix(amplify_auth_cognito): remove int.parse from AuthUserAttribute (#1169)

* fix(amplify_auth_cognito): remove int.parse from AuthUserAttribute

* fix: update unit test

* chore: use toString over .key

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Su Tran <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: hexch <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris F <[email protected]>
  • Loading branch information
13 people authored Dec 6, 2021
1 parent fdd4788 commit fd986b8
Show file tree
Hide file tree
Showing 77 changed files with 1,242 additions and 484 deletions.
15 changes: 15 additions & 0 deletions example/ios/Runner/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
//
// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

import UIKit
import Flutter

Expand Down
15 changes: 15 additions & 0 deletions example/lib/Views/ImageLineItem.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
//
// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

import 'package:flutter/material.dart';

import 'ImagePreview.dart';
Expand Down
15 changes: 15 additions & 0 deletions example/lib/Views/ImagePreview.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
//
// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

import 'package:amplify_analytics_pinpoint/amplify_analytics_pinpoint.dart';
import 'package:amplify_flutter/amplify.dart';
import 'package:amplify_storage_s3/amplify_storage_s3.dart';
Expand Down
15 changes: 15 additions & 0 deletions example/lib/Views/ImageUploader.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
//
// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

import 'package:flutter/material.dart';
import 'dart:io';
import 'package:file_picker/file_picker.dart';
Expand Down
4 changes: 2 additions & 2 deletions packages/amplify_analytics_pinpoint/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ dependencies {
api amplifyCore

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.amplifyframework:aws-analytics-pinpoint:1.28.3-rc'
implementation 'com.amplifyframework:aws-auth-cognito:1.28.3-rc'
implementation 'com.amplifyframework:aws-analytics-pinpoint:1.29.1'
implementation 'com.amplifyframework:aws-auth-cognito:1.29.1'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:3.10.0'
testImplementation 'org.mockito:mockito-inline:3.10.0'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
*
* Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*
*/

package com.amazonaws.amplify.amplify_analytics_pinpoint

import android.app.Activity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
//
// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

import UIKit
import Flutter

Expand Down
15 changes: 15 additions & 0 deletions packages/amplify_analytics_pinpoint/example/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
//
// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

import 'package:amplify_analytics_pinpoint/amplify_analytics_pinpoint.dart';
import 'package:amplify_auth_cognito/amplify_auth_cognito.dart';
import 'package:amplify_flutter/amplify.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ This code is the iOS part of the Amplify Flutter Pinpoint Analytics Plugin. The
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.dependency 'Flutter'
s.dependency 'Amplify', '~> 1.15.5'
s.dependency 'AmplifyPlugins/AWSPinpointAnalyticsPlugin', '~> 1.15.5'
s.dependency 'Amplify', '1.15.6'
s.dependency 'AmplifyPlugins/AWSPinpointAnalyticsPlugin', '1.15.6'
s.dependency 'amplify_core'
s.dependency 'SwiftLint'
s.dependency 'SwiftFormat/CLI'
Expand Down
6 changes: 3 additions & 3 deletions packages/amplify_api/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ dependencies {
api amplifyCore

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "com.amplifyframework:aws-api:1.28.3-rc"
implementation "com.amplifyframework:aws-api-appsync:1.28.3-rc"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9'
implementation "com.amplifyframework:aws-api:1.29.1"
implementation "com.amplifyframework:aws-api-appsync:1.29.1"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'

testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:3.10.0'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@ import androidx.annotation.VisibleForTesting
import com.amazonaws.amplify.amplify_api.auth.FlutterAuthProviders
import com.amazonaws.amplify.amplify_api.rest_api.FlutterRestApi
import com.amazonaws.amplify.amplify_core.AtomicResult
import com.amazonaws.amplify.amplify_core.cast
import com.amazonaws.amplify.amplify_core.exception.ExceptionUtil.Companion.createSerializedUnrecognizedError
import com.amazonaws.amplify.amplify_core.exception.ExceptionUtil.Companion.handleAddPluginException
import com.amazonaws.amplify.amplify_core.exception.ExceptionUtil.Companion.postExceptionToFlutterChannel
import com.amplifyframework.api.aws.AWSApiPlugin
import com.amplifyframework.api.aws.AuthorizationType
import com.amplifyframework.core.Amplify
import io.flutter.embedding.engine.plugins.FlutterPlugin
import io.flutter.plugin.common.EventChannel
Expand Down Expand Up @@ -78,16 +80,20 @@ class AmplifyApiPlugin : FlutterPlugin, MethodCallHandler {
override fun onMethodCall(call: MethodCall, _result: Result) {
val methodName = call.method
val result = AtomicResult(_result, call.method)
val arguments: Map<String, Any> = (call.arguments as? Map<*, *>)?.cast() ?: mapOf()

if (methodName == "cancel") {
onCancel(result, (call.arguments as String))
return
} else if (methodName == "addPlugin") {
try {
val authProvidersList: List<String> =
(arguments["authProviders"] as List<*>?)?.cast() ?: listOf()
val authProviders = authProvidersList.map { AuthorizationType.valueOf(it) }
Amplify.addPlugin(
AWSApiPlugin
.builder()
.apiAuthProviders(FlutterAuthProviders(channel).factory)
.apiAuthProviders(FlutterAuthProviders(authProviders, channel).factory)
.build()
)
logger.info("Added API plugin")
Expand All @@ -99,7 +105,7 @@ class AmplifyApiPlugin : FlutterPlugin, MethodCallHandler {
}

try {
val arguments: Map<String, Any> = call.arguments as Map<String, Any>


when (call.method) {
"get" -> FlutterRestApi.get(result, arguments)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@ import kotlinx.coroutines.*
/**
* Manages the shared state of all [FlutterAuthProvider] instances.
*/
class FlutterAuthProviders(private val methodChannel: MethodChannel) {
class FlutterAuthProviders(
private val authProviders: List<AuthorizationType>,
private val methodChannel: MethodChannel
) {

private companion object {
/**
Expand All @@ -51,11 +54,15 @@ class FlutterAuthProviders(private val methodChannel: MethodChannel) {
* A factory of [FlutterAuthProvider] instances.
*/
val factory: ApiAuthProviders by lazy {
ApiAuthProviders
.Builder()
.functionAuthProvider(FlutterAuthProvider(this, AuthorizationType.AWS_LAMBDA))
.oidcAuthProvider(FlutterAuthProvider(this, AuthorizationType.OPENID_CONNECT))
.build()
val authProviders = this.authProviders.toSet()
val builder = ApiAuthProviders.Builder()
if (authProviders.contains(AuthorizationType.AWS_LAMBDA)) {
builder.functionAuthProvider(FlutterAuthProvider(this, AuthorizationType.AWS_LAMBDA))
}
if (authProviders.contains(AuthorizationType.OPENID_CONNECT)) {
builder.oidcAuthProvider(FlutterAuthProvider(this, AuthorizationType.OPENID_CONNECT))
}
builder.build()
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
*
* Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*
*/

package com.amazonaws.amplify.amplify_api.rest_api

import android.os.Handler
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
*
* Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*
*/

package com.amazonaws.amplify.amplify_api

val getSuccessData = "{\"success\":\"get call succeed!\",\"url\":\"/items\"}".toByteArray()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
*
* Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*
*/

package com.amazonaws.amplify.amplify_api_example

import io.flutter.embedding.android.FlutterActivity
Expand Down
15 changes: 15 additions & 0 deletions packages/amplify_api/example/ios/Runner/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
//
// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

import UIKit
import Flutter

Expand Down
12 changes: 12 additions & 0 deletions packages/amplify_api/ios/Classes/Auth/FlutterAuthProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,23 @@ class FlutterAuthProviders: APIAuthProviderFactory {
return token ?? unknownError
}

private let authProviders: Set<AWSAuthorizationType>

init(_ authProviders: [AWSAuthorizationType]) {
self.authProviders = Set(authProviders)
}

override func oidcAuthProvider() -> AmplifyOIDCAuthProvider? {
guard authProviders.contains(.openIDConnect) else {
return nil
}
return FlutterAuthProvider(type: .openIDConnect)
}

override func functionAuthProvider() -> AmplifyFunctionAuthProvider? {
guard authProviders.contains(.function) else {
return nil
}
return FlutterAuthProvider(type: .function)
}
}
Expand Down
16 changes: 11 additions & 5 deletions packages/amplify_api/ios/Classes/SwiftAmplifyApiPlugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -58,26 +58,32 @@ public class SwiftAmplifyApiPlugin: NSObject, FlutterPlugin {
let cancelToken = try FlutterApiRequest.getCancelToken(args: callArgs)
onCancel(flutterResult: result, cancelToken: cancelToken)
return
} else if method == "addPlugin"{
addPlugin(result: result)
return
}

let arguments = try FlutterApiRequest.getMap(args: callArgs)

if method == "addPlugin"{
let authProvidersList = arguments["authProviders"] as? [String] ?? []
let authProviders = authProvidersList.compactMap {
AWSAuthorizationType(rawValue: $0)
}
addPlugin(authProviders: authProviders, result: result)
return
}

try innerHandle(method: method, arguments: arguments, result: result)
} catch {
print("Failed to parse query arguments with \(error)")
FlutterApiErrorHandler.handleApiError(error: APIError(error: error), flutterResult: result)
}
}

private func addPlugin(result: FlutterResult) {
private func addPlugin(authProviders: [AWSAuthorizationType], result: FlutterResult) {
do {
try Amplify.add(
plugin: AWSAPIPlugin(
sessionFactory: FlutterURLSessionBehaviorFactory(),
apiAuthProviderFactory: FlutterAuthProviders()))
apiAuthProviderFactory: FlutterAuthProviders(authProviders)))
result(true)
} catch let apiError as APIError {
ErrorUtil.postErrorToFlutterChannel(
Expand Down
Loading

0 comments on commit fd986b8

Please sign in to comment.