Some checks failed
Lock Threads / action (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot EE docker images / merge (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot CE docker images / merge (push) Has been cancelled
Run Chatwoot CE spec / lint-backend (push) Has been cancelled
Run Chatwoot CE spec / lint-frontend (push) Has been cancelled
Run Chatwoot CE spec / frontend-tests (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (0, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (1, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (10, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (11, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (12, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (13, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (14, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (15, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (2, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (3, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (4, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (5, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (6, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (7, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (8, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (9, 16) (push) Has been cancelled
Run Linux nightly installer / nightly (push) Has been cancelled
- Add Logistics component with progress tracking - Add OrderDetail component for order information - Support data-driven steps and actions - Add blue color scale to widget SCSS - Fix node overflow and progress bar rendering issues - Add English translations for dashboard components Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
110 lines
2.8 KiB
JavaScript
110 lines
2.8 KiB
JavaScript
/* global axios */
|
|
|
|
import Cookies from 'js-cookie';
|
|
import endPoints from './endPoints';
|
|
import {
|
|
clearCookiesOnLogout,
|
|
deleteIndexedDBOnLogout,
|
|
} from '../store/utils/api';
|
|
|
|
export default {
|
|
validityCheck() {
|
|
const urlData = endPoints('validityCheck');
|
|
return axios.get(urlData.url);
|
|
},
|
|
logout() {
|
|
const urlData = endPoints('logout');
|
|
const fetchPromise = new Promise((resolve, reject) => {
|
|
axios
|
|
.delete(urlData.url)
|
|
.then(response => {
|
|
deleteIndexedDBOnLogout();
|
|
clearCookiesOnLogout();
|
|
resolve(response);
|
|
})
|
|
.catch(error => {
|
|
reject(error);
|
|
});
|
|
});
|
|
return fetchPromise;
|
|
},
|
|
hasAuthCookie() {
|
|
return !!Cookies.get('cw_d_session_info');
|
|
},
|
|
getAuthData() {
|
|
if (this.hasAuthCookie()) {
|
|
const savedAuthInfo = Cookies.get('cw_d_session_info');
|
|
return JSON.parse(savedAuthInfo || '{}');
|
|
}
|
|
return false;
|
|
},
|
|
profileUpdate({ displayName, avatar, ...profileAttributes }) {
|
|
const formData = new FormData();
|
|
Object.keys(profileAttributes).forEach(key => {
|
|
const hasValue = profileAttributes[key] === undefined;
|
|
if (!hasValue) {
|
|
formData.append(`profile[${key}]`, profileAttributes[key]);
|
|
}
|
|
});
|
|
formData.append('profile[display_name]', displayName || '');
|
|
if (avatar) {
|
|
formData.append('profile[avatar]', avatar);
|
|
}
|
|
return axios.put(endPoints('profileUpdate').url, formData);
|
|
},
|
|
|
|
profilePasswordUpdate({ currentPassword, password, passwordConfirmation }) {
|
|
return axios.put(endPoints('profileUpdate').url, {
|
|
profile: {
|
|
current_password: currentPassword,
|
|
password,
|
|
password_confirmation: passwordConfirmation,
|
|
},
|
|
});
|
|
},
|
|
|
|
updateUISettings({ uiSettings }) {
|
|
return axios.put(endPoints('profileUpdate').url, {
|
|
profile: { ui_settings: uiSettings },
|
|
});
|
|
},
|
|
|
|
updateAvailability(availabilityData) {
|
|
return axios.post(endPoints('availabilityUpdate').url, {
|
|
profile: { ...availabilityData },
|
|
});
|
|
},
|
|
|
|
updateAutoOffline(accountId, autoOffline = false) {
|
|
return axios.post(endPoints('autoOffline').url, {
|
|
profile: { account_id: accountId, auto_offline: autoOffline },
|
|
});
|
|
},
|
|
|
|
deleteAvatar() {
|
|
return axios.delete(endPoints('deleteAvatar').url);
|
|
},
|
|
|
|
resetPassword({ email }) {
|
|
const urlData = endPoints('resetPassword');
|
|
return axios.post(urlData.url, { email });
|
|
},
|
|
|
|
setActiveAccount({ accountId }) {
|
|
const urlData = endPoints('setActiveAccount');
|
|
return axios.put(urlData.url, {
|
|
profile: {
|
|
account_id: accountId,
|
|
},
|
|
});
|
|
},
|
|
resendConfirmation() {
|
|
const urlData = endPoints('resendConfirmation');
|
|
return axios.post(urlData.url);
|
|
},
|
|
resetAccessToken() {
|
|
const urlData = endPoints('resetAccessToken');
|
|
return axios.post(urlData.url);
|
|
},
|
|
};
|