mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 19:51:07 +03:30
route middleware And Login
This commit is contained in:
Vendored
+1
-1
@@ -210,7 +210,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
|
||||
// Module
|
||||
exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\r\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\r\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\r\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\r\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\r\n top: -25px !important;\n}\r\n", ""]);
|
||||
exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\n top: -25px !important;\n}\n", ""]);
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -137,7 +137,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
|
||||
// Module
|
||||
exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\r\n padding : 8px 22px;\n}\r\n\r\n", ""]);
|
||||
exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\n padding : 8px 22px;\n}\n\n", ""]);
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -423,7 +423,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
|
||||
// Module
|
||||
exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\r\n background-color : #F5F5F5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n bottom: -24px !important;\n}\r\n", ""]);
|
||||
exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\n background-color : #F5F5F5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n bottom: -24px !important;\n}\n", ""]);
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+14
-3
@@ -250,9 +250,20 @@ var render = function() {
|
||||
[_vm._v("fas fa-plus")]
|
||||
),
|
||||
_vm._v(" "),
|
||||
_c("span", { staticClass: "black--text" }, [
|
||||
_vm._v("Register")
|
||||
])
|
||||
_c(
|
||||
"span",
|
||||
[
|
||||
_c(
|
||||
"router-link",
|
||||
{
|
||||
staticClass: "black--text",
|
||||
attrs: { to: "register" }
|
||||
},
|
||||
[_vm._v("Register")]
|
||||
)
|
||||
],
|
||||
1
|
||||
)
|
||||
],
|
||||
1
|
||||
)
|
||||
|
||||
Vendored
+59
-39
@@ -2178,6 +2178,7 @@ module.exports = {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js");
|
||||
//
|
||||
//
|
||||
//
|
||||
@@ -2190,7 +2191,14 @@ __webpack_require__.r(__webpack_exports__);
|
||||
//
|
||||
//
|
||||
//
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({});
|
||||
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({
|
||||
data: function data() {
|
||||
return {
|
||||
loggedIn: !!_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getToken()
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
@@ -2556,12 +2564,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
data: function data() {
|
||||
return {
|
||||
links: [{
|
||||
name: 'Home',
|
||||
Link: '/dashboard'
|
||||
}, // { name: 'Creative Tim', Link: 'https://www.creative-tim.com' },
|
||||
{
|
||||
name: 'About Us',
|
||||
Link: 'https://creative-tim.com/presentation'
|
||||
name: 'Powered By',
|
||||
Link: 'https://www.willamall.com'
|
||||
}]
|
||||
};
|
||||
}
|
||||
@@ -13467,9 +13471,9 @@ var render = function() {
|
||||
return _c(
|
||||
"v-app",
|
||||
[
|
||||
_c("core-toolbar"),
|
||||
_vm.loggedIn ? _c("core-toolbar") : _vm._e(),
|
||||
_vm._v(" "),
|
||||
_c("core-drawer"),
|
||||
_vm.loggedIn ? _c("core-drawer") : _vm._e(),
|
||||
_vm._v(" "),
|
||||
_c("core-view")
|
||||
],
|
||||
@@ -59027,7 +59031,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
Object(vuex_router_sync__WEBPACK_IMPORTED_MODULE_6__["sync"])(_store__WEBPACK_IMPORTED_MODULE_10__["default"], _router__WEBPACK_IMPORTED_MODULE_9__["default"]);
|
||||
vue__WEBPACK_IMPORTED_MODULE_1___default.a.config.productionTip = false; // Set the base URL of the API
|
||||
|
||||
_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].init("https://www.cssd-doc.com/api/"); // If token exists set header
|
||||
_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].init("https://www.cssd-doc.com/api"); // If token exists set header
|
||||
|
||||
if (_services__WEBPACK_IMPORTED_MODULE_11__["TokenService"].getToken()) {
|
||||
_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].setHeader();
|
||||
@@ -59194,7 +59198,7 @@ function route(options) {
|
||||
var path = options.path;
|
||||
var view = options.view;
|
||||
var name = options.name;
|
||||
var meta = path.meta ? path.meta : '';
|
||||
var meta = options.meta ? options.meta : '';
|
||||
return {
|
||||
name: name || view,
|
||||
path: path,
|
||||
@@ -59240,31 +59244,36 @@ router.beforeEach(function (to, from, next) {
|
||||
var onlyWhenLoggedOut = to.matched.some(function (record) {
|
||||
return record.meta.onlyWhenLoggedOut;
|
||||
});
|
||||
var loggedIn = !!_services__WEBPACK_IMPORTED_MODULE_4__["TokenService"].getToken(); // if (!isPublic && !loggedIn) {
|
||||
// return next({
|
||||
// path:'/login',
|
||||
// query: {redirect: to.fullPath} // Store the full path to redirect the user to after login
|
||||
// });
|
||||
// }
|
||||
// Do not allow user to visit login page or register page if they are logged in
|
||||
// if (loggedIn && onlyWhenLoggedOut) {
|
||||
// return next('/')
|
||||
// }
|
||||
var loggedIn = !!_services__WEBPACK_IMPORTED_MODULE_4__["TokenService"].getToken();
|
||||
|
||||
if (!isPublic && !loggedIn) {
|
||||
return next({
|
||||
path: '/login',
|
||||
query: {
|
||||
redirect: to.fullPath // Store the full path to redirect the user to after login
|
||||
|
||||
}
|
||||
});
|
||||
} // Do not allow user to visit login page or register page if they are logged in
|
||||
|
||||
|
||||
if (loggedIn && onlyWhenLoggedOut) {
|
||||
return next('/');
|
||||
}
|
||||
|
||||
next();
|
||||
}); // Bootstrap Analytics
|
||||
// Set in .env
|
||||
// https://github.com/MatteoGabriele/vue-analytics
|
||||
|
||||
if (Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).GOOGLE_ANALYTICS) {
|
||||
vue__WEBPACK_IMPORTED_MODULE_0___default.a.use(vue_analytics__WEBPACK_IMPORTED_MODULE_1___default.a, {
|
||||
id: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).GOOGLE_ANALYTICS,
|
||||
router: router,
|
||||
autoTracking: {
|
||||
page: "development" !== 'development'
|
||||
}
|
||||
});
|
||||
}
|
||||
// if (process.env.GOOGLE_ANALYTICS) {
|
||||
// Vue.use(VueAnalytics, {
|
||||
// id: process.env.GOOGLE_ANALYTICS,
|
||||
// router,
|
||||
// autoTracking: {
|
||||
// page: process.env.NODE_ENV !== 'development'
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
/* harmony default export */ __webpack_exports__["default"] = (router);
|
||||
|
||||
@@ -59320,7 +59329,16 @@ __webpack_require__.r(__webpack_exports__);
|
||||
}, {
|
||||
path: '/register',
|
||||
name: 'Register',
|
||||
view: 'Register'
|
||||
view: 'Register',
|
||||
meta: {
|
||||
public: true,
|
||||
// Allow access to even if not logged in
|
||||
onlyWhenLoggedOut: true
|
||||
}
|
||||
}, {
|
||||
path: '/Adminregister',
|
||||
name: 'AdminRegister',
|
||||
view: 'AdminRegister'
|
||||
}, {
|
||||
path: '/submit-test-result',
|
||||
name: 'Submit Test Result',
|
||||
@@ -59495,7 +59513,8 @@ var TokenService = {
|
||||
getToken: function getToken() {
|
||||
return localStorage.getItem(TOKEN_KEY);
|
||||
},
|
||||
saveToken: function saveToken(accessToken) {
|
||||
saveToken: function saveToken() {
|
||||
var accessToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
||||
localStorage.setItem(TOKEN_KEY, accessToken);
|
||||
},
|
||||
removeToken: function removeToken() {
|
||||
@@ -59504,7 +59523,8 @@ var TokenService = {
|
||||
getRefreshToken: function getRefreshToken() {
|
||||
return localStorage.getItem(REFRESH_TOKEN_KEY);
|
||||
},
|
||||
saveRefreshToken: function saveRefreshToken(refreshToken) {
|
||||
saveRefreshToken: function saveRefreshToken() {
|
||||
var refreshToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
||||
localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken);
|
||||
},
|
||||
removeRefreshToken: function removeRefreshToken() {
|
||||
@@ -59606,8 +59626,8 @@ var UserService = {
|
||||
grant_type: 'password'
|
||||
},
|
||||
auth: {
|
||||
username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
|
||||
password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
|
||||
username: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
|
||||
password: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
|
||||
}
|
||||
};
|
||||
_context.prev = 1;
|
||||
@@ -59665,8 +59685,8 @@ var UserService = {
|
||||
refresh_token: refreshToken
|
||||
},
|
||||
auth: {
|
||||
username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
|
||||
password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
|
||||
username: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
|
||||
password: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
|
||||
}
|
||||
};
|
||||
_context2.prev = 2;
|
||||
@@ -60297,7 +60317,7 @@ module.exports = webpackAsyncContext;
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
module.exports = __webpack_require__(/*! D:\Atom\Git\Laravel_CSSD\resources\js\vue\main.js */"./resources/js/vue/main.js");
|
||||
module.exports = __webpack_require__(/*! /home/saeid/Projects/Git/CSSD/resources/js/vue/main.js */"./resources/js/vue/main.js");
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
@@ -2,16 +2,23 @@
|
||||
<v-app>
|
||||
<!-- <core-filter /> -->
|
||||
|
||||
<core-toolbar />
|
||||
<core-toolbar v-if="loggedIn" />
|
||||
|
||||
<core-drawer />
|
||||
<core-drawer v-if="loggedIn" />
|
||||
|
||||
<core-view />
|
||||
</v-app>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { TokenService } from '@/services';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
loggedIn : !!TokenService.getToken(),
|
||||
};
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -33,9 +33,10 @@
|
||||
export default {
|
||||
data: () => ({
|
||||
links: [
|
||||
{ name: 'Home', Link: '/dashboard' },
|
||||
{ name: 'Powered By', Link: 'https://www.willamall.com' },
|
||||
// { name: 'Home', Link: '/dashboard' },
|
||||
// { name: 'Creative Tim', Link: 'https://www.creative-tim.com' },
|
||||
{ name: 'About Us', Link: 'https://creative-tim.com/presentation' },
|
||||
// { name: 'About Us', Link: 'https://creative-tim.com/presentation' },
|
||||
// { name: 'Blog', Link: 'https://blog.creative-tim.com' }
|
||||
]
|
||||
})
|
||||
|
||||
Vendored
+19
-19
@@ -20,7 +20,7 @@ function route (options) {
|
||||
let path = options.path;
|
||||
let view = options.view;
|
||||
let name = options.name;
|
||||
let meta = (path.meta) ? path.meta : '';
|
||||
let meta = (options.meta) ? options.meta : '';
|
||||
return {
|
||||
name: name || view,
|
||||
path,
|
||||
@@ -56,17 +56,17 @@ router.beforeEach((to, from, next) => {
|
||||
const isPublic = to.matched.some(record => record.meta.public);
|
||||
const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut);
|
||||
const loggedIn = !!TokenService.getToken();
|
||||
// if (!isPublic && !loggedIn) {
|
||||
// return next({
|
||||
// path:'/login',
|
||||
// query: {redirect: to.fullPath} // Store the full path to redirect the user to after login
|
||||
// });
|
||||
// }
|
||||
if (!isPublic && !loggedIn) {
|
||||
return next({
|
||||
path:'/login',
|
||||
query: {redirect: to.fullPath} // Store the full path to redirect the user to after login
|
||||
});
|
||||
}
|
||||
|
||||
// Do not allow user to visit login page or register page if they are logged in
|
||||
// if (loggedIn && onlyWhenLoggedOut) {
|
||||
// return next('/')
|
||||
// }
|
||||
if (loggedIn && onlyWhenLoggedOut) {
|
||||
return next('/')
|
||||
}
|
||||
|
||||
next();
|
||||
});
|
||||
@@ -74,14 +74,14 @@ router.beforeEach((to, from, next) => {
|
||||
// Bootstrap Analytics
|
||||
// Set in .env
|
||||
// https://github.com/MatteoGabriele/vue-analytics
|
||||
if (process.env.GOOGLE_ANALYTICS) {
|
||||
Vue.use(VueAnalytics, {
|
||||
id: process.env.GOOGLE_ANALYTICS,
|
||||
router,
|
||||
autoTracking: {
|
||||
page: process.env.NODE_ENV !== 'development'
|
||||
}
|
||||
})
|
||||
}
|
||||
// if (process.env.GOOGLE_ANALYTICS) {
|
||||
// Vue.use(VueAnalytics, {
|
||||
// id: process.env.GOOGLE_ANALYTICS,
|
||||
// router,
|
||||
// autoTracking: {
|
||||
// page: process.env.NODE_ENV !== 'development'
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
export default router
|
||||
|
||||
Vendored
+10
-1
@@ -46,7 +46,16 @@ export default [
|
||||
{
|
||||
path: '/register',
|
||||
name: 'Register',
|
||||
view: 'Register'
|
||||
view: 'Register',
|
||||
meta: {
|
||||
public: true, // Allow access to even if not logged in
|
||||
onlyWhenLoggedOut: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/Adminregister',
|
||||
name: 'AdminRegister',
|
||||
view: 'AdminRegister'
|
||||
},
|
||||
{
|
||||
path: '/submit-test-result',
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ const TokenService = {
|
||||
return localStorage.getItem(TOKEN_KEY)
|
||||
},
|
||||
|
||||
saveToken(accessToken) {
|
||||
saveToken(accessToken = null) {
|
||||
localStorage.setItem(TOKEN_KEY, accessToken)
|
||||
},
|
||||
|
||||
@@ -24,7 +24,7 @@ const TokenService = {
|
||||
return localStorage.getItem(REFRESH_TOKEN_KEY)
|
||||
},
|
||||
|
||||
saveRefreshToken(refreshToken) {
|
||||
saveRefreshToken(refreshToken = null) {
|
||||
localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken)
|
||||
},
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<v-flex xs12 md6 sm6 class="text-md-right text-sm-center text-xs-center">
|
||||
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
|
||||
<v-icon class="black--text mr-2 caption">fas fa-plus</v-icon>
|
||||
<span class="black--text">Register</span>
|
||||
<span ><router-link class="black--text" to="register">Register</router-link></span>
|
||||
</v-btn>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
||||
Reference in New Issue
Block a user