165 lines
3.8 KiB
JavaScript
165 lines
3.8 KiB
JavaScript
import axios from "../axios.js";
|
|
import fs from "fs";
|
|
export const getBids = async () => {
|
|
try {
|
|
const { data } = await axios({
|
|
method: "GET",
|
|
url: "bids",
|
|
});
|
|
|
|
if (!data || !data?.data) {
|
|
console.log("❌ DATA IS NOT FOUND ON SERVER");
|
|
return [];
|
|
}
|
|
|
|
return data.data;
|
|
} catch (error) {
|
|
console.log("❌ ERROR IN SERVER (GET BIDS): ", error);
|
|
return [];
|
|
}
|
|
};
|
|
|
|
export const updateBid = async (id, values) => {
|
|
try {
|
|
const { data } = await axios({
|
|
method: "PUT",
|
|
url: "bids/" + id,
|
|
data: values,
|
|
});
|
|
|
|
if (!data || !data?.data) {
|
|
console.log("❌ UPDATE FAILURE (UPDATE BID)");
|
|
return null;
|
|
}
|
|
|
|
return data.data;
|
|
} catch (error) {
|
|
console.log("❌ ERROR IN SERVER: (UPDATE BID) ", error.response);
|
|
return null;
|
|
}
|
|
};
|
|
|
|
export const outBid = async (id) => {
|
|
try {
|
|
const { data } = await axios({
|
|
method: "POST",
|
|
url: "bids/out-bid/" + id,
|
|
});
|
|
|
|
if (!data || !data?.data) {
|
|
console.log("❌ OUT BID UPDATE FAILURE");
|
|
return false;
|
|
}
|
|
|
|
return data.data;
|
|
} catch (error) {
|
|
console.log("❌ ERROR IN SERVER (OUT BID UPDATE): ", error);
|
|
return false;
|
|
}
|
|
};
|
|
|
|
export const pushPrice = async (values) => {
|
|
try {
|
|
const { data } = await axios({
|
|
method: "POST",
|
|
url: "bid-histories",
|
|
data: values,
|
|
});
|
|
|
|
if (!data || !data?.data) {
|
|
console.log("❌ PUSH PRICE FAILURE");
|
|
return { status: false, data: [] };
|
|
}
|
|
|
|
return { status: true, data: data.data };
|
|
} catch (error) {
|
|
console.log("❌ ERROR IN SERVER (PUSH PRICE): ", error?.response);
|
|
return { status: false, data: [] };
|
|
}
|
|
};
|
|
|
|
export const updateStatusByPrice = async (id, current_price) => {
|
|
try {
|
|
const { data } = await axios({
|
|
method: "POST",
|
|
url: "bids/update-status/" + id,
|
|
data: {
|
|
current_price: Number(current_price) | 0,
|
|
},
|
|
});
|
|
|
|
if (!data || !data?.data) {
|
|
console.log("❌ UPDATE STATUS BY PRICE FAILURE");
|
|
return { status: false, data: [] };
|
|
}
|
|
|
|
return { status: true, data: data.data };
|
|
} catch (error) {
|
|
console.log("❌ ERROR IN SERVER:(UPDATE STATUS BY PRICE) ", {
|
|
// response: error.response,
|
|
message: error.message,
|
|
});
|
|
return { status: false, data: [] };
|
|
}
|
|
};
|
|
|
|
export const updateStatusWork = async (item, filePath) => {
|
|
try {
|
|
const response = await axios({
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "multipart/form-data",
|
|
},
|
|
url: `bids/update-status-work/${item.type}/${item.id}`,
|
|
data: {
|
|
image: fs.createReadStream(filePath),
|
|
},
|
|
});
|
|
fs.unlinkSync(filePath);
|
|
|
|
return response.data?.data;
|
|
} catch (error) {
|
|
console.error("❌ Upload failed:", error.response?.data || error.message);
|
|
return false;
|
|
}
|
|
};
|
|
|
|
export const uploadRecord = async (item, filePath) => {
|
|
try {
|
|
const response = await axios({
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "multipart/form-data",
|
|
},
|
|
url: `bids/upload-record/${item.id}`,
|
|
data: {
|
|
video: fs.createReadStream(filePath),
|
|
},
|
|
});
|
|
fs.unlinkSync(filePath);
|
|
|
|
return response.data?.data;
|
|
} catch (error) {
|
|
console.error("❌ Upload failed:", error.response?.data || error.message);
|
|
return false;
|
|
}
|
|
};
|
|
|
|
export const updateLoginStatus = async (data) => {
|
|
try {
|
|
const response = await axios({
|
|
method: "POST",
|
|
url: `bids/update-login-status`,
|
|
data,
|
|
});
|
|
|
|
return response.data?.data;
|
|
} catch (error) {
|
|
console.error(
|
|
"❌ UPDATE FAILURE (LOGIN STATUS):",
|
|
error.response?.data || error.message
|
|
);
|
|
return false;
|
|
}
|
|
};
|