s2c-message.js 843 B

12345678910111213141516171819202122232425262728293031323334
  1. const { serializePageSecurely } = require('../serializers/page-serializer');
  2. /**
  3. * Server-to-client message VO
  4. */
  5. class S2cMessagePageUpdated {
  6. constructor(page, user) {
  7. const serializedPage = serializePageSecurely(page);
  8. const {
  9. _id, revision, updatedAt, revisionHackmdSynced, hasDraftOnHackmd,
  10. } = serializedPage;
  11. this.pageId = _id;
  12. this.revisionId = revision;
  13. this.revisionBody = page.revision.body;
  14. this.revisionUpdateAt = updatedAt;
  15. this.revisionIdHackmdSynced = revisionHackmdSynced;
  16. this.hasDraftOnHackmd = hasDraftOnHackmd;
  17. if (user != null) {
  18. this.remoteLastUpdateUser = user;
  19. // TODO remove lastUpdateUsername and refactor parts that lastUpdateUsername is used
  20. this.lastUpdateUsername = user.name;
  21. }
  22. }
  23. }
  24. module.exports = {
  25. S2cMessagePageUpdated,
  26. };