Skip to content

Commit ba409f6

Browse files
committed
update(app): update mutation usage to support refresh token
1 parent 0352e79 commit ba409f6

File tree

6 files changed

+44
-21
lines changed

6 files changed

+44
-21
lines changed

src/apollo/mutations/user.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
import { gql } from 'apollo-boost';
22

33
export const CREATE_ACCESS_TOKEN = gql`
4-
mutation CreateAccessToken ($input: CreateAccessTokenInput!) {
5-
createAccessToken (input: $input) {
6-
token
4+
mutation ($input: CreateTokenInput!) {
5+
createToken(input: $input) {
6+
accessToken
7+
refreshToken
8+
}
9+
}
10+
`;
11+
12+
export const REFRESH_ACCESS_TOKEN = gql`
13+
mutation ($refreshToken: String!) {
14+
refreshToken(refreshToken: $refreshToken) {
15+
accessToken
16+
refreshToken
717
}
818
}
919
`;
@@ -21,9 +31,10 @@ export const RESET_PASSWORD = gql`
2131
`;
2232

2333
export const CREATE_ACCOUNT = gql`
24-
mutation CreateAccount ($input: CreateAccountInput!, $affiliateId: String) {
25-
createAccount (input: $input, affiliateId: $affiliateId) {
26-
token
34+
mutation ($input: CreateAccountInput!, $affiliateId: String, $code: String) {
35+
createAccount (input: $input, affiliateId: $affiliateId, code: $code) {
36+
refreshToken
37+
accessToken
2738
}
2839
}
2940
`;

src/components/forms/user/LoginForm.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { Form as AntdForm, Icon, Button, Alert, message } from 'antd';
77

88
import { LoginSchema } from './validations';
99
import { AntInput } from '../../AntDesignFields';
10-
import { setAuthToken } from '../../../utils/userUtils';
10+
import { setAuthToken, setRefreshToken } from '../../../utils/userUtils';
1111
import { hasValidObjectValues } from '../../../utils/objectUtils';
1212
import { CREATE_ACCESS_TOKEN } from '../../../apollo/mutations/user';
1313

@@ -26,7 +26,10 @@ interface ILoginFormState {
2626

2727
interface ILoginMutationResponse {
2828
data: {
29-
createAccessToken: { token: string },
29+
createToken: {
30+
accessToken: string,
31+
refreshToken: string,
32+
},
3033
}
3134
}
3235

@@ -74,8 +77,9 @@ class LoginForm extends React.Component<RouteComponentProps, ILoginFormState> {
7477
},
7578
})
7679
.then(({ data }: ILoginMutationResponse) => {
77-
const { token } = data.createAccessToken;
78-
setAuthToken(token);
80+
const { accessToken, refreshToken } = data.createToken;
81+
setAuthToken(accessToken);
82+
setRefreshToken(refreshToken);
7983
this.setState({ isLoading: false });
8084
message.success('Login success', 1);
8185
history.replace('/');

src/components/forms/user/RegistrationForm.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { Form as AntdForm, Icon, Button, Alert, Row, Col } from 'antd';
88
import { SignupSchema } from './validations';
99
import { AntInput } from '../../AntDesignFields';
1010
import { hasValidObjectValues } from '../../../utils/objectUtils';
11-
import { setAuthToken } from '../../../utils/userUtils';
11+
import { setAuthToken, setRefreshToken } from '../../../utils/userUtils';
1212
import { CREATE_ACCOUNT, SEND_ONBOARDING_CODE } from '../../../apollo/mutations/user';
1313

1414
interface IRegistrationFormProps extends RouteComponentProps {
@@ -30,7 +30,10 @@ interface IRegistrationFormState {
3030

3131
interface ICreateAccountResult {
3232
data: {
33-
createAccount: { token: string },
33+
createAccount: {
34+
accessToken: string,
35+
refreshToken: string,
36+
},
3437
}
3538
}
3639

@@ -68,11 +71,12 @@ class RegistrationForm extends React.Component<
6871
})
6972
.then(async ({ data }: ICreateAccountResult) => {
7073
const { createAccount } = data;
71-
const { token: userToken } = createAccount;
72-
setAuthToken(userToken);
74+
const { accessToken, refreshToken } = createAccount;
75+
setAuthToken(accessToken);
76+
setRefreshToken(refreshToken);
7377
await client.mutate({
7478
mutation: SEND_ONBOARDING_CODE,
75-
variables: { token: userToken },
79+
variables: { token: accessToken },
7680
});
7781
this.setState({ isLoading: false });
7882
history.replace('/register/verify-email');

src/components/pages/reits/ReitsTableColumnFilters.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export const reitsNameColumnFilter = (): Partial<ColumnProps<any>> => ({
4242
</Col>
4343
<Col span={12}>
4444
<Button
45-
onClick={() => clearFilters && clearFilters([])}
45+
onClick={() => clearFilters && clearFilters()}
4646
size="small"
4747
block
4848
>
@@ -134,7 +134,7 @@ export const rangeColumnFilter = (
134134
</Col>
135135
<Col span={12}>
136136
<Button
137-
onClick={() => clearFilters && clearFilters([])}
137+
onClick={() => clearFilters && clearFilters()}
138138
size="small"
139139
block
140140
>

src/components/pages/reits/components/CustomSets.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ const CustomSets = ({ filters, setFilters }: IChartFilters) => {
136136
customSetName: undefined,
137137
});
138138

139-
const { loading, error: serverError, data } = useQuery(CUSTOM_SETS, {
139+
const { loading, data } = useQuery(CUSTOM_SETS, {
140140
variables: { token },
141141
});
142142

src/utils/userUtils.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
export const setAuthToken = (token: string): void => localStorage.setItem('auth_token', token);
1+
export const setAuthToken = (token: string): void => localStorage.setItem('access_token', token);
22

3-
export const getAuthToken = (): string => localStorage.getItem('auth_token') || '';
3+
export const setRefreshToken = (refreshToken: string): void => {
4+
return localStorage.setItem('refresh_token', refreshToken);
5+
};
6+
7+
export const getAuthToken = (): string => localStorage.getItem('access_token') || '';
48

5-
export const deleteAuthToken = (): void => localStorage.removeItem('auth_token');
9+
export const deleteAuthToken = (): void => localStorage.removeItem('access_token');
610

711
export const isLoggedIn = (): boolean => getAuthToken().length > 0;
812

0 commit comments

Comments
 (0)