diff --git a/packages/amplify_core/lib/amplify_core.dart b/packages/amplify_core/lib/amplify_core.dart index 82cc49f658..12c64c547f 100644 --- a/packages/amplify_core/lib/amplify_core.dart +++ b/packages/amplify_core/lib/amplify_core.dart @@ -19,9 +19,16 @@ export 'src/category/amplify_categories.dart'; /// Config export 'src/config/amplify_config.dart'; export 'src/config/amplify_outputs/amplify_outputs.dart'; +export 'src/config/amplify_outputs/analytics/amazon_pinpoint_outputs.dart'; export 'src/config/amplify_outputs/analytics/analytics_outputs.dart'; export 'src/config/amplify_outputs/auth/auth_outputs.dart'; +export 'src/config/amplify_outputs/auth/identity_provider.dart'; +export 'src/config/amplify_outputs/auth/mfa.dart'; +export 'src/config/amplify_outputs/auth/oauth_outputs.dart'; +export 'src/config/amplify_outputs/auth/oauth_response_type.dart'; +export 'src/config/amplify_outputs/auth/password_policy.dart'; export 'src/config/amplify_outputs/data/data_outputs.dart'; +export 'src/config/amplify_outputs/notifications/amazon_pinpoint_channel.dart'; export 'src/config/amplify_outputs/notifications/notifications_outputs.dart'; export 'src/config/amplify_outputs/storage/storage_outputs.dart'; export 'src/config/amplify_plugin_config.dart' hide UnknownPluginConfigFactory; diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/amplify_outputs.dart b/packages/amplify_core/lib/src/config/amplify_outputs/amplify_outputs.dart index 5c3ba236f4..8e4908eaad 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/amplify_outputs.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/amplify_outputs.dart @@ -6,7 +6,7 @@ import 'package:amplify_core/amplify_core.dart'; part 'amplify_outputs.g.dart'; /// {@template amplify_core.amplify_outputs} -/// The amplify outputs generated by Amplify CLI Gen2 for +/// The amplify outputs generated by Amplify Gen 2 for /// Amplify libraries to communicate with backend services. /// {@endtemplate} @zAmplifyOutputsSerializable @@ -48,7 +48,8 @@ class AmplifyOutputs /// {@macro amplify_core.amplify_outputs.storage_outputs} final StorageOutputs? storage; - /// The custom outputs generated by CLI Gen2. + /// The custom outputs generated by Amplify Gen 2. + /// /// Amplify Categories do not use custom outputs. final Map? custom; diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint.dart b/packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint_outputs.dart similarity index 53% rename from packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint.dart rename to packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint_outputs.dart index eae6d1cad6..41d00f5f8e 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint_outputs.dart @@ -3,20 +3,19 @@ import 'package:amplify_core/amplify_core.dart'; -part 'amazon_pinpoint.g.dart'; +part 'amazon_pinpoint_outputs.g.dart'; /// {@template amplify_core.amplify_outputs.amazon_pinpoint} -/// The Amazon Pinpoint outputs used by Analytics category plugin -/// to communicate with backend services. +/// The Amplify Gen 2 output for Amazon Pinpoint. /// {@endtemplate} @zAmplifyOutputsSerializable -class AmazonPinpoint - with AWSEquatable, AWSSerializable, AWSDebuggable { +class AmazonPinpointOutputs + with AWSEquatable, AWSSerializable, AWSDebuggable { /// {@macro amplify_core.amplify_outputs.amazon_pinpoint} - const AmazonPinpoint({required this.awsRegion, required this.appId}); + const AmazonPinpointOutputs({required this.awsRegion, required this.appId}); - factory AmazonPinpoint.fromJson(Map json) => - _$AmazonPinpointFromJson(json); + factory AmazonPinpointOutputs.fromJson(Map json) => + _$AmazonPinpointOutputsFromJson(json); /// The AWS region of Amazon Pinpoint resources. final String awsRegion; @@ -28,10 +27,10 @@ class AmazonPinpoint List get props => [awsRegion, appId]; @override - String get runtimeTypeName => 'AmazonPinpoint'; + String get runtimeTypeName => 'AmazonPinpointOutputs'; @override Object? toJson() { - return _$AmazonPinpointToJson(this); + return _$AmazonPinpointOutputsToJson(this); } } diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint.g.dart b/packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint_outputs.g.dart similarity index 65% rename from packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint.g.dart rename to packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint_outputs.g.dart index 98dca6c96e..bf957138f7 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint.g.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/analytics/amazon_pinpoint_outputs.g.dart @@ -2,19 +2,21 @@ // ignore_for_file: deprecated_member_use_from_same_package -part of 'amazon_pinpoint.dart'; +part of 'amazon_pinpoint_outputs.dart'; // ************************************************************************** // JsonSerializableGenerator // ************************************************************************** -AmazonPinpoint _$AmazonPinpointFromJson(Map json) => - AmazonPinpoint( +AmazonPinpointOutputs _$AmazonPinpointOutputsFromJson( + Map json) => + AmazonPinpointOutputs( awsRegion: json['aws_region'] as String, appId: json['app_id'] as String, ); -Map _$AmazonPinpointToJson(AmazonPinpoint instance) => +Map _$AmazonPinpointOutputsToJson( + AmazonPinpointOutputs instance) => { 'aws_region': instance.awsRegion, 'app_id': instance.appId, diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/analytics/analytics_outputs.dart b/packages/amplify_core/lib/src/config/amplify_outputs/analytics/analytics_outputs.dart index 24e882a076..668d7ca633 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/analytics/analytics_outputs.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/analytics/analytics_outputs.dart @@ -2,13 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 import 'package:amplify_core/amplify_core.dart'; -import 'package:amplify_core/src/config/amplify_outputs/analytics/amazon_pinpoint.dart'; part 'analytics_outputs.g.dart'; /// {@template amplify_core.amplify_outputs.analytics_outputs} -/// The analytics outputs used by Analytics category plugin -/// to communicate with backend services. +/// The Amplify Gen 2 output for Analytics category. /// {@endtemplate} @zAmplifyOutputsSerializable class AnalyticsOutputs @@ -20,7 +18,7 @@ class AnalyticsOutputs _$AnalyticsOutputsFromJson(json); /// {@macro amplify_core.amplify_outputs.amazon_pinpoint} - final AmazonPinpoint? amazonPinpoint; + final AmazonPinpointOutputs? amazonPinpoint; @override List get props => [amazonPinpoint]; diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/analytics/analytics_outputs.g.dart b/packages/amplify_core/lib/src/config/amplify_outputs/analytics/analytics_outputs.g.dart index f3ab9a6d26..f567e72873 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/analytics/analytics_outputs.g.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/analytics/analytics_outputs.g.dart @@ -12,7 +12,7 @@ AnalyticsOutputs _$AnalyticsOutputsFromJson(Map json) => AnalyticsOutputs( amazonPinpoint: json['amazon_pinpoint'] == null ? null - : AmazonPinpoint.fromJson( + : AmazonPinpointOutputs.fromJson( json['amazon_pinpoint'] as Map), ); diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/auth/auth_outputs.dart b/packages/amplify_core/lib/src/config/amplify_outputs/auth/auth_outputs.dart index 6337a285ee..404ea24480 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/auth/auth_outputs.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/auth/auth_outputs.dart @@ -1,16 +1,12 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import 'package:amplify_core/amplify_core.dart' hide MfaConfiguration, MfaType; -import 'package:amplify_core/src/config/amplify_outputs/auth/mfa.dart'; -import 'package:amplify_core/src/config/amplify_outputs/auth/oauth_outputs.dart'; -import 'package:amplify_core/src/config/amplify_outputs/auth/password_policy.dart'; +import 'package:amplify_core/amplify_core.dart'; part 'auth_outputs.g.dart'; /// {@template amplify_core.amplify_outputs.auth_outputs} -/// The auth outputs used by Auth category plugin -/// to communicate with backend services. +/// The Amplify Gen 2 outputs for Auth category. /// {@endtemplate} @zAmplifyOutputsSerializable class AuthOutputs @@ -18,8 +14,8 @@ class AuthOutputs /// {@macro amplify_core.amplify_outputs.auth_outputs} const AuthOutputs({ required this.awsRegion, - required this.userPoolId, - required this.userPoolClientId, + this.userPoolId, + this.userPoolClientId, this.identityPoolId, this.passwordPolicy, this.oauth, @@ -38,10 +34,10 @@ class AuthOutputs final String awsRegion; /// The Cognito User Pool ID. - final String userPoolId; + final String? userPoolId; /// The Cognito User Pool Client ID. - final String userPoolClientId; + final String? userPoolClientId; /// The Cognito Identity Pool ID. final String? identityPoolId; diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/auth/auth_outputs.g.dart b/packages/amplify_core/lib/src/config/amplify_outputs/auth/auth_outputs.g.dart index d9af534ffa..2524f97862 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/auth/auth_outputs.g.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/auth/auth_outputs.g.dart @@ -10,8 +10,8 @@ part of 'auth_outputs.dart'; AuthOutputs _$AuthOutputsFromJson(Map json) => AuthOutputs( awsRegion: json['aws_region'] as String, - userPoolId: json['user_pool_id'] as String, - userPoolClientId: json['user_pool_client_id'] as String, + userPoolId: json['user_pool_id'] as String?, + userPoolClientId: json['user_pool_client_id'] as String?, identityPoolId: json['identity_pool_id'] as String?, passwordPolicy: json['password_policy'] == null ? null @@ -45,8 +45,6 @@ AuthOutputs _$AuthOutputsFromJson(Map json) => AuthOutputs( Map _$AuthOutputsToJson(AuthOutputs instance) { final val = { 'aws_region': instance.awsRegion, - 'user_pool_id': instance.userPoolId, - 'user_pool_client_id': instance.userPoolClientId, }; void writeNotNull(String key, dynamic value) { @@ -55,6 +53,8 @@ Map _$AuthOutputsToJson(AuthOutputs instance) { } } + writeNotNull('user_pool_id', instance.userPoolId); + writeNotNull('user_pool_client_id', instance.userPoolClientId); writeNotNull('identity_pool_id', instance.identityPoolId); writeNotNull('password_policy', instance.passwordPolicy?.toJson()); writeNotNull('oauth', instance.oauth?.toJson()); diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/auth/mfa.dart b/packages/amplify_core/lib/src/config/amplify_outputs/auth/mfa.dart index 129dc4328e..e82d3327d7 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/auth/mfa.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/auth/mfa.dart @@ -4,8 +4,7 @@ import 'package:json_annotation/json_annotation.dart'; /// {@template amplify_core.amplify_outputs.maf_method} -/// The MFA method of Amazon Cognito User Pool for -/// sending the authorization code. +/// The MFA method of Amazon Cognito User Pool. /// {@endtemplate} enum MfaMethod { @JsonValue('SMS') diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_outputs.dart b/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_outputs.dart index 8e642c4174..02ca92c34d 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_outputs.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_outputs.dart @@ -1,15 +1,12 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import 'package:amplify_core/amplify_core.dart' hide SocialProvider; -import 'package:amplify_core/src/config/amplify_outputs/auth/identity_provider.dart'; -import 'package:amplify_core/src/config/amplify_outputs/auth/response_type.dart'; +import 'package:amplify_core/amplify_core.dart'; part 'oauth_outputs.g.dart'; /// {@template amplify_core.amplify_outputs.oauth_outputs} -/// The oauth outputs used by Auth category plugin -/// to communicate with backend services. +/// The Amplify Gen 2 outputs for oauth. /// {@endtemplate} @zAmplifyOutputsSerializable class OAuthOutputs @@ -42,8 +39,8 @@ class OAuthOutputs /// URIs used to redirect after signing out. final List redirectSignOutUri; - /// {@macro amplify_core.amplify_outputs.response_type} - final ResponseType responseType; + /// {@macro amplify_core.amplify_outputs.oauth_response_type} + final OAuthResponseType responseType; @override List get props => [ diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_outputs.g.dart b/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_outputs.g.dart index 20e46ec731..16424b0abc 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_outputs.g.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_outputs.g.dart @@ -21,7 +21,8 @@ OAuthOutputs _$OAuthOutputsFromJson(Map json) => OAuthOutputs( redirectSignOutUri: (json['redirect_sign_out_uri'] as List) .map((e) => e as String) .toList(), - responseType: $enumDecode(_$ResponseTypeEnumMap, json['response_type']), + responseType: + $enumDecode(_$OAuthResponseTypeEnumMap, json['response_type']), ); Map _$OAuthOutputsToJson(OAuthOutputs instance) => @@ -33,7 +34,7 @@ Map _$OAuthOutputsToJson(OAuthOutputs instance) => 'scopes': instance.scopes, 'redirect_sign_in_uri': instance.redirectSignInUri, 'redirect_sign_out_uri': instance.redirectSignOutUri, - 'response_type': _$ResponseTypeEnumMap[instance.responseType]!, + 'response_type': _$OAuthResponseTypeEnumMap[instance.responseType]!, }; const _$IdentityProviderEnumMap = { @@ -43,7 +44,7 @@ const _$IdentityProviderEnumMap = { IdentityProvider.apple: 'SIGN_IN_WITH_APPLE', }; -const _$ResponseTypeEnumMap = { - ResponseType.code: 'code', - ResponseType.token: 'token', +const _$OAuthResponseTypeEnumMap = { + OAuthResponseType.code: 'code', + OAuthResponseType.token: 'token', }; diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/auth/response_type.dart b/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_response_type.dart similarity index 77% rename from packages/amplify_core/lib/src/config/amplify_outputs/auth/response_type.dart rename to packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_response_type.dart index ab65f78f9a..a7ef44ff31 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/auth/response_type.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/auth/oauth_response_type.dart @@ -3,10 +3,10 @@ import 'package:json_annotation/json_annotation.dart'; -/// {@template amplify_core.amplify_outputs.response_type} +/// {@template amplify_core.amplify_outputs.oauth_response_type} /// The response type for identity providers set on Amazon Cognito. /// {@endtemplate} -enum ResponseType { +enum OAuthResponseType { @JsonValue('code') code, diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/auth/password_policy.dart b/packages/amplify_core/lib/src/config/amplify_outputs/auth/password_policy.dart index c833bdb29d..600e63ace1 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/auth/password_policy.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/auth/password_policy.dart @@ -14,10 +14,10 @@ class PasswordPolicy /// {@macro amplify_core.amplify_outputs.password_policy} const PasswordPolicy({ this.minLength, - this.requireNumbers, - this.requireLowercase, - this.requireUppercase, - this.requireSymbols, + this.requireNumbers = false, + this.requireLowercase = false, + this.requireUppercase = false, + this.requireSymbols = false, }); factory PasswordPolicy.fromJson(Map json) => @@ -27,16 +27,16 @@ class PasswordPolicy final int? minLength; /// Requires numbers. - final bool? requireNumbers; + final bool requireNumbers; /// Requires lower case. - final bool? requireLowercase; + final bool requireLowercase; /// Requires upper case. - final bool? requireUppercase; + final bool requireUppercase; /// Requires symbols. - final bool? requireSymbols; + final bool requireSymbols; @override List get props => [ diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/auth/password_policy.g.dart b/packages/amplify_core/lib/src/config/amplify_outputs/auth/password_policy.g.dart index ecabf44fa0..951e3483af 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/auth/password_policy.g.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/auth/password_policy.g.dart @@ -11,10 +11,10 @@ part of 'password_policy.dart'; PasswordPolicy _$PasswordPolicyFromJson(Map json) => PasswordPolicy( minLength: json['min_length'] as int?, - requireNumbers: json['require_numbers'] as bool?, - requireLowercase: json['require_lowercase'] as bool?, - requireUppercase: json['require_uppercase'] as bool?, - requireSymbols: json['require_symbols'] as bool?, + requireNumbers: json['require_numbers'] as bool? ?? false, + requireLowercase: json['require_lowercase'] as bool? ?? false, + requireUppercase: json['require_uppercase'] as bool? ?? false, + requireSymbols: json['require_symbols'] as bool? ?? false, ); Map _$PasswordPolicyToJson(PasswordPolicy instance) { @@ -27,9 +27,9 @@ Map _$PasswordPolicyToJson(PasswordPolicy instance) { } writeNotNull('min_length', instance.minLength); - writeNotNull('require_numbers', instance.requireNumbers); - writeNotNull('require_lowercase', instance.requireLowercase); - writeNotNull('require_uppercase', instance.requireUppercase); - writeNotNull('require_symbols', instance.requireSymbols); + val['require_numbers'] = instance.requireNumbers; + val['require_lowercase'] = instance.requireLowercase; + val['require_uppercase'] = instance.requireUppercase; + val['require_symbols'] = instance.requireSymbols; return val; } diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/data/data_outputs.dart b/packages/amplify_core/lib/src/config/amplify_outputs/data/data_outputs.dart index 90fcc48a99..1ae78248c5 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/data/data_outputs.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/data/data_outputs.dart @@ -6,8 +6,7 @@ import 'package:amplify_core/amplify_core.dart'; part 'data_outputs.g.dart'; /// {@template amplify_core.amplify_outputs.data_outputs} -/// The data outputs used by API GraphQL category plugin -/// to communicate with backend services. +/// The Amplify Gen 2 outputs for API GraphQL category. /// {@endtemplate} @zAmplifyOutputsSerializable class DataOutputs diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/notifications/notifications_outputs.dart b/packages/amplify_core/lib/src/config/amplify_outputs/notifications/notifications_outputs.dart index fae24d7c2f..956696744b 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/notifications/notifications_outputs.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/notifications/notifications_outputs.dart @@ -2,13 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 import 'package:amplify_core/amplify_core.dart'; -import 'package:amplify_core/src/config/amplify_outputs/notifications/amazon_pinpoint_channel.dart'; part 'notifications_outputs.g.dart'; /// {@template amplify_core.amplify_outputs.notifications_outputs} -/// The notifications outputs used by Notifications category plugin -/// to communicate with backend services. +/// The Amplify Gen 2 outputs for Notifications category. /// {@endtemplate} @zAmplifyOutputsSerializable class NotificationsOutputs diff --git a/packages/amplify_core/lib/src/config/amplify_outputs/storage/storage_outputs.dart b/packages/amplify_core/lib/src/config/amplify_outputs/storage/storage_outputs.dart index b216b5e569..9db9356aa6 100644 --- a/packages/amplify_core/lib/src/config/amplify_outputs/storage/storage_outputs.dart +++ b/packages/amplify_core/lib/src/config/amplify_outputs/storage/storage_outputs.dart @@ -6,8 +6,7 @@ import 'package:amplify_core/amplify_core.dart'; part 'storage_outputs.g.dart'; /// {@template amplify_core.amplify_outputs.storage_outputs} -/// The storage outputs used by Storage category plugin -/// to communicate with backend services. +/// The Amplify Gen 2 outputs for Storage category. /// {@endtemplate} @zAmplifyOutputsSerializable class StorageOutputs diff --git a/packages/amplify_core/test/config/amplify_outputs/test_data.dart b/packages/amplify_core/test/config/amplify_outputs/test_data.dart index d8c71d2da5..317e7a78b4 100644 --- a/packages/amplify_core/test/config/amplify_outputs/test_data.dart +++ b/packages/amplify_core/test/config/amplify_outputs/test_data.dart @@ -3,7 +3,7 @@ // GENERATED FILE. DO NOT MODIFY BY HAND. -// It uses json-schema-faker to generate a sample json from the Amplify CLI GEN2 client-config-schema. +// It uses json-schema-faker to generate a sample json from the Amplify GEN 2 client-config-schema. // Run below commands to regenerate a sample json. // curl https://raw.githubusercontent.com/aws-amplify/amplify-backend/main/packages/client-config/src/client-config-schema/schema_v1.json -o schema_v1.json // npx json-schema-faker -s schema_v1.json -o sample.json --alwaysFakeOptionals