All files / lib/events user.ts

90% Statements 9/10
100% Branches 0/0
66.67% Functions 4/6
90% Lines 9/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36      16x           17x 17x       1x   1x 1x         1x   1x           1x          
import Crowi from 'server/crowi'
import { EventEmitter } from 'events'
import Debug from 'debug'
const debug = Debug('crowi:events:user')
 
export default class UserEvent extends EventEmitter {
  public crowi: Crowi
 
  constructor(crowi: Crowi) {
    super()
    this.crowi = crowi
  }
 
  async onActivated(user) {
    const Page = this.crowi.model('Page')
 
    const userPagePath = Page.getUserPagePath(user)
    Page.findPage(userPagePath, user, {}, false)
      .then(function(page) {
        // do nothing because user page is already exists.
      })
      .catch(function(err) {
        const body = `# ${user.username}\nThis is ${user.username}'s page`
        // create user page
        Page.createPage(userPagePath, body, user, {})
          .then(function(page) {
            // page created
            debug('User page created', page)
          })
          .catch(function(err) {
            debug('Failed to create user page', err)
          })
      })
  }
}