* Fix sign up form bug * Add run.sh to run setup and run web app * Output node version * Update readme with run.sh * Fix file upload form to handle ota_update service * Enable file upload form Enable error boundary to catch React errors (#7) Fix warning for link noreferrer Include authorization header with file upload * Remove default localhost settings (#8) * Remove default localhost settings Replace with deployment settings * Fix for upload data format * Fix test data for last commit * Fix json link format and remove localhost default settings (#10) * Remove default localhost settings Replace with deployment settings * Fix for upload data format * Fix test data for last commit * Fix link data format * Fix link json again (#12) Use id token instead of access token * nginx things * Web Worker Sign Out and Use Go API (#13) * Calculate checksum and send with file upload * Limit file upload and display rejected file error * Add sign in timeout * Check auth token structure before setting Clean up * Use web worker timer to sign out Remove checksum Point to Go ota update * Remove checksum dependency * Use compute auth service and fix static code analyzer warnings (#15) * Clean up formatting * Use new compute_auth service Implment SSO Implement token refresh Clean up unit tests * Fix unit tests * Fix auth test Fix warnings * Update default settings for compute_auth * Change main UI layout and add VINs to add and upload forms (#16) * Add new upload update package form Add new add vehicle form Add new side menu layout Add new toolbar layout Update and add unit tests * Enable add get and add vehicles * Integration issues with ota_update service * Update get vehicle JSON format * Fix related unit test Add release notes field * Add StatusContext to display error and status messages * Handle api error json (#18) * Handle api error json * Fix get vehicles error handling Update .env.template Co-authored-by: Rafi Greenberg <rgreenberg@fiskerinc.com>
34 lines
869 B
JavaScript
34 lines
869 B
JavaScript
import axios from 'axios';
|
|
|
|
const UPLOAD_ENDPOINT = process.env.REACT_APP_UPLOAD_SERVICE_URL || "https://gw-dev.fiskerdps.com/ota_update";
|
|
|
|
export const getCancelToken = () => {
|
|
const token = axios.CancelToken;
|
|
return token.source();
|
|
}
|
|
|
|
export const uploadFile = (file, data, token, onProgress, cancelToken) => {
|
|
const form = new FormData();
|
|
let options = {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "multipart/form-data",
|
|
"Authorization": `Bearer ${token}`,
|
|
},
|
|
cancelToken,
|
|
};
|
|
if (onProgress) {
|
|
options = {
|
|
...options,
|
|
onUploadProgress: (event) => {
|
|
onProgress(Math.min(99, Math.floor((event.loaded / event.total) * 100)));
|
|
}
|
|
}
|
|
}
|
|
for (let key in data) {
|
|
form.append(key, data[key]);
|
|
}
|
|
form.append("file", file);
|
|
return axios.post(`${UPLOAD_ENDPOINT}/upload`, form, options);
|
|
};
|