mirror of
https://github.com/kerberos-io/agent.git
synced 2026-08-23 15:08:32 +00:00
66 lines
1.3 KiB
JavaScript
66 lines
1.3 KiB
JavaScript
import { navigate } from '../navigation';
|
|
import { doLogin, doCheckIfInstalled } from '../api/authentication';
|
|
|
|
export const login = (username, password) =>
|
|
function dispatcher(dispatch) {
|
|
doLogin(
|
|
username,
|
|
password,
|
|
(data) => {
|
|
// mark interface as logged in.
|
|
dispatch({
|
|
type: 'LOGIN',
|
|
username: data.username,
|
|
role: data.role,
|
|
token: data.token,
|
|
expire: data.expire,
|
|
});
|
|
navigate('/');
|
|
},
|
|
(error) => {
|
|
dispatch({
|
|
type: 'LOGIN_FAILED',
|
|
error: error.message,
|
|
});
|
|
}
|
|
);
|
|
};
|
|
|
|
export const checkIfInstalled = () =>
|
|
function dispatcher(dispatch) {
|
|
doCheckIfInstalled(
|
|
(data) => {
|
|
// Todo..
|
|
dispatch({
|
|
type: 'INSTALLED',
|
|
installed: data,
|
|
});
|
|
},
|
|
(error) => {
|
|
// Todo..
|
|
dispatch({
|
|
type: 'INSTALLED_ERROR',
|
|
error,
|
|
});
|
|
}
|
|
);
|
|
};
|
|
|
|
export const resetLogin = () => {
|
|
return function d(dispatch) {
|
|
dispatch({
|
|
type: 'RESET_LOGIN',
|
|
error: null,
|
|
});
|
|
};
|
|
};
|
|
|
|
export const logout = () => {
|
|
return function d(dispatch) {
|
|
dispatch({
|
|
type: 'LOGOUT',
|
|
});
|
|
navigate('/login');
|
|
};
|
|
};
|