Skip to content

Commit

Permalink
chore(repo): Use AWSAmplifyConfig throughout
Browse files Browse the repository at this point in the history
  • Loading branch information
Dillon Nys committed Jul 14, 2023
1 parent a76250d commit 1fa2471
Show file tree
Hide file tree
Showing 98 changed files with 933 additions and 1,545 deletions.
2 changes: 0 additions & 2 deletions packages/amplify_core/jnigen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ preamble: |
maven_downloads:
source_deps:
- software.amazon.smithy:smithy-model:1.34.0
- software.amazon.smithy:smithy-aws-traits:1.34.0
- software.amazon.smithy:smithy-validation-model:1.34.0
classes:
- software.amazon.smithy.model.Model
- software.amazon.smithy.model.loader.ModelAssembler
Expand Down
1 change: 0 additions & 1 deletion packages/amplify_core/lib/amplify_config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ export 'src/generated/src/amplify_configuration_service/model/aws_api_gateway_en
export 'src/generated/src/amplify_configuration_service/model/aws_app_sync_endpoint_config.dart';
export 'src/generated/src/amplify_configuration_service/model/aws_auth_cognito_config.dart';
export 'src/generated/src/amplify_configuration_service/model/aws_auth_config.dart';
export 'src/generated/src/amplify_configuration_service/model/aws_auth_flow_type.dart';
export 'src/generated/src/amplify_configuration_service/model/aws_auth_hosted_ui_config.dart';
export 'src/generated/src/amplify_configuration_service/model/aws_auth_identity_pool_config.dart';
export 'src/generated/src/amplify_configuration_service/model/aws_auth_mfa_configuration.dart';
Expand Down
16 changes: 8 additions & 8 deletions packages/amplify_core/lib/src/amplify_class.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// SPDX-License-Identifier: Apache-2.0

import 'dart:async';
import 'dart:convert';

import 'package:amplify_core/amplify_config.dart';
import 'package:amplify_core/amplify_core.dart';
import 'package:amplify_core/src/amplify_class_impl.dart';
import 'package:amplify_core/src/version.dart';
Expand Down Expand Up @@ -111,22 +111,22 @@ abstract class AmplifyClass {
);
}

late AmplifyConfig amplifyConfig;
late AWSAmplifyConfig amplifyConfig;
try {
try {
final json = jsonDecode(configuration) as Map;
amplifyConfig = AmplifyConfig.fromJson(json.cast());
} on Object {
amplifyConfig = AWSAmplifyConfig.parse(configuration);
} on Object catch (e) {
throw ConfigurationError(
'The provided configuration is not a valid json. '
'Check underlyingException.',
recoverySuggestion:
'Inspect your amplifyconfiguration.dart and ensure that '
'the string is proper json',
underlyingException: e,
);
}
await _configurePlugins(amplifyConfig);
_configCompleter.complete(amplifyConfig);
_configCompleter.complete(amplifyConfig.toCli());
} on ConfigurationError catch (e, st) {
// Complete with the configuration error and reset the completer so
// that 1) `configure` can be called again and 2) listeners registered
Expand All @@ -144,14 +144,14 @@ abstract class AmplifyClass {
// handled by the developer, but since they are unrelated to
// configuration, listeners to `Amplify.asyncConfig` should be allowed to
// proceed with the validated configuration.
_configCompleter.complete(amplifyConfig);
_configCompleter.complete(amplifyConfig.toCli());
_configCompleter = Completer();
rethrow;
}
}

/// Configures all plugins in topologically-sorted order.
Future<void> _configurePlugins(AmplifyConfig config) async {
Future<void> _configurePlugins(AWSAmplifyConfig config) async {
await Future.wait(_addPluginFutures);
_addPluginFutures.clear();
final categories = <Category, AmplifyCategory>{
Expand Down
30 changes: 11 additions & 19 deletions packages/amplify_core/lib/src/config/aws_amplify_config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -87,21 +87,7 @@ abstract class AWSAmplifyConfig

if (authConfig.auth?.default$ case final cliAuthConfig?) {
b.userPool
..authFlowType =
switch (cliAuthConfig.authenticationFlowType) {
AuthenticationFlowType.userSrpAuth =>
AWSAuthFlowType.userSrpAuth,
AuthenticationFlowType.userPasswordAuth =>
AWSAuthFlowType.userPasswordAuth,
AuthenticationFlowType.customAuthWithSrp =>
AWSAuthFlowType.customAuthWithSrp,
AuthenticationFlowType.customAuthWithoutSrp =>
AWSAuthFlowType.customAuthWithoutSrp,
// ignore: deprecated_member_use_from_same_package
AuthenticationFlowType.customAuth =>
AWSAuthFlowType.customAuth,
null => null,
}
..authFlowType = cliAuthConfig.authenticationFlowType
..mfaConfiguration = switch ((
cliAuthConfig.mfaConfiguration,
cliAuthConfig.mfaTypes
Expand Down Expand Up @@ -159,6 +145,8 @@ abstract class AWSAmplifyConfig

if (userPoolConfig.hostedUI case final hostedUiConfig?) {
b.userPool.hostedUi
..clientId = hostedUiConfig.appClientId
..clientSecret = hostedUiConfig.appClientSecret
..domainName = hostedUiConfig.webDomain
..signInRedirectUris.addAll(hostedUiConfig.signInRedirectUris)
..signOutRedirectUris
Expand Down Expand Up @@ -288,7 +276,7 @@ abstract class AWSAmplifyConfig
required String clientId,
String? clientSecret,
Uri? endpoint,
AWSAuthFlowType? authFlowType,
AuthenticationFlowType? authFlowType,
Iterable<AWSAuthProvider>? socialProviders,
Iterable<AWSAuthUsernameAttribute>? usernameAttributes,
Iterable<CognitoUserAttributeKey>? signUpAttributes,
Expand Down Expand Up @@ -708,8 +696,8 @@ abstract class AWSAmplifyConfig
case AWSAuthCognitoConfig(:final userPool, :final identityPool)) {
final oAuthConfig = userPool?.hostedUi?.let(
(hostedUi) => CognitoOAuthConfig(
appClientId: userPool.clientId,
appClientSecret: userPool.clientSecret,
appClientId: hostedUi.clientId ?? userPool.clientId,
appClientSecret: hostedUi.clientSecret ?? userPool.clientSecret,
webDomain: hostedUi.domainName,
scopes: hostedUi.scopes.toList(),
signInRedirectUri: hostedUi.signInRedirectUris.join(','),
Expand Down Expand Up @@ -902,7 +890,7 @@ abstract class AWSAmplifyConfig
S3PluginConfig.pluginKey: S3PluginConfig(
bucket: bucketName,
region: region,
defaultAccessLevel: defaultAccessLevel ?? StorageAccessLevel.guest,
defaultAccessLevel: defaultAccessLevel,
),
},
);
Expand All @@ -925,6 +913,10 @@ abstract class AWSAmplifyConfig
// We need a built_value serializer for each overridden type
_StandardEnumSerializer('LogLevel', LogLevel.values),
_StandardEnumSerializer('Category', Category.values),
_StandardEnumSerializer(
'AuthenticationFlowType',
AuthenticationFlowType.values,
),
_StandardEnumSerializer('MfaType', MfaType.values),
_StandardEnumSerializer(
'MfaConfiguration',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@

library amplify_core.amplify_configuration_service.common.serializers; // ignore_for_file: no_leading_underscores_for_library_prefixes

import 'package:amplify_core/amplify_core.dart' as _i38;
import 'package:amplify_core/amplify_core.dart' as _i35;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/amplify_logging_constraints.dart'
as _i25;
as _i24;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/amplify_sub_category.dart'
as _i34;
as _i33;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_analytics_config.dart'
as _i3;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_analytics_pinpoint_config.dart'
Expand All @@ -23,58 +23,52 @@ import 'package:amplify_core/src/generated/src/amplify_configuration_service/mod
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_app_sync_endpoint_config.dart'
as _i5;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_cognito_config.dart'
as _i21;
as _i20;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_config.dart'
as _i22;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_flow_type.dart'
as _i10;
as _i21;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_hosted_ui_config.dart'
as _i18;
as _i17;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_identity_pool_config.dart'
as _i20;
as _i19;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_mfa_configuration.dart'
as _i17;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_password_protection_settings.dart'
as _i16;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_password_protection_settings.dart'
as _i15;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_provider.dart'
as _i14;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_provider_custom.dart'
as _i13;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_provider_custom.dart'
as _i12;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_provider_oidc.dart'
as _i11;
as _i10;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_provider_saml.dart'
as _i12;
as _i11;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_user_pool_config.dart'
as _i19;
as _i18;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_auth_username_attribute.dart'
as _i15;
as _i14;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_logging_cloud_watch_config.dart'
as _i26;
as _i25;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_logging_config.dart'
as _i27;
as _i26;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_notifications_config.dart'
as _i30;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_push_notifications_config.dart'
as _i29;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_push_notifications_pinpoint_config.dart'
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_push_notifications_config.dart'
as _i28;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_push_notifications_pinpoint_config.dart'
as _i27;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_rest_endpoint_config.dart'
as _i7;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_storage_config.dart'
as _i33;
as _i32;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_storage_s3_bucket.dart'
as _i31;
as _i30;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/aws_storage_s3_config.dart'
as _i32;
as _i31;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/logging_remote_configuration.dart'
as _i23;
as _i22;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/user_log_level.dart'
as _i24;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/validation_exception.dart'
as _i36;
import 'package:amplify_core/src/generated/src/amplify_configuration_service/model/validation_exception_field.dart'
as _i35;
import 'package:built_collection/built_collection.dart' as _i37;
as _i23;
import 'package:built_collection/built_collection.dart' as _i34;
import 'package:built_value/serializer.dart';
import 'package:smithy/smithy.dart' as _i1;

Expand All @@ -87,97 +81,90 @@ const List<_i1.SmithySerializer> serializers = [
..._i7.AWSRestEndpointConfig.serializers,
..._i8.AWSApiEndpointConfig.serializers,
..._i9.AWSApiConfig.serializers,
..._i10.AWSAuthFlowType.serializers,
..._i11.AWSAuthProviderOidc.serializers,
..._i12.AWSAuthProviderSaml.serializers,
..._i13.AWSAuthProviderCustom.serializers,
..._i14.AWSAuthProvider.serializers,
..._i15.AWSAuthUsernameAttribute.serializers,
..._i16.AWSAuthPasswordProtectionSettings.serializers,
..._i17.AWSAuthMfaConfiguration.serializers,
..._i18.AWSAuthHostedUiConfig.serializers,
..._i19.AWSAuthUserPoolConfig.serializers,
..._i20.AWSAuthIdentityPoolConfig.serializers,
..._i21.AWSAuthCognitoConfig.serializers,
..._i22.AWSAuthConfig.serializers,
..._i23.LoggingRemoteConfiguration.serializers,
..._i24.UserLogLevel.serializers,
..._i25.AmplifyLoggingConstraints.serializers,
..._i26.AWSLoggingCloudWatchConfig.serializers,
..._i27.AWSLoggingConfig.serializers,
..._i28.AWSPushNotificationsPinpointConfig.serializers,
..._i29.AWSPushNotificationsConfig.serializers,
..._i30.AWSNotificationsConfig.serializers,
..._i31.AWSStorageS3Bucket.serializers,
..._i32.AWSStorageS3Config.serializers,
..._i33.AWSStorageConfig.serializers,
..._i34.AmplifySubCategory.serializers,
..._i35.ValidationExceptionField.serializers,
..._i36.ValidationException.serializers,
..._i10.AWSAuthProviderOidc.serializers,
..._i11.AWSAuthProviderSaml.serializers,
..._i12.AWSAuthProviderCustom.serializers,
..._i13.AWSAuthProvider.serializers,
..._i14.AWSAuthUsernameAttribute.serializers,
..._i15.AWSAuthPasswordProtectionSettings.serializers,
..._i16.AWSAuthMfaConfiguration.serializers,
..._i17.AWSAuthHostedUiConfig.serializers,
..._i18.AWSAuthUserPoolConfig.serializers,
..._i19.AWSAuthIdentityPoolConfig.serializers,
..._i20.AWSAuthCognitoConfig.serializers,
..._i21.AWSAuthConfig.serializers,
..._i22.LoggingRemoteConfiguration.serializers,
..._i23.UserLogLevel.serializers,
..._i24.AmplifyLoggingConstraints.serializers,
..._i25.AWSLoggingCloudWatchConfig.serializers,
..._i26.AWSLoggingConfig.serializers,
..._i27.AWSPushNotificationsPinpointConfig.serializers,
..._i28.AWSPushNotificationsConfig.serializers,
..._i29.AWSNotificationsConfig.serializers,
..._i30.AWSStorageS3Bucket.serializers,
..._i31.AWSStorageS3Config.serializers,
..._i32.AWSStorageConfig.serializers,
..._i33.AmplifySubCategory.serializers,
];
final Map<FullType, Function> builderFactories = {
const FullType(
_i37.BuiltList,
_i34.BuiltList,
[FullType(_i4.AWSApiAuthorizationMode)],
): _i37.ListBuilder<_i4.AWSApiAuthorizationMode>.new,
): _i34.ListBuilder<_i4.AWSApiAuthorizationMode>.new,
const FullType(
_i37.BuiltMap,
_i34.BuiltMap,
[
FullType(String),
FullType(_i8.AWSApiEndpointConfig),
],
): _i37.MapBuilder<String, _i8.AWSApiEndpointConfig>.new,
): _i34.MapBuilder<String, _i8.AWSApiEndpointConfig>.new,
const FullType(
_i37.BuiltList,
[FullType(_i38.PasswordPolicyCharacters)],
): _i37.ListBuilder<_i38.PasswordPolicyCharacters>.new,
_i34.BuiltList,
[FullType(_i35.PasswordPolicyCharacters)],
): _i34.ListBuilder<_i35.PasswordPolicyCharacters>.new,
const FullType(
_i37.BuiltSet,
[FullType(_i38.MfaType)],
): _i37.SetBuilder<_i38.MfaType>.new,
_i34.BuiltSet,
[FullType(_i35.MfaType)],
): _i34.SetBuilder<_i35.MfaType>.new,
const FullType(
_i37.BuiltList,
_i34.BuiltList,
[FullType(Uri)],
): _i37.ListBuilder<Uri>.new,
): _i34.ListBuilder<Uri>.new,
const FullType(
_i37.BuiltList,
_i34.BuiltList,
[FullType(String)],
): _i37.ListBuilder<String>.new,
): _i34.ListBuilder<String>.new,
const FullType(
_i37.BuiltList,
[FullType(_i14.AWSAuthProvider)],
): _i37.ListBuilder<_i14.AWSAuthProvider>.new,
_i34.BuiltList,
[FullType(_i13.AWSAuthProvider)],
): _i34.ListBuilder<_i13.AWSAuthProvider>.new,
const FullType(
_i37.BuiltSet,
[FullType(_i15.AWSAuthUsernameAttribute)],
): _i37.SetBuilder<_i15.AWSAuthUsernameAttribute>.new,
_i34.BuiltSet,
[FullType(_i14.AWSAuthUsernameAttribute)],
): _i34.SetBuilder<_i14.AWSAuthUsernameAttribute>.new,
const FullType(
_i37.BuiltSet,
[FullType(_i38.CognitoUserAttributeKey)],
): _i37.SetBuilder<_i38.CognitoUserAttributeKey>.new,
_i34.BuiltSet,
[FullType(_i35.CognitoUserAttributeKey)],
): _i34.SetBuilder<_i35.CognitoUserAttributeKey>.new,
const FullType(
_i37.BuiltMap,
_i34.BuiltMap,
[
FullType(_i38.Category),
FullType(_i38.LogLevel),
FullType(_i35.Category),
FullType(_i35.LogLevel),
],
): _i37.MapBuilder<_i38.Category, _i38.LogLevel>.new,
): _i34.MapBuilder<_i35.Category, _i35.LogLevel>.new,
const FullType(
_i37.BuiltMap,
_i34.BuiltMap,
[
FullType(String),
FullType(_i24.UserLogLevel),
FullType(_i23.UserLogLevel),
],
): _i37.MapBuilder<String, _i24.UserLogLevel>.new,
): _i34.MapBuilder<String, _i23.UserLogLevel>.new,
const FullType(
_i37.BuiltMap,
_i34.BuiltMap,
[
FullType(String),
FullType(_i31.AWSStorageS3Bucket),
FullType(_i30.AWSStorageS3Bucket),
],
): _i37.MapBuilder<String, _i31.AWSStorageS3Bucket>.new,
const FullType(
_i37.BuiltList,
[FullType(_i35.ValidationExceptionField)],
): _i37.ListBuilder<_i35.ValidationExceptionField>.new,
): _i34.MapBuilder<String, _i30.AWSStorageS3Bucket>.new,
};
Loading

0 comments on commit 1fa2471

Please sign in to comment.