in s3-artifact-storage-ui/src/Utilities/createDistribution.ts [23:88]
export async function createDistribution(
appProps: Config,
allValues: IFormInput
): Promise<CreateDistributionResponse> {
const parameters = serializeParameters(allValues, appProps);
return await post(appProps.distributionPath, parameters).then((resp) => {
const response = window.$j(resp);
const errors = displayErrorsFromResponseIfAny(response);
if (errors) {
return { response: null, errors };
}
const downloadDistribution = response.find('downloadDistribution');
if (downloadDistribution.length < 1) {
return {
response: null,
errors: {
[FetchResourceIds.BUCKETS]: {
message: 'Select bucket before creating distribution',
},
},
};
}
const downloadDistrId = downloadDistribution.find('id').text();
const downloadDistrDescription = downloadDistribution
.find('description')
.text();
const uploadDistribution = response.find('uploadDistribution');
const uploadDistrId = uploadDistribution.find('id').text();
const uploadDistrDescription = uploadDistribution
.find('description')
.text();
const publicKeyid = response.find('publicKeyId').text();
const publicKeyName = response.find('publicKeyName').text();
const privateKey = response.find('privateKey').text();
return {
response: {
downloadDistribution: {
id: downloadDistrId,
description: downloadDistrDescription,
enabled: true,
publicKeys: [publicKeyid],
},
uploadDistribution: {
id: uploadDistrId,
description: uploadDistrDescription,
enabled: true,
publicKeys: [publicKeyid],
},
publicKey: {
id: publicKeyid,
name: publicKeyName,
},
privateKey,
},
errors: null,
};
// $privateKeyNote.text('Key has been generated automatically').change();
});
}