Gitter migration: Setup redirects (rollout pt. 3)
[gitter.git] / server / services / live-collection-handlers / live-collection-events.js
blobbd5ed764dce7422403cb53ca2a8ed990c12338bd
1 'use strict';
3 var _ = require('lodash');
4 var appEvents = require('gitter-web-appevents');
5 var restSerializer = require('../../serializers/rest-serializer');
7 function serializeEventToRoom(operation, event) {
8   var url = '/rooms/' + event.toTroupeId + '/events';
9   var strategy = new restSerializer.EventStrategy();
11   return restSerializer.serializeObject(event, strategy).then(function(serializedEvent) {
12     appEvents.dataChange2(url, operation, serializedEvent, 'event');
13   });
16 module.exports = {
17   create: function(event) {
18     return serializeEventToRoom('create', event);
19   },
21   update: function(event) {
22     return serializeEventToRoom('update', event);
23   },
25   patch: function(eventId, troupeId, patch) {
26     var url = '/rooms/' + troupeId + '/events';
27     appEvents.dataChange2(url, 'patch', _.extend({}, patch, { id: eventId }), 'event');
28   },
30   remove: function(event) {
31     return this.removeId(event._id, event.toTroupeId);
32   },
34   removeId: function(eventId, troupeId) {
35     var url = '/rooms/' + troupeId + '/events';
36     appEvents.dataChange2(url, 'remove', { id: eventId }, 'event');
37   }