diff --git a/src/shared/moodle-ws-api/download-file.ts b/src/shared/moodle-ws-api/download-file.ts new file mode 100644 index 0000000..c9d8e8e --- /dev/null +++ b/src/shared/moodle-ws-api/download-file.ts @@ -0,0 +1,22 @@ +import axios from 'axios' +import { getToken } from '@/shared/moodle-ws-api/token-store' + +export async function downloadFileByUrl(fileUrl: string) { + const token = await getToken() + if (!token) { + throw new Error('Token is not present') + } + + const resp = await axios({ + url: fileUrl, + params: { + token: await getToken(), + }, + responseType: 'blob', + }) + if (resp.status !== 200) { + throw new Error('Failed to download file') + } + + return resp.data as Blob +}