mirror of
https://github.com/Telecominfraproject/wlan-cloud-ui.git
synced 2025-11-02 19:57:58 +00:00
fixed OUI Upload
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
import React from 'react';
|
import React, { useState } from 'react';
|
||||||
import { useMutation, useLazyQuery, gql } from '@apollo/client';
|
import { useQuery, useMutation, useLazyQuery, gql } from '@apollo/client';
|
||||||
import { notification } from 'antd';
|
import { notification } from 'antd';
|
||||||
import { Manufacturer as ManufacturerPage } from '@tip-wlan/wlan-cloud-ui-library';
|
import { Manufacturer as ManufacturerPage } from '@tip-wlan/wlan-cloud-ui-library';
|
||||||
import { OUI_UPLOAD } from 'graphql/mutations';
|
|
||||||
|
import { AUTH_TOKEN } from 'constants/index';
|
||||||
|
import { GET_API_URL } from 'graphql/queries';
|
||||||
|
import { getItem } from 'utils/localStorage';
|
||||||
|
|
||||||
const GET_OUI = gql`
|
const GET_OUI = gql`
|
||||||
query GetOui($oui: String!) {
|
query GetOui($oui: String!) {
|
||||||
@@ -27,7 +30,13 @@ const UPDATE_OUI = gql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
const token = getItem(AUTH_TOKEN);
|
||||||
|
|
||||||
const System = () => {
|
const System = () => {
|
||||||
|
const [loadingFileUpload, setLoadingFileUpload] = useState(false);
|
||||||
|
|
||||||
|
const { data: apiUrl } = useQuery(GET_API_URL);
|
||||||
const [updateOUI] = useMutation(UPDATE_OUI);
|
const [updateOUI] = useMutation(UPDATE_OUI);
|
||||||
const [searchOUI, { data }] = useLazyQuery(GET_OUI, {
|
const [searchOUI, { data }] = useLazyQuery(GET_OUI, {
|
||||||
onError: () => {
|
onError: () => {
|
||||||
@@ -46,7 +55,6 @@ const System = () => {
|
|||||||
},
|
},
|
||||||
fetchPolicy: 'no-cache',
|
fetchPolicy: 'no-cache',
|
||||||
});
|
});
|
||||||
const [fileUpload] = useMutation(OUI_UPLOAD);
|
|
||||||
|
|
||||||
const handleUpdateOUI = (oui, manufacturerAlias, manufacturerName) => {
|
const handleUpdateOUI = (oui, manufacturerAlias, manufacturerName) => {
|
||||||
updateOUI({
|
updateOUI({
|
||||||
@@ -74,10 +82,21 @@ const System = () => {
|
|||||||
searchOUI({ variables: { oui } });
|
searchOUI({ variables: { oui } });
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleFileUpload = (fileName, file) =>
|
const handleFileUpload = (fileName, file) => {
|
||||||
fileUpload({ variables: { fileName, file } })
|
if (apiUrl?.getApiUrl) {
|
||||||
|
setLoadingFileUpload(true);
|
||||||
|
|
||||||
|
fetch(`${apiUrl?.getApiUrl}portal/manufacturer/oui/upload?fileName=${fileName}`, {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
Authorization: token ? `Bearer ${token.access_token}` : '',
|
||||||
|
'Content-Type': 'application/octet-stream',
|
||||||
|
},
|
||||||
|
body: file,
|
||||||
|
})
|
||||||
|
.then(response => response.json())
|
||||||
.then(resp => {
|
.then(resp => {
|
||||||
if (resp?.ouiUpload?.success) {
|
if (resp?.success) {
|
||||||
notification.success({
|
notification.success({
|
||||||
message: 'Success',
|
message: 'Success',
|
||||||
description: 'File successfully uploaded.',
|
description: 'File successfully uploaded.',
|
||||||
@@ -89,18 +108,28 @@ const System = () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() =>
|
.catch(() => {
|
||||||
notification.error({
|
notification.error({
|
||||||
message: 'Error',
|
message: 'Error',
|
||||||
description: 'File could not be uploaded.',
|
description: 'File could not be uploaded.',
|
||||||
|
});
|
||||||
})
|
})
|
||||||
);
|
.finally(() => setLoadingFileUpload(false));
|
||||||
|
} else {
|
||||||
|
notification.error({
|
||||||
|
message: 'Error',
|
||||||
|
description: 'File could not be uploaded.',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ManufacturerPage
|
<ManufacturerPage
|
||||||
onSearchOUI={handleSearchOUI}
|
onSearchOUI={handleSearchOUI}
|
||||||
onUpdateOUI={handleUpdateOUI}
|
onUpdateOUI={handleUpdateOUI}
|
||||||
returnedOUI={data && data.getOui}
|
returnedOUI={data && data.getOui}
|
||||||
fileUpload={handleFileUpload}
|
fileUpload={handleFileUpload}
|
||||||
|
loadingFileUpload={loadingFileUpload}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
import { gql } from '@apollo/client';
|
import { gql } from '@apollo/client';
|
||||||
|
|
||||||
|
export const GET_API_URL = gql`
|
||||||
|
query GetApiUrl {
|
||||||
|
getApiUrl
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
export const GET_ALL_LOCATIONS = gql`
|
export const GET_ALL_LOCATIONS = gql`
|
||||||
query GetAllLocations($customerId: ID!) {
|
query GetAllLocations($customerId: ID!) {
|
||||||
getAllLocations(customerId: $customerId) {
|
getAllLocations(customerId: $customerId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user