(feat) fetch user models before creating key

This commit is contained in:
ishaan-jaff
2024-02-12 18:44:48 -08:00
parent 5776b667fb
commit 6f8a7caee4
@@ -47,7 +47,7 @@ const UserDashboard: React.FC<UserDashboardProps> = ({
const token = searchParams.get("token");
const [accessToken, setAccessToken] = useState<string | null>(null);
let userModels = [""];
const [userModels, setUserModels] = useState<string[]>([]);
function formatUserRole(userRole: string) {
if (!userRole) {
@@ -97,32 +97,37 @@ const UserDashboard: React.FC<UserDashboardProps> = ({
}
}
if (userID && accessToken && userRole && !data) {
const cachedData = localStorage.getItem("userData");
const cachedSpendData = localStorage.getItem("userSpendData");
if (cachedData && cachedSpendData) {
const cachedData = localStorage.getItem("userData" + userID);
const cachedSpendData = localStorage.getItem("userSpendData" + userID);
const cachedUserModels = localStorage.getItem("userModels" + userID);
if (cachedData && cachedSpendData && cachedUserModels) {
setData(JSON.parse(cachedData));
setUserSpendData(JSON.parse(cachedSpendData));
setUserModels(JSON.parse(cachedUserModels));
} else {
const fetchData = async () => {
try {
const response = await userInfoCall(accessToken, userID, userRole);
setUserSpendData(response["user_info"]);
setData(response["keys"]); // Assuming this is the correct path to your data
localStorage.setItem("userData", JSON.stringify(response["keys"]));
localStorage.setItem("userData" + userID, JSON.stringify(response["keys"]));
localStorage.setItem(
"userSpendData",
"userSpendData" + userID,
JSON.stringify(response["user_info"])
);
const model_info = await modelInfoCall(accessToken, userID, userRole);
console.log("model_info:", model_info);
// loop through model_info["data"] and create an array of element.model_name
model_info.forEach((model: any) => {
userModels.push(model.model_name);
})
let available_model_names = model_info["data"].map((element: { model_name: string; }) => element.model_name);
console.log("available_model_names:", available_model_names);
setUserModels(available_model_names);
console.log("userModels:", userModels);
localStorage.setItem("userModels" + userID, JSON.stringify(available_model_names));
} catch (error) {