fix: #367 failed to fetch account usage

This commit is contained in:
Yifei Zhang
2023-04-02 14:22:06 +00:00
parent 37587f6f71
commit 7b5af271d5
6 changed files with 26 additions and 21 deletions

View File

@@ -48,6 +48,7 @@ export function requestOpenaiClient(path: string) {
method,
headers: {
"Content-Type": "application/json",
"Cache-Control": "no-cache",
path,
...getHeaders(),
},
@@ -69,17 +70,25 @@ export async function requestChat(messages: Message[]) {
}
export async function requestUsage() {
const formatDate = (d: Date) =>
`${d.getFullYear()}-${(d.getMonth() + 1).toString().padStart(2, "0")}-${d
.getDate()
.toString()
.padStart(2, "0")}`;
const ONE_DAY = 24 * 60 * 60 * 1000;
const now = new Date(Date.now() + ONE_DAY);
const startOfMonth = new Date(now.getFullYear(), now.getMonth(), 1);
const startDate = formatDate(startOfMonth);
const endDate = formatDate(now);
const res = await requestOpenaiClient(
"dashboard/billing/credit_grants?_vercel_no_cache=1",
`dashboard/billing/usage?start_date=${startDate}&end_date=${endDate}`,
)(null, "GET");
try {
const response = (await res.json()) as {
total_available: number;
total_granted: number;
total_used: number;
total_usage: number;
};
return response;
return Math.round(response.total_usage) / 100;
} catch (error) {
console.error("[Request usage] ", error, res.body);
}