user.js 833 B

1234567891011121314151617181920212223242526272829303132333435
  1. const debug = require('debug')('growi:events:user');
  2. const util = require('util');
  3. const events = require('events');
  4. function UserEvent(crowi) {
  5. this.crowi = crowi;
  6. events.EventEmitter.call(this);
  7. }
  8. util.inherits(UserEvent, events.EventEmitter);
  9. UserEvent.prototype.onActivated = async function(user) {
  10. const Page = this.crowi.model('Page');
  11. const userPagePath = Page.getUserPagePath(user);
  12. const page = await Page.findByPathAndViewer(userPagePath, user);
  13. if (page == null) {
  14. const body = `# ${user.username}\nThis is ${user.username}'s page`;
  15. // create user page
  16. try {
  17. await Page.create(userPagePath, body, user, {});
  18. // page created
  19. debug('User page created', page);
  20. }
  21. catch (err) {
  22. debug('Failed to create user page', err);
  23. }
  24. }
  25. };
  26. module.exports = UserEvent;