fix(proxy_server.py): introduces a beta endpoint for admin to view global spend

This commit is contained in:
Krrish Dholakia 2024-02-28 12:47:51 -08:00
parent a042092faa
commit 6a94ef6c16
4 changed files with 183 additions and 19 deletions

View file

@ -313,6 +313,11 @@ export const userSpendLogsCall = async (
endTime: String
) => {
try {
console.log(`user role in spend logs call: ${userRole}`);
if (userRole == "Admin") {
return await adminSpendLogsCall(accessToken);
}
let url = proxyBaseUrl ? `${proxyBaseUrl}/spend/logs` : `/spend/logs`;
if (userRole == "App Owner") {
url = `${url}/?user_id=${userID}&start_date=${startTime}&end_date=${endTime}`;
@ -343,6 +348,36 @@ export const userSpendLogsCall = async (
}
};
export const adminSpendLogsCall = async (accessToken: String) => {
try {
let url = proxyBaseUrl
? `${proxyBaseUrl}/global/spend/logs`
: `/global/spend/logs`;
message.info("Making spend logs request");
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${accessToken}`,
"Content-Type": "application/json",
},
});
if (!response.ok) {
const errorData = await response.text();
message.error(errorData);
throw new Error("Network response was not ok");
}
const data = await response.json();
console.log(data);
message.success("Spend Logs received");
return data;
} catch (error) {
console.error("Failed to create key:", error);
throw error;
}
};
export const keyInfoCall = async (accessToken: String, keys: String[]) => {
try {
let url = proxyBaseUrl ? `${proxyBaseUrl}/v2/key/info` : `/v2/key/info`;