base_ui/stores/profileStore.ts

97 lines
2.1 KiB
TypeScript
Raw Normal View History

2025-02-01 09:34:55 +00:00
const state = {
user_personal_info: {
avatar: "media/users/blank.jpg",
first_name: "",
last_name: "",
email: "",
mobile: "",
},
};
const getters = {
currentUserPersonalInfo(state) {
return state.user_personal_info;
},
};
const actions = {
SAVE_USER_PROPERTIES(context, properties) {
let url = "profile";
// if(properties.skills.row_id || properties.favorites.row_id){
// let userId = '';
// if(properties.skills.user_id)
// userId = properties.skills.user_id;
// if(properties.favorites.user_id)
// userId = properties.favorites.user_id;
// url = "api/profile/" + userId;
// properties._method = 'PUT';
// }
properties.skills = JSON.stringify(properties.skills);
properties.favorites = JSON.stringify(properties.favorites);
return new Promise((resolve, reject) => {
ApiService.post(
null,
url,
properties,
function (response) {
resolve(response);
},
function (errors) {
reject(errors);
},
true
);
});
},
UPDATE_PERSONAL_INFO(context, payload) {
ApiService.post(
null,
"profile/update",
payload,
null,
null,
true,
"ویرایش مشخصات"
);
context.commit(SET_PERSONAL_INFO, payload);
},
logOut(state) {
state.isAuthenticated = false;
state.user = {};
state.errors = {};
destroyToken();
window.localStorage.removeItem("USER_TYPE");
},
GET_PERSONAL_INFO(context) {
ApiService.get(
null,
"profile/get",
function (response) {
var payload = response.data.data;
context.commit(SET_PERSONAL_INFO, payload);
},
function () {
logout();
}
);
},
};
const mutations = {
[SET_PERSONAL_INFO](state, user_personal_info) {
state.user_personal_info = user_personal_info;
},
SET_USER_PROPERTIES(state, properties) {
state.user_personal_info.properties = properties;
},
};
export default {
state,
actions,
mutations,
getters,
};