setUICustomization method
Sets the UI customization information for a user pool's built-in app UI.
You can specify app UI customization settings for a single client (with a
specific clientId
) or for all clients (by setting the
clientId
to ALL
). If you specify
ALL
, the default configuration will be used for every client
that has no UI customization set previously. If you specify UI
customization settings for a particular client, it will no longer fall
back to the ALL
configuration.
May throw InvalidParameterException. May throw ResourceNotFoundException. May throw NotAuthorizedException. May throw TooManyRequestsException. May throw InternalErrorException.
Parameter userPoolId
:
The user pool ID for the user pool.
Parameter css
:
The CSS values in the UI customization.
Parameter clientId
:
The client ID for the client app.
Parameter imageFile
:
The uploaded logo image for the UI customization.
Implementation
Future<SetUICustomizationResponse> setUICustomization({
required String userPoolId,
String? css,
String? clientId,
Uint8List? imageFile,
}) async {
ArgumentError.checkNotNull(userPoolId, 'userPoolId');
_s.validateStringLength(
'userPoolId',
userPoolId,
1,
55,
isRequired: true,
);
_s.validateStringLength(
'clientId',
clientId,
1,
128,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSCognitoIdentityProviderService.SetUICustomization'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'UserPoolId': userPoolId,
if (css != null) 'CSS': css,
if (clientId != null) 'ClientId': clientId,
if (imageFile != null) 'ImageFile': base64Encode(imageFile),
},
);
return SetUICustomizationResponse.fromJson(jsonResponse.body);
}