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
40d59fc4
Commit
40d59fc4
authored
Sep 02, 2024
by
johnnyjoy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: fix user role checks
parent
7a9f6196
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
3 deletions
+9
-3
index.tsx
web/src/components/MemoContent/index.tsx
+2
-1
MemoView.tsx
web/src/components/MemoView.tsx
+2
-2
user.ts
web/src/utils/user.ts
+5
-0
No files found.
web/src/components/MemoContent/index.tsx
View file @
40d59fc4
...
@@ -4,6 +4,7 @@ import useCurrentUser from "@/hooks/useCurrentUser";
...
@@ -4,6 +4,7 @@ import useCurrentUser from "@/hooks/useCurrentUser";
import
{
useMemoStore
}
from
"@/store/v1"
;
import
{
useMemoStore
}
from
"@/store/v1"
;
import
{
Node
,
NodeType
}
from
"@/types/proto/api/v1/markdown_service"
;
import
{
Node
,
NodeType
}
from
"@/types/proto/api/v1/markdown_service"
;
import
{
useTranslate
}
from
"@/utils/i18n"
;
import
{
useTranslate
}
from
"@/utils/i18n"
;
import
{
isSuperUser
}
from
"@/utils/user"
;
import
Renderer
from
"./Renderer"
;
import
Renderer
from
"./Renderer"
;
import
{
RendererContext
}
from
"./types"
;
import
{
RendererContext
}
from
"./types"
;
...
@@ -33,7 +34,7 @@ const MemoContent: React.FC<Props> = (props: Props) => {
...
@@ -33,7 +34,7 @@ const MemoContent: React.FC<Props> = (props: Props) => {
const
memoContentContainerRef
=
useRef
<
HTMLDivElement
>
(
null
);
const
memoContentContainerRef
=
useRef
<
HTMLDivElement
>
(
null
);
const
[
showCompactMode
,
setShowCompactMode
]
=
useState
<
boolean
>
(
false
);
const
[
showCompactMode
,
setShowCompactMode
]
=
useState
<
boolean
>
(
false
);
const
memo
=
memoName
?
memoStore
.
getMemoByName
(
memoName
)
:
null
;
const
memo
=
memoName
?
memoStore
.
getMemoByName
(
memoName
)
:
null
;
const
allowEdit
=
!
props
.
readonly
&&
memo
&&
currentUser
?.
name
===
memo
.
creator
;
const
allowEdit
=
!
props
.
readonly
&&
memo
&&
(
currentUser
?.
name
===
memo
.
creator
||
isSuperUser
(
currentUser
))
;
// Initial compact mode.
// Initial compact mode.
useEffect
(()
=>
{
useEffect
(()
=>
{
...
...
web/src/components/MemoView.tsx
View file @
40d59fc4
...
@@ -8,11 +8,11 @@ import useNavigateTo from "@/hooks/useNavigateTo";
...
@@ -8,11 +8,11 @@ import useNavigateTo from "@/hooks/useNavigateTo";
import
{
useUserStore
,
useWorkspaceSettingStore
}
from
"@/store/v1"
;
import
{
useUserStore
,
useWorkspaceSettingStore
}
from
"@/store/v1"
;
import
{
MemoRelation_Type
}
from
"@/types/proto/api/v1/memo_relation_service"
;
import
{
MemoRelation_Type
}
from
"@/types/proto/api/v1/memo_relation_service"
;
import
{
Memo
,
Visibility
}
from
"@/types/proto/api/v1/memo_service"
;
import
{
Memo
,
Visibility
}
from
"@/types/proto/api/v1/memo_service"
;
import
{
User_Role
}
from
"@/types/proto/api/v1/user_service"
;
import
{
WorkspaceMemoRelatedSetting
}
from
"@/types/proto/api/v1/workspace_setting_service"
;
import
{
WorkspaceMemoRelatedSetting
}
from
"@/types/proto/api/v1/workspace_setting_service"
;
import
{
WorkspaceSettingKey
}
from
"@/types/proto/store/workspace_setting"
;
import
{
WorkspaceSettingKey
}
from
"@/types/proto/store/workspace_setting"
;
import
{
useTranslate
}
from
"@/utils/i18n"
;
import
{
useTranslate
}
from
"@/utils/i18n"
;
import
{
convertVisibilityToString
}
from
"@/utils/memo"
;
import
{
convertVisibilityToString
}
from
"@/utils/memo"
;
import
{
isSuperUser
}
from
"@/utils/user"
;
import
MemoActionMenu
from
"./MemoActionMenu"
;
import
MemoActionMenu
from
"./MemoActionMenu"
;
import
MemoContent
from
"./MemoContent"
;
import
MemoContent
from
"./MemoContent"
;
import
MemoEditor
from
"./MemoEditor"
;
import
MemoEditor
from
"./MemoEditor"
;
...
@@ -54,7 +54,7 @@ const MemoView: React.FC<Props> = (props: Props) => {
...
@@ -54,7 +54,7 @@ const MemoView: React.FC<Props> = (props: Props) => {
(
relation
)
=>
relation
.
type
===
MemoRelation_Type
.
COMMENT
&&
relation
.
relatedMemo
===
memo
.
name
,
(
relation
)
=>
relation
.
type
===
MemoRelation_Type
.
COMMENT
&&
relation
.
relatedMemo
===
memo
.
name
,
).
length
;
).
length
;
const
relativeTimeFormat
=
Date
.
now
()
-
memo
.
displayTime
!
.
getTime
()
>
1000
*
60
*
60
*
24
?
"datetime"
:
"auto"
;
const
relativeTimeFormat
=
Date
.
now
()
-
memo
.
displayTime
!
.
getTime
()
>
1000
*
60
*
60
*
24
?
"datetime"
:
"auto"
;
const
readonly
=
memo
.
creator
!==
user
?.
name
&&
user
.
role
===
User_Role
.
USER
;
const
readonly
=
memo
.
creator
!==
user
?.
name
||
isSuperUser
(
user
)
;
const
isInMemoDetailPage
=
location
.
pathname
.
startsWith
(
`/m/
${
memo
.
uid
}
`
);
const
isInMemoDetailPage
=
location
.
pathname
.
startsWith
(
`/m/
${
memo
.
uid
}
`
);
// Initial related data: creator.
// Initial related data: creator.
...
...
web/src/utils/user.ts
0 → 100644
View file @
40d59fc4
import
{
User
,
User_Role
}
from
"@/types/proto/api/v1/user_service"
;
export
const
isSuperUser
=
(
user
:
User
)
=>
{
return
user
.
role
===
User_Role
.
ADMIN
||
user
.
role
===
User_Role
.
HOST
;
};
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