Built motion from commit 616d3211.|2.6.4
[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 _0x9900=['undefined','limit','count','offset','set','apply','reject','save','update','then','destroy','error','name','send','index','rawAttributes','fieldName','key','model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','merge','type','options','ZohoField','includeAll','findAll','catch','show','params','keys','include','find','create','body','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json'];(function(_0x214412,_0xe9d147){var _0x19482a=function(_0x574702){while(--_0x574702){_0x214412['push'](_0x214412['shift']());}};_0x19482a(++_0xe9d147);}(_0x9900,0x19f));var _0x0990=function(_0x5764c0,_0x2a9dcf){_0x5764c0=_0x5764c0-0x0;var _0x28658d=_0x9900[_0x5764c0];return _0x28658d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0990('0x0'));var zipdir=require(_0x0990('0x1'));var jsonpatch=require(_0x0990('0x2'));var rp=require('request-promise');var moment=require(_0x0990('0x3'));var BPromise=require(_0x0990('0x4'));var Mustache=require(_0x0990('0x5'));var util=require(_0x0990('0x6'));var path=require('path');var sox=require(_0x0990('0x7'));var csv=require('to-csv');var ejs=require(_0x0990('0x8'));var fs=require('fs');var fs_extra=require(_0x0990('0x9'));var _=require(_0x0990('0xa'));var squel=require(_0x0990('0xb'));var crypto=require(_0x0990('0xc'));var jsforce=require(_0x0990('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x0990('0xe'));var querystring=require('querystring');var Papa=require(_0x0990('0xf'));var Redis=require('ioredis');var authService=require(_0x0990('0x10'));var qs=require(_0x0990('0x11'));var as=require(_0x0990('0x12'));var hardwareService=require(_0x0990('0x13'));var logger=require(_0x0990('0x14'))(_0x0990('0x15'));var utils=require(_0x0990('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x0990('0x17'));var db=require(_0x0990('0x18'))['db'];function respondWithStatusCode(_0x5ee292,_0xbfe43a){_0xbfe43a=_0xbfe43a||0xcc;return function(_0x50f0f1){if(_0x50f0f1){return _0x5ee292[_0x0990('0x19')](_0xbfe43a);}return _0x5ee292[_0x0990('0x1a')](_0xbfe43a)[_0x0990('0x1b')]();};}function respondWithResult(_0x21532e,_0x543619){_0x543619=_0x543619||0xc8;return function(_0xd51031){if(_0xd51031){return _0x21532e[_0x0990('0x1a')](_0x543619)[_0x0990('0x1c')](_0xd51031);}};}function respondWithFilteredResult(_0x2c9226,_0x51703){return function(_0x377be3){if(_0x377be3){var _0x17dbde=typeof _0x51703['offset']===_0x0990('0x1d')&&typeof _0x51703[_0x0990('0x1e')]===_0x0990('0x1d');var _0x5dd06b=_0x377be3[_0x0990('0x1f')];var _0x2b7252=_0x17dbde?0x0:_0x51703[_0x0990('0x20')];var _0x3c10de=_0x17dbde?_0x377be3['count']:_0x51703[_0x0990('0x20')]+_0x51703[_0x0990('0x1e')];var _0x12f399;if(_0x3c10de>=_0x5dd06b){_0x3c10de=_0x5dd06b;_0x12f399=0xc8;}else{_0x12f399=0xce;}_0x2c9226[_0x0990('0x1a')](_0x12f399);return _0x2c9226[_0x0990('0x21')]('Content-Range',_0x2b7252+'-'+_0x3c10de+'/'+_0x5dd06b)[_0x0990('0x1c')](_0x377be3);}return null;};}function patchUpdates(_0x19e7f0){return function(_0x3b6376){try{jsonpatch[_0x0990('0x22')](_0x3b6376,_0x19e7f0,!![]);}catch(_0x50c91b){return BPromise[_0x0990('0x23')](_0x50c91b);}return _0x3b6376[_0x0990('0x24')]();};}function saveUpdates(_0x1bac32,_0x4c70bd){return function(_0x13a94b){if(_0x13a94b){return _0x13a94b[_0x0990('0x25')](_0x1bac32)[_0x0990('0x26')](function(_0x554749){return _0x554749;});}return null;};}function removeEntity(_0x2a0d6b,_0x4f2b45){return function(_0x50a3d4){if(_0x50a3d4){return _0x50a3d4[_0x0990('0x27')]()['then'](function(){_0x2a0d6b[_0x0990('0x1a')](0xcc)[_0x0990('0x1b')]();});}};}function handleEntityNotFound(_0x28631f,_0xbcd4b1){return function(_0x5ba5d7){if(!_0x5ba5d7){_0x28631f['sendStatus'](0x194);}return _0x5ba5d7;};}function handleError(_0x24a990,_0x46213a){_0x46213a=_0x46213a||0x1f4;return function(_0x41dd86){logger[_0x0990('0x28')](_0x41dd86['stack']);if(_0x41dd86[_0x0990('0x29')]){delete _0x41dd86[_0x0990('0x29')];}_0x24a990[_0x0990('0x1a')](_0x46213a)[_0x0990('0x2a')](_0x41dd86);};}exports[_0x0990('0x2b')]=function(_0x32c937,_0x24ece7){var _0x4a0aa1={},_0x5ad942={},_0x45a753={'count':0x0,'rows':[]};var _0x4fdae0=_['map'](db['ZohoField'][_0x0990('0x2c')],function(_0x25fbf0){return{'name':_0x25fbf0[_0x0990('0x2d')],'type':_0x25fbf0['type'][_0x0990('0x2e')]};});_0x5ad942[_0x0990('0x2f')]=_[_0x0990('0x30')](_0x4fdae0,'name');_0x5ad942[_0x0990('0x31')]=_['keys'](_0x32c937[_0x0990('0x31')]);_0x5ad942[_0x0990('0x32')]=_['intersection'](_0x5ad942[_0x0990('0x2f')],_0x5ad942[_0x0990('0x31')]);_0x4a0aa1['attributes']=_[_0x0990('0x33')](_0x5ad942[_0x0990('0x2f')],qs[_0x0990('0x34')](_0x32c937['query'][_0x0990('0x34')]));_0x4a0aa1[_0x0990('0x35')]=_0x4a0aa1[_0x0990('0x35')][_0x0990('0x36')]?_0x4a0aa1[_0x0990('0x35')]:_0x5ad942[_0x0990('0x2f')];if(!_0x32c937['query'][_0x0990('0x37')](_0x0990('0x38'))){_0x4a0aa1[_0x0990('0x1e')]=qs[_0x0990('0x1e')](_0x32c937[_0x0990('0x31')]['limit']);_0x4a0aa1[_0x0990('0x20')]=qs[_0x0990('0x20')](_0x32c937['query'][_0x0990('0x20')]);}_0x4a0aa1['order']=qs[_0x0990('0x39')](_0x32c937[_0x0990('0x31')][_0x0990('0x39')]);_0x4a0aa1[_0x0990('0x3a')]=qs[_0x0990('0x32')](_[_0x0990('0x3b')](_0x32c937[_0x0990('0x31')],_0x5ad942[_0x0990('0x32')]),_0x4fdae0);if(_0x32c937[_0x0990('0x31')]['filter']){_0x4a0aa1['where']=_[_0x0990('0x3c')](_0x4a0aa1['where'],{'$or':_[_0x0990('0x30')](_0x4fdae0,function(_0x440d6e){if(_0x440d6e[_0x0990('0x3d')]!=='VIRTUAL'){var _0x4e8f3e={};_0x4e8f3e[_0x440d6e[_0x0990('0x29')]]={'$like':'%'+_0x32c937['query']['filter']+'%'};return _0x4e8f3e;}})});}_0x4a0aa1=_[_0x0990('0x3c')]({},_0x4a0aa1,_0x32c937[_0x0990('0x3e')]);var _0x1b79dc={'where':_0x4a0aa1[_0x0990('0x3a')]};return db[_0x0990('0x3f')][_0x0990('0x1f')](_0x1b79dc)[_0x0990('0x26')](function(_0x3772f4){_0x45a753[_0x0990('0x1f')]=_0x3772f4;if(_0x32c937['query'][_0x0990('0x40')]){_0x4a0aa1['include']=[{'all':!![]}];}return db[_0x0990('0x3f')][_0x0990('0x41')](_0x4a0aa1);})[_0x0990('0x26')](function(_0x1cb840){_0x45a753['rows']=_0x1cb840;return _0x45a753;})[_0x0990('0x26')](respondWithFilteredResult(_0x24ece7,_0x4a0aa1))[_0x0990('0x42')](handleError(_0x24ece7,null));};exports[_0x0990('0x43')]=function(_0x41ffb1,_0x3055a0){var _0x5cb66e={'raw':!![],'where':{'id':_0x41ffb1[_0x0990('0x44')]['id']}},_0x55ed27={};_0x55ed27['model']=_['keys'](db[_0x0990('0x3f')][_0x0990('0x2c')]);_0x55ed27[_0x0990('0x31')]=_[_0x0990('0x45')](_0x41ffb1['query']);_0x55ed27[_0x0990('0x32')]=_['intersection'](_0x55ed27['model'],_0x55ed27[_0x0990('0x31')]);_0x5cb66e[_0x0990('0x35')]=_[_0x0990('0x33')](_0x55ed27[_0x0990('0x2f')],qs[_0x0990('0x34')](_0x41ffb1[_0x0990('0x31')][_0x0990('0x34')]));_0x5cb66e[_0x0990('0x35')]=_0x5cb66e[_0x0990('0x35')][_0x0990('0x36')]?_0x5cb66e['attributes']:_0x55ed27[_0x0990('0x2f')];if(_0x41ffb1[_0x0990('0x31')][_0x0990('0x40')]){_0x5cb66e[_0x0990('0x46')]=[{'all':!![]}];}_0x5cb66e=_['merge']({},_0x5cb66e,_0x41ffb1[_0x0990('0x3e')]);return db[_0x0990('0x3f')][_0x0990('0x47')](_0x5cb66e)[_0x0990('0x26')](handleEntityNotFound(_0x3055a0,null))['then'](respondWithResult(_0x3055a0,null))[_0x0990('0x42')](handleError(_0x3055a0,null));};exports['create']=function(_0x13e0a7,_0x501a12){return db['ZohoField'][_0x0990('0x48')](_0x13e0a7['body'],{})[_0x0990('0x26')](respondWithResult(_0x501a12,0xc9))[_0x0990('0x42')](handleError(_0x501a12,null));};exports[_0x0990('0x25')]=function(_0x57295a,_0x595cd2){if(_0x57295a['body']['id']){delete _0x57295a[_0x0990('0x49')]['id'];}return db[_0x0990('0x3f')][_0x0990('0x47')]({'where':{'id':_0x57295a['params']['id']}})[_0x0990('0x26')](handleEntityNotFound(_0x595cd2,null))[_0x0990('0x26')](saveUpdates(_0x57295a[_0x0990('0x49')],null))[_0x0990('0x26')](respondWithResult(_0x595cd2,null))['catch'](handleError(_0x595cd2,null));};exports['destroy']=function(_0x62b5d3,_0x2d4e77){return db[_0x0990('0x3f')][_0x0990('0x47')]({'where':{'id':_0x62b5d3[_0x0990('0x44')]['id']}})['then'](handleEntityNotFound(_0x2d4e77,null))[_0x0990('0x26')](removeEntity(_0x2d4e77,null))[_0x0990('0x42')](handleError(_0x2d4e77,null));};