aboutsummaryrefslogtreecommitdiff
path: root/resources/vue/store
diff options
context:
space:
mode:
Diffstat (limited to 'resources/vue/store')
-rw-r--r--resources/vue/store/courseware/courseware.module.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/resources/vue/store/courseware/courseware.module.js b/resources/vue/store/courseware/courseware.module.js
index 49ac520..59a94a7 100644
--- a/resources/vue/store/courseware/courseware.module.js
+++ b/resources/vue/store/courseware/courseware.module.js
@@ -305,6 +305,42 @@ export const actions = {
});
},
+ async createCustomFile(context, { file, filedata, block_id }) {
+ // create custom file for block
+ let url = `courseware-blocks/${block_id}/custom-files`;
+ let newFile = await state.httpClient.post(url, file).
+ then(({data }) => {
+ return data.data;
+ });
+
+ // set file data with separate call
+ let formData = new FormData();
+ formData.append('file', filedata, newFile.id);
+
+ url = `courseware-blocks/${block_id}/custom-files/${newFile.id}`;
+
+ await state.httpClient.post(url, formData, {
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ },
+ });
+
+ return newFile;
+ },
+
+ async loadCustomFiles(context, block_id) {
+ const parent = {
+ type: 'courseware-blocks',
+ id: block_id,
+ };
+
+ const url = `courseware-blocks/${block_id}/custom-files`
+ return state.httpClient.get(url)
+ .then(({ data }) => {
+ return data.data;
+ });
+ },
+
async createRootFolder({ dispatch, rootGetters }, { context, folder }) {
// get root folder for this context
await dispatch(