feat: edit comment
This commit is contained in:
		@@ -13,6 +13,17 @@ const DOMPurify = createDOMPurify(window)
 | 
			
		||||
 | 
			
		||||
let akismetClient = null
 | 
			
		||||
 | 
			
		||||
const mkdown = md({
 | 
			
		||||
  html: false,
 | 
			
		||||
  breaks: true,
 | 
			
		||||
  linkify: true,
 | 
			
		||||
  highlight(str, lang) {
 | 
			
		||||
    return `<pre><code class="language-${lang}">${_.escape(str)}</code></pre>`
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
mkdown.use(mdEmoji)
 | 
			
		||||
 | 
			
		||||
// ------------------------------------
 | 
			
		||||
// Default Comment Provider
 | 
			
		||||
// ------------------------------------
 | 
			
		||||
@@ -51,18 +62,6 @@ module.exports = {
 | 
			
		||||
   * Create New Comment
 | 
			
		||||
   */
 | 
			
		||||
  async create ({ page, replyTo, content, user }) {
 | 
			
		||||
    // -> Render Markdown
 | 
			
		||||
    const mkdown = md({
 | 
			
		||||
      html: false,
 | 
			
		||||
      breaks: true,
 | 
			
		||||
      linkify: true,
 | 
			
		||||
      highlight(str, lang) {
 | 
			
		||||
        return `<pre><code class="language-${lang}">${_.escape(str)}</code></pre>`
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    mkdown.use(mdEmoji)
 | 
			
		||||
 | 
			
		||||
    // -> Build New Comment
 | 
			
		||||
    const newComment = {
 | 
			
		||||
      content,
 | 
			
		||||
@@ -121,13 +120,20 @@ module.exports = {
 | 
			
		||||
    // -> Return Comment ID
 | 
			
		||||
    return cm.id
 | 
			
		||||
  },
 | 
			
		||||
  async update ({ id, content, user, ip }) {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Update an existing comment
 | 
			
		||||
   */
 | 
			
		||||
  async update ({ id, content, user }) {
 | 
			
		||||
    const renderedContent = DOMPurify.sanitize(mkdown.render(content))
 | 
			
		||||
    await WIKI.models.comments.query().findById(id).patch({
 | 
			
		||||
      render: renderedContent
 | 
			
		||||
    })
 | 
			
		||||
    return renderedContent
 | 
			
		||||
  },
 | 
			
		||||
  /**
 | 
			
		||||
   * Delete an existing comment by ID
 | 
			
		||||
   */
 | 
			
		||||
  async remove ({ id, user, ip }) {
 | 
			
		||||
  async remove ({ id, user }) {
 | 
			
		||||
    return WIKI.models.comments.query().findById(id).delete()
 | 
			
		||||
  },
 | 
			
		||||
  /**
 | 
			
		||||
@@ -137,6 +143,12 @@ module.exports = {
 | 
			
		||||
    const result = await WIKI.models.comments.query().select('pageId').findById(id)
 | 
			
		||||
    return (result) ? result.pageId : false
 | 
			
		||||
  },
 | 
			
		||||
  /**
 | 
			
		||||
   * Get a comment by ID
 | 
			
		||||
   */
 | 
			
		||||
  async getCommentById (id) {
 | 
			
		||||
    return WIKI.models.comments.query().findById(id)
 | 
			
		||||
  },
 | 
			
		||||
  /**
 | 
			
		||||
   * Get the total comments count for a page ID
 | 
			
		||||
   */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user