Add package updates, car updates, and vehicle screens (#25)
This commit is contained in:
48
src/services/__mocks__/updates.js
Normal file
48
src/services/__mocks__/updates.js
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
|
||||
const updatesAPI = {
|
||||
createCarUpdates: async (data, token) => {
|
||||
if (!data.id) data.id = 0;
|
||||
data.id++;
|
||||
return data;
|
||||
},
|
||||
|
||||
getPackages: async (search, token) => {
|
||||
return {
|
||||
data: [
|
||||
{
|
||||
id: 1,
|
||||
package_name: "Test",
|
||||
version: "1.0",
|
||||
link: "http://cloudfront.com/download"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
package_name: "Test",
|
||||
version: "1.1",
|
||||
link: "http://cloudfront.com/download"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
package_name: "Test",
|
||||
version: "1.2",
|
||||
link: "http://cloudfront.com/download"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
updatePackage: async (data, token) => {
|
||||
return data;
|
||||
},
|
||||
|
||||
deployPackage: async (data, token) => {
|
||||
return data;
|
||||
},
|
||||
|
||||
getCarUpdates: async (filter, token) => {
|
||||
return [];
|
||||
},
|
||||
};
|
||||
|
||||
export default updatesAPI;
|
||||
@@ -1,6 +1,6 @@
|
||||
import delay from "../../utils/delay";
|
||||
|
||||
let uploadFileResponse = { data: { link: "CLOUDFRONT_URL" } };
|
||||
let uploadFileResponse = { link: "CLOUDFRONT_URL" };
|
||||
let uploadFileDelay = false;
|
||||
let issuedCancelToken = null;
|
||||
|
||||
|
||||
42
src/services/updates.js
Normal file
42
src/services/updates.js
Normal file
@@ -0,0 +1,42 @@
|
||||
import { getAuthHeaderOptions, fetchRespHandler, addQueryParams } from "../utils/http";
|
||||
|
||||
const API_ENDPOINT = process.env.REACT_APP_UPLOAD_SERVICE_URL || "https://gw-dev.fiskerdps.com/ota_update";
|
||||
|
||||
const updatesAPI = {
|
||||
createCarUpdates: async (data, token) => fetch(`${API_ENDPOINT}/carupdate`, {
|
||||
method: "POST",
|
||||
headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)),
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
.then(fetchRespHandler),
|
||||
|
||||
getPackages: async (search, token) => {
|
||||
var u = addQueryParams(`${API_ENDPOINT}/updates`, search);
|
||||
return fetch(u, {
|
||||
method: "GET",
|
||||
headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)),
|
||||
|
||||
})
|
||||
.then(fetchRespHandler);
|
||||
},
|
||||
|
||||
updatePackage: async (update, token) => fetch(`${API_ENDPOINT}/update`, {
|
||||
method: "PUT",
|
||||
headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)),
|
||||
body: JSON.stringify(update),
|
||||
})
|
||||
.then(fetchRespHandler),
|
||||
|
||||
|
||||
getCarUpdates: async (search, token) => {
|
||||
var u = addQueryParams(`${API_ENDPOINT}/carupdates`, search);
|
||||
return fetch(u, {
|
||||
method: "GET",
|
||||
headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)),
|
||||
})
|
||||
.then(fetchRespHandler);
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default updatesAPI;
|
||||
@@ -29,5 +29,15 @@ export const uploadFile = (file, data, token, onProgress, cancelToken) => {
|
||||
form.append(key, data[key]);
|
||||
}
|
||||
form.append("file", file);
|
||||
return axios.post(`${UPLOAD_ENDPOINT}/upload`, form, options);
|
||||
return axios.post(`${UPLOAD_ENDPOINT}/update`, form, options)
|
||||
.then((response) => response.data)
|
||||
.catch((error) => {
|
||||
if (typeof error.response.data === "string") {
|
||||
return {
|
||||
error: error.response.statusText,
|
||||
message: error.response.data,
|
||||
};
|
||||
}
|
||||
return error.response.data;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { getAuthHeaderOptions, fetchRespHandler } from "../utils/http"
|
||||
import { getAuthHeaderOptions, fetchRespHandler, addQueryParams } from "../utils/http"
|
||||
|
||||
const API_ENDPOINT = process.env.REACT_APP_UPLOAD_SERVICE_URL || "https://gw-dev.fiskerdps.com/ota_update";
|
||||
|
||||
@@ -9,12 +9,16 @@ const vehiclesAPI = {
|
||||
body: JSON.stringify(vehicle),
|
||||
})
|
||||
.then(fetchRespHandler),
|
||||
getVehicles: async (search, token) => fetch(`${API_ENDPOINT}/vehicles`, {
|
||||
method: "GET",
|
||||
headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)),
|
||||
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
|
||||
getVehicles: async (search, token) => {
|
||||
const u = addQueryParams(`${API_ENDPOINT}/vehicles`, search);
|
||||
return fetch(u, {
|
||||
method: "GET",
|
||||
headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)),
|
||||
|
||||
})
|
||||
.then(fetchRespHandler);
|
||||
},
|
||||
};
|
||||
|
||||
export default vehiclesAPI;
|
||||
|
||||
Reference in New Issue
Block a user