get user & domain from cookies

This commit is contained in:
Chika 2020-12-22 18:49:45 +03:00
parent 3509bf8007
commit 0b94ad000d
4 changed files with 90 additions and 96 deletions

View File

@ -26,6 +26,7 @@
"express-ntlm": "^2.5.2",
"graphql": "^15.4.0",
"helmet": "^4.2.0",
"js-cookie": "^2.2.1",
"lodash": "^4.17.20",
"luxon": "^1.25.0",
"mobx": "^6.0.4",

View File

@ -9,8 +9,8 @@ import systemUserQuery from './queries/systemUserQuery';
export default () =>
new Promise((resolve, reject) => {
getUser()
.then(({ UserName, DomainName, FullName }) => {
const { username: UserName, domainname: DomainName, FullName } = getUser();
Promise.all([
CrmService.crmgqlquery({
...initialOwnerQuery,
@ -82,9 +82,4 @@ export default () =>
reject(err);
throw err;
});
})
.catch(err => {
reject(err);
throw err;
});
});

View File

@ -1,26 +1,26 @@
import CalculationService from 'client/services/CalculationService';
import { User } from 'core/types/user';
import { domainName } from 'core/constants/domain';
import Cookies from 'js-cookie';
function getUserObj(user: User) {
return {
...user,
fullname: `${user.domainname}\\${user.username}`,
};
}
export const getUser = (): User => {
const { username, domainname } = Cookies.get();
export const getUser = async (): Promise<User> => {
function getFullName(user: User) {
return `${user.DomainName}\\${user.UserName}`;
}
if (process.env.NODE_ENV === 'development') {
const savedUser = localStorage.getItem('user');
if (savedUser) {
const user = JSON.parse(savedUser);
if (user.UserName) {
return { ...user, FullName: getFullName(user) };
if (!username || !domainname) {
const username = prompt('Enter username');
const domainname = prompt('Enter domainname');
if (username && domainname) {
Cookies.set('username', username);
Cookies.set('domainname', domainname);
}
}
var username = prompt('Enter username');
const user: User = { UserName: username || '', DomainName: domainName };
localStorage.setItem('user', JSON.stringify(user));
return { ...user, FullName: getFullName(user) };
}
const { user } = await CalculationService.getUser();
localStorage.setItem('user', JSON.stringify(user));
return { ...user, FullName: getFullName(user) };
const user: User = getUserObj({ username, domainname });
return user;
};

View File

@ -1,7 +1,5 @@
export type User = {
DomainName?: string;
UserName?: string;
FullName?: string;
Workstation?: string;
Authenticated?: boolean;
domainname?: string;
username?: string;
fullname?: string;
};