Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
33dda9bf
Commit
33dda9bf
authored
Dec 06, 2023
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: fix auth status checks
parent
fa6693a7
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
65 additions
and
10 deletions
+65
-10
auth_service.go
api/v2/auth_service.go
+3
-0
DailyReview.tsx
web/src/pages/DailyReview.tsx
+2
-2
MemoDetail.tsx
web/src/pages/MemoDetail.tsx
+2
-2
AuthStatusProvider.tsx
web/src/router/AuthStatusProvider.tsx
+27
-0
index.tsx
web/src/router/index.tsx
+31
-6
No files found.
api/v2/auth_service.go
View file @
33dda9bf
...
@@ -14,6 +14,9 @@ func (s *APIV2Service) GetAuthStatus(ctx context.Context, _ *apiv2pb.GetAuthStat
...
@@ -14,6 +14,9 @@ func (s *APIV2Service) GetAuthStatus(ctx context.Context, _ *apiv2pb.GetAuthStat
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Unauthenticated
,
"failed to get current user: %v"
,
err
)
return
nil
,
status
.
Errorf
(
codes
.
Unauthenticated
,
"failed to get current user: %v"
,
err
)
}
}
if
user
==
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Unauthenticated
,
"user not found"
)
}
return
&
apiv2pb
.
GetAuthStatusResponse
{
return
&
apiv2pb
.
GetAuthStatusResponse
{
User
:
convertUserFromStore
(
user
),
User
:
convertUserFromStore
(
user
),
},
nil
},
nil
...
...
web/src/pages/DailyReview.tsx
View file @
33dda9bf
...
@@ -21,7 +21,7 @@ import { useTranslate } from "@/utils/i18n";
...
@@ -21,7 +21,7 @@ import { useTranslate } from "@/utils/i18n";
const
DailyReview
=
()
=>
{
const
DailyReview
=
()
=>
{
const
t
=
useTranslate
();
const
t
=
useTranslate
();
const
memoStore
=
useMemoStore
();
const
memoStore
=
useMemoStore
();
const
u
ser
=
useCurrentUser
();
const
currentU
ser
=
useCurrentUser
();
const
currentDateStamp
=
getDateStampByDate
(
getNormalizedDateString
())
as
number
;
const
currentDateStamp
=
getDateStampByDate
(
getNormalizedDateString
())
as
number
;
const
[
selectedDateStamp
,
setSelectedDateStamp
]
=
useState
<
number
>
(
currentDateStamp
as
number
);
const
[
selectedDateStamp
,
setSelectedDateStamp
]
=
useState
<
number
>
(
currentDateStamp
as
number
);
const
[
showDatePicker
,
toggleShowDatePicker
]
=
useToggle
(
false
);
const
[
showDatePicker
,
toggleShowDatePicker
]
=
useToggle
(
false
);
...
@@ -31,7 +31,7 @@ const DailyReview = () => {
...
@@ -31,7 +31,7 @@ const DailyReview = () => {
const
selectedDateStampWithOffset
=
selectedDateStamp
;
const
selectedDateStampWithOffset
=
selectedDateStamp
;
return
(
return
(
m
.
rowStatus
===
"NORMAL"
&&
m
.
rowStatus
===
"NORMAL"
&&
m
.
creatorUsername
===
extractUsernameFromName
(
u
ser
.
name
)
&&
m
.
creatorUsername
===
extractUsernameFromName
(
currentU
ser
.
name
)
&&
displayTimestamp
>=
selectedDateStampWithOffset
&&
displayTimestamp
>=
selectedDateStampWithOffset
&&
displayTimestamp
<
selectedDateStampWithOffset
+
DAILY_TIMESTAMP
displayTimestamp
<
selectedDateStampWithOffset
+
DAILY_TIMESTAMP
);
);
...
...
web/src/pages/MemoDetail.tsx
View file @
33dda9bf
...
@@ -27,10 +27,10 @@ const MemoDetail = () => {
...
@@ -27,10 +27,10 @@ const MemoDetail = () => {
const
t
=
useTranslate
();
const
t
=
useTranslate
();
const
params
=
useParams
();
const
params
=
useParams
();
const
navigateTo
=
useNavigateTo
();
const
navigateTo
=
useNavigateTo
();
const
currentUser
=
useCurrentUser
();
const
globalStore
=
useGlobalStore
();
const
globalStore
=
useGlobalStore
();
const
memoStore
=
useMemoStore
();
const
memoStore
=
useMemoStore
();
const
userV1Store
=
useUserV1Store
();
const
userV1Store
=
useUserV1Store
();
const
currentUser
=
useCurrentUser
();
const
[
creator
,
setCreator
]
=
useState
<
User
>
();
const
[
creator
,
setCreator
]
=
useState
<
User
>
();
const
{
systemStatus
}
=
globalStore
.
state
;
const
{
systemStatus
}
=
globalStore
.
state
;
const
memoId
=
Number
(
params
.
memoId
);
const
memoId
=
Number
(
params
.
memoId
);
...
@@ -101,7 +101,7 @@ const MemoDetail = () => {
...
@@ -101,7 +101,7 @@ const MemoDetail = () => {
};
};
const
disableOption
=
(
v
:
string
)
=>
{
const
disableOption
=
(
v
:
string
)
=>
{
const
isAdminOrHost
=
currentUser
.
role
===
User_Role
.
ADMIN
||
currentUser
.
role
===
User_Role
.
HOST
;
const
isAdminOrHost
=
currentUser
?.
role
===
User_Role
.
ADMIN
||
currentUser
?
.
role
===
User_Role
.
HOST
;
if
(
v
===
"PUBLIC"
&&
!
isAdminOrHost
)
{
if
(
v
===
"PUBLIC"
&&
!
isAdminOrHost
)
{
return
systemStatus
.
disablePublicMemos
;
return
systemStatus
.
disablePublicMemos
;
...
...
web/src/router/AuthStatusProvider.tsx
0 → 100644
View file @
33dda9bf
import
{
useEffect
}
from
"react"
;
import
useCurrentUser
from
"@/hooks/useCurrentUser"
;
import
useNavigateTo
from
"@/hooks/useNavigateTo"
;
interface
Props
{
children
:
React
.
ReactNode
;
}
const
AuthStatusProvider
=
(
props
:
Props
)
=>
{
const
navigateTo
=
useNavigateTo
();
const
currentUser
=
useCurrentUser
();
useEffect
(()
=>
{
if
(
!
currentUser
)
{
// If not logged in, redirect to explore page by default.
navigateTo
(
"/explore"
);
}
},
[]);
if
(
!
currentUser
)
{
return
null
;
}
return
<>
{
props
.
children
}
</>;
};
export
default
AuthStatusProvider
;
web/src/router/index.tsx
View file @
33dda9bf
...
@@ -2,6 +2,7 @@ import { lazy } from "react";
...
@@ -2,6 +2,7 @@ import { lazy } from "react";
import
{
createBrowserRouter
}
from
"react-router-dom"
;
import
{
createBrowserRouter
}
from
"react-router-dom"
;
import
App
from
"@/App"
;
import
App
from
"@/App"
;
import
{
initialGlobalState
}
from
"@/store/module"
;
import
{
initialGlobalState
}
from
"@/store/module"
;
import
AuthStatusProvider
from
"./AuthStatusProvider"
;
const
Root
=
lazy
(()
=>
import
(
"@/layouts/Root"
));
const
Root
=
lazy
(()
=>
import
(
"@/layouts/Root"
));
const
SignIn
=
lazy
(()
=>
import
(
"@/pages/SignIn"
));
const
SignIn
=
lazy
(()
=>
import
(
"@/pages/SignIn"
));
...
@@ -52,27 +53,51 @@ const router = createBrowserRouter([
...
@@ -52,27 +53,51 @@ const router = createBrowserRouter([
children
:
[
children
:
[
{
{
path
:
""
,
path
:
""
,
element
:
<
Home
/>,
element
:
(
<
AuthStatusProvider
>
<
Home
/>
</
AuthStatusProvider
>
),
},
},
{
{
path
:
"review"
,
path
:
"review"
,
element
:
<
DailyReview
/>,
element
:
(
<
AuthStatusProvider
>
<
DailyReview
/>
</
AuthStatusProvider
>
),
},
},
{
{
path
:
"resources"
,
path
:
"resources"
,
element
:
<
Resources
/>,
element
:
(
<
AuthStatusProvider
>
<
Resources
/>
</
AuthStatusProvider
>
),
},
},
{
{
path
:
"inbox"
,
path
:
"inbox"
,
element
:
<
Inboxes
/>,
element
:
(
<
AuthStatusProvider
>
<
Inboxes
/>
</
AuthStatusProvider
>
),
},
},
{
{
path
:
"archived"
,
path
:
"archived"
,
element
:
<
Archived
/>,
element
:
(
<
AuthStatusProvider
>
<
Archived
/>
</
AuthStatusProvider
>
),
},
},
{
{
path
:
"setting"
,
path
:
"setting"
,
element
:
<
Setting
/>,
element
:
(
<
AuthStatusProvider
>
<
Setting
/>
</
AuthStatusProvider
>
),
},
},
{
{
path
:
"explore"
,
path
:
"explore"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment