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

feat(auth): add updateUserAttributes (batch) #601

Merged

Conversation

Jordan-Nelson
Copy link
Member

@Jordan-Nelson Jordan-Nelson commented May 28, 2021

Issue #, if available: #193

Description of changes:

  • add new auth method for updateUserAttributes (batch update of user attributes)

NOTE: This requires a fix on Android and should not be merged

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

@Jordan-Nelson Jordan-Nelson requested a review from a team as a code owner May 28, 2021 15:26
Copy link
Member

@cshfang cshfang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really know enough about Auth so I'm afraid I left more questions than comments. It seems pretty straightforward to me and most of my questions were around whether it's possible for us to be more DRY and a few nitpicky things here and there. It lgtm otherwise!

/// The list of user attribute to update
final List<AuthUserAttribute> attributes;

// ignore: public_member_api_docs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Why not just add some brief documentation? Even just

/// Default constructor

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated this and serializeAsMap.

I could go either way on something like this. On one hand, this isn't meant for public consumption (no harm in it being public, customers just shouldn't need to use it directly) and I don't really want to set a standard of adding documentation that isn't valuable. On the other hand, it does look make the API docs look incomplete to have so many public things undocumented.

Also worth noting that we do lose 10 points on pub.dev for having less than 20% of public APIs documented. I would assume simply adding ignore does not exclude this from that calculation.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fwiw, I actually think if it's meant to be internal, we should maybe emphasize that it's not meant to be publicly consumed - i.e. it's subject to change so use at your own risk. I actually wonder if we would benefit from doing something like that across the board.

Generally speaking, I don't like to add documentation that isn't all that meaningful either but if I consider the developer experience it seems like, at worst, extra documentation is annoying but, at best, really helps me navigate foreign code. Since our code is largely intended to be consumed by others, even seemingly low value documentation could be surprisingly helpful... for example, if someone didn't understand Dart at all and was looking at the constructor syntax for the first time, they may find it useful to know the constructor is the constructor.

Anyway, sorry for the long winded way of saying thanks for adding the doc 😂

@@ -2,6 +2,7 @@ import 'package:amplify_auth_cognito/amplify_auth_cognito.dart';
import 'package:amplify_flutter/amplify.dart';
import 'package:flutter/material.dart';

import 'UpdateMultipleUserAttributes.dart';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Feel like I could go both ways on this but just wanna call out that we may want to opt for consistency in the naming - i.e. omit the "Multiple"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah thats fair. I didn't notice how closely the widget names were matching the method names for all the other widgets. Updated.

}
}

// ignore_for_file: public_member_api_docs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: General comment around these ignores. Shouldn't we just add some documentation instead?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the example app. I don't see any reason to add them in the example app. If there is a way to ignore the entire app, I think we should do that.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it is a nit comment after all. Though I do think there's value in documenting example apps since they are supposed to nudge users towards best practices in theory? It just seems like it would potentially be a good experience to me if I'm perusing this and the code was educational.

@@ -157,7 +160,7 @@ public class AuthCognito : FlutterPlugin, ActivityAware, MethodCallHandler, Plug
} catch(e: Exception) {
return errorHandler.prepareGenericException(result, e)
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Random whitespace added


companion object {
private const val validationErrorMessage: String = "UpdateUserAttributesRequest Request malformed."
fun validate(req: HashMap<String, *>?) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think it'd be possible to extract some of this validation logic and share it with FlutterUpdateUserAttributeRequest?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially, yeah. I was going to take a look at extracting some of the serialization logic between the two results. I can look at this as well.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I extracted the attribute validation into validateUserAttribute used on line 41. Thanks for the suggestion 👍

}
}

static func validate(dict: NSMutableDictionary) throws {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same general question about sharing code here if possible?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will take a look 👍

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.


func createAttributeJSON(updateResult: AuthUpdateAttributeResult) ->Dictionary<String, Any> {
return [
"isUpdated": isUpdated(updateResult: updateResult),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Is the function even necessary?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, not as it is now. I was going to remove it but decided to just leave it since I am going to revisit sharing code between the two results and I think that will involve adding some logic to it. If there isn't any logic added after revisiting it, I will just remove it.

return updateResult.isUpdated
}

func setCodeDeliveryDetails(updateResult: AuthUpdateAttributeResult) -> [String: String] {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like a lot of this could be shared with FlutterUpdateUserAttributeResult.swift also? Also really prefer your changes here of moving the result switch up a level

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is on my list to look at. That is a good point about moving the switch up. That would probably actually make sharing the logic here easier if I move it up a level for FlutterUpdateUserAttributeResult. I will take a look at that.

await _channel.invokeMapMethod<String, dynamic>(
'updateUserAttributes',
<String, dynamic>{
'data': request != null ? request.serializeAsMap() : null,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I think this is effectively the same as

Suggested change
'data': request != null ? request.serializeAsMap() : null,
'data': request?.serializeAsMap(),

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. Actually now that I look at this, I think the null check can just be removed. request is marked as @required, and while that doesn't actually force it to be non null without sound null safety, this isn't exposed publicly.

I am going to update it to just remove the null check.


companion object {
private const val validationErrorMessage: String = "UpdateUserAttributesRequest Request malformed."
fun validate(req: HashMap<String, *>?) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I extracted the attribute validation into validateUserAttribute used on line 41. Thanks for the suggestion 👍


import com.amplifyframework.auth.AuthCodeDeliveryDetails

fun serializeAuthCodeDeliveryDetails(deliveryDetails: AuthCodeDeliveryDetails?): Map<String, Any> {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: Right now this is only used for update user attributes (single update and batch update) but this should be reusable for sign up, sign in, reset password, and resend sign up code. I was hesitant to refactor all of those in this PR though.

}
}

static func validate(dict: NSMutableDictionary) throws {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.

import Foundation
import Amplify

func serializeAuthCodeDeliveryDetails(deliveryDetails: AuthCodeDeliveryDetails) -> [String: String] {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: Same note I made on the Android side - Right now this is only used for update user attributes (single update and batch update) but this should be reusable for sign up, sign in, reset password, and resend sign up code. I was hesitant to refactor all of those in this PR though.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed - this should be a seperate PR. There will be some conflicts with NS, so maybe we can make these changes at that time.

@@ -50,6 +50,12 @@ func createAuthUserAttributeKey(keyName: String) -> AuthUserAttributeKey {
case "preferred_username":
return AuthUserAttributeKey.preferredUsername
default:
return AuthUserAttributeKey.custom(keyName)
// amplify-ios does not currently include enums for these keyNames
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: This isn't needed for the new functionality, but it addresses a related bug.

Copy link
Member

@cshfang cshfang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm. Left some minor comments but all pretty nit

}
}

// ignore_for_file: public_member_api_docs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Can we move file level ignores to the top of the file?

case .failure:
return "ERROR"
func toJSON() -> Dictionary<String, Any> {
return self.result == nil ? [:] : serializeAuthUpdateAttributeResult(result: self.result!)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit suggestion/question: What do you think about moving the nil check into the serializeAuthUpdateAttributeResult function itself and have it return the empty dict on a nil result instead? It seems like having the nil guard there would arguably make it a bit more reusable.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that is reasonable. I put it here because I viewed it as specific to this use case. In this case, result is only nil if the AmplifyOperation is a failure, and it doesn't really matter what this returns in the case of a failure.

It is admittedly a bit hacky though to just return an empty dictionary in the case of a failure, knowing it won't be used. I don't think there is a clear "correct" return value in the case of a failure, but an empty dict probably isn't appropriate. Looking at what we do for the other results in auth, it looks like we generally return a dictionary that has the same attributes as the success case with all the values as empty string / nil / false. Again, not sure this is clearly "correct" but consistency would be preferred.

tl;dr - I will update serializeAuthUpdateAttributeResult to allow for nil and follow the pattern used elsewhere for serializing results in the case of failures 👍

@@ -0,0 +1,49 @@
/*
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@codecov-commenter
Copy link

codecov-commenter commented Jun 2, 2021

Codecov Report

Merging #601 (876e25b) into master (2516e81) will increase coverage by 0.56%.
The diff coverage is 81.16%.

@@            Coverage Diff             @@
##           master     #601      +/-   ##
==========================================
+ Coverage   68.32%   68.88%   +0.56%     
==========================================
  Files         252      262      +10     
  Lines        8252     8459     +207     
  Branches      346      351       +5     
==========================================
+ Hits         5638     5827     +189     
- Misses       2481     2496      +15     
- Partials      133      136       +3     
Flag Coverage Δ
android-unit-tests 61.98% <74.50%> (+0.28%) ⬆️
flutter-unit-tests 60.52% <72.22%> (+0.10%) ⬆️
ios-unit-tests 75.12% <83.40%> (+0.73%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...ognito/types/FlutterConfirmUserAttributeRequest.kt 70.00% <ø> (ø)
...utterResendUserAttributeConfirmationCodeRequest.kt 57.14% <ø> (ø)
...amplify_auth_cognito/types/FlutterSignUpRequest.kt 47.82% <ø> (ø)
...auth_cognito/utils/UserAttributeDeserialization.kt 26.08% <ø> (ø)
...y_auth_cognito/ios/Classes/AuthCognitoBridge.swift 0.64% <0.00%> (-0.04%) ⬇️
...s/Utils/AuthCodeDeliveryDetailsSerialization.swift 0.00% <0.00%> (ø)
...s/Classes/Utils/UserAttributeDeserialization.swift 69.69% <ø> (ø)
..._flutter/lib/categories/amplify_auth_category.dart 13.00% <0.00%> (-0.69%) ⬇️
...nito/utils/AuthCodeDeliveryDetailsSerialization.kt 40.00% <40.00%> (ø)
...ognito/types/FlutterUpdateUserAttributesRequest.kt 50.00% <50.00%> (ø)
... and 27 more

@Jordan-Nelson Jordan-Nelson requested a review from a team June 3, 2021 14:56
@Jordan-Nelson Jordan-Nelson mentioned this pull request Jun 3, 2021
@@ -15,6 +15,7 @@

package com.amazonaws.amplify.amplify_auth_cognito.types

import com.amazonaws.amplify.amplify_auth_cognito.utils.createAuthUserAttributeKey
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How was it previously working without this import?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was in the same "types" package before. I created a new package for utils.

// Android SDK expects a string for user attr values, regardless of the configuration in cognito
throw InvalidRequestException(validationErrorMessage, "Attribute value is not a String.")
}
validateUserAttribute(attribute, validationErrorMessage)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good change

Copy link
Member

@haverchuck haverchuck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some questions/comments, but overall looks great.

@Jordan-Nelson Jordan-Nelson merged commit 8b0893c into aws-amplify:master Jun 8, 2021
fjnoyp added a commit that referenced this pull request Jun 28, 2021
* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

# Conflicts:
#	packages/amplify_datastore_plugin_interface/lib/src/publicTypes.dart

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
cshfang added a commit that referenced this pull request Jul 6, 2021
* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
cshfang added a commit that referenced this pull request Jul 6, 2021
* feat(amplify): Null Safety Core (#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (#536)

* feat(amplify_analytics): Null safety (#483)

* feat(amplify_storage_s3): Null safety (#485)

* feat(amplify_api): Null safety api (#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (#613)

* Example app null safety fixes (#617)

* Null safety master fixes pr (#614)

* chore(release): 0.2.0-nullsafety.0 (#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (#653)

* Null safety datastore (#649)

* chore: release 0.2.0-nullsafety.1 (#656)

* bug(datastore): HubEvent null check (#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (#676)

* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

# Conflicts:
#	packages/amplify_datastore_plugin_interface/lib/src/publicTypes.dart

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a.

* fix(auth): uses nextStep helper for signInResult on Android (#689)

* chore: release 0.2.0 (#690)

* Null safety branch (#698)

* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Dillon Nys <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
dnys1 added a commit that referenced this pull request Jul 12, 2021
* feat(amplify): Null Safety Core (#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (#536)

* feat(amplify_analytics): Null safety (#483)

* feat(amplify_storage_s3): Null safety (#485)

* feat(amplify_api): Null safety api (#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (#613)

* Example app null safety fixes (#617)

* Null safety master fixes pr (#614)

* chore(release): 0.2.0-nullsafety.0 (#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (#653)

* Null safety datastore (#649)

* chore: release 0.2.0-nullsafety.1 (#656)

* bug(datastore): HubEvent null check (#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (#676)

* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

# Conflicts:
#	packages/amplify_datastore_plugin_interface/lib/src/publicTypes.dart

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a.

* fix(auth): uses nextStep helper for signInResult on Android (#689)

* chore: release 0.2.0 (#690)

* Revert "Merge branch 'master' into null-safety-master"

This reverts commit 5e7fd30, reversing
changes made to bf394bb.

* Update docs

* Add user attributes

* Update tests

* Revert minor change

* Merge branch 'master' into chore/user-attributes-ns

* Add export

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
haverchuck added a commit to haverchuck/amplify-flutter-1 that referenced this pull request Jul 31, 2021
* feat(amplify): Null Safety Core (aws-amplify#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (aws-amplify#536)

* feat(amplify_analytics): Null safety (aws-amplify#483)

* feat(amplify_storage_s3): Null safety (aws-amplify#485)

* feat(amplify_api): Null safety api (aws-amplify#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (aws-amplify#613)

* Example app null safety fixes (aws-amplify#617)

* Null safety master fixes pr (aws-amplify#614)

* chore(release): 0.2.0-nullsafety.0 (aws-amplify#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (aws-amplify#653)

* Null safety datastore (aws-amplify#649)

* chore: release 0.2.0-nullsafety.1 (aws-amplify#656)

* bug(datastore): HubEvent null check (aws-amplify#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (aws-amplify#676)

* chore: pin Amplify iOS to '~> 1.9.2' (aws-amplify#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (aws-amplify#568)

* feat(auth): add updateUserAttributes (batch) (aws-amplify#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (aws-amplify#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (aws-amplify#619)

* Chore: remove check for duplicate error in Storage (aws-amplify#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (aws-amplify#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (aws-amplify#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (aws-amplify#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (aws-amplify#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (aws-amplify#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (aws-amplify#607)

* chore: Add CircleCI badge (aws-amplify#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (aws-amplify#650)

* fix: amplify-ios version bump (aws-amplify#648)

* fix: amplify-ios version bump ~> 1.11.0 (aws-amplify#665)

* chore: release 0.1.6 (aws-amplify#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore aws-amplify#500 (aws-amplify#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

# Conflicts:
#	packages/amplify_datastore_plugin_interface/lib/src/publicTypes.dart

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (aws-amplify#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (aws-amplify#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (aws-amplify#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (aws-amplify#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (aws-amplify#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a.

* fix(auth): uses nextStep helper for signInResult on Android (aws-amplify#689)

* chore: release 0.2.0 (aws-amplify#690)

* Revert "Merge branch 'master' into null-safety-master"

This reverts commit 5e7fd30, reversing
changes made to bf394bb.

* Update docs

* Add user attributes

* Update tests

* Revert minor change

* Merge branch 'master' into chore/user-attributes-ns

* Add export

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
dnys1 added a commit that referenced this pull request Oct 1, 2021
* chore: make .gitignore more specific for amplify dirs and tweak integration test melos tasks (#711)

* chore(auth): User attributes/sign up docs (#697)

* feat(amplify): Null Safety Core (#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (#536)

* feat(amplify_analytics): Null safety (#483)

* feat(amplify_storage_s3): Null safety (#485)

* feat(amplify_api): Null safety api (#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (#613)

* Example app null safety fixes (#617)

* Null safety master fixes pr (#614)

* chore(release): 0.2.0-nullsafety.0 (#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (#653)

* Null safety datastore (#649)

* chore: release 0.2.0-nullsafety.1 (#656)

* bug(datastore): HubEvent null check (#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (#676)

* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

# Conflicts:
#	packages/amplify_datastore_plugin_interface/lib/src/publicTypes.dart

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a.

* fix(auth): uses nextStep helper for signInResult on Android (#689)

* chore: release 0.2.0 (#690)

* Revert "Merge branch 'master' into null-safety-master"

This reverts commit 5e7fd30, reversing
changes made to bf394bb.

* Update docs

* Add user attributes

* Update tests

* Revert minor change

* Merge branch 'master' into chore/user-attributes-ns

* Add export

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>

* chore(amplify_api): add GraphQL integration tests (#694)

* chore(CI): enable formatting in CI w/ code changes (#570)

* enable formatting in CI

* diable analyze

* split up format and analyze

* chore: melos run format

* chore: empty commit to re-run CI

* chore(auth): integration tests for user attributes (#640)

* handle missing or empty signUpOptions

* add android unit test

* fix iOS tests

* add integration tests for auth.signUp

* remove unused imports, formatting

* add integration tests for user attributes

* add integration tests

* update auth category after NS changes

* update auth category for NS changes

* update unit test for NS changes

* update unit tests for NS changes

* address PR comments

* remove extra parens

* Apply SignUpRequest changes from code review

* add test for invalid attr value

* add user attribute confirmation test

* add fetchUserAttributes group

* remove test for email confirmation

* chore(api): Add API response headers/status (#721)

* Add API response headers/status

* Clean up

* Ensure proper deserialization

* Fix ios tests

* remove unnecessary default

* Add iOS status/headers + tests

* Remove empty body fix

* Missing status code

* Add license comments

* Clean up iOS tests

* Add RestException tests

* Add deprecation warning

* Fix example encoding

* Add Flutter plugin tests

* Rename file

* chore(amplify_datastore): make SubscriptionEvent directly available via datastore plugin by adding to publicTypes in interface (#728)

* fix(datastore): not serializing enum type in a predicate (#726)

* chore(amplify_storage_s3): add storage integration tests and update example app (#734)

* chore(auth): add integration test coverage for auth (#724)

* chore(auth): add integ tests for auth hub

* chore(auth): add integ test for update password

* chore(auth): add integ test for sign up exceptions

* chore(auth): test exceptions in signIn, signOut

* chore(auth): add fetch session integration tests

* chore(auth): add integ tests for getCurrentUser

* chore: formatting in get_current_user

* chore: formatting in fetch_session

* chore: refactor setup for update password tests

* chore: update fetch session test to check for null

* fix typos in comments

* chore: address PR feedback

* chore: fix formatting issues

* chore(datastore): add integration tests for datastore (#753)

* chore: add integration tests for datastore

* chore: address pr comments

* chore: configure datastore before each test

* chore: refactor save test

* chore: fix formatting

* chore: update name to configureDataStore

* Release updates 0.2.1 (#756)

* chore: Update Changelog for 0.2.1 release

* chore: Update Pubspec version to 0.2.1

Also update amplify.dart to return 0.2.1 for version string

* Update changelog

* chore: set min flutter version to '>1.20.0' in packages where set to … (#757)

* feat(amplify_auth_cognito): enables clientMetadata for signUp (#713)

* fix(datastore): Query nested model causes column not found sql error (#761)

* Reformat source code

* fix(datastore): Query nested model causes column not found sql error

* Optimize method interface to clarify the purpose

* Optimize method interface

* Added relationship check ensure the field conversion happens only for BelongsTo

* bug(analytics): Force session start (#764)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* fix(analytics): Typo (#765)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* Fix iOS method name

* feat(amplify_auth_cognito): Auth Devices API (#735)

* Add platform code

* Clean up

* Add licenses

* Fix error handling

* Add logging and update threading logic

* Add iOS unit tests

* Clean up

* Add tests to project

* Fix unit tests

* chore(datastore): Remove redundant files for the datastore example (#762)

* feat(datastore): Populate belongs-to nested models (#658)

* feat(datastore): Populate has-one and belongs-to nested models

* Nest data under serializedData key and persist modelName

* Resolve comment

* Update packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift

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

* chore(amplify_api): add support for apiName to GraphQL requests (#553)

* fix(amplify_api): prevent some fatal REST errors in Android

Throw ApiException in android when PUT, POST, and PATCH REST requests have no body to prevent fatal error (#661).

* chore(release): 0.2.2 (#781)

* chore(release): missing dependency (#783)

* Bump analytics version

* Fix PR #

* Bump all versions

* Missing bump

* Pin collections

* chore: skip FlutterURLSessionTests (#795)

* chore(lints): Add amplify_lints package (#808)

* Add lints package

* Add missing readme item

* feat(auth): add options to resendSignUpCode (#738)

* feat(auth): add options to resendSignUpCode

* fix: add type export for sing up code options

* chore: fix formatting issues

* chore: update comments for consistency

* chore: rename private method names for consistency

* chore: update comments for consistency

* chore: make ResendSignUpCodeOptions abstract

* chore: update ResendSignUpCodeRequest serializeAsMap

* chore: update ios test

* chore update doc comments

* chore: bump amplify-android to 1.24.0

* chore: remove star import

* feat(auth): add support for options to resetPassword, confirmResetPassword (#743)

* chore: rename confirmPassword to confirmResetPassword

* chore: fix grammatical errors in docs

* feat(auth): add options support for resetPassword, confirmResetPassword

* chore: rename private methods for consistency

* chore: update comments for consistency

* chore: update ios tests

* chore: fix comments

* chore: handle deprecated methods

* separate out deprecated class

* chore: update serializeAsMap for consistency

* chore: properly deprecate confirmPassword

* chore: add deprecation annotation to interface

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* feat(auth): add options to updateAttribute, updateAttributes, resendUserAttributeConfirmationCode (#775)

* chore: move attribute types to new dir

* chore: rename fetch attribute classes

* feat: add client metadata to user attribute methods

* deprecate renamed types

* chore: update comments for consistency

* chore: rename methods, tests

* chore: break out depracted classes, make new classes abstract

* chore: revert star import

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* chore: remove empty line

* fix(amplify_auth_cognito): throws signedout exception (#730)

* fix(amplify_datastore): ios send modelProviderVersion (#439)

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

* feat(datastore): Add start and stop APIs (#811)

* Convert file to LF mode

* feat(datastore): Add start and stop APIs

* Add docs

* Resolve comments

* chore(analytics): Apply lints (#810)

* Clean up pinpoint

* Clean up pinpoint dart

* Enable CI for analytics

* Add iOS linting

* Clean up

* Update iOS script

* Fix Android melos script

* Update CI order

* Small changes

* Update type

* Add iOS whitespace rules

* Update type

* Apply updated rules

* feat(auth): OIDC/Lambda Support (#777)

* OIDC/Lambda support

* Clean up

* Fix iOS test

* Add unit tests

* Fix Android test

* Fix Android tests

* Refactor and remove AuthToken from the public API

* Remove concurrent guards

* Clean up

* chore: upgrade amplify-android 1.24.1 (#829)

* fix(datastore): cannot saving boolean as integer in SQLite (#754)

* fix(datastore): cannot saving boolean as integer in SQLite

* fix unit test

* Apply the fix to double type field as well

* fix(datastore): return null for list field in nested model (#843)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent (#647)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent

* Print unrecognized event details in iOS

* Resolve comments

* chore(api): Apply lints (#812)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Revert license date

* Revert "Revert license date"

This reverts commit 1b93b3f.

* test(DataStore): add local integration tests for datastore (#831)

* chore: add new model types for tests

* test: add tests for model types

* chore: update models for relationship tests

* test: add tests for hasOne, belongsTo

* chore: update models for hasMany tests

* test: add tests for hasMany relationship

* test: add query predicate test for string type

* test: add test for updating an existing model

* chore: skip flaky test on Android

* chore: clean up string predicate tests

* test: add integ tests for int/double query predicates

* chore: remove unused model

* chore: update tests after fix of #511

* chore: refactor model type tests

* chore: add provisioning script

* chore: update relationship tests

* chore: remove skipped test in save

* chore: add delay before clearing datastore

* test: add bool query predicate tests

* chore: update issue link for skipped test

* chore: update test w/ fix of #834

* Apply suggestions from code review

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

* chore: update testQueryPredicate for all models

* chore: update comment in bool query tests

* test: add test cases for unicode

* chore: update bool model generation

* chore: update testModelOperations to use getModelType

* test: add edge cases for model type tests

* chore: remove unneeded Map.from

* test: add edge cases to query predicate tests

* chore: update int/double predicate tests to use <>=

* chore: remove unneeded configure calls

* chore: update string between() test

* chore: update relationship tests to check for single model

* test: update observe tests to test all events

* chore: add notes to equality checks

* chore: remove const from test

* chore: remove hard coded length

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

* fix(api): OIDC/Lambda Fixes (#862)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Merge branch 'datastore/multiauth' into chore/api-lints

* Revert multiauth

* Fix updateTokens

* Fix GraphQL error decoding

* Fix formatting

* Clean up

* Clean up

* Clean up

* Fix analysis for Flutter 2.5.0

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

* fix(amplify_datastore): iOS json deserialization (#806)

iOS ONLY fix.  Android was unaffected.

Ensure nested model int types are returned as int instead of double

Consolidate duplicated code for extracting values from Json during serialization step

* chore(release): 0.2.3 (#866)

* fix(example) updates amplify dependencies (#867)

* test(DataStore): add additional local integration tests for datastore (#844)

* Revert "Merge branch 'release-candidate' into main" (#871)

This reverts commit a88a109, reversing
changes made to 324ebad.

* fix: Cocoapods relative import (#874)

* Fix Cocoapods relative import

* Update dependencies

* Add lints license

* Update amplify_flutter

* 0.2.4

* fix(example): Update dependencies (#875)

* Update example app

* Add example app to CI

* Update iOS settings

* chore: Enable release checks via unpub (#876)

* Add unpub step to CI builds

* Fix CI config

* Fix CI script

* Add yq

* Fix brew

* Add yq on Android

* Add new workflows

* Fix yml

* Fix yml

* Fix yml

* Fix curl cmd

* Fix docker compose check

* Fix yml

* Fix yml

* Update path search

* Fix melos setup

* Fix yq script

* Switch executor flow

* Fix

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Update launcher

* Fix ref

* Test

* Fix versions

* Fix example version

* Fix remote build

* Fix dev dependency versioning

* Fix script order

* Use local project for seeding deps

* Add dummy configs back

* Reenable full pipeline

* Fix melos command

* Update step name

* Merge main

* fix: Melos bootstrap should not fail (#887)

* Fix postbootstrap

* Fix example app

* 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)

Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: José Sánchez <[email protected]>
Co-authored-by: Su Tran <[email protected]>
dnys1 added a commit that referenced this pull request Oct 5, 2021
* chore: make .gitignore more specific for amplify dirs and tweak integration test melos tasks (#711)

* feat: ✨ first snippet for the amplify authenticator

* chore(auth): User attributes/sign up docs (#697)

* feat(amplify): Null Safety Core (#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (#536)

* feat(amplify_analytics): Null safety (#483)

* feat(amplify_storage_s3): Null safety (#485)

* feat(amplify_api): Null safety api (#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (#613)

* Example app null safety fixes (#617)

* Null safety master fixes pr (#614)

* chore(release): 0.2.0-nullsafety.0 (#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (#653)

* Null safety datastore (#649)

* chore: release 0.2.0-nullsafety.1 (#656)

* bug(datastore): HubEvent null check (#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (#676)

* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

# Conflicts:
#	packages/amplify_datastore_plugin_interface/lib/src/publicTypes.dart

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a.

* fix(auth): uses nextStep helper for signInResult on Android (#689)

* chore: release 0.2.0 (#690)

* Revert "Merge branch 'master' into null-safety-master"

This reverts commit 5e7fd30, reversing
changes made to bf394bb.

* Update docs

* Add user attributes

* Update tests

* Revert minor change

* Merge branch 'master' into chore/user-attributes-ns

* Add export

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>

* docs: 📝 update of license & project's description

* feat(amplify_auth_cognito): add initial example app for the authenticator

* iOS & Android files

* feat(amplify_authenticator): screens implementation -Sign In, Sign Up & Confirm Sign Up

* dependecies & project's name updated

* chore(amplify_api): add GraphQL integration tests (#694)

* feat(amplify_authenticator): button disable for auth calls

* chore(CI): enable formatting in CI w/ code changes (#570)

* enable formatting in CI

* diable analyze

* split up format and analyze

* chore: melos run format

* chore: empty commit to re-run CI

* Fix: user not able to sign out

* closing brace

* test directory deleted

* fix: AuthFormField(type: 'password') is able to hide values

* feat: default & custom validators

* chore(auth): integration tests for user attributes (#640)

* handle missing or empty signUpOptions

* add android unit test

* fix iOS tests

* add integration tests for auth.signUp

* remove unused imports, formatting

* add integration tests for user attributes

* add integration tests

* update auth category after NS changes

* update auth category for NS changes

* update unit test for NS changes

* update unit tests for NS changes

* address PR comments

* remove extra parens

* Apply SignUpRequest changes from code review

* add test for invalid attr value

* add user attribute confirmation test

* add fetchUserAttributes group

* remove test for email confirmation

* chore(api): Add API response headers/status (#721)

* Add API response headers/status

* Clean up

* Ensure proper deserialization

* Fix ios tests

* remove unnecessary default

* Add iOS status/headers + tests

* Remove empty body fix

* Missing status code

* Add license comments

* Clean up iOS tests

* Add RestException tests

* Add deprecation warning

* Fix example encoding

* Add Flutter plugin tests

* Rename file

* refactor: signin, signup & confirm signup view models

* docs: initial documentation

* chore: keys in form fields and buttons

* chore: keys in form fields and buttons

* chore(amplify_datastore): make SubscriptionEvent directly available via datastore plugin by adding to publicTypes in interface (#728)

* fix(datastore): not serializing enum type in a predicate (#726)

* test: integration test setup

* feat: custom form field

* refactor: nullable auth variables in confirm sign up, sign in and sign up view models

* refactor: boilerplate from example app

* refactor: amplify_configure.dart deleted

* test: sign in screen integration testing

* doc: public members

* refactor: form field keys

* refactor: using types

* refactor: sign out method

* refactor: handle result from sign in / up calls

* chore(amplify_storage_s3): add storage integration tests and update example app (#734)

* chore(auth): add integration test coverage for auth (#724)

* chore(auth): add integ tests for auth hub

* chore(auth): add integ test for update password

* chore(auth): add integ test for sign up exceptions

* chore(auth): test exceptions in signIn, signOut

* chore(auth): add fetch session integration tests

* chore(auth): add integ tests for getCurrentUser

* chore: formatting in get_current_user

* chore: formatting in fetch_session

* chore: refactor setup for update password tests

* chore: update fetch session test to check for null

* fix typos in comments

* chore: address PR feedback

* chore: fix formatting issues

* test: sign in integration testing

* test: sign up integration testing

* refactor: enums in signup, signin and confirm_signup form fields

* feat: confirm sign in screen

* Update amplify_authenticator.dart

* refactor: late keyword removed

* refactor: getCurrentUser() method

* refactor: return type of currentUser method

* print() removed

* refactor: copy/paste error

* refactor: non-null types

* refactor: non-null type

* refactor: void Function()

* refactor: return null types in form field types

* refactor: null return type

* Update signin_types.dart

* refactor: null return type

* refactor: pr comments

* chore(datastore): add integration tests for datastore (#753)

* chore: add integration tests for datastore

* chore: address pr comments

* chore: configure datastore before each test

* chore: refactor save test

* chore: fix formatting

* chore: update name to configureDataStore

* test: confirm sign in integration test

* Release updates 0.2.1 (#756)

* chore: Update Changelog for 0.2.1 release

* chore: Update Pubspec version to 0.2.1

Also update amplify.dart to return 0.2.1 for version string

* Update changelog

* refactor: code removed

* chore: set min flutter version to '>1.20.0' in packages where set to … (#757)

* fix: unsed code

* fix

* feat: display exceptions widget

* feat(amplify_auth_cognito): enables clientMetadata for signUp (#713)

* Extra lines removed

* extra lines

* chore: extra lines

* fix(datastore): Query nested model causes column not found sql error (#761)

* Reformat source code

* fix(datastore): Query nested model causes column not found sql error

* Optimize method interface to clarify the purpose

* Optimize method interface

* Added relationship check ensure the field conversion happens only for BelongsTo

* bug(analytics): Force session start (#764)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* fix(analytics): Typo (#765)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* Fix iOS method name

* feat: username alias

This change will allow a customer to pass in an username alias to setup the initial auth flow of their apps

* feat: resend code button in confirm sign up screen |

Now the username is automatically setup in the username form field.

* feat(amplify_auth_cognito): Auth Devices API (#735)

* Add platform code

* Clean up

* Add licenses

* Fix error handling

* Add logging and update threading logic

* Add iOS unit tests

* Clean up

* Add tests to project

* Fix unit tests

* feat: rest password option enabled

screen to request the change of password with username

* feat: reset password screen

users can reset their password by setting up a new one and passing a confirmation code

* chore(datastore): Remove redundant files for the datastore example (#762)

* feat(datastore): Populate belongs-to nested models (#658)

* feat(datastore): Populate has-one and belongs-to nested models

* Nest data under serializedData key and persist modelName

* Resolve comment

* Update packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift

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

* feat: confirm sign in with new password screen

* fix(authenticator): SignInFormField pointing to the same instance |
form field in SendCodeScreen was pointing to the same instance in a form field in the SignInScreen

* fix: form field pointing to same instance

* refactor: update password

* refactor: keys

* chore(amplify_api): add support for apiName to GraphQL requests (#553)

* fix(amplify_api): prevent some fatal REST errors in Android

Throw ApiException in android when PUT, POST, and PATCH REST requests have no body to prevent fatal error (#661).

* refactor: branch conflicts

* fix: confirm password username attribute

* fix: second clause for non-Amplify exceptions

* refactor: clearException method for clearing all exceptions in the
exception controller.

* refactor: clearException method

* refactor: non null exception controller

* fix: throw error when signInStep == 'CONFIRM_SIGN_IN_WITH_CUSTOM_CHALLENGE'

* refactor: error objects

* feat: user is signed in after confirm sign up and when sign up respone is 'DONE'

* chore(release): 0.2.2 (#781)

* feat: confirm sign in auth flow

* refactor: show sign in screen after sign out

* refactor: const variable

* chore: unnecessary enum deleted

* refactor: non-null & final declaration

* chore: commented code removed

* refactor: VMs updated based on the triggered state

* refactor: resend code method

* refactor: validators in form fields

* fix: null value in a variable at confirm sign up VM

* refactor: authenticator container padding

* refactor: else clause in Authenticator Stream Builder

* refactor: username alias optional

* doc: finders in intergarion testion

* doc: finders

* doc: username alias doc

* refactor: inherited forms

* chore(release): missing dependency (#783)

* Bump analytics version

* Fix PR #

* Bump all versions

* Missing bump

* Pin collections

* fix: overflow in exception widget

* fix: validation in confirm sign up form fields.

* refactor: null check (!)  removed from inherited forms

* feat: loading state in sign out button if there's any exception.

* fix: overflow in buttons

* chore: commented code removed

* refactor: public methods in AuthBloc

* fix: unsued code

* chore: skip FlutterURLSessionTests (#795)

* chore(lints): Add amplify_lints package (#808)

* Add lints package

* Add missing readme item

* feat(auth): add options to resendSignUpCode (#738)

* feat(auth): add options to resendSignUpCode

* fix: add type export for sing up code options

* chore: fix formatting issues

* chore: update comments for consistency

* chore: rename private method names for consistency

* chore: update comments for consistency

* chore: make ResendSignUpCodeOptions abstract

* chore: update ResendSignUpCodeRequest serializeAsMap

* chore: update ios test

* chore update doc comments

* chore: bump amplify-android to 1.24.0

* chore: remove star import

* feat(auth): add support for options to resetPassword, confirmResetPassword (#743)

* chore: rename confirmPassword to confirmResetPassword

* chore: fix grammatical errors in docs

* feat(auth): add options support for resetPassword, confirmResetPassword

* chore: rename private methods for consistency

* chore: update comments for consistency

* chore: update ios tests

* chore: fix comments

* chore: handle deprecated methods

* separate out deprecated class

* chore: update serializeAsMap for consistency

* chore: properly deprecate confirmPassword

* chore: add deprecation annotation to interface

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* feat(auth): add options to updateAttribute, updateAttributes, resendUserAttributeConfirmationCode (#775)

* chore: move attribute types to new dir

* chore: rename fetch attribute classes

* feat: add client metadata to user attribute methods

* deprecate renamed types

* chore: update comments for consistency

* chore: rename methods, tests

* chore: break out depracted classes, make new classes abstract

* chore: revert star import

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* chore: remove empty line

* fix(amplify_auth_cognito): throws signedout exception (#730)

* fix(amplify_datastore): ios send modelProviderVersion (#439)

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

* feat(datastore): Add start and stop APIs (#811)

* Convert file to LF mode

* feat(datastore): Add start and stop APIs

* Add docs

* Resolve comments

* chore(analytics): Apply lints (#810)

* Clean up pinpoint

* Clean up pinpoint dart

* Enable CI for analytics

* Add iOS linting

* Clean up

* Update iOS script

* Fix Android melos script

* Update CI order

* Small changes

* Update type

* Add iOS whitespace rules

* Update type

* Apply updated rules

* feat(auth): OIDC/Lambda Support (#777)

* OIDC/Lambda support

* Clean up

* Fix iOS test

* Add unit tests

* Fix Android test

* Fix Android tests

* Refactor and remove AuthToken from the public API

* Remove concurrent guards

* Clean up

* chore: upgrade amplify-android 1.24.1 (#829)

* fix(datastore): cannot saving boolean as integer in SQLite (#754)

* fix(datastore): cannot saving boolean as integer in SQLite

* fix unit test

* Apply the fix to double type field as well

* fix(datastore): return null for list field in nested model (#843)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent (#647)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent

* Print unrecognized event details in iOS

* Resolve comments

* chore(api): Apply lints (#812)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Revert license date

* Revert "Revert license date"

This reverts commit 1b93b3f.

* test(DataStore): add local integration tests for datastore (#831)

* chore: add new model types for tests

* test: add tests for model types

* chore: update models for relationship tests

* test: add tests for hasOne, belongsTo

* chore: update models for hasMany tests

* test: add tests for hasMany relationship

* test: add query predicate test for string type

* test: add test for updating an existing model

* chore: skip flaky test on Android

* chore: clean up string predicate tests

* test: add integ tests for int/double query predicates

* chore: remove unused model

* chore: update tests after fix of #511

* chore: refactor model type tests

* chore: add provisioning script

* chore: update relationship tests

* chore: remove skipped test in save

* chore: add delay before clearing datastore

* test: add bool query predicate tests

* chore: update issue link for skipped test

* chore: update test w/ fix of #834

* Apply suggestions from code review

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

* chore: update testQueryPredicate for all models

* chore: update comment in bool query tests

* test: add test cases for unicode

* chore: update bool model generation

* chore: update testModelOperations to use getModelType

* test: add edge cases for model type tests

* chore: remove unneeded Map.from

* test: add edge cases to query predicate tests

* chore: update int/double predicate tests to use <>=

* chore: remove unneeded configure calls

* chore: update string between() test

* chore: update relationship tests to check for single model

* test: update observe tests to test all events

* chore: add notes to equality checks

* chore: remove const from test

* chore: remove hard coded length

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

* fix(api): OIDC/Lambda Fixes (#862)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Merge branch 'datastore/multiauth' into chore/api-lints

* Revert multiauth

* Fix updateTokens

* Fix GraphQL error decoding

* Fix formatting

* Clean up

* Clean up

* Clean up

* Fix analysis for Flutter 2.5.0

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

* fix(amplify_datastore): iOS json deserialization (#806)

iOS ONLY fix.  Android was unaffected.

Ensure nested model int types are returned as int instead of double

Consolidate duplicated code for extracting values from Json during serialization step

* chore(release): 0.2.3 (#866)

* fix(example) updates amplify dependencies (#867)

* test(DataStore): add additional local integration tests for datastore (#844)

* Revert "Merge branch 'release-candidate' into main" (#871)

This reverts commit a88a109, reversing
changes made to 324ebad.

* fix: Cocoapods relative import (#874)

* Fix Cocoapods relative import

* Update dependencies

* Add lints license

* Update amplify_flutter

* 0.2.4

* fix(example): Update dependencies (#875)

* Update example app

* Add example app to CI

* Update iOS settings

* chore: Enable release checks via unpub (#876)

* Add unpub step to CI builds

* Fix CI config

* Fix CI script

* Add yq

* Fix brew

* Add yq on Android

* Add new workflows

* Fix yml

* Fix yml

* Fix yml

* Fix curl cmd

* Fix docker compose check

* Fix yml

* Fix yml

* Update path search

* Fix melos setup

* Fix yq script

* Switch executor flow

* Fix

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Update launcher

* Fix ref

* Test

* Fix versions

* Fix example version

* Fix remote build

* Fix dev dependency versioning

* Fix script order

* Use local project for seeding deps

* Add dummy configs back

* Reenable full pipeline

* Fix melos command

* Update step name

* Merge main

* fix: Melos bootstrap should not fail (#887)

* Fix postbootstrap

* Fix example app

* 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

* Linting + reorg

* Rename

* Clean up

* Improve customizability

* Integrate Jordan's changes

* Clean up

* Clean up

* Clean up

* Revert attribute changes

* Fix API auth for REST (#925)

* Clean up

* Clean up

* Remove print

* Update authenticator config

* Add generated package to melos ignore

* Fix amplify_flutter test

* Fix validators

Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Israel Arcos <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: israx <[email protected]>
Co-authored-by: José Sánchez <[email protected]>
Co-authored-by: Su Tran <[email protected]>
dnys1 added a commit to dnys1/amplify-flutter that referenced this pull request Nov 10, 2021
* chore: make .gitignore more specific for amplify dirs and tweak integration test melos tasks (aws-amplify#711)

* chore(auth): User attributes/sign up docs (aws-amplify#697)

* feat(amplify): Null Safety Core (aws-amplify#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (aws-amplify#536)

* feat(amplify_analytics): Null safety (aws-amplify#483)

* feat(amplify_storage_s3): Null safety (aws-amplify#485)

* feat(amplify_api): Null safety api (aws-amplify#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (aws-amplify#613)

* Example app null safety fixes (aws-amplify#617)

* Null safety master fixes pr (aws-amplify#614)

* chore(release): 0.2.0-nullsafety.0 (aws-amplify#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (aws-amplify#653)

* Null safety datastore (aws-amplify#649)

* chore: release 0.2.0-nullsafety.1 (aws-amplify#656)

* bug(datastore): HubEvent null check (aws-amplify#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (aws-amplify#676)

* chore: pin Amplify iOS to '~> 1.9.2' (aws-amplify#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (aws-amplify#568)

* feat(auth): add updateUserAttributes (batch) (aws-amplify#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (aws-amplify#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (aws-amplify#619)

* Chore: remove check for duplicate error in Storage (aws-amplify#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (aws-amplify#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (aws-amplify#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (aws-amplify#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (aws-amplify#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (aws-amplify#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (aws-amplify#607)

* chore: Add CircleCI badge (aws-amplify#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (aws-amplify#650)

* fix: amplify-ios version bump (aws-amplify#648)

* fix: amplify-ios version bump ~> 1.11.0 (aws-amplify#665)

* chore: release 0.1.6 (aws-amplify#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore aws-amplify#500 (aws-amplify#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (aws-amplify#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (aws-amplify#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (aws-amplify#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (aws-amplify#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (aws-amplify#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a.

* fix(auth): uses nextStep helper for signInResult on Android (aws-amplify#689)

* chore: release 0.2.0 (aws-amplify#690)

* Revert "Merge branch 'master' into null-safety-master"

This reverts commit 5e7fd30, reversing
changes made to bf394bb.

* Update docs

* Add user attributes

* Update tests

* Revert minor change

* Merge branch 'master' into chore/user-attributes-ns

* Add export

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>

* chore(amplify_api): add GraphQL integration tests (aws-amplify#694)

* chore(CI): enable formatting in CI w/ code changes (aws-amplify#570)

* enable formatting in CI

* diable analyze

* split up format and analyze

* chore: melos run format

* chore: empty commit to re-run CI

* chore(auth): integration tests for user attributes (aws-amplify#640)

* handle missing or empty signUpOptions

* add android unit test

* fix iOS tests

* add integration tests for auth.signUp

* remove unused imports, formatting

* add integration tests for user attributes

* add integration tests

* update auth category after NS changes

* update auth category for NS changes

* update unit test for NS changes

* update unit tests for NS changes

* address PR comments

* remove extra parens

* Apply SignUpRequest changes from code review

* add test for invalid attr value

* add user attribute confirmation test

* add fetchUserAttributes group

* remove test for email confirmation

* chore(api): Add API response headers/status (aws-amplify#721)

* Add API response headers/status

* Clean up

* Ensure proper deserialization

* Fix ios tests

* remove unnecessary default

* Add iOS status/headers + tests

* Remove empty body fix

* Missing status code

* Add license comments

* Clean up iOS tests

* Add RestException tests

* Add deprecation warning

* Fix example encoding

* Add Flutter plugin tests

* Rename file

* chore(amplify_datastore): make SubscriptionEvent directly available via datastore plugin by adding to publicTypes in interface (aws-amplify#728)

* fix(datastore): not serializing enum type in a predicate (aws-amplify#726)

* chore(amplify_storage_s3): add storage integration tests and update example app (aws-amplify#734)

* chore(auth): add integration test coverage for auth (aws-amplify#724)

* chore(auth): add integ tests for auth hub

* chore(auth): add integ test for update password

* chore(auth): add integ test for sign up exceptions

* chore(auth): test exceptions in signIn, signOut

* chore(auth): add fetch session integration tests

* chore(auth): add integ tests for getCurrentUser

* chore: formatting in get_current_user

* chore: formatting in fetch_session

* chore: refactor setup for update password tests

* chore: update fetch session test to check for null

* fix typos in comments

* chore: address PR feedback

* chore: fix formatting issues

* chore(datastore): add integration tests for datastore (aws-amplify#753)

* chore: add integration tests for datastore

* chore: address pr comments

* chore: configure datastore before each test

* chore: refactor save test

* chore: fix formatting

* chore: update name to configureDataStore

* Release updates 0.2.1 (aws-amplify#756)

* chore: Update Changelog for 0.2.1 release

* chore: Update Pubspec version to 0.2.1

Also update amplify.dart to return 0.2.1 for version string

* Update changelog

* chore: set min flutter version to '>1.20.0' in packages where set to … (aws-amplify#757)

* feat(amplify_auth_cognito): enables clientMetadata for signUp (aws-amplify#713)

* fix(datastore): Query nested model causes column not found sql error (aws-amplify#761)

* Reformat source code

* fix(datastore): Query nested model causes column not found sql error

* Optimize method interface to clarify the purpose

* Optimize method interface

* Added relationship check ensure the field conversion happens only for BelongsTo

* bug(analytics): Force session start (aws-amplify#764)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* fix(analytics): Typo (aws-amplify#765)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* Fix iOS method name

* feat(amplify_auth_cognito): Auth Devices API (aws-amplify#735)

* Add platform code

* Clean up

* Add licenses

* Fix error handling

* Add logging and update threading logic

* Add iOS unit tests

* Clean up

* Add tests to project

* Fix unit tests

* chore(datastore): Remove redundant files for the datastore example (aws-amplify#762)

* feat(datastore): Populate belongs-to nested models (aws-amplify#658)

* feat(datastore): Populate has-one and belongs-to nested models

* Nest data under serializedData key and persist modelName

* Resolve comment

* Update packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift

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

* chore(amplify_api): add support for apiName to GraphQL requests (aws-amplify#553)

* fix(amplify_api): prevent some fatal REST errors in Android

Throw ApiException in android when PUT, POST, and PATCH REST requests have no body to prevent fatal error (aws-amplify#661).

* chore(release): 0.2.2 (aws-amplify#781)

* chore(release): missing dependency (aws-amplify#783)

* Bump analytics version

* Fix PR #

* Bump all versions

* Missing bump

* Pin collections

* chore: skip FlutterURLSessionTests (aws-amplify#795)

* chore(lints): Add amplify_lints package (aws-amplify#808)

* Add lints package

* Add missing readme item

* feat(auth): add options to resendSignUpCode (aws-amplify#738)

* feat(auth): add options to resendSignUpCode

* fix: add type export for sing up code options

* chore: fix formatting issues

* chore: update comments for consistency

* chore: rename private method names for consistency

* chore: update comments for consistency

* chore: make ResendSignUpCodeOptions abstract

* chore: update ResendSignUpCodeRequest serializeAsMap

* chore: update ios test

* chore update doc comments

* chore: bump amplify-android to 1.24.0

* chore: remove star import

* feat(auth): add support for options to resetPassword, confirmResetPassword (aws-amplify#743)

* chore: rename confirmPassword to confirmResetPassword

* chore: fix grammatical errors in docs

* feat(auth): add options support for resetPassword, confirmResetPassword

* chore: rename private methods for consistency

* chore: update comments for consistency

* chore: update ios tests

* chore: fix comments

* chore: handle deprecated methods

* separate out deprecated class

* chore: update serializeAsMap for consistency

* chore: properly deprecate confirmPassword

* chore: add deprecation annotation to interface

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* feat(auth): add options to updateAttribute, updateAttributes, resendUserAttributeConfirmationCode (aws-amplify#775)

* chore: move attribute types to new dir

* chore: rename fetch attribute classes

* feat: add client metadata to user attribute methods

* deprecate renamed types

* chore: update comments for consistency

* chore: rename methods, tests

* chore: break out depracted classes, make new classes abstract

* chore: revert star import

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* chore: remove empty line

* fix(amplify_auth_cognito): throws signedout exception (aws-amplify#730)

* fix(amplify_datastore): ios send modelProviderVersion (aws-amplify#439)

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

* feat(datastore): Add start and stop APIs (aws-amplify#811)

* Convert file to LF mode

* feat(datastore): Add start and stop APIs

* Add docs

* Resolve comments

* chore(analytics): Apply lints (aws-amplify#810)

* Clean up pinpoint

* Clean up pinpoint dart

* Enable CI for analytics

* Add iOS linting

* Clean up

* Update iOS script

* Fix Android melos script

* Update CI order

* Small changes

* Update type

* Add iOS whitespace rules

* Update type

* Apply updated rules

* feat(auth): OIDC/Lambda Support (aws-amplify#777)

* OIDC/Lambda support

* Clean up

* Fix iOS test

* Add unit tests

* Fix Android test

* Fix Android tests

* Refactor and remove AuthToken from the public API

* Remove concurrent guards

* Clean up

* chore: upgrade amplify-android 1.24.1 (aws-amplify#829)

* fix(datastore): cannot saving boolean as integer in SQLite (aws-amplify#754)

* fix(datastore): cannot saving boolean as integer in SQLite

* fix unit test

* Apply the fix to double type field as well

* fix(datastore): return null for list field in nested model (aws-amplify#843)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent (aws-amplify#647)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent

* Print unrecognized event details in iOS

* Resolve comments

* chore(api): Apply lints (aws-amplify#812)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Revert license date

* Revert "Revert license date"

This reverts commit 1b93b3f.

* test(DataStore): add local integration tests for datastore (aws-amplify#831)

* chore: add new model types for tests

* test: add tests for model types

* chore: update models for relationship tests

* test: add tests for hasOne, belongsTo

* chore: update models for hasMany tests

* test: add tests for hasMany relationship

* test: add query predicate test for string type

* test: add test for updating an existing model

* chore: skip flaky test on Android

* chore: clean up string predicate tests

* test: add integ tests for int/double query predicates

* chore: remove unused model

* chore: update tests after fix of aws-amplify#511

* chore: refactor model type tests

* chore: add provisioning script

* chore: update relationship tests

* chore: remove skipped test in save

* chore: add delay before clearing datastore

* test: add bool query predicate tests

* chore: update issue link for skipped test

* chore: update test w/ fix of aws-amplify#834

* Apply suggestions from code review

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

* chore: update testQueryPredicate for all models

* chore: update comment in bool query tests

* test: add test cases for unicode

* chore: update bool model generation

* chore: update testModelOperations to use getModelType

* test: add edge cases for model type tests

* chore: remove unneeded Map.from

* test: add edge cases to query predicate tests

* chore: update int/double predicate tests to use <>=

* chore: remove unneeded configure calls

* chore: update string between() test

* chore: update relationship tests to check for single model

* test: update observe tests to test all events

* chore: add notes to equality checks

* chore: remove const from test

* chore: remove hard coded length

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

* fix(api): OIDC/Lambda Fixes (aws-amplify#862)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Merge branch 'datastore/multiauth' into chore/api-lints

* Revert multiauth

* Fix updateTokens

* Fix GraphQL error decoding

* Fix formatting

* Clean up

* Clean up

* Clean up

* Fix analysis for Flutter 2.5.0

* break(amplify_auth_cognito): fixes getCurrentUser disparity (aws-amplify#773)

* fix(amplify_datastore): iOS json deserialization (aws-amplify#806)

iOS ONLY fix.  Android was unaffected.

Ensure nested model int types are returned as int instead of double

Consolidate duplicated code for extracting values from Json during serialization step

* chore(release): 0.2.3 (aws-amplify#866)

* fix(example) updates amplify dependencies (aws-amplify#867)

* test(DataStore): add additional local integration tests for datastore (aws-amplify#844)

* Revert "Merge branch 'release-candidate' into main" (aws-amplify#871)

This reverts commit a88a109, reversing
changes made to 324ebad.

* fix: Cocoapods relative import (aws-amplify#874)

* Fix Cocoapods relative import

* Update dependencies

* Add lints license

* Update amplify_flutter

* 0.2.4

* fix(example): Update dependencies (aws-amplify#875)

* Update example app

* Add example app to CI

* Update iOS settings

* chore: Enable release checks via unpub (aws-amplify#876)

* Add unpub step to CI builds

* Fix CI config

* Fix CI script

* Add yq

* Fix brew

* Add yq on Android

* Add new workflows

* Fix yml

* Fix yml

* Fix yml

* Fix curl cmd

* Fix docker compose check

* Fix yml

* Fix yml

* Update path search

* Fix melos setup

* Fix yq script

* Switch executor flow

* Fix

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Update launcher

* Fix ref

* Test

* Fix versions

* Fix example version

* Fix remote build

* Fix dev dependency versioning

* Fix script order

* Use local project for seeding deps

* Add dummy configs back

* Reenable full pipeline

* Fix melos command

* Update step name

* Merge main

* fix: Melos bootstrap should not fail (aws-amplify#887)

* Fix postbootstrap

* Fix example app

* Replace JCenter with Maven Central (aws-amplify#903)

* Replace JCenter with Maven Central

* Make uniform

* Revert core

* fix(datastore): remove default pagination behavior on iOS (aws-amplify#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 (aws-amplify#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 (aws-amplify#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 (aws-amplify#910)

* chore: update integ test commands with selection

* chore: update description

* chore: Revert unpub (aws-amplify#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 (aws-amplify#925)

Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: José Sánchez <[email protected]>
Co-authored-by: Su Tran <[email protected]>
dnys1 added a commit to dnys1/amplify-flutter that referenced this pull request Nov 10, 2021
* chore: make .gitignore more specific for amplify dirs and tweak integration test melos tasks (aws-amplify#711)

* feat: ✨ first snippet for the amplify authenticator

* chore(auth): User attributes/sign up docs (aws-amplify#697)

* feat(amplify): Null Safety Core (aws-amplify#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (aws-amplify#536)

* feat(amplify_analytics): Null safety (aws-amplify#483)

* feat(amplify_storage_s3): Null safety (aws-amplify#485)

* feat(amplify_api): Null safety api (aws-amplify#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (aws-amplify#613)

* Example app null safety fixes (aws-amplify#617)

* Null safety master fixes pr (aws-amplify#614)

* chore(release): 0.2.0-nullsafety.0 (aws-amplify#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (aws-amplify#653)

* Null safety datastore (aws-amplify#649)

* chore: release 0.2.0-nullsafety.1 (aws-amplify#656)

* bug(datastore): HubEvent null check (aws-amplify#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (aws-amplify#676)

* chore: pin Amplify iOS to '~> 1.9.2' (aws-amplify#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (aws-amplify#568)

* feat(auth): add updateUserAttributes (batch) (aws-amplify#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (aws-amplify#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (aws-amplify#619)

* Chore: remove check for duplicate error in Storage (aws-amplify#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (aws-amplify#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (aws-amplify#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (aws-amplify#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (aws-amplify#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (aws-amplify#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (aws-amplify#607)

* chore: Add CircleCI badge (aws-amplify#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (aws-amplify#650)

* fix: amplify-ios version bump (aws-amplify#648)

* fix: amplify-ios version bump ~> 1.11.0 (aws-amplify#665)

* chore: release 0.1.6 (aws-amplify#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore aws-amplify#500 (aws-amplify#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (aws-amplify#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (aws-amplify#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (aws-amplify#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (aws-amplify#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (aws-amplify#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a.

* fix(auth): uses nextStep helper for signInResult on Android (aws-amplify#689)

* chore: release 0.2.0 (aws-amplify#690)

* Revert "Merge branch 'master' into null-safety-master"

This reverts commit 5e7fd30, reversing
changes made to bf394bb.

* Update docs

* Add user attributes

* Update tests

* Revert minor change

* Merge branch 'master' into chore/user-attributes-ns

* Add export

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>

* docs: 📝 update of license & project's description

* feat(amplify_auth_cognito): add initial example app for the authenticator

* iOS & Android files

* feat(amplify_authenticator): screens implementation -Sign In, Sign Up & Confirm Sign Up

* dependecies & project's name updated

* chore(amplify_api): add GraphQL integration tests (aws-amplify#694)

* feat(amplify_authenticator): button disable for auth calls

* chore(CI): enable formatting in CI w/ code changes (aws-amplify#570)

* enable formatting in CI

* diable analyze

* split up format and analyze

* chore: melos run format

* chore: empty commit to re-run CI

* Fix: user not able to sign out

* closing brace

* test directory deleted

* fix: AuthFormField(type: 'password') is able to hide values

* feat: default & custom validators

* chore(auth): integration tests for user attributes (aws-amplify#640)

* handle missing or empty signUpOptions

* add android unit test

* fix iOS tests

* add integration tests for auth.signUp

* remove unused imports, formatting

* add integration tests for user attributes

* add integration tests

* update auth category after NS changes

* update auth category for NS changes

* update unit test for NS changes

* update unit tests for NS changes

* address PR comments

* remove extra parens

* Apply SignUpRequest changes from code review

* add test for invalid attr value

* add user attribute confirmation test

* add fetchUserAttributes group

* remove test for email confirmation

* chore(api): Add API response headers/status (aws-amplify#721)

* Add API response headers/status

* Clean up

* Ensure proper deserialization

* Fix ios tests

* remove unnecessary default

* Add iOS status/headers + tests

* Remove empty body fix

* Missing status code

* Add license comments

* Clean up iOS tests

* Add RestException tests

* Add deprecation warning

* Fix example encoding

* Add Flutter plugin tests

* Rename file

* refactor: signin, signup & confirm signup view models

* docs: initial documentation

* chore: keys in form fields and buttons

* chore: keys in form fields and buttons

* chore(amplify_datastore): make SubscriptionEvent directly available via datastore plugin by adding to publicTypes in interface (aws-amplify#728)

* fix(datastore): not serializing enum type in a predicate (aws-amplify#726)

* test: integration test setup

* feat: custom form field

* refactor: nullable auth variables in confirm sign up, sign in and sign up view models

* refactor: boilerplate from example app

* refactor: amplify_configure.dart deleted

* test: sign in screen integration testing

* doc: public members

* refactor: form field keys

* refactor: using types

* refactor: sign out method

* refactor: handle result from sign in / up calls

* chore(amplify_storage_s3): add storage integration tests and update example app (aws-amplify#734)

* chore(auth): add integration test coverage for auth (aws-amplify#724)

* chore(auth): add integ tests for auth hub

* chore(auth): add integ test for update password

* chore(auth): add integ test for sign up exceptions

* chore(auth): test exceptions in signIn, signOut

* chore(auth): add fetch session integration tests

* chore(auth): add integ tests for getCurrentUser

* chore: formatting in get_current_user

* chore: formatting in fetch_session

* chore: refactor setup for update password tests

* chore: update fetch session test to check for null

* fix typos in comments

* chore: address PR feedback

* chore: fix formatting issues

* test: sign in integration testing

* test: sign up integration testing

* refactor: enums in signup, signin and confirm_signup form fields

* feat: confirm sign in screen

* Update amplify_authenticator.dart

* refactor: late keyword removed

* refactor: getCurrentUser() method

* refactor: return type of currentUser method

* print() removed

* refactor: copy/paste error

* refactor: non-null types

* refactor: non-null type

* refactor: void Function()

* refactor: return null types in form field types

* refactor: null return type

* Update signin_types.dart

* refactor: null return type

* refactor: pr comments

* chore(datastore): add integration tests for datastore (aws-amplify#753)

* chore: add integration tests for datastore

* chore: address pr comments

* chore: configure datastore before each test

* chore: refactor save test

* chore: fix formatting

* chore: update name to configureDataStore

* test: confirm sign in integration test

* Release updates 0.2.1 (aws-amplify#756)

* chore: Update Changelog for 0.2.1 release

* chore: Update Pubspec version to 0.2.1

Also update amplify.dart to return 0.2.1 for version string

* Update changelog

* refactor: code removed

* chore: set min flutter version to '>1.20.0' in packages where set to … (aws-amplify#757)

* fix: unsed code

* fix

* feat: display exceptions widget

* feat(amplify_auth_cognito): enables clientMetadata for signUp (aws-amplify#713)

* Extra lines removed

* extra lines

* chore: extra lines

* fix(datastore): Query nested model causes column not found sql error (aws-amplify#761)

* Reformat source code

* fix(datastore): Query nested model causes column not found sql error

* Optimize method interface to clarify the purpose

* Optimize method interface

* Added relationship check ensure the field conversion happens only for BelongsTo

* bug(analytics): Force session start (aws-amplify#764)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* fix(analytics): Typo (aws-amplify#765)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* Fix iOS method name

* feat: username alias

This change will allow a customer to pass in an username alias to setup the initial auth flow of their apps

* feat: resend code button in confirm sign up screen |

Now the username is automatically setup in the username form field.

* feat(amplify_auth_cognito): Auth Devices API (aws-amplify#735)

* Add platform code

* Clean up

* Add licenses

* Fix error handling

* Add logging and update threading logic

* Add iOS unit tests

* Clean up

* Add tests to project

* Fix unit tests

* feat: rest password option enabled

screen to request the change of password with username

* feat: reset password screen

users can reset their password by setting up a new one and passing a confirmation code

* chore(datastore): Remove redundant files for the datastore example (aws-amplify#762)

* feat(datastore): Populate belongs-to nested models (aws-amplify#658)

* feat(datastore): Populate has-one and belongs-to nested models

* Nest data under serializedData key and persist modelName

* Resolve comment

* Update packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift

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

* feat: confirm sign in with new password screen

* fix(authenticator): SignInFormField pointing to the same instance |
form field in SendCodeScreen was pointing to the same instance in a form field in the SignInScreen

* fix: form field pointing to same instance

* refactor: update password

* refactor: keys

* chore(amplify_api): add support for apiName to GraphQL requests (aws-amplify#553)

* fix(amplify_api): prevent some fatal REST errors in Android

Throw ApiException in android when PUT, POST, and PATCH REST requests have no body to prevent fatal error (aws-amplify#661).

* refactor: branch conflicts

* fix: confirm password username attribute

* fix: second clause for non-Amplify exceptions

* refactor: clearException method for clearing all exceptions in the
exception controller.

* refactor: clearException method

* refactor: non null exception controller

* fix: throw error when signInStep == 'CONFIRM_SIGN_IN_WITH_CUSTOM_CHALLENGE'

* refactor: error objects

* feat: user is signed in after confirm sign up and when sign up respone is 'DONE'

* chore(release): 0.2.2 (aws-amplify#781)

* feat: confirm sign in auth flow

* refactor: show sign in screen after sign out

* refactor: const variable

* chore: unnecessary enum deleted

* refactor: non-null & final declaration

* chore: commented code removed

* refactor: VMs updated based on the triggered state

* refactor: resend code method

* refactor: validators in form fields

* fix: null value in a variable at confirm sign up VM

* refactor: authenticator container padding

* refactor: else clause in Authenticator Stream Builder

* refactor: username alias optional

* doc: finders in intergarion testion

* doc: finders

* doc: username alias doc

* refactor: inherited forms

* chore(release): missing dependency (aws-amplify#783)

* Bump analytics version

* Fix PR #

* Bump all versions

* Missing bump

* Pin collections

* fix: overflow in exception widget

* fix: validation in confirm sign up form fields.

* refactor: null check (!)  removed from inherited forms

* feat: loading state in sign out button if there's any exception.

* fix: overflow in buttons

* chore: commented code removed

* refactor: public methods in AuthBloc

* fix: unsued code

* chore: skip FlutterURLSessionTests (aws-amplify#795)

* chore(lints): Add amplify_lints package (aws-amplify#808)

* Add lints package

* Add missing readme item

* feat(auth): add options to resendSignUpCode (aws-amplify#738)

* feat(auth): add options to resendSignUpCode

* fix: add type export for sing up code options

* chore: fix formatting issues

* chore: update comments for consistency

* chore: rename private method names for consistency

* chore: update comments for consistency

* chore: make ResendSignUpCodeOptions abstract

* chore: update ResendSignUpCodeRequest serializeAsMap

* chore: update ios test

* chore update doc comments

* chore: bump amplify-android to 1.24.0

* chore: remove star import

* feat(auth): add support for options to resetPassword, confirmResetPassword (aws-amplify#743)

* chore: rename confirmPassword to confirmResetPassword

* chore: fix grammatical errors in docs

* feat(auth): add options support for resetPassword, confirmResetPassword

* chore: rename private methods for consistency

* chore: update comments for consistency

* chore: update ios tests

* chore: fix comments

* chore: handle deprecated methods

* separate out deprecated class

* chore: update serializeAsMap for consistency

* chore: properly deprecate confirmPassword

* chore: add deprecation annotation to interface

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* feat(auth): add options to updateAttribute, updateAttributes, resendUserAttributeConfirmationCode (aws-amplify#775)

* chore: move attribute types to new dir

* chore: rename fetch attribute classes

* feat: add client metadata to user attribute methods

* deprecate renamed types

* chore: update comments for consistency

* chore: rename methods, tests

* chore: break out depracted classes, make new classes abstract

* chore: revert star import

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* chore: remove empty line

* fix(amplify_auth_cognito): throws signedout exception (aws-amplify#730)

* fix(amplify_datastore): ios send modelProviderVersion (aws-amplify#439)

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

* feat(datastore): Add start and stop APIs (aws-amplify#811)

* Convert file to LF mode

* feat(datastore): Add start and stop APIs

* Add docs

* Resolve comments

* chore(analytics): Apply lints (aws-amplify#810)

* Clean up pinpoint

* Clean up pinpoint dart

* Enable CI for analytics

* Add iOS linting

* Clean up

* Update iOS script

* Fix Android melos script

* Update CI order

* Small changes

* Update type

* Add iOS whitespace rules

* Update type

* Apply updated rules

* feat(auth): OIDC/Lambda Support (aws-amplify#777)

* OIDC/Lambda support

* Clean up

* Fix iOS test

* Add unit tests

* Fix Android test

* Fix Android tests

* Refactor and remove AuthToken from the public API

* Remove concurrent guards

* Clean up

* chore: upgrade amplify-android 1.24.1 (aws-amplify#829)

* fix(datastore): cannot saving boolean as integer in SQLite (aws-amplify#754)

* fix(datastore): cannot saving boolean as integer in SQLite

* fix unit test

* Apply the fix to double type field as well

* fix(datastore): return null for list field in nested model (aws-amplify#843)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent (aws-amplify#647)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent

* Print unrecognized event details in iOS

* Resolve comments

* chore(api): Apply lints (aws-amplify#812)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Revert license date

* Revert "Revert license date"

This reverts commit 1b93b3f.

* test(DataStore): add local integration tests for datastore (aws-amplify#831)

* chore: add new model types for tests

* test: add tests for model types

* chore: update models for relationship tests

* test: add tests for hasOne, belongsTo

* chore: update models for hasMany tests

* test: add tests for hasMany relationship

* test: add query predicate test for string type

* test: add test for updating an existing model

* chore: skip flaky test on Android

* chore: clean up string predicate tests

* test: add integ tests for int/double query predicates

* chore: remove unused model

* chore: update tests after fix of aws-amplify#511

* chore: refactor model type tests

* chore: add provisioning script

* chore: update relationship tests

* chore: remove skipped test in save

* chore: add delay before clearing datastore

* test: add bool query predicate tests

* chore: update issue link for skipped test

* chore: update test w/ fix of aws-amplify#834

* Apply suggestions from code review

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

* chore: update testQueryPredicate for all models

* chore: update comment in bool query tests

* test: add test cases for unicode

* chore: update bool model generation

* chore: update testModelOperations to use getModelType

* test: add edge cases for model type tests

* chore: remove unneeded Map.from

* test: add edge cases to query predicate tests

* chore: update int/double predicate tests to use <>=

* chore: remove unneeded configure calls

* chore: update string between() test

* chore: update relationship tests to check for single model

* test: update observe tests to test all events

* chore: add notes to equality checks

* chore: remove const from test

* chore: remove hard coded length

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

* fix(api): OIDC/Lambda Fixes (aws-amplify#862)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Merge branch 'datastore/multiauth' into chore/api-lints

* Revert multiauth

* Fix updateTokens

* Fix GraphQL error decoding

* Fix formatting

* Clean up

* Clean up

* Clean up

* Fix analysis for Flutter 2.5.0

* break(amplify_auth_cognito): fixes getCurrentUser disparity (aws-amplify#773)

* fix(amplify_datastore): iOS json deserialization (aws-amplify#806)

iOS ONLY fix.  Android was unaffected.

Ensure nested model int types are returned as int instead of double

Consolidate duplicated code for extracting values from Json during serialization step

* chore(release): 0.2.3 (aws-amplify#866)

* fix(example) updates amplify dependencies (aws-amplify#867)

* test(DataStore): add additional local integration tests for datastore (aws-amplify#844)

* Revert "Merge branch 'release-candidate' into main" (aws-amplify#871)

This reverts commit a88a109, reversing
changes made to 324ebad.

* fix: Cocoapods relative import (aws-amplify#874)

* Fix Cocoapods relative import

* Update dependencies

* Add lints license

* Update amplify_flutter

* 0.2.4

* fix(example): Update dependencies (aws-amplify#875)

* Update example app

* Add example app to CI

* Update iOS settings

* chore: Enable release checks via unpub (aws-amplify#876)

* Add unpub step to CI builds

* Fix CI config

* Fix CI script

* Add yq

* Fix brew

* Add yq on Android

* Add new workflows

* Fix yml

* Fix yml

* Fix yml

* Fix curl cmd

* Fix docker compose check

* Fix yml

* Fix yml

* Update path search

* Fix melos setup

* Fix yq script

* Switch executor flow

* Fix

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Update launcher

* Fix ref

* Test

* Fix versions

* Fix example version

* Fix remote build

* Fix dev dependency versioning

* Fix script order

* Use local project for seeding deps

* Add dummy configs back

* Reenable full pipeline

* Fix melos command

* Update step name

* Merge main

* fix: Melos bootstrap should not fail (aws-amplify#887)

* Fix postbootstrap

* Fix example app

* Replace JCenter with Maven Central (aws-amplify#903)

* Replace JCenter with Maven Central

* Make uniform

* Revert core

* fix(datastore): remove default pagination behavior on iOS (aws-amplify#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 (aws-amplify#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 (aws-amplify#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 (aws-amplify#910)

* chore: update integ test commands with selection

* chore: update description

* chore: Revert unpub (aws-amplify#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

* Linting + reorg

* Rename

* Clean up

* Improve customizability

* Integrate Jordan's changes

* Clean up

* Clean up

* Clean up

* Revert attribute changes

* Fix API auth for REST (aws-amplify#925)

* Clean up

* Clean up

* Remove print

* Update authenticator config

* Add generated package to melos ignore

* Fix amplify_flutter test

* Fix validators

Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Israel Arcos <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: israx <[email protected]>
Co-authored-by: José Sánchez <[email protected]>
Co-authored-by: Su Tran <[email protected]>
@Jordan-Nelson Jordan-Nelson deleted the feat-userAttributeBatch branch November 11, 2021 19:12
dnys1 added a commit that referenced this pull request Dec 7, 2021
* feat(amplify_auth_cognito): first snippet for the amplify authenticator (#719)

* feat: Amplify authenticator (#725)

* feat(amplify_authenticator) confirmSignIn screen (#758)

* Amplify authenticator (#776)

* fix(amplify_authenticator): text overflow & validation fixes (#786)

* feat(amplify_authenticator): text customization (#788)

* fix(amplify_authenticator): removes test default value (#792)

* fix(amplify_authenticator): _authService.confirmSignIn not handling signInStep  (#793)

* fix(amplify_authenticator): adds password confirmation widget (#799)

* feat(amplify_flutter): AmplifyConfig Dart class with getter and instantiation (#838)

* fix(amplify_authenticator) default form typos and other fixes (#886)

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

* feat(amplify_authenticator): configured signup fields and password validation (#899)

* feat(authenticator): add support for verify user (#870)

* feat: verify user attributes after sign in

* chore: use authEventStream to set attr data

* chore: break out user verification

* chore: clean up unused code, comments

* chore: update exception handling fetching attributes

* chore: refactor getUnverifiedAttributeKeys

* chore: refactor passing state to verifyUser

* Merge main -> authenticator (#929)

* chore: make .gitignore more specific for amplify dirs and tweak integration test melos tasks (#711)

* chore(auth): User attributes/sign up docs (#697)

* feat(amplify): Null Safety Core (#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (#536)

* feat(amplify_analytics): Null safety (#483)

* feat(amplify_storage_s3): Null safety (#485)

* feat(amplify_api): Null safety api (#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (#613)

* Example app null safety fixes (#617)

* Null safety master fixes pr (#614)

* chore(release): 0.2.0-nullsafety.0 (#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (#653)

* Null safety datastore (#649)

* chore: release 0.2.0-nullsafety.1 (#656)

* bug(datastore): HubEvent null check (#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (#676)

* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a5fa3248c78c6379eb0d1d12109808c4eb.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a3daab80ff62977ca72f47fb76099463c0.

* fix(auth): uses nextStep helper for signInResult on Android (#689)

* chore: release 0.2.0 (#690)

* Revert "Merge branch 'master' into null-safety-master"

This reverts commit 5e7fd304a517189ffc24254e9b9f74a28032b994, reversing
changes made to bf394bb958b6add00ecdc2b12061545b6cccf313.

* Update docs

* Add user attributes

* Update tests

* Revert minor change

* Merge branch 'master' into chore/user-attributes-ns

* Add export

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>

* chore(amplify_api): add GraphQL integration tests (#694)

* chore(CI): enable formatting in CI w/ code changes (#570)

* enable formatting in CI

* diable analyze

* split up format and analyze

* chore: melos run format

* chore: empty commit to re-run CI

* chore(auth): integration tests for user attributes (#640)

* handle missing or empty signUpOptions

* add android unit test

* fix iOS tests

* add integration tests for auth.signUp

* remove unused imports, formatting

* add integration tests for user attributes

* add integration tests

* update auth category after NS changes

* update auth category for NS changes

* update unit test for NS changes

* update unit tests for NS changes

* address PR comments

* remove extra parens

* Apply SignUpRequest changes from code review

* add test for invalid attr value

* add user attribute confirmation test

* add fetchUserAttributes group

* remove test for email confirmation

* chore(api): Add API response headers/status (#721)

* Add API response headers/status

* Clean up

* Ensure proper deserialization

* Fix ios tests

* remove unnecessary default

* Add iOS status/headers + tests

* Remove empty body fix

* Missing status code

* Add license comments

* Clean up iOS tests

* Add RestException tests

* Add deprecation warning

* Fix example encoding

* Add Flutter plugin tests

* Rename file

* chore(amplify_datastore): make SubscriptionEvent directly available via datastore plugin by adding to publicTypes in interface (#728)

* fix(datastore): not serializing enum type in a predicate (#726)

* chore(amplify_storage_s3): add storage integration tests and update example app (#734)

* chore(auth): add integration test coverage for auth (#724)

* chore(auth): add integ tests for auth hub

* chore(auth): add integ test for update password

* chore(auth): add integ test for sign up exceptions

* chore(auth): test exceptions in signIn, signOut

* chore(auth): add fetch session integration tests

* chore(auth): add integ tests for getCurrentUser

* chore: formatting in get_current_user

* chore: formatting in fetch_session

* chore: refactor setup for update password tests

* chore: update fetch session test to check for null

* fix typos in comments

* chore: address PR feedback

* chore: fix formatting issues

* chore(datastore): add integration tests for datastore (#753)

* chore: add integration tests for datastore

* chore: address pr comments

* chore: configure datastore before each test

* chore: refactor save test

* chore: fix formatting

* chore: update name to configureDataStore

* Release updates 0.2.1 (#756)

* chore: Update Changelog for 0.2.1 release

* chore: Update Pubspec version to 0.2.1

Also update amplify.dart to return 0.2.1 for version string

* Update changelog

* chore: set min flutter version to '>1.20.0' in packages where set to … (#757)

* feat(amplify_auth_cognito): enables clientMetadata for signUp (#713)

* fix(datastore): Query nested model causes column not found sql error (#761)

* Reformat source code

* fix(datastore): Query nested model causes column not found sql error

* Optimize method interface to clarify the purpose

* Optimize method interface

* Added relationship check ensure the field conversion happens only for BelongsTo

* bug(analytics): Force session start (#764)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* fix(analytics): Typo (#765)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* Fix iOS method name

* feat(amplify_auth_cognito): Auth Devices API (#735)

* Add platform code

* Clean up

* Add licenses

* Fix error handling

* Add logging and update threading logic

* Add iOS unit tests

* Clean up

* Add tests to project

* Fix unit tests

* chore(datastore): Remove redundant files for the datastore example (#762)

* feat(datastore): Populate belongs-to nested models (#658)

* feat(datastore): Populate has-one and belongs-to nested models

* Nest data under serializedData key and persist modelName

* Resolve comment

* Update packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift

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

* chore(amplify_api): add support for apiName to GraphQL requests (#553)

* fix(amplify_api): prevent some fatal REST errors in Android

Throw ApiException in android when PUT, POST, and PATCH REST requests have no body to prevent fatal error (#661).

* chore(release): 0.2.2 (#781)

* chore(release): missing dependency (#783)

* Bump analytics version

* Fix PR #

* Bump all versions

* Missing bump

* Pin collections

* chore: skip FlutterURLSessionTests (#795)

* chore(lints): Add amplify_lints package (#808)

* Add lints package

* Add missing readme item

* feat(auth): add options to resendSignUpCode (#738)

* feat(auth): add options to resendSignUpCode

* fix: add type export for sing up code options

* chore: fix formatting issues

* chore: update comments for consistency

* chore: rename private method names for consistency

* chore: update comments for consistency

* chore: make ResendSignUpCodeOptions abstract

* chore: update ResendSignUpCodeRequest serializeAsMap

* chore: update ios test

* chore update doc comments

* chore: bump amplify-android to 1.24.0

* chore: remove star import

* feat(auth): add support for options to resetPassword, confirmResetPassword (#743)

* chore: rename confirmPassword to confirmResetPassword

* chore: fix grammatical errors in docs

* feat(auth): add options support for resetPassword, confirmResetPassword

* chore: rename private methods for consistency

* chore: update comments for consistency

* chore: update ios tests

* chore: fix comments

* chore: handle deprecated methods

* separate out deprecated class

* chore: update serializeAsMap for consistency

* chore: properly deprecate confirmPassword

* chore: add deprecation annotation to interface

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* feat(auth): add options to updateAttribute, updateAttributes, resendUserAttributeConfirmationCode (#775)

* chore: move attribute types to new dir

* chore: rename fetch attribute classes

* feat: add client metadata to user attribute methods

* deprecate renamed types

* chore: update comments for consistency

* chore: rename methods, tests

* chore: break out depracted classes, make new classes abstract

* chore: revert star import

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* chore: remove empty line

* fix(amplify_auth_cognito): throws signedout exception (#730)

* fix(amplify_datastore): ios send modelProviderVersion (#439)

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

* feat(datastore): Add start and stop APIs (#811)

* Convert file to LF mode

* feat(datastore): Add start and stop APIs

* Add docs

* Resolve comments

* chore(analytics): Apply lints (#810)

* Clean up pinpoint

* Clean up pinpoint dart

* Enable CI for analytics

* Add iOS linting

* Clean up

* Update iOS script

* Fix Android melos script

* Update CI order

* Small changes

* Update type

* Add iOS whitespace rules

* Update type

* Apply updated rules

* feat(auth): OIDC/Lambda Support (#777)

* OIDC/Lambda support

* Clean up

* Fix iOS test

* Add unit tests

* Fix Android test

* Fix Android tests

* Refactor and remove AuthToken from the public API

* Remove concurrent guards

* Clean up

* chore: upgrade amplify-android 1.24.1 (#829)

* fix(datastore): cannot saving boolean as integer in SQLite (#754)

* fix(datastore): cannot saving boolean as integer in SQLite

* fix unit test

* Apply the fix to double type field as well

* fix(datastore): return null for list field in nested model (#843)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent (#647)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent

* Print unrecognized event details in iOS

* Resolve comments

* chore(api): Apply lints (#812)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29658d5cba4ef66209eaa05ecf1ba7ebaaf.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Revert license date

* Revert "Revert license date"

This reverts commit 1b93b3f382b7379b8f5ed66ca11468114ee504cc.

* test(DataStore): add local integration tests for datastore (#831)

* chore: add new model types for tests

* test: add tests for model types

* chore: update models for relationship tests

* test: add tests for hasOne, belongsTo

* chore: update models for hasMany tests

* test: add tests for hasMany relationship

* test: add query predicate test for string type

* test: add test for updating an existing model

* chore: skip flaky test on Android

* chore: clean up string predicate tests

* test: add integ tests for int/double query predicates

* chore: remove unused model

* chore: update tests after fix of #511

* chore: refactor model type tests

* chore: add provisioning script

* chore: update relationship tests

* chore: remove skipped test in save

* chore: add delay before clearing datastore

* test: add bool query predicate tests

* chore: update issue link for skipped test

* chore: update test w/ fix of #834

* Apply suggestions from code review

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

* chore: update testQueryPredicate for all models

* chore: update comment in bool query tests

* test: add test cases for unicode

* chore: update bool model generation

* chore: update testModelOperations to use getModelType

* test: add edge cases for model type tests

* chore: remove unneeded Map.from

* test: add edge cases to query predicate tests

* chore: update int/double predicate tests to use <>=

* chore: remove unneeded configure calls

* chore: update string between() test

* chore: update relationship tests to check for single model

* test: update observe tests to test all events

* chore: add notes to equality checks

* chore: remove const from test

* chore: remove hard coded length

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

* fix(api): OIDC/Lambda Fixes (#862)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29658d5cba4ef66209eaa05ecf1ba7ebaaf.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Merge branch 'datastore/multiauth' into chore/api-lints

* Revert multiauth

* Fix updateTokens

* Fix GraphQL error decoding

* Fix formatting

* Clean up

* Clean up

* Clean up

* Fix analysis for Flutter 2.5.0

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

* fix(amplify_datastore): iOS json deserialization (#806)

iOS ONLY fix.  Android was unaffected.

Ensure nested model int types are returned as int instead of double

Consolidate duplicated code for extracting values from Json during serialization step

* chore(release): 0.2.3 (#866)

* fix(example) updates amplify dependencies (#867)

* test(DataStore): add additional local integration tests for datastore (#844)

* Revert "Merge branch 'release-candidate' into main" (#871)

This reverts commit a88a10947b0b5030b06ec01135f71b1c3561de8e, reversing
changes made to 324ebad1904ebebc46e26432a93642b2776698ba.

* fix: Cocoapods relative import (#874)

* Fix Cocoapods relative import

* Update dependencies

* Add lints license

* Update amplify_flutter

* 0.2.4

* fix(example): Update dependencies (#875)

* Update example app

* Add example app to CI

* Update iOS settings

* chore: Enable release checks via unpub (#876)

* Add unpub step to CI builds

* Fix CI config

* Fix CI script

* Add yq

* Fix brew

* Add yq on Android

* Add new workflows

* Fix yml

* Fix yml

* Fix yml

* Fix curl cmd

* Fix docker compose check

* Fix yml

* Fix yml

* Update path search

* Fix melos setup

* Fix yq script

* Switch executor flow

* Fix

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Update launcher

* Fix ref

* Test

* Fix versions

* Fix example version

* Fix remote build

* Fix dev dependency versioning

* Fix script order

* Use local project for seeding deps

* Add dummy configs back

* Reenable full pipeline

* Fix melos command

* Update step name

* Merge main

* fix: Melos bootstrap should not fail (#887)

* Fix postbootstrap

* Fix example app

* 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)

Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: José Sánchez <[email protected]>
Co-authored-by: Su Tran <[email protected]>

* chore(authenticator): Clean up (#931)

* chore: make .gitignore more specific for amplify dirs and tweak integration test melos tasks (#711)

* feat: :sparkles: first snippet for the amplify authenticator

* chore(auth): User attributes/sign up docs (#697)

* feat(amplify): Null Safety Core (#492)

Null Safety upgrade for (to min Dart 2.12):
Core
Flutter
All Plugin Interface Packages

* feat(amplify_auth): Null Safety Auth (#536)

* feat(amplify_analytics): Null safety (#483)

* feat(amplify_storage_s3): Null safety (#485)

* feat(amplify_api): Null safety api (#484)

* fix: Broken Unit Tests

* fix: upgrade Auth changes to null safety

* fix: Broken Auth Unit Tests

* fix(amplify_auth_cognito): fixes auth null safety issues (#613)

* Example app null safety fixes (#617)

* Null safety master fixes pr (#614)

* chore(release): 0.2.0-nullsafety.0 (#622)

* Version Update to 0.2.0-nullsafety.0

* Update amplify.dart

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

* Update FlutterFetchCognitoAuthSessionResult.kt (#653)

* Null safety datastore (#649)

* chore: release 0.2.0-nullsafety.1 (#656)

* bug(datastore): HubEvent null check (#670)

* Fix HubEventElements for NS

* Refactor and add tests

* Null safety master rebase (#676)

* chore: pin Amplify iOS to '~> 1.9.2' (#589)

* set amplify ios to '~> 1.9'

* set amplify ios to '~> 1.9.2'

* add 'ObjectMapper' back to podspec

Co-authored-by: Ashish Nanda <[email protected]>

* chore: foundation for integration tests and basic auth suite with signIn and signOut (#568)

* feat(auth): add updateUserAttributes (batch) (#601)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

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

* chore(amplify_api): add httpStatusCode property to ApiException when available from REST response (#590)

Add integer property httpStatusCode to ApiException. In android and iOS, look for the status code in the response/error object and add to the serialized map. In flutter, add the new property to the serialization logic specifically for ApiException.

* fix(auth): Add clientMetadata to confirmSignUp API options (#619)

* Chore: remove check for duplicate error in Storage (#618)

* remove check for dup err cb

* bump amplify-android to version 1.17.8

* fix(auth): iOS/Android user attribute inconsistencies  (#620)

* feat: add auth.updateUserAttributes

* Apply suggestions from code review

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

* address pr comments

* refactor android user attributes

* consolidate user attr logic on iOS

* refactor deliveryDetails serialization

* add missing newline

* revert missing attribute changes

* update serializeAuthUpdateAttributeResult for nil

* move comment to to of file

* bump amplify-android to 1.17.7

* iOS: handle missing and custom attributes

* add constant for customKeyPrefix

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

* Add support of DataStore custom configuration (#610)

* refactor: Minor refactor of DataStore methods

* Free up `configure` method for native passthrough

* Move observe configuration into its own explicit method

* Corrected observe setup method in swift to call the invokeMethod callback so the call can be properly awaited upon in dart layer

* Broaden `configureDataStore` naming to convey more than model provider being able to be configured through this method

* Allow plugins to be added in parallel instead of in a series

* Update unit tests to correctly assert observe call result

* Remove setUpObserve API. Restore setUpObserve call to configure

* feat(datastore) Allow configure DataStore with custom configuration

* Reintroduce configureModelProvider as deprecated method

* chore(datastore) Add unit tests for custom DataStore configuration

* Update configure to not throw error if DataStore plugin is not found

* Split datastore configuration unit tests by use cases

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

* Use "flutter pub" in melos.yaml (and everywhere else) (#603)

* Use dart pub in melos.yaml

* Fix all references to 'pub _' with 'flutter pub _'

* Work around hanging build; don't install in postbootstrap

* fix(tests): add --no-pub to integration tests (#637)

* add --no-pub to integration tests

* fix typo

* fix: CONTRIBUTING Dead Links (#630)

* fix(amplify_auth_cognito): adds userAttributes to confirmSignIn (#607)

* chore: Add CircleCI badge (#631)

* chore: Add CircleCI badge

* fix: changed badge hyperlink

* fix: badage now points towards master branch

* Update README.md

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

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

* chore: upgrade amplify-android to 1.19.0 (#650)

* fix: amplify-ios version bump (#648)

* fix: amplify-ios version bump ~> 1.11.0 (#665)

* chore: release 0.1.6 (#667)

* fix: amplify-ios version bump ~> 1.11.0

* chore: release 0.1.6

* Update CHANGELOG.md

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

* Pagination with Datastore #500 (#673)

* Fix compile errors

* Fix broken unit tests

* Fix Android Unit Tests

* fix(amplify_datastore): force cast exception codegen

1) add new exception for force cast in codegen models

* Fix ios unit tests

This file was corrupted during the rebase

* Update codegen models to latest

* PR Comments

* Fix Android Unit Tests

* Last PR Comment

Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>

* fix(amplify_datstore): mprovider compile issue (#681)

* chore: remove deprecated method - configureModelProvider

* Revert "chore: remove deprecated method - configureModelProvider"

This reverts commit 00dbc7a5fa3248c78c6379eb0d1d12109808c4eb.

* Revert "Revert "chore: remove deprecated method - configureModelProvider"" (#682)

remove deprecated method - configureModelProvider

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

* fix(Auth): Remove use of TypeToken (#683)

* remove use of type token from auth session

* remove TypeToken from exception util

* fix(auth): update user attribute serialization (#684)

* update user attr res serialization

* update unit tests

* Fix enum string function (#687)

* Fix enum string function

* Update logic

* Revert "Update logic"

This reverts commit 75d257a3daab80ff62977ca72f47fb76099463c0.

* fix(auth): uses nextStep helper for signInResult on Android (#689)

* chore: release 0.2.0 (#690)

* Revert "Merge branch 'master' into null-safety-master"

This reverts commit 5e7fd304a517189ffc24254e9b9f74a28032b994, reversing
changes made to bf394bb958b6add00ecdc2b12061545b6cccf313.

* Update docs

* Add user attributes

* Update tests

* Revert minor change

* Merge branch 'master' into chore/user-attributes-ns

* Add export

Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>

* docs: :memo: update of license & project's description

* feat(amplify_auth_cognito): add initial example app for the authenticator

* iOS & Android files

* feat(amplify_authenticator): screens implementation -Sign In, Sign Up & Confirm Sign Up

* dependecies & project's name updated

* chore(amplify_api): add GraphQL integration tests (#694)

* feat(amplify_authenticator): button disable for auth calls

* chore(CI): enable formatting in CI w/ code changes (#570)

* enable formatting in CI

* diable analyze

* split up format and analyze

* chore: melos run format

* chore: empty commit to re-run CI

* Fix: user not able to sign out

* closing brace

* test directory deleted

* fix: AuthFormField(type: 'password') is able to hide values

* feat: default & custom validators

* chore(auth): integration tests for user attributes (#640)

* handle missing or empty signUpOptions

* add android unit test

* fix iOS tests

* add integration tests for auth.signUp

* remove unused imports, formatting

* add integration tests for user attributes

* add integration tests

* update auth category after NS changes

* update auth category for NS changes

* update unit test for NS changes

* update unit tests for NS changes

* address PR comments

* remove extra parens

* Apply SignUpRequest changes from code review

* add test for invalid attr value

* add user attribute confirmation test

* add fetchUserAttributes group

* remove test for email confirmation

* chore(api): Add API response headers/status (#721)

* Add API response headers/status

* Clean up

* Ensure proper deserialization

* Fix ios tests

* remove unnecessary default

* Add iOS status/headers + tests

* Remove empty body fix

* Missing status code

* Add license comments

* Clean up iOS tests

* Add RestException tests

* Add deprecation warning

* Fix example encoding

* Add Flutter plugin tests

* Rename file

* refactor: signin, signup & confirm signup view models

* docs: initial documentation

* chore: keys in form fields and buttons

* chore: keys in form fields and buttons

* chore(amplify_datastore): make SubscriptionEvent directly available via datastore plugin by adding to publicTypes in interface (#728)

* fix(datastore): not serializing enum type in a predicate (#726)

* test: integration test setup

* feat: custom form field

* refactor: nullable auth variables in confirm sign up, sign in and sign up view models

* refactor: boilerplate from example app

* refactor: amplify_configure.dart deleted

* test: sign in screen integration testing

* doc: public members

* refactor: form field keys

* refactor: using types

* refactor: sign out method

* refactor: handle result from sign in / up calls

* chore(amplify_storage_s3): add storage integration tests and update example app (#734)

* chore(auth): add integration test coverage for auth (#724)

* chore(auth): add integ tests for auth hub

* chore(auth): add integ test for update password

* chore(auth): add integ test for sign up exceptions

* chore(auth): test exceptions in signIn, signOut

* chore(auth): add fetch session integration tests

* chore(auth): add integ tests for getCurrentUser

* chore: formatting in get_current_user

* chore: formatting in fetch_session

* chore: refactor setup for update password tests

* chore: update fetch session test to check for null

* fix typos in comments

* chore: address PR feedback

* chore: fix formatting issues

* test: sign in integration testing

* test: sign up integration testing

* refactor: enums in signup, signin and confirm_signup form fields

* feat: confirm sign in screen

* Update amplify_authenticator.dart

* refactor: late keyword removed

* refactor: getCurrentUser() method

* refactor: return type of currentUser method

* print() removed

* refactor: copy/paste error

* refactor: non-null types

* refactor: non-null type

* refactor: void Function()

* refactor: return null types in form field types

* refactor: null return type

* Update signin_types.dart

* refactor: null return type

* refactor: pr comments

* chore(datastore): add integration tests for datastore (#753)

* chore: add integration tests for datastore

* chore: address pr comments

* chore: configure datastore before each test

* chore: refactor save test

* chore: fix formatting

* chore: update name to configureDataStore

* test: confirm sign in integration test

* Release updates 0.2.1 (#756)

* chore: Update Changelog for 0.2.1 release

* chore: Update Pubspec version to 0.2.1

Also update amplify.dart to return 0.2.1 for version string

* Update changelog

* refactor: code removed

* chore: set min flutter version to '>1.20.0' in packages where set to … (#757)

* fix: unsed code

* fix

* feat: display exceptions widget

* feat(amplify_auth_cognito): enables clientMetadata for signUp (#713)

* Extra lines removed

* extra lines

* chore: extra lines

* fix(datastore): Query nested model causes column not found sql error (#761)

* Reformat source code

* fix(datastore): Query nested model causes column not found sql error

* Optimize method interface to clarify the purpose

* Optimize method interface

* Added relationship check ensure the field conversion happens only for BelongsTo

* bug(analytics): Force session start (#764)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* fix(analytics): Typo (#765)

* Force session start

* Add iOS no-op

* Update comment

* Mark internal method protected

* Fix iOS method name

* feat: username alias

This change will allow a customer to pass in an username alias to setup the initial auth flow of their apps

* feat: resend code button in confirm sign up screen |

Now the username is automatically setup in the username form field.

* feat(amplify_auth_cognito): Auth Devices API (#735)

* Add platform code

* Clean up

* Add licenses

* Fix error handling

* Add logging and update threading logic

* Add iOS unit tests

* Clean up

* Add tests to project

* Fix unit tests

* feat: rest password option enabled

screen to request the change of password with username

* feat: reset password screen

users can reset their password by setting up a new one and passing a confirmation code

* chore(datastore): Remove redundant files for the datastore example (#762)

* feat(datastore): Populate belongs-to nested models (#658)

* feat(datastore): Populate has-one and belongs-to nested models

* Nest data under serializedData key and persist modelName

* Resolve comment

* Update packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift

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

* feat: confirm sign in with new password screen

* fix(authenticator): SignInFormField pointing to the same instance |
form field in SendCodeScreen was pointing to the same instance in a form field in the SignInScreen

* fix: form field pointing to same instance

* refactor: update password

* refactor: keys

* chore(amplify_api): add support for apiName to GraphQL requests (#553)

* fix(amplify_api): prevent some fatal REST errors in Android

Throw ApiException in android when PUT, POST, and PATCH REST requests have no body to prevent fatal error (#661).

* refactor: branch conflicts

* fix: confirm password username attribute

* fix: second clause for non-Amplify exceptions

* refactor: clearException method for clearing all exceptions in the
exception controller.

* refactor: clearException method

* refactor: non null exception controller

* fix: throw error when signInStep == 'CONFIRM_SIGN_IN_WITH_CUSTOM_CHALLENGE'

* refactor: error objects

* feat: user is signed in after confirm sign up and when sign up respone is 'DONE'

* chore(release): 0.2.2 (#781)

* feat: confirm sign in auth flow

* refactor: show sign in screen after sign out

* refactor: const variable

* chore: unnecessary enum deleted

* refactor: non-null & final declaration

* chore: commented code removed

* refactor: VMs updated based on the triggered state

* refactor: resend code method

* refactor: validators in form fields

* fix: null value in a variable at confirm sign up VM

* refactor: authenticator container padding

* refactor: else clause in Authenticator Stream Builder

* refactor: username alias optional

* doc: finders in intergarion testion

* doc: finders

* doc: username alias doc

* refactor: inherited forms

* chore(release): missing dependency (#783)

* Bump analytics version

* Fix PR #

* Bump all versions

* Missing bump

* Pin collections

* fix: overflow in exception widget

* fix: validation in confirm sign up form fields.

* refactor: null check (!)  removed from inherited forms

* feat: loading state in sign out button if there's any exception.

* fix: overflow in buttons

* chore: commented code removed

* refactor: public methods in AuthBloc

* fix: unsued code

* chore: skip FlutterURLSessionTests (#795)

* chore(lints): Add amplify_lints package (#808)

* Add lints package

* Add missing readme item

* feat(auth): add options to resendSignUpCode (#738)

* feat(auth): add options to resendSignUpCode

* fix: add type export for sing up code options

* chore: fix formatting issues

* chore: update comments for consistency

* chore: rename private method names for consistency

* chore: update comments for consistency

* chore: make ResendSignUpCodeOptions abstract

* chore: update ResendSignUpCodeRequest serializeAsMap

* chore: update ios test

* chore update doc comments

* chore: bump amplify-android to 1.24.0

* chore: remove star import

* feat(auth): add support for options to resetPassword, confirmResetPassword (#743)

* chore: rename confirmPassword to confirmResetPassword

* chore: fix grammatical errors in docs

* feat(auth): add options support for resetPassword, confirmResetPassword

* chore: rename private methods for consistency

* chore: update comments for consistency

* chore: update ios tests

* chore: fix comments

* chore: handle deprecated methods

* separate out deprecated class

* chore: update serializeAsMap for consistency

* chore: properly deprecate confirmPassword

* chore: add deprecation annotation to interface

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* feat(auth): add options to updateAttribute, updateAttributes, resendUserAttributeConfirmationCode (#775)

* chore: move attribute types to new dir

* chore: rename fetch attribute classes

* feat: add client metadata to user attribute methods

* deprecate renamed types

* chore: update comments for consistency

* chore: rename methods, tests

* chore: break out depracted classes, make new classes abstract

* chore: revert star import

* chore: bump amplify-android to 1.24.0

* chore: apply suggestions from code review

* chore: remove empty line

* fix(amplify_auth_cognito): throws signedout exception (#730)

* fix(amplify_datastore): ios send modelProviderVersion (#439)

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

* feat(datastore): Add start and stop APIs (#811)

* Convert file to LF mode

* feat(datastore): Add start and stop APIs

* Add docs

* Resolve comments

* chore(analytics): Apply lints (#810)

* Clean up pinpoint

* Clean up pinpoint dart

* Enable CI for analytics

* Add iOS linting

* Clean up

* Update iOS script

* Fix Android melos script

* Update CI order

* Small changes

* Update type

* Add iOS whitespace rules

* Update type

* Apply updated rules

* feat(auth): OIDC/Lambda Support (#777)

* OIDC/Lambda support

* Clean up

* Fix iOS test

* Add unit tests

* Fix Android test

* Fix Android tests

* Refactor and remove AuthToken from the public API

* Remove concurrent guards

* Clean up

* chore: upgrade amplify-android 1.24.1 (#829)

* fix(datastore): cannot saving boolean as integer in SQLite (#754)

* fix(datastore): cannot saving boolean as integer in SQLite

* fix unit test

* Apply the fix to double type field as well

* fix(datastore): return null for list field in nested model (#843)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent (#647)

* fix(datastore): Better loggin on unhandled DataStoreHubEvent

* Print unrecognized event details in iOS

* Resolve comments

* chore(api): Apply lints (#812)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29658d5cba4ef66209eaa05ecf1ba7ebaaf.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Revert license date

* Revert "Revert license date"

This reverts commit 1b93b3f382b7379b8f5ed66ca11468114ee504cc.

* test(DataStore): add local integration tests for datastore (#831)

* chore: add new model types for tests

* test: add tests for model types

* chore: update models for relationship tests

* test: add tests for hasOne, belongsTo

* chore: update models for hasMany tests

* test: add tests for hasMany relationship

* test: add query predicate test for string type

* test: add test for updating an existing model

* chore: skip flaky test on Android

* chore: clean up string predicate tests

* test: add integ tests for int/double query predicates

* chore: remove unused model

* chore: update tests after fix of #511

* chore: refactor model type tests

* chore: add provisioning script

* chore: update relationship tests

* chore: remove skipped test in save

* chore: add delay before clearing datastore

* test: add bool query predicate tests

* chore: update issue link for skipped test

* chore: update test w/ fix of #834

* Apply suggestions from code review

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

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

* Update packages/amplify_datastore/example/integration_test/model_type_test.dart

* chore: update testQueryPredicate for all models

* chore: update comment in bool query tests

* test: add test cases for unicode

* chore: update bool model generation

* chore: update testModelOperations to use getModelType

* test: add edge cases for model type tests

* chore: remove unneeded Map.from

* test: add edge cases to query predicate tests

* chore: update int/double predicate tests to use <>=

* chore: remove unneeded configure calls

* chore: update string between() test

* chore: update relationship tests to check for single model

* test: update observe tests to test all events

* chore: add notes to equality checks

* chore: remove const from test

* chore: remove hard coded length

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

* fix(api): OIDC/Lambda Fixes (#862)

* Clean up pinpoint

* Clean up pinpoint dart

* Update iOS script

* Update CI order

* Add Dart lints to API

* Apply Android/iOS lints to API

* Rename uuid

* Small changes

* Fix scripts

* Clean up

* Fix unit tests

* Continue impl

* Fix android unit tests

* Remove duplicate lint check

* Fix analytics app

* Adjust java options

* Bump java RAM

* Remove concurrency

* Disable gradle daemon

* Update gradle properties

* Update gradle config

* Revert "Update gradle config"

This reverts commit a43ad29658d5cba4ef66209eaa05ecf1ba7ebaaf.

* Revert gradle changes

* Disable gradle daemon

* Add kotlin style flags

* Disable gradle daemon

* Bump JVM memory

* Change daemon setting

* Adjust JVM memory

* Lint debug only

* Fix API tests

* Bump deps and fix coverage script

* Fix Gradle version

* Revert unnecessary changes

* Update melos postclean files

* Enable fatal infos

* Fix analyze scope

* Fix postbootstrap

* Fix missing sample app

* Fix order in CI

* Revert add sample app

* Revert order change

* Merge branch 'datastore/multiauth' into chore/api-lints

* Revert multiauth

* Fix updateTokens

* Fix GraphQL error decoding

* Fix formatting

* Clean up

* Clean up

* Clean up

* Fix analysis for Flutter 2.5.0

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

* fix(amplify_datastore): iOS json deserialization (#806)

iOS ONLY fix.  Android was unaffected.

Ensure nested model int types are returned as int instead of double

Consolidate duplicated code for extracting values from Json during serialization step

* chore(release): 0.2.3 (#866)

* fix(example) updates amplify dependencies (#867)

* test(DataStore): add additional local integration tests for datastore (#844)

* Revert "Merge branch 'release-candidate' into main" (#871)

This reverts commit a88a10947b0b5030b06ec01135f71b1c3561de8e, reversing
changes made to 324ebad1904ebebc46e26432a93642b2776698ba.

* fix: Cocoapods relative import (#874)

* Fix Cocoapods relative import

* Update dependencies

* Add lints license

* Update amplify_flutter

* 0.2.4

* fix(example): Update dependencies (#875)

* Update example app

* Add example app to CI

* Update iOS settings

* chore: Enable release checks via unpub (#876)

* Add unpub step to CI builds

* Fix CI config

* Fix CI script

* Add yq

* Fix brew

* Add yq on Android

* Add new workflows

* Fix yml

* Fix yml

* Fix yml

* Fix curl cmd

* Fix docker compose check

* Fix yml

* Fix yml

* Update path search

* Fix melos setup

* Fix yq script

* Switch executor flow

* Fix

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Try again

* Update launcher

* Fix ref

* Test

* Fix versions

* Fix example version

* Fix remote build

* Fix dev dependency versioning

* Fix script order

* Use local project for seeding deps

* Add dummy configs back

* Reenable full pipeline

* Fix melos command

* Update step name

* Merge main

* fix: Melos bootstrap should not fail (#887)

* Fix postbootstrap

* Fix example app

* 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

* Linting + reorg

* Rename

* Clean up

* Improve customizability

* Integrate Jordan's changes

* Clean up

* Clean up

* Clean up

* Revert attribute changes

* Fix API auth for REST (#925)

* Clean up

* Clean up

* Remove print

* Update authenticator config

* Add generated package to melos ignore

* Fix amplify_flutter test

* Fix validators

Co-authored-by: Travis Sheppard <[email protected]>
Co-authored-by: Israel Arcos <[email protected]>
Co-authored-by: Kyle <[email protected]>
Co-authored-by: Dustin Noyes <[email protected]>
Co-authored-by: Mo Malaka <[email protected]>
Co-authored-by: Leonardo Custodio <[email protected]>
Co-authored-by: Jordan Nelson <[email protected]>
Co-authored-by: Ashish Nanda <[email protected]>
Co-authored-by: Chris F <[email protected]>
Co-authored-by: Hui Zhao <[email protected]>
Co-authored-by: Chris Fang <[email protected]>
Co-authored-by: A.J. Gardner <[email protected]>
Co-authored-by: Elijah Quartey <[email protected]>
Co-authored-by: Noyes <[email protected]>
Co-authored-by: israx <[email protected]>
Co-authored-by: José Sánchez <[email protected]>
Co-authored-by: Su Tran <[email protected]>

* feat(amplify_authenticator): remember device widget (#959)

* chore(authenticator): Hosted UI, themeing (#951)

* Initial theme and hosted UI work

* Improve button code

* Fixes

* Fix layout + banner issues

* Minor fixes

* Clean up

* Temp fix for Android cancellation

* Update themeing

* Use amplify config for social buttons

* Clean up. Temp: disable amplify theme.

* chore(authenticator): Update localizations (#992)

* Initial theme and hosted UI work

* Improve button code

* Fixes

* Fix layout + banner issues

* Minor fixes

* Clean up

* Temp fix for Android cancellation

* Refactor localizations

* Update localizations

* Update themeing

* Use amplify config for social buttons

* Clean up. Temp: disable amplify theme.

* Update generator

* Update translations and example app

* Fix example app

* Fix authenticator form key (#1012)

* Amplify authenticator/formfield refactor (#1020)

* chore(authenticator): Translations and lint fixes (#1031)

* Translations and lint fixes

* Revert

* Fix initial value

* fix: resend signup code (#1029)

* fix: resend signup code

* feat: display message after resendSignUpCode

* makes custom SignUpField hintText required (#1041)

* fix: check attr verification after confirm sign in (#1019)

* Fix rebase

* Update to amplify-authenticator

* Fix format

* Fix RC update

* chore(authenticator): Re-theme (#1074)

* Initial theme work

* Fix sizing

* UI tweak

* Remove top-level license

* Update translations

* Fix button

* Change default theme

* chore(authenticator): Update username attributes (#1077)

* Initial theme work

* Fix sizing

* UI tweak

* Remove top-level license

* Update translations

* Fix button

* Update username attributes

* Revert auth bloc changes

* Add missing license

* fix: remove scaffold if state is authenticated (#1078)

* UsernameType doc comments (#1080)

* chore(authenticator): Support user's Material theme (#1079)

* Initial theme work

* Fix sizing

* UI tweak

* Remove top-level license

* Update translations

* Fix button

* Update username attributes

* Revert auth bloc changes

* Add missing license

* Create AmplifyTheme wrapper over Theme

* Clean up

* chore: merge release-candidate into amplify-authenticator (#1086)

* 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

Co-authored-by: Travis Sheppard <[email protected]>

* chore(authenticator): Dark mode (#1084)

* Initial theme work

* Fix sizing

* UI tweak

* Remove top-level license

* Update translations

* Fix button

* Update username attributes

* Revert auth bloc changes

* Add missing license

* Create AmplifyTheme wrapper over Theme

* Clean up

* Add dark mode

* Fix social buttons

* feat(amplify_authenticator): adds search bar in dial code lookup, and additional country localizations (#1081)

* chore(authenticator): UI fixes (#1089)

* UI fixes

* Fix verify user form

* Clean up

* Fix social buttons

* Fix indicator

* Use card for all screens

* Clean up social buttons

* Clean up phone field

* Center social buttons

* Add phone dropdown to all phone fields

* Fix phone number fields

* Fix phone number formatting

* Update social button padding

* Fix dropdown formatting

* Fix username attributes

* Fix info messages

* UI fixes

* Fix confirm sign in flow

* Remove remember device

* Clean up

* Add exception handler

* Clean up

* Clear username on switch

* fix: do not show verify user if at least one attribute is verified (#1088)

* fix: do not show verify user if at least one attr is verified

* chore: update comment

* fix: only consider existing attributes

* fix(amplify_authenticator) uses session for _authLoad (#1072)

* feat: Authenticator UI updates (#1093)

* UI fixes

* Fix verify user form

* Clean up

* Fix social buttons

* Fix indicator

* Use card for all screens

* Clean up social buttons

* Clean up phone field

* Center social buttons

* Add phone dropdown to all phone fields

* Fix phone number fields

* Fix phone number formatting

* Update social button padding

* Fix dropdown formatting

* Fix username attributes

* Fix info messages

* UI fixes

* Fix confirm sign in flow

* Remove remember device

* Clean up

* Add exception handler

* Clean up

* feat: remove the material card and ui updates

* chore: inline tabs

* feat: update button order and spacing

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

* fix: update verify user validation message and display code sent message (#1095)

* fix: use the correct string for the validator

* feat: show send code message on verify user

* fix(amplify_authenticator): updates username on switch state (#1097)

* chore(authenticator): Update social buttons look (#1098)

* Update social buttons look

* Revert gitignore

* chore(authenticator): Custom fields (#1096)

* Add required attrs; clean up form fields

* Turn off autocorrect

* Update to (optional)

* Rename to displayPriority

* Update sorting

* Clean up

* feat(authenticator): update date time field ui and handle onTap (#1099)

* feat: update datetime field ui and handle onTap

* update initialEntryMode

* chore(authenticator): Feedback fixes (#1100)

* Use username field for confirm sign up

* No validation for optional fields

* Fix phone number validation

* Fix missing required values

* Fix obscure text

* Clean up form field

* Fix banner not showing

* Fix isOptional

* Always require code

* chore(authenticator): Add exception banner location (#1101)

* Use username field for confirm sign up

* No validation for optional fields

* Fix phone number validation

* Fix missing required values

* Fix obscure text

* Clean up form field

* Fix banner not showing

* Fix isOptional

* Add exception banner location

* Revert changes

* Fixes

* Update icon color

* fix(authenticator): update theme _isDark for material t…
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.

4 participants