From 171af6e6488f3189a141a55d565b209d5353007a Mon Sep 17 00:00:00 2001 From: Artem Bulgakov Date: Mon, 8 Jul 2024 00:44:27 +0300 Subject: [PATCH] feat: add method to download files from Moodle as blobs --- src/shared/moodle-ws-api/download-file.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/shared/moodle-ws-api/download-file.ts 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 +}