0c66ded8ed8f793ff7333e2816f98182b990e589
[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 _0xda16=['merge','includeAll','findAll','rows','catch','show','rawAttributes','include','options','find','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','Content-Range','reject','update','then','destroy','error','stack','name','send','index','map','ZohoField','fieldName','type','key','model','keys','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter'];(function(_0x587144,_0x32ff2a){var _0x15162e=function(_0x88aebe){while(--_0x88aebe){_0x587144['push'](_0x587144['shift']());}};_0x15162e(++_0x32ff2a);}(_0xda16,0x1cf));var _0x6da1=function(_0x146a85,_0x529b52){_0x146a85=_0x146a85-0x0;var _0x1b59bf=_0xda16[_0x146a85];return _0x1b59bf;};'use strict';var emlformat=require(_0x6da1('0x0'));var rimraf=require(_0x6da1('0x1'));var zipdir=require(_0x6da1('0x2'));var jsonpatch=require(_0x6da1('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x6da1('0x4'));var util=require(_0x6da1('0x5'));var path=require(_0x6da1('0x6'));var sox=require('sox');var csv=require(_0x6da1('0x7'));var ejs=require(_0x6da1('0x8'));var fs=require('fs');var fs_extra=require(_0x6da1('0x9'));var _=require(_0x6da1('0xa'));var squel=require('squel');var crypto=require(_0x6da1('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x6da1('0xc'));var toCsv=require('to-csv');var querystring=require(_0x6da1('0xd'));var Papa=require(_0x6da1('0xe'));var Redis=require(_0x6da1('0xf'));var authService=require(_0x6da1('0x10'));var qs=require(_0x6da1('0x11'));var as=require(_0x6da1('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6da1('0x13'))(_0x6da1('0x14'));var utils=require(_0x6da1('0x15'));var config=require(_0x6da1('0x16'));var licenseUtil=require(_0x6da1('0x17'));var db=require(_0x6da1('0x18'))['db'];function respondWithStatusCode(_0x1f0cdf,_0x1080ee){_0x1080ee=_0x1080ee||0xcc;return function(_0x5b2c5e){if(_0x5b2c5e){return _0x1f0cdf['sendStatus'](_0x1080ee);}return _0x1f0cdf[_0x6da1('0x19')](_0x1080ee)[_0x6da1('0x1a')]();};}function respondWithResult(_0x48a8ac,_0x2b1bec){_0x2b1bec=_0x2b1bec||0xc8;return function(_0x3e3960){if(_0x3e3960){return _0x48a8ac['status'](_0x2b1bec)[_0x6da1('0x1b')](_0x3e3960);}};}function respondWithFilteredResult(_0x3080d0,_0x1ebd4b){return function(_0x4bfeed){if(_0x4bfeed){var _0x2e8d7e=typeof _0x1ebd4b[_0x6da1('0x1c')]===_0x6da1('0x1d')&&typeof _0x1ebd4b['limit']==='undefined';var _0x3c7b2e=_0x4bfeed['count'];var _0x11c357=_0x2e8d7e?0x0:_0x1ebd4b[_0x6da1('0x1c')];var _0x4df4bc=_0x2e8d7e?_0x4bfeed[_0x6da1('0x1e')]:_0x1ebd4b[_0x6da1('0x1c')]+_0x1ebd4b[_0x6da1('0x1f')];var _0x4d82d1;if(_0x4df4bc>=_0x3c7b2e){_0x4df4bc=_0x3c7b2e;_0x4d82d1=0xc8;}else{_0x4d82d1=0xce;}_0x3080d0[_0x6da1('0x19')](_0x4d82d1);return _0x3080d0['set'](_0x6da1('0x20'),_0x11c357+'-'+_0x4df4bc+'/'+_0x3c7b2e)['json'](_0x4bfeed);}return null;};}function patchUpdates(_0x5f2b51){return function(_0x3bf45c){try{jsonpatch['apply'](_0x3bf45c,_0x5f2b51,!![]);}catch(_0x11504e){return BPromise[_0x6da1('0x21')](_0x11504e);}return _0x3bf45c['save']();};}function saveUpdates(_0x36f043,_0x437c0b){return function(_0x4bdfdd){if(_0x4bdfdd){return _0x4bdfdd[_0x6da1('0x22')](_0x36f043)[_0x6da1('0x23')](function(_0x6061ae){return _0x6061ae;});}return null;};}function removeEntity(_0x2adb76,_0x275eb0){return function(_0x30ffb3){if(_0x30ffb3){return _0x30ffb3[_0x6da1('0x24')]()[_0x6da1('0x23')](function(){_0x2adb76[_0x6da1('0x19')](0xcc)[_0x6da1('0x1a')]();});}};}function handleEntityNotFound(_0x55d293,_0x8e02d2){return function(_0x589094){if(!_0x589094){_0x55d293['sendStatus'](0x194);}return _0x589094;};}function handleError(_0x79bd41,_0x4fbbec){_0x4fbbec=_0x4fbbec||0x1f4;return function(_0x38baf5){logger[_0x6da1('0x25')](_0x38baf5[_0x6da1('0x26')]);if(_0x38baf5[_0x6da1('0x27')]){delete _0x38baf5[_0x6da1('0x27')];}_0x79bd41[_0x6da1('0x19')](_0x4fbbec)[_0x6da1('0x28')](_0x38baf5);};}exports[_0x6da1('0x29')]=function(_0x2b5548,_0x4b1896){var _0x3d9444={},_0x4e07c5={},_0x157eb9={'count':0x0,'rows':[]};var _0x1ee56d=_[_0x6da1('0x2a')](db[_0x6da1('0x2b')]['rawAttributes'],function(_0x1888cf){return{'name':_0x1888cf[_0x6da1('0x2c')],'type':_0x1888cf[_0x6da1('0x2d')][_0x6da1('0x2e')]};});_0x4e07c5[_0x6da1('0x2f')]=_[_0x6da1('0x2a')](_0x1ee56d,_0x6da1('0x27'));_0x4e07c5['query']=_[_0x6da1('0x30')](_0x2b5548['query']);_0x4e07c5['filters']=_[_0x6da1('0x31')](_0x4e07c5[_0x6da1('0x2f')],_0x4e07c5[_0x6da1('0x32')]);_0x3d9444[_0x6da1('0x33')]=_['intersection'](_0x4e07c5[_0x6da1('0x2f')],qs['fields'](_0x2b5548['query'][_0x6da1('0x34')]));_0x3d9444['attributes']=_0x3d9444[_0x6da1('0x33')][_0x6da1('0x35')]?_0x3d9444[_0x6da1('0x33')]:_0x4e07c5[_0x6da1('0x2f')];if(!_0x2b5548[_0x6da1('0x32')][_0x6da1('0x36')](_0x6da1('0x37'))){_0x3d9444['limit']=qs[_0x6da1('0x1f')](_0x2b5548['query'][_0x6da1('0x1f')]);_0x3d9444[_0x6da1('0x1c')]=qs[_0x6da1('0x1c')](_0x2b5548[_0x6da1('0x32')][_0x6da1('0x1c')]);}_0x3d9444[_0x6da1('0x38')]=qs['sort'](_0x2b5548[_0x6da1('0x32')][_0x6da1('0x39')]);_0x3d9444[_0x6da1('0x3a')]=qs['filters'](_[_0x6da1('0x3b')](_0x2b5548[_0x6da1('0x32')],_0x4e07c5[_0x6da1('0x3c')]),_0x1ee56d);if(_0x2b5548[_0x6da1('0x32')][_0x6da1('0x3d')]){_0x3d9444[_0x6da1('0x3a')]=_['merge'](_0x3d9444[_0x6da1('0x3a')],{'$or':_[_0x6da1('0x2a')](_0x1ee56d,function(_0x59cb8f){if(_0x59cb8f['type']!=='VIRTUAL'){var _0x46c332={};_0x46c332[_0x59cb8f[_0x6da1('0x27')]]={'$like':'%'+_0x2b5548[_0x6da1('0x32')][_0x6da1('0x3d')]+'%'};return _0x46c332;}})});}_0x3d9444=_[_0x6da1('0x3e')]({},_0x3d9444,_0x2b5548['options']);var _0xc1c3f0={'where':_0x3d9444['where']};return db[_0x6da1('0x2b')][_0x6da1('0x1e')](_0xc1c3f0)[_0x6da1('0x23')](function(_0x4b22c7){_0x157eb9[_0x6da1('0x1e')]=_0x4b22c7;if(_0x2b5548[_0x6da1('0x32')][_0x6da1('0x3f')]){_0x3d9444['include']=[{'all':!![]}];}return db['ZohoField'][_0x6da1('0x40')](_0x3d9444);})['then'](function(_0x23dc83){_0x157eb9[_0x6da1('0x41')]=_0x23dc83;return _0x157eb9;})['then'](respondWithFilteredResult(_0x4b1896,_0x3d9444))[_0x6da1('0x42')](handleError(_0x4b1896,null));};exports[_0x6da1('0x43')]=function(_0x16d017,_0x14afff){var _0x180fb0={'raw':!![],'where':{'id':_0x16d017['params']['id']}},_0x530ac0={};_0x530ac0[_0x6da1('0x2f')]=_[_0x6da1('0x30')](db[_0x6da1('0x2b')][_0x6da1('0x44')]);_0x530ac0['query']=_[_0x6da1('0x30')](_0x16d017[_0x6da1('0x32')]);_0x530ac0[_0x6da1('0x3c')]=_[_0x6da1('0x31')](_0x530ac0[_0x6da1('0x2f')],_0x530ac0[_0x6da1('0x32')]);_0x180fb0[_0x6da1('0x33')]=_[_0x6da1('0x31')](_0x530ac0[_0x6da1('0x2f')],qs[_0x6da1('0x34')](_0x16d017['query'][_0x6da1('0x34')]));_0x180fb0[_0x6da1('0x33')]=_0x180fb0['attributes'][_0x6da1('0x35')]?_0x180fb0['attributes']:_0x530ac0[_0x6da1('0x2f')];if(_0x16d017[_0x6da1('0x32')][_0x6da1('0x3f')]){_0x180fb0[_0x6da1('0x45')]=[{'all':!![]}];}_0x180fb0=_[_0x6da1('0x3e')]({},_0x180fb0,_0x16d017[_0x6da1('0x46')]);return db[_0x6da1('0x2b')][_0x6da1('0x47')](_0x180fb0)[_0x6da1('0x23')](handleEntityNotFound(_0x14afff,null))[_0x6da1('0x23')](respondWithResult(_0x14afff,null))[_0x6da1('0x42')](handleError(_0x14afff,null));};exports['create']=function(_0x157abb,_0x2849ae){return db[_0x6da1('0x2b')][_0x6da1('0x48')](_0x157abb['body'],{})[_0x6da1('0x23')](respondWithResult(_0x2849ae,0xc9))[_0x6da1('0x42')](handleError(_0x2849ae,null));};exports[_0x6da1('0x22')]=function(_0xa5bcf6,_0x4e4604){if(_0xa5bcf6[_0x6da1('0x49')]['id']){delete _0xa5bcf6[_0x6da1('0x49')]['id'];}return db[_0x6da1('0x2b')]['find']({'where':{'id':_0xa5bcf6[_0x6da1('0x4a')]['id']}})[_0x6da1('0x23')](handleEntityNotFound(_0x4e4604,null))[_0x6da1('0x23')](saveUpdates(_0xa5bcf6[_0x6da1('0x49')],null))[_0x6da1('0x23')](respondWithResult(_0x4e4604,null))[_0x6da1('0x42')](handleError(_0x4e4604,null));};exports['destroy']=function(_0x18104b,_0x3a0bcd){return db[_0x6da1('0x2b')][_0x6da1('0x47')]({'where':{'id':_0x18104b[_0x6da1('0x4a')]['id']}})[_0x6da1('0x23')](handleEntityNotFound(_0x3a0bcd,null))['then'](removeEntity(_0x3a0bcd,null))[_0x6da1('0x42')](handleError(_0x3a0bcd,null));};