55 lines
1.4 KiB
JavaScript
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;
|