UNPKG

viewpoint

Version:
65 lines (53 loc) 2.24 kB
var EWSBuilder, EWSSyncOperations, Mixin, NS_MESSAGES, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; Mixin = require('mixto'); EWSBuilder = require('../ews-builder'); NS_MESSAGES = require('../ews-ns').NS_MESSAGES; module.exports = EWSSyncOperations = (function(superClass) { extend(EWSSyncOperations, superClass); function EWSSyncOperations() { return EWSSyncOperations.__super__.constructor.apply(this, arguments); } EWSSyncOperations.prototype.buildSyncFolderItems = function(opts) { if (opts == null) { opts = {}; } return EWSBuilder.build(function(builder) { return builder.nodeNS(NS_MESSAGES, 'SyncFolderItems', function(builder) { var mr; EWSBuilder.$itemShape(builder, opts.itemShape); EWSBuilder.$syncFolderId(builder, opts.syncFolderId); if (opts.syncState) { EWSBuilder.$syncState(builder, opts.syncState); } if ((mr = opts.maxChangesReturned) != null) { return EWSBuilder.$maxChangesReturned(builder, mr); } }); }); }; EWSSyncOperations.prototype.syncFolderItems = function(opts) { return this.doSoapRequest(this.buildSyncFolderItems(opts), 'EWSSyncResponse'); }; EWSSyncOperations.prototype.buildSyncFolderHierarchy = function(opts) { if (opts == null) { opts = {}; } return EWSBuilder.build(function(builder) { return builder.nodeNS(NS_MESSAGES, 'SyncFolderHierarchy', function(builder) { EWSBuilder.$folderShape(builder, opts.folderShape); if (opts.syncFolderId) { EWSBuilder.$syncFolderId(builder, opts.syncFolderId); } if (opts.syncState) { return EWSBuilder.$syncState(builder, opts.syncState); } }); }); }; EWSSyncOperations.prototype.syncFolderHierarchy = function(opts) { return this.doSoapRequest(this.buildSyncFolderHierarchy(opts), 'EWSSyncResponse'); }; return EWSSyncOperations; })(Mixin);