Resolve authorPictureUrl for comment list and single

pull/7910/head
mod242 8 months ago committed by GitHub
parent 6c3cbbd0e8
commit 693dab7685
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -47,12 +47,19 @@ module.exports = {
}) })
if (page) { if (page) {
if (WIKI.auth.checkAccess(context.req.user, ['read:comments'], { tags: page.tags, ...args })) { if (WIKI.auth.checkAccess(context.req.user, ['read:comments'], { tags: page.tags, ...args })) {
const comments = await WIKI.models.comments.query().where('pageId', page.id).orderBy('createdAt') const comments = await WIKI.models.comments.query()
.where('pageId', page.id)
.withGraphJoined('author')
.modifyGraph('author', builder => {
builder.select('id', 'pictureUrl')
})
.orderBy('createdAt')
return comments.map(c => ({ return comments.map(c => ({
...c, ...c,
authorName: c.name, authorName: c.name,
authorEmail: c.email, authorEmail: c.email,
authorIP: c.ip authorIP: c.ip,
authorPictureUrl: _.get(c, 'author.pictureUrl', '')
})) }))
} else { } else {
throw new WIKI.Error.CommentViewForbidden() throw new WIKI.Error.CommentViewForbidden()
@ -69,6 +76,7 @@ module.exports = {
if (!cm || !cm.pageId) { if (!cm || !cm.pageId) {
throw new WIKI.Error.CommentNotFound() throw new WIKI.Error.CommentNotFound()
} }
const author = await WIKI.models.users.query().select('pictureUrl').findById(cm.authorId)
const page = await WIKI.models.pages.query().select('localeCode', 'path').findById(cm.pageId) const page = await WIKI.models.pages.query().select('localeCode', 'path').findById(cm.pageId)
.withGraphJoined('tags') .withGraphJoined('tags')
.modifyGraph('tags', builder => { .modifyGraph('tags', builder => {
@ -84,7 +92,8 @@ module.exports = {
...cm, ...cm,
authorName: cm.name, authorName: cm.name,
authorEmail: cm.email, authorEmail: cm.email,
authorIP: cm.ip authorIP: cm.ip,
authorPictureUrl: _.get(author, 'pictureUrl', '')
} }
} else { } else {
throw new WIKI.Error.CommentViewForbidden() throw new WIKI.Error.CommentViewForbidden()

Loading…
Cancel
Save