Built motion from commit f74363e9.|2.6.34
[motion2.git] / server / api / intZohoField / intZohoField.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xce0d=['jsforce','to-csv','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','limit','undefined','count','apply','reject','save','update','then','sendStatus','error','stack','name','index','map','rawAttributes','fieldName','key','model','keys','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','sort','filter','where','merge','type','VIRTUAL','options','includeAll','ZohoField','findAll','rows','params','length','include','find','catch','create','body','destroy','eml-format','rimraf','zip-dir','request-promise','moment','util','path','ejs','fs-extra','lodash','squel'];(function(_0x51de36,_0x27dfbd){var _0xf58eaa=function(_0x5e05b9){while(--_0x5e05b9){_0x51de36['push'](_0x51de36['shift']());}};_0xf58eaa(++_0x27dfbd);}(_0xce0d,0x1e6));var _0xdce0=function(_0x4d3187,_0x267c51){_0x4d3187=_0x4d3187-0x0;var _0x107906=_0xce0d[_0x4d3187];return _0x107906;};'use strict';var emlformat=require(_0xdce0('0x0'));var rimraf=require(_0xdce0('0x1'));var zipdir=require(_0xdce0('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xdce0('0x3'));var moment=require(_0xdce0('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xdce0('0x5'));var path=require(_0xdce0('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xdce0('0x7'));var fs=require('fs');var fs_extra=require(_0xdce0('0x8'));var _=require(_0xdce0('0x9'));var squel=require(_0xdce0('0xa'));var crypto=require('crypto');var jsforce=require(_0xdce0('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xdce0('0xc'));var querystring=require('querystring');var Papa=require(_0xdce0('0xd'));var Redis=require(_0xdce0('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xdce0('0xf'));var as=require(_0xdce0('0x10'));var hardwareService=require(_0xdce0('0x11'));var logger=require(_0xdce0('0x12'))(_0xdce0('0x13'));var utils=require('../../config/utils');var config=require(_0xdce0('0x14'));var licenseUtil=require(_0xdce0('0x15'));var db=require(_0xdce0('0x16'))['db'];function respondWithStatusCode(_0x28138d,_0x3e0225){_0x3e0225=_0x3e0225||0xcc;return function(_0x2577c0){if(_0x2577c0){return _0x28138d['sendStatus'](_0x3e0225);}return _0x28138d[_0xdce0('0x17')](_0x3e0225)['end']();};}function respondWithResult(_0xffd8e4,_0x3f0931){_0x3f0931=_0x3f0931||0xc8;return function(_0x3045f4){if(_0x3045f4){return _0xffd8e4[_0xdce0('0x17')](_0x3f0931)[_0xdce0('0x18')](_0x3045f4);}};}function respondWithFilteredResult(_0x390afe,_0x267fa1){return function(_0x40a66b){if(_0x40a66b){var _0x54ff2d=typeof _0x267fa1[_0xdce0('0x19')]==='undefined'&&typeof _0x267fa1[_0xdce0('0x1a')]===_0xdce0('0x1b');var _0x43ba6b=_0x40a66b[_0xdce0('0x1c')];var _0x519db3=_0x54ff2d?0x0:_0x267fa1[_0xdce0('0x19')];var _0x35837c=_0x54ff2d?_0x40a66b[_0xdce0('0x1c')]:_0x267fa1['offset']+_0x267fa1[_0xdce0('0x1a')];var _0x2f7b5c;if(_0x35837c>=_0x43ba6b){_0x35837c=_0x43ba6b;_0x2f7b5c=0xc8;}else{_0x2f7b5c=0xce;}_0x390afe[_0xdce0('0x17')](_0x2f7b5c);return _0x390afe['set']('Content-Range',_0x519db3+'-'+_0x35837c+'/'+_0x43ba6b)[_0xdce0('0x18')](_0x40a66b);}return null;};}function patchUpdates(_0x2a473e){return function(_0x4782ac){try{jsonpatch[_0xdce0('0x1d')](_0x4782ac,_0x2a473e,!![]);}catch(_0x1c2507){return BPromise[_0xdce0('0x1e')](_0x1c2507);}return _0x4782ac[_0xdce0('0x1f')]();};}function saveUpdates(_0x133e53,_0x25f096){return function(_0x139db3){if(_0x139db3){return _0x139db3[_0xdce0('0x20')](_0x133e53)[_0xdce0('0x21')](function(_0x582e3e){return _0x582e3e;});}return null;};}function removeEntity(_0x385c7f,_0xe56fd6){return function(_0x1a6b09){if(_0x1a6b09){return _0x1a6b09['destroy']()[_0xdce0('0x21')](function(){_0x385c7f[_0xdce0('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x12c621,_0x23d3bb){return function(_0x8c4c51){if(!_0x8c4c51){_0x12c621[_0xdce0('0x22')](0x194);}return _0x8c4c51;};}function handleError(_0x150c81,_0x37e279){_0x37e279=_0x37e279||0x1f4;return function(_0x1c27f5){logger[_0xdce0('0x23')](_0x1c27f5[_0xdce0('0x24')]);if(_0x1c27f5[_0xdce0('0x25')]){delete _0x1c27f5[_0xdce0('0x25')];}_0x150c81[_0xdce0('0x17')](_0x37e279)['send'](_0x1c27f5);};}exports[_0xdce0('0x26')]=function(_0x1d6016,_0x2b877f){var _0x5573cb={},_0x2bf8d8={},_0x15b329={'count':0x0,'rows':[]};var _0x2985fa=_[_0xdce0('0x27')](db['ZohoField'][_0xdce0('0x28')],function(_0x34aa76){return{'name':_0x34aa76[_0xdce0('0x29')],'type':_0x34aa76['type'][_0xdce0('0x2a')]};});_0x2bf8d8[_0xdce0('0x2b')]=_[_0xdce0('0x27')](_0x2985fa,'name');_0x2bf8d8['query']=_[_0xdce0('0x2c')](_0x1d6016[_0xdce0('0x2d')]);_0x2bf8d8[_0xdce0('0x2e')]=_['intersection'](_0x2bf8d8[_0xdce0('0x2b')],_0x2bf8d8[_0xdce0('0x2d')]);_0x5573cb[_0xdce0('0x2f')]=_[_0xdce0('0x30')](_0x2bf8d8[_0xdce0('0x2b')],qs[_0xdce0('0x31')](_0x1d6016[_0xdce0('0x2d')][_0xdce0('0x31')]));_0x5573cb['attributes']=_0x5573cb['attributes']['length']?_0x5573cb['attributes']:_0x2bf8d8[_0xdce0('0x2b')];if(!_0x1d6016[_0xdce0('0x2d')][_0xdce0('0x32')](_0xdce0('0x33'))){_0x5573cb[_0xdce0('0x1a')]=qs['limit'](_0x1d6016[_0xdce0('0x2d')][_0xdce0('0x1a')]);_0x5573cb[_0xdce0('0x19')]=qs['offset'](_0x1d6016[_0xdce0('0x2d')][_0xdce0('0x19')]);}_0x5573cb['order']=qs['sort'](_0x1d6016[_0xdce0('0x2d')][_0xdce0('0x34')]);_0x5573cb['where']=qs[_0xdce0('0x2e')](_['pick'](_0x1d6016[_0xdce0('0x2d')],_0x2bf8d8[_0xdce0('0x2e')]),_0x2985fa);if(_0x1d6016[_0xdce0('0x2d')][_0xdce0('0x35')]){_0x5573cb[_0xdce0('0x36')]=_[_0xdce0('0x37')](_0x5573cb['where'],{'$or':_[_0xdce0('0x27')](_0x2985fa,function(_0xcb9b16){if(_0xcb9b16[_0xdce0('0x38')]!==_0xdce0('0x39')){var _0xcb359b={};_0xcb359b[_0xcb9b16[_0xdce0('0x25')]]={'$like':'%'+_0x1d6016[_0xdce0('0x2d')]['filter']+'%'};return _0xcb359b;}})});}_0x5573cb=_[_0xdce0('0x37')]({},_0x5573cb,_0x1d6016[_0xdce0('0x3a')]);var _0x1d1f2d={'where':_0x5573cb['where']};return db['ZohoField'][_0xdce0('0x1c')](_0x1d1f2d)['then'](function(_0x1e8671){_0x15b329[_0xdce0('0x1c')]=_0x1e8671;if(_0x1d6016[_0xdce0('0x2d')][_0xdce0('0x3b')]){_0x5573cb['include']=[{'all':!![]}];}return db[_0xdce0('0x3c')][_0xdce0('0x3d')](_0x5573cb);})[_0xdce0('0x21')](function(_0x5e1cbd){_0x15b329[_0xdce0('0x3e')]=_0x5e1cbd;return _0x15b329;})[_0xdce0('0x21')](respondWithFilteredResult(_0x2b877f,_0x5573cb))['catch'](handleError(_0x2b877f,null));};exports['show']=function(_0x10543e,_0x4745c6){var _0x4ef05c={'raw':!![],'where':{'id':_0x10543e[_0xdce0('0x3f')]['id']}},_0x1a3b25={};_0x1a3b25[_0xdce0('0x2b')]=_[_0xdce0('0x2c')](db[_0xdce0('0x3c')]['rawAttributes']);_0x1a3b25[_0xdce0('0x2d')]=_['keys'](_0x10543e[_0xdce0('0x2d')]);_0x1a3b25[_0xdce0('0x2e')]=_[_0xdce0('0x30')](_0x1a3b25['model'],_0x1a3b25['query']);_0x4ef05c[_0xdce0('0x2f')]=_[_0xdce0('0x30')](_0x1a3b25[_0xdce0('0x2b')],qs['fields'](_0x10543e[_0xdce0('0x2d')][_0xdce0('0x31')]));_0x4ef05c[_0xdce0('0x2f')]=_0x4ef05c[_0xdce0('0x2f')][_0xdce0('0x40')]?_0x4ef05c[_0xdce0('0x2f')]:_0x1a3b25[_0xdce0('0x2b')];if(_0x10543e[_0xdce0('0x2d')][_0xdce0('0x3b')]){_0x4ef05c[_0xdce0('0x41')]=[{'all':!![]}];}_0x4ef05c=_[_0xdce0('0x37')]({},_0x4ef05c,_0x10543e[_0xdce0('0x3a')]);return db[_0xdce0('0x3c')][_0xdce0('0x42')](_0x4ef05c)[_0xdce0('0x21')](handleEntityNotFound(_0x4745c6,null))[_0xdce0('0x21')](respondWithResult(_0x4745c6,null))[_0xdce0('0x43')](handleError(_0x4745c6,null));};exports[_0xdce0('0x44')]=function(_0x4e19ac,_0x2eed8b){return db[_0xdce0('0x3c')][_0xdce0('0x44')](_0x4e19ac['body'],{})['then'](respondWithResult(_0x2eed8b,0xc9))['catch'](handleError(_0x2eed8b,null));};exports['update']=function(_0x71e6a9,_0x360d80){if(_0x71e6a9[_0xdce0('0x45')]['id']){delete _0x71e6a9[_0xdce0('0x45')]['id'];}return db[_0xdce0('0x3c')][_0xdce0('0x42')]({'where':{'id':_0x71e6a9['params']['id']}})[_0xdce0('0x21')](handleEntityNotFound(_0x360d80,null))[_0xdce0('0x21')](saveUpdates(_0x71e6a9['body'],null))[_0xdce0('0x21')](respondWithResult(_0x360d80,null))[_0xdce0('0x43')](handleError(_0x360d80,null));};exports[_0xdce0('0x46')]=function(_0x105b5c,_0x21bbab){return db[_0xdce0('0x3c')]['find']({'where':{'id':_0x105b5c['params']['id']}})[_0xdce0('0x21')](handleEntityNotFound(_0x21bbab,null))[_0xdce0('0x21')](removeEntity(_0x21bbab,null))[_0xdce0('0x43')](handleError(_0x21bbab,null));};