|
|
|
@ -1,10 +1,10 @@ |
|
|
|
|
import SecurityAPI from "../api/security"; |
|
|
|
|
import SecurityAPI from "../api/security" |
|
|
|
|
|
|
|
|
|
const AUTHENTICATING = "AUTHENTICATING", |
|
|
|
|
AUTHENTICATING_SUCCESS = "AUTHENTICATING_SUCCESS", |
|
|
|
|
AUTHENTICATING_ERROR = "AUTHENTICATING_ERROR", |
|
|
|
|
AUTHENTICATING_LOGOUT = "AUTHENTICATING_LOGOUT", |
|
|
|
|
PROVIDING_DATA_ON_REFRESH_SUCCESS = "PROVIDING_DATA_ON_REFRESH_SUCCESS"; |
|
|
|
|
PROVIDING_DATA_ON_REFRESH_SUCCESS = "PROVIDING_DATA_ON_REFRESH_SUCCESS" |
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
namespaced: true, |
|
|
|
@ -12,120 +12,124 @@ export default { |
|
|
|
|
isLoading: false, |
|
|
|
|
error: null, |
|
|
|
|
isAuthenticated: false, |
|
|
|
|
user: null |
|
|
|
|
user: null, |
|
|
|
|
}, |
|
|
|
|
getters: { |
|
|
|
|
isLoading(state) { |
|
|
|
|
return state.isLoading; |
|
|
|
|
return state.isLoading |
|
|
|
|
}, |
|
|
|
|
hasError(state) { |
|
|
|
|
return state.error !== null; |
|
|
|
|
return state.error !== null |
|
|
|
|
}, |
|
|
|
|
error(state) { |
|
|
|
|
return state.error; |
|
|
|
|
return state.error |
|
|
|
|
}, |
|
|
|
|
isAuthenticated(state) { |
|
|
|
|
return state.isAuthenticated; |
|
|
|
|
return state.isAuthenticated |
|
|
|
|
}, |
|
|
|
|
isAdmin(state, getters) { |
|
|
|
|
return getters.isAuthenticated && (getters.hasRole('ROLE_SUPER_ADMIN') || getters.hasRole('ROLE_ADMIN')); |
|
|
|
|
return getters.isAuthenticated && (getters.hasRole("ROLE_SUPER_ADMIN") || getters.hasRole("ROLE_ADMIN")) |
|
|
|
|
}, |
|
|
|
|
isCourseAdmin(state, getters) { |
|
|
|
|
if (getters.isAdmin) { |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return getters.isAuthenticated |
|
|
|
|
&& getters.hasRole("ROLE_CURRENT_COURSE_SESSION_TEACHER") |
|
|
|
|
&& getters.hasRole("ROLE_CURRENT_COURSE_TEACHER") |
|
|
|
|
return ( |
|
|
|
|
getters.isAuthenticated && |
|
|
|
|
getters.hasRole("ROLE_CURRENT_COURSE_SESSION_TEACHER") && |
|
|
|
|
getters.hasRole("ROLE_CURRENT_COURSE_TEACHER") |
|
|
|
|
) |
|
|
|
|
}, |
|
|
|
|
isCurrentTeacher(state, getters) { |
|
|
|
|
if (!getters.isAuthenticated) { |
|
|
|
|
return false; |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (getters.hasRole('ROLE_SUPER_ADMIN') || getters.hasRole('ROLE_ADMIN')) { |
|
|
|
|
if (getters.hasRole("ROLE_SUPER_ADMIN") || getters.hasRole("ROLE_ADMIN")) { |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return getters.hasRole('ROLE_CURRENT_COURSE_TEACHER'); |
|
|
|
|
return getters.hasRole("ROLE_CURRENT_COURSE_TEACHER") |
|
|
|
|
}, |
|
|
|
|
isBoss(state, getters) { |
|
|
|
|
return getters.hasRole('ROLE_STUDENT_BOSS'); |
|
|
|
|
return getters.hasRole("ROLE_STUDENT_BOSS") |
|
|
|
|
}, |
|
|
|
|
isStudent(state, getters) { |
|
|
|
|
return getters.hasRole('ROLE_STUDENT'); |
|
|
|
|
return getters.hasRole("ROLE_STUDENT") |
|
|
|
|
}, |
|
|
|
|
getUser(state) { |
|
|
|
|
return state.user; |
|
|
|
|
return state.user |
|
|
|
|
}, |
|
|
|
|
hasRole(state) { |
|
|
|
|
return role => { |
|
|
|
|
return (role) => { |
|
|
|
|
if (state.user.roles) { |
|
|
|
|
return state.user.roles.indexOf(role) !== -1; |
|
|
|
|
return state.user.roles.indexOf(role) !== -1 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
}; |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
mutations: { |
|
|
|
|
[AUTHENTICATING](state) { |
|
|
|
|
state.isLoading = true; |
|
|
|
|
state.error = null; |
|
|
|
|
state.isAuthenticated = false; |
|
|
|
|
state.user = null; |
|
|
|
|
state.isLoading = true |
|
|
|
|
state.error = null |
|
|
|
|
state.isAuthenticated = false |
|
|
|
|
state.user = null |
|
|
|
|
}, |
|
|
|
|
[AUTHENTICATING_SUCCESS](state, user) { |
|
|
|
|
state.isLoading = true; |
|
|
|
|
state.error = null; |
|
|
|
|
state.isAuthenticated = true; |
|
|
|
|
state.user = user; |
|
|
|
|
state.isLoading = true |
|
|
|
|
state.error = null |
|
|
|
|
state.isAuthenticated = true |
|
|
|
|
state.user = user |
|
|
|
|
}, |
|
|
|
|
[AUTHENTICATING_ERROR](state, error) { |
|
|
|
|
state.isLoading = false; |
|
|
|
|
state.error = error; |
|
|
|
|
state.isAuthenticated = false; |
|
|
|
|
state.user = null; |
|
|
|
|
state.isLoading = false |
|
|
|
|
state.error = error |
|
|
|
|
state.isAuthenticated = false |
|
|
|
|
state.user = null |
|
|
|
|
}, |
|
|
|
|
[AUTHENTICATING_LOGOUT](state, error) { |
|
|
|
|
console.log('AUTHENTICATING_LOGOUT'); |
|
|
|
|
state.isLoading = false; |
|
|
|
|
state.error = error; |
|
|
|
|
state.isAuthenticated = false; |
|
|
|
|
state.user = null; |
|
|
|
|
console.log("AUTHENTICATING_LOGOUT") |
|
|
|
|
state.isLoading = false |
|
|
|
|
state.error = error |
|
|
|
|
state.isAuthenticated = false |
|
|
|
|
state.user = null |
|
|
|
|
}, |
|
|
|
|
[PROVIDING_DATA_ON_REFRESH_SUCCESS](state, payload) { |
|
|
|
|
state.isLoading = false; |
|
|
|
|
state.error = null; |
|
|
|
|
state.isAuthenticated = payload.isAuthenticated; |
|
|
|
|
state.user = payload.user; |
|
|
|
|
} |
|
|
|
|
state.isLoading = false |
|
|
|
|
state.error = null |
|
|
|
|
state.isAuthenticated = payload.isAuthenticated |
|
|
|
|
state.user = payload.user |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
actions: { |
|
|
|
|
async login({ commit }, payload) { |
|
|
|
|
commit(AUTHENTICATING); |
|
|
|
|
commit(AUTHENTICATING) |
|
|
|
|
try { |
|
|
|
|
const response = await SecurityAPI.login(payload.login, payload.password); |
|
|
|
|
commit(AUTHENTICATING_SUCCESS, response.data); |
|
|
|
|
return response.data; |
|
|
|
|
const response = await SecurityAPI.login(payload.login, payload.password) |
|
|
|
|
commit(AUTHENTICATING_SUCCESS, response.data) |
|
|
|
|
return response.data |
|
|
|
|
} catch (error) { |
|
|
|
|
commit(AUTHENTICATING_ERROR, error); |
|
|
|
|
throw error; |
|
|
|
|
commit(AUTHENTICATING_ERROR, error) |
|
|
|
|
throw error |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
async logout({ commit }) { |
|
|
|
|
console.log('logout store/security'); |
|
|
|
|
await SecurityAPI.logout().then(response => { |
|
|
|
|
commit(AUTHENTICATING_LOGOUT); |
|
|
|
|
return response.data; |
|
|
|
|
}).catch(error => { |
|
|
|
|
commit(AUTHENTICATING_ERROR, error); |
|
|
|
|
}); |
|
|
|
|
console.log("logout store/security") |
|
|
|
|
await SecurityAPI.logout() |
|
|
|
|
.then((response) => { |
|
|
|
|
commit(AUTHENTICATING_LOGOUT) |
|
|
|
|
return response.data |
|
|
|
|
}) |
|
|
|
|
.catch((error) => { |
|
|
|
|
commit(AUTHENTICATING_ERROR, error) |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
onRefresh({ commit }, payload) { |
|
|
|
|
commit(PROVIDING_DATA_ON_REFRESH_SUCCESS, payload); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
commit(PROVIDING_DATA_ON_REFRESH_SUCCESS, payload) |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|