s2s-message.js 549 B

1234567891011121314151617181920212223242526272829
  1. /**
  2. * Server-to-server message VO
  3. */
  4. class S2sMessage {
  5. constructor(eventName, body = {}) {
  6. this.eventName = eventName;
  7. for (const [key, value] of Object.entries(body)) {
  8. this[key] = value;
  9. }
  10. }
  11. setPublisherUid(uid) {
  12. this.publisherUid = uid;
  13. }
  14. static parse(messageString) {
  15. const body = JSON.parse(messageString);
  16. if (body.eventName == null) {
  17. throw new Error('message body must contain \'eventName\'');
  18. }
  19. return new S2sMessage(body.eventName, body);
  20. }
  21. }
  22. module.exports = S2sMessage;