Files
wlan-cloud-ucentralgw-ui/src/pages/DefaultFirmware/CreateModal/utils.ts
2023-08-25 16:55:31 +02:00

31 lines
948 B
TypeScript

import { isAxiosError } from 'axios';
import { DefaultFirmware, createDefaultFirmware } from 'hooks/Network/DefaultFirmware';
export type CreateDefaultFirmwareResult =
| {
deviceType: string;
error?: undefined;
}
| {
deviceType: string;
error: string;
};
export const createFms = async (defaultFirmware: DefaultFirmware): Promise<CreateDefaultFirmwareResult> =>
createDefaultFirmware(defaultFirmware)
.then(() => ({
deviceType: defaultFirmware.deviceType,
}))
.catch((e) => ({
deviceType: defaultFirmware.deviceType,
error: isAxiosError(e) ? e.response?.data?.ErrorDescription : 'Unknown error',
}));
export const createDefaultFirmwareBatch = async (
defaultFirmware: DefaultFirmware[],
): Promise<CreateDefaultFirmwareResult[]> => {
const promises = defaultFirmware.map((fms) => createFms(fms));
const responses = await Promise.all(promises);
return responses;
};