feat: renew api

This commit is contained in:
zerosoul
2022-02-22 10:12:40 +08:00
parent d712d6b042
commit b1ba2aa523
+50 -40
View File
@@ -1,46 +1,56 @@
import { createApi } from "@reduxjs/toolkit/query/react"; import { createApi } from '@reduxjs/toolkit/query/react';
import baseQuery from "./base.query"; import baseQuery from './base.query';
import BASE_URL from "../config"; import BASE_URL from '../config';
export const authApi = createApi({ export const authApi = createApi({
reducerPath: "auth", reducerPath: 'auth',
baseQuery, baseQuery,
endpoints: (builder) => ({ endpoints: (builder) => ({
login: builder.mutation({ login: builder.mutation({
query: (credentials) => ({ query: (credentials) => ({
url: "token/login", url: 'token/login',
method: "POST", method: 'POST',
body: { credential: credentials, device: "web", device_token: "test" }, body: { credential: credentials, device: 'web', device_token: 'test' }
}), }),
transformResponse: (data) => { transformResponse: (data) => {
const { avatar_updated_at } = data.user; const { avatar_updated_at } = data.user;
data.user.avatar = data.user.avatar =
avatar_updated_at == 0 avatar_updated_at == 0 ? '' : `${BASE_URL}/resource/avatar?uid=${data.user.uid}`;
? "" return data;
: `${BASE_URL}/resource/avatar?uid=${data.user.uid}`; }
return data;
},
}),
checkInviteTokenValid: builder.mutation({
query: (token) => ({
url: "user/check_invite_magic_token",
method: "POST",
body: { magic_token: token },
}),
}),
getMetamaskNonce: builder.query({
query: (address) => ({
url: `/token/metamask/nonce?public_address=${address}`,
}),
}),
logout: builder.query({
query: () => ({ url: `token/logout` }),
}),
}), }),
// 更新token
renew: builder.mutation({
query: ({ token, refreshToken }) => ({
url: '/token/renew',
method: 'POST',
body: {
token,
refresh_token: refreshToken
}
})
}),
checkInviteTokenValid: builder.mutation({
query: (token) => ({
url: 'user/check_invite_magic_token',
method: 'POST',
body: { magic_token: token }
})
}),
getMetamaskNonce: builder.query({
query: (address) => ({
url: `/token/metamask/nonce?public_address=${address}`
})
}),
logout: builder.query({
query: () => ({ url: `token/logout` })
})
})
}); });
export const { export const {
useLazyGetMetamaskNonceQuery, useRenewMutation,
useLoginMutation, useLazyGetMetamaskNonceQuery,
useLazyLogoutQuery, useLoginMutation,
useCheckInviteTokenValidMutation, useLazyLogoutQuery,
useCheckInviteTokenValidMutation
} = authApi; } = authApi;