chore: Adjust Chatwoot Config to deploy frontend as a separate app (#2347)
This commit is contained in:
@@ -2,31 +2,35 @@
|
||||
<loading-state :message="$t('CONFIRM_EMAIL')"></loading-state>
|
||||
</template>
|
||||
<script>
|
||||
/* eslint-disable */
|
||||
import LoadingState from '../../components/widgets/LoadingState';
|
||||
import Auth from '../../api/auth';
|
||||
import { DEFAULT_REDIRECT_URL } from '../../constants';
|
||||
export default {
|
||||
props: {
|
||||
confirmationToken: String,
|
||||
redirectUrl: String,
|
||||
config: String,
|
||||
},
|
||||
components: {
|
||||
LoadingState,
|
||||
},
|
||||
props: {
|
||||
confirmationToken: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.confirmToken();
|
||||
},
|
||||
methods: {
|
||||
confirmToken() {
|
||||
Auth.verifyPasswordToken({
|
||||
confirmationToken: this.confirmationToken
|
||||
}).then(res => {
|
||||
window.location = res.data.redirect_url;
|
||||
}).catch(res => {
|
||||
window.location = '/';
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
async confirmToken() {
|
||||
try {
|
||||
const {
|
||||
data: { redirect_url: redirectURL },
|
||||
} = await Auth.verifyPasswordToken({
|
||||
confirmationToken: this.confirmationToken,
|
||||
});
|
||||
window.location = redirectURL;
|
||||
} catch (error) {
|
||||
window.location = DEFAULT_REDIRECT_URL;
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -46,12 +46,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
/* global bus */
|
||||
|
||||
import { required, minLength } from 'vuelidate/lib/validators';
|
||||
import Auth from '../../api/auth';
|
||||
|
||||
import WootSubmitButton from '../../components/buttons/FormSubmitButton';
|
||||
import { DEFAULT_REDIRECT_URL } from '../../constants';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@@ -81,7 +80,7 @@ export default {
|
||||
// If url opened without token
|
||||
// redirect to login
|
||||
if (!this.resetPasswordToken) {
|
||||
window.location = '/';
|
||||
window.location = DEFAULT_REDIRECT_URL;
|
||||
}
|
||||
},
|
||||
validations: {
|
||||
@@ -118,7 +117,7 @@ export default {
|
||||
Auth.setNewPassword(credentials)
|
||||
.then(res => {
|
||||
if (res.status === 200) {
|
||||
window.location = '/';
|
||||
window.location = DEFAULT_REDIRECT_URL;
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
<script>
|
||||
import { required, minLength, email } from 'vuelidate/lib/validators';
|
||||
import Auth from '../../api/auth';
|
||||
import { frontendURL } from '../../helper/URLHelper';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
@@ -71,7 +70,6 @@ export default {
|
||||
successMessage = res.data.message;
|
||||
}
|
||||
this.showAlert(successMessage);
|
||||
window.location = frontendURL('login');
|
||||
})
|
||||
.catch(error => {
|
||||
let errorMessage = this.$t('RESET_PASSWORD.API.ERROR_MESSAGE');
|
||||
|
||||
@@ -79,6 +79,7 @@ import Auth from '../../api/auth';
|
||||
import { mapGetters } from 'vuex';
|
||||
import globalConfigMixin from 'shared/mixins/globalConfigMixin';
|
||||
import alertMixin from 'shared/mixins/alertMixin';
|
||||
import { DEFAULT_REDIRECT_URL } from '../../constants';
|
||||
|
||||
export default {
|
||||
mixins: [globalConfigMixin, alertMixin],
|
||||
@@ -132,7 +133,7 @@ export default {
|
||||
try {
|
||||
const response = await Auth.register(this.credentials);
|
||||
if (response.status === 200) {
|
||||
window.location = '/';
|
||||
window.location = DEFAULT_REDIRECT_URL;
|
||||
}
|
||||
} catch (error) {
|
||||
let errorMessage = this.$t('REGISTER.API.ERROR_MESSAGE');
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
/* global bus */
|
||||
/* eslint no-console: 0 */
|
||||
import { required, minLength } from 'vuelidate/lib/validators';
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
/* global bus */
|
||||
import { required, url, minLength } from 'vuelidate/lib/validators';
|
||||
|
||||
import WootSubmitButton from '../../../../components/buttons/FormSubmitButton';
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* eslint no-console: 0 */
|
||||
import VueRouter from 'vue-router';
|
||||
|
||||
import auth from '../api/auth';
|
||||
@@ -7,14 +6,13 @@ import dashboard from './dashboard/dashboard.routes';
|
||||
import authRoute from './auth/auth.routes';
|
||||
import { frontendURL } from '../helper/URLHelper';
|
||||
|
||||
const loggedInUser = auth.getCurrentUser() || {};
|
||||
const routes = [
|
||||
...login.routes,
|
||||
...dashboard.routes,
|
||||
...authRoute.routes,
|
||||
{
|
||||
path: '/',
|
||||
redirect: frontendURL(`accounts/${loggedInUser.account_id}/dashboard`),
|
||||
redirect: '/app',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -41,10 +39,7 @@ const generateRoleWiseRoute = route => {
|
||||
// returns an object with roles as keys and routeArr as values
|
||||
generateRoleWiseRoute(routes);
|
||||
|
||||
export const router = new VueRouter({
|
||||
mode: 'history',
|
||||
routes, // short for routes: routes
|
||||
});
|
||||
export const router = new VueRouter({ mode: 'history', routes });
|
||||
|
||||
const unProtectedRoutes = ['login', 'auth_signup', 'auth_reset_password'];
|
||||
|
||||
@@ -117,7 +112,10 @@ const validateRouteAccess = (to, from, next) => {
|
||||
router.beforeEach((to, from, next) => {
|
||||
if (!to.name) {
|
||||
const user = auth.getCurrentUser();
|
||||
return next(frontendURL(`accounts/${user.account_id}/dashboard`));
|
||||
if (user) {
|
||||
return next(frontendURL(`accounts/${user.account_id}/dashboard`));
|
||||
}
|
||||
return next('/app/login');
|
||||
}
|
||||
|
||||
return validateRouteAccess(to, from, next);
|
||||
|
||||
@@ -13,10 +13,6 @@ jest.mock('./login/login.routes', () => ({
|
||||
}));
|
||||
jest.mock('../constants', () => {
|
||||
return {
|
||||
APP_BASE_URL: '/',
|
||||
get apiUrl() {
|
||||
return `${this.APP_BASE_URL}/`;
|
||||
},
|
||||
GRAVATAR_URL: 'https://www.gravatar.com/avatar',
|
||||
CHANNELS: {
|
||||
FACEBOOK: 'facebook',
|
||||
|
||||
Reference in New Issue
Block a user