Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wiki-js
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
wiki-js
Commits
a508a274
Unverified
Commit
a508a274
authored
Jun 07, 2020
by
Regev Brody
Committed by
GitHub
Jun 07, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: validate permissions when listing assets (#1928)
* fix: assets permission issues #1926
parent
b2fe0257
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
5 deletions
+14
-5
asset.js
server/graph/resolvers/asset.js
+14
-5
No files found.
server/graph/resolvers/asset.js
View file @
a508a274
...
...
@@ -20,18 +20,27 @@ module.exports = {
if
(
args
.
kind
!==
'ALL'
)
{
cond
.
kind
=
args
.
kind
.
toLowerCase
()
}
const
result
=
await
WIKI
.
models
.
assets
.
query
().
where
(
cond
)
return
result
.
map
(
a
=>
({
const
folderHierarchy
=
await
WIKI
.
models
.
assetFolders
.
getHierarchy
(
args
.
folderId
)
const
folderPath
=
folderHierarchy
.
map
(
h
=>
h
.
slug
).
join
(
'/'
)
const
results
=
await
WIKI
.
models
.
assets
.
query
().
where
(
cond
)
return
_
.
filter
(
results
,
r
=>
{
const
path
=
folderPath
?
`
${
folderPath
}
/
${
r
.
filename
}
`
:
r
.
filename
return
WIKI
.
auth
.
checkAccess
(
context
.
req
.
user
,
[
'read:assets'
],
{
path
})
}).
map
(
a
=>
({
...
a
,
kind
:
a
.
kind
.
toUpperCase
()
}))
},
async
folders
(
obj
,
args
,
context
)
{
const
result
=
await
WIKI
.
models
.
assetFolders
.
query
().
where
({
const
result
s
=
await
WIKI
.
models
.
assetFolders
.
query
().
where
({
parentId
:
args
.
parentFolderId
===
0
?
null
:
args
.
parentFolderId
})
// TODO: Filter by page rules
return
result
const
parentHierarchy
=
await
WIKI
.
models
.
assetFolders
.
getHierarchy
(
args
.
parentFolderId
)
const
parentPath
=
parentHierarchy
.
map
(
h
=>
h
.
slug
).
join
(
'/'
)
return
_
.
filter
(
results
,
r
=>
{
const
path
=
parentPath
?
`
${
parentPath
}
/
${
r
.
slug
}
`
:
r
.
slug
return
WIKI
.
auth
.
checkAccess
(
context
.
req
.
user
,
[
'read:assets'
],
{
path
});
})
}
},
AssetMutation
:
{
...
...
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