Skip to content

Commit eb777a2

Browse files
committed
feat: add getAuth method
1 parent ff8dc82 commit eb777a2

File tree

3 files changed

+44
-32
lines changed

3 files changed

+44
-32
lines changed

packages/auth/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hanabira/auth",
3-
"version": "0.2.0",
3+
"version": "0.3.0",
44
"main": "./dist/index.js",
55
"module": "./dist/index.mjs",
66
"types": "./dist/index.d.ts",

packages/auth/src/core/hooks.ts

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useStore } from '@hanabira/store';
22

3-
import { authConfig, handleRedirect, login, logout } from './manager';
3+
import { _authConfig, _handleRedirect, _login, _logout } from './manager';
44

55
import type {
66
AuthState,
@@ -11,15 +11,15 @@ import type {
1111
} from '../@types/core';
1212

1313
export const useAuthState = (): AuthState => {
14-
const [user, setUser] = useStore(authConfig('userKey'));
15-
const [token, setToken] = useStore(authConfig('tokenKey'));
14+
const [user, setUser] = useStore(_authConfig('userKey'));
15+
const [token, setToken] = useStore(_authConfig('tokenKey'));
1616
const [refreshToken, setRefreshToken] = useStore(
17-
authConfig('refreshTokenKey')
17+
_authConfig('refreshTokenKey')
1818
);
1919

2020
if (!user || !token) {
2121
// @ts-expect-error Illegal, but it's okay
22-
return handleRedirect('loginPath');
22+
return _handleRedirect('loginPath');
2323
}
2424

2525
return {
@@ -30,7 +30,7 @@ export const useAuthState = (): AuthState => {
3030
refreshToken,
3131
setRefreshToken,
3232
logout: (callback?: VoidFunction) => {
33-
logout({
33+
_logout({
3434
callback,
3535
setUser,
3636
setToken,
@@ -41,18 +41,18 @@ export const useAuthState = (): AuthState => {
4141
};
4242

4343
export const useGuestState = (): GuestState => {
44-
const [user, setUser] = useStore(authConfig('userKey'));
45-
const [token, setToken] = useStore(authConfig('tokenKey'));
46-
const [, setRefreshToken] = useStore(authConfig('refreshTokenKey'));
44+
const [user, setUser] = useStore(_authConfig('userKey'));
45+
const [token, setToken] = useStore(_authConfig('tokenKey'));
46+
const [, setRefreshToken] = useStore(_authConfig('refreshTokenKey'));
4747

4848
if (user && token) {
4949
// @ts-expect-error Illegal, but it's okay
50-
return handleRedirect('dashboardPath');
50+
return _handleRedirect('dashboardPath');
5151
}
5252

5353
return {
5454
login: (data) => {
55-
login(data, {
55+
_login(data, {
5656
setUser,
5757
setToken,
5858
setRefreshToken,
@@ -62,12 +62,12 @@ export const useGuestState = (): GuestState => {
6262
};
6363

6464
export const useLogin = (): LoginFunction => {
65-
const [, setUser] = useStore(authConfig('userKey'));
66-
const [, setToken] = useStore(authConfig('tokenKey'));
67-
const [, setRefreshToken] = useStore(authConfig('refreshTokenKey'));
65+
const [, setUser] = useStore(_authConfig('userKey'));
66+
const [, setToken] = useStore(_authConfig('tokenKey'));
67+
const [, setRefreshToken] = useStore(_authConfig('refreshTokenKey'));
6868

6969
return (data) => {
70-
login(data, {
70+
_login(data, {
7171
setUser,
7272
setToken,
7373
setRefreshToken,
@@ -76,12 +76,12 @@ export const useLogin = (): LoginFunction => {
7676
};
7777

7878
export const useLogout = (): LogoutFunction => {
79-
const [, setUser] = useStore(authConfig('userKey'));
80-
const [, setToken] = useStore(authConfig('tokenKey'));
81-
const [, setRefreshToken] = useStore(authConfig('refreshTokenKey'));
79+
const [, setUser] = useStore(_authConfig('userKey'));
80+
const [, setToken] = useStore(_authConfig('tokenKey'));
81+
const [, setRefreshToken] = useStore(_authConfig('refreshTokenKey'));
8282

8383
return (callback?: VoidFunction) => {
84-
logout({
84+
_logout({
8585
callback,
8686
setUser,
8787
setToken,
@@ -91,9 +91,9 @@ export const useLogout = (): LogoutFunction => {
9191
};
9292

9393
export const useUser = (): LoginData => {
94-
const [user] = useStore(authConfig('userKey'));
95-
const [token] = useStore(authConfig('tokenKey'));
96-
const [refreshToken] = useStore(authConfig('refreshTokenKey'));
94+
const [user] = useStore(_authConfig('userKey'));
95+
const [token] = useStore(_authConfig('tokenKey'));
96+
const [refreshToken] = useStore(_authConfig('refreshTokenKey'));
9797

9898
return {
9999
user,

packages/auth/src/core/manager.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,19 @@ export function createAuth(authOptions?: AuthOptions & StoreOptions) {
5353
});
5454
}
5555

56-
export function authConfig(item?: keyof AuthOptions) {
56+
export function getAuth() {
57+
const user = getStore(_authConfig('userKey'));
58+
const token = getStore(_authConfig('tokenKey'));
59+
const refreshToken = getStore(_authConfig('refreshTokenKey'));
60+
61+
return {
62+
user,
63+
token,
64+
refreshToken,
65+
};
66+
}
67+
68+
export function _authConfig(item?: keyof AuthOptions) {
5769
const config = getStore('hanaAuthConfig');
5870

5971
if (item) {
@@ -63,7 +75,7 @@ export function authConfig(item?: keyof AuthOptions) {
6375
return config;
6476
}
6577

66-
export function login(
78+
export function _login(
6779
data: LoginData,
6880
{
6981
setUser,
@@ -83,11 +95,11 @@ export function login(
8395
}
8496

8597
if (data.user) {
86-
handleRedirect('dashboardPath');
98+
_handleRedirect('dashboardPath');
8799
}
88100
}
89101

90-
export function logout({
102+
export function _logout({
91103
setUser,
92104
setToken,
93105
setRefreshToken,
@@ -104,16 +116,16 @@ export function logout({
104116

105117
if (typeof callback === 'function') {
106118
callback();
107-
handleRedirect('loginPath');
119+
_handleRedirect('loginPath');
108120
} else {
109-
handleRedirect('loginPath');
121+
_handleRedirect('loginPath');
110122
}
111123
}
112124

113-
export function handleRedirect(to: 'loginPath' | 'dashboardPath') {
114-
if (authConfig('environment') === 'react') {
125+
export function _handleRedirect(to: 'loginPath' | 'dashboardPath') {
126+
if (_authConfig('environment') === 'react') {
115127
if (typeof window !== 'undefined') {
116-
window.location.replace(authConfig(to));
128+
window.location.replace(_authConfig(to));
117129
}
118130
}
119131

0 commit comments

Comments
 (0)