Skip to content

Commit e09cac4

Browse files
authored
Merge pull request #634 from BLasan/validate-policy-file-type
Add: Validation for Policy Upload
2 parents 5967bf8 + 60ef32d commit e09cac4

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

portals/publisher/src/main/webapp/source/src/app/components/Apis/Details/Policies/PolicyForm/UploadPolicyDropzone.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,11 @@ import clsx from 'clsx';
3535
import Icon from '@mui/material/Icon';
3636
import { HelpOutline } from '@mui/icons-material';
3737
import { green, red } from '@mui/material/colors';
38-
38+
import APIMAlert from 'AppComponents/Shared/Alert';
3939

4040
const PREFIX = 'UploadPolicyDropzone';
4141

42+
4243
const classes = {
4344
dropZoneWrapper: `${PREFIX}-dropZoneWrapper`,
4445
acceptDrop: `${PREFIX}-acceptDrop`,
@@ -102,10 +103,19 @@ const UploadPolicyDropzone: FC<UploadPolicyDropzoneProps> = ({
102103
policyDefinitionFile,
103104
setPolicyDefinitionFile,
104105
}) => {
105-
106+
const intl = useIntl();
106107

107108
const handleDrop = (policyDefinition: any) => {
108-
setPolicyDefinitionFile(policyDefinition);
109+
if (policyDefinition && policyDefinition[0] &&
110+
(policyDefinition[0].name.endsWith('.j2') ||
111+
policyDefinition[0].name.endsWith('.xml'))) {
112+
setPolicyDefinitionFile(policyDefinition);
113+
return;
114+
}
115+
APIMAlert.error(intl.formatMessage({
116+
id: 'Uploading.Policies.Error',
117+
defaultMessage: 'Incompatible file type',
118+
}));
109119
};
110120
const intl = useIntl();
111121
const renderPolicyFileDropzone = () => {

0 commit comments

Comments
 (0)