ConvoyPanel/resources/scripts/api/admin/nodes/isos/createIso.ts
2022-12-23 18:24:49 +00:00

28 lines
No EOL
832 B
TypeScript

import { ISO, rawDataToISO } from '@/api/admin/nodes/isos/getIsos'
import http from '@/api/http'
export type ChecksumAlgorithm = 'md5' | 'sha1' | 'sha224' | 'sha256' | 'sha384' | 'sha512'
interface CreateIsoParameters {
name: string
fileName?: string
hidden: boolean
link: string
checksumAlgorithm?: ChecksumAlgorithm
checksum?: string
}
const createIso = async (nodeId: number, {fileName, checksumAlgorithm, checksum, ...data}: CreateIsoParameters): Promise<ISO> => {
const {
data: { data: responseData },
} = await http.post(`/api/admin/nodes/${nodeId}/isos`, {
file_name: fileName,
checksum_algorithm: checksumAlgorithm,
checksum: checksumAlgorithm ? checksum : undefined,
...data
})
return rawDataToISO(responseData)
}
export default createIso