Files
2026-07-27 14:07:26 +08:00

55 lines
1.4 KiB
JavaScript

"use strict";
const common_vendor = require("../common/vendor.js");
const api_index = require("../api/index.js");
const useUserStore = common_vendor.defineStore("user", () => {
const users = common_vendor.ref([]);
const isLoading = common_vendor.ref(false);
const loadUsers = async () => {
isLoading.value = true;
try {
const data = await api_index.userApi.getUsers();
users.value = data;
} catch (error) {
console.error("Failed to load users:", error);
}
isLoading.value = false;
};
const addUser = async (user) => {
try {
await api_index.userApi.addUser(user);
await loadUsers();
} catch (error) {
console.error("Failed to add user:", error);
}
};
const updateUser = async (user) => {
try {
await api_index.userApi.updateUser(user);
await loadUsers();
} catch (error) {
console.error("Failed to update user:", error);
}
};
const deleteUser = async (id) => {
try {
await api_index.userApi.deleteUser(id);
await loadUsers();
} catch (error) {
console.error("Failed to delete user:", error);
}
};
const getUserById = (id) => {
return users.value.find((u) => u.id === id);
};
return {
users,
isLoading,
loadUsers,
addUser,
updateUser,
deleteUser,
getUserById
};
});
exports.useUserStore = useUserStore;