render.app.frontend/src/redux/asyncThunks/modelCrudAsyncThunk.js

65 lines
1.3 KiB
JavaScript

import { createAsyncThunk } from '@reduxjs/toolkit'
import abstractService from './abstracts/abstractService'
let endpoint = '/model/'
const fetchGetAllModels = createAsyncThunk(
'model/fetchGetAllModels',
async (
token,
thunkAPI
) => {
return await abstractService._getList(endpoint, token)
}
)
/**
* @param body:
* param token: base64 token,
* param id: model id
*/
const fetchGetOneModelAndDownload = createAsyncThunk(
'model/fetchGetOneModelAndDownload',
async (
body,
thunkAPI
) => {
return await abstractService._getOne(
endpoint,
body.id,
body.token
)
}
)
/**
* @param body:
* param token: base64 token,
* param file: document.querySelector('#file').files[0]
* param user_id: user id
*/
const fetchUploadModel = createAsyncThunk(
'model/fetchUploadModel',
async (
body,
thunkAPI
) => {
return await abstractService.axiosFilePost(
endpoint,
body,
body.token
)
// return await abstractService._post(
// endpoint,
// body,
// body.token
// )
}
)
export default {
fetchGetAllModels,
fetchGetOneModelAndDownload,
fetchUploadModel
}