d452bcbca85573207478420a2ef82e609b725778
[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 _0x2b42=['send','index','map','ZohoField','rawAttributes','fieldName','type','model','name','query','filters','intersection','length','hasOwnProperty','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','rows','catch','show','keys','attributes','fields','include','create','body','find','params','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','reject','update','destroy','then','stack'];(function(_0x171de5,_0x260fd1){var _0x1c2d68=function(_0x111adc){while(--_0x111adc){_0x171de5['push'](_0x171de5['shift']());}};_0x1c2d68(++_0x260fd1);}(_0x2b42,0x194));var _0x22b4=function(_0x2ec3d1,_0x2d82b2){_0x2ec3d1=_0x2ec3d1-0x0;var _0x2551e2=_0x2b42[_0x2ec3d1];return _0x2551e2;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x22b4('0x0'));var jsonpatch=require(_0x22b4('0x1'));var rp=require(_0x22b4('0x2'));var moment=require(_0x22b4('0x3'));var BPromise=require(_0x22b4('0x4'));var Mustache=require('mustache');var util=require(_0x22b4('0x5'));var path=require(_0x22b4('0x6'));var sox=require(_0x22b4('0x7'));var csv=require(_0x22b4('0x8'));var ejs=require(_0x22b4('0x9'));var fs=require('fs');var fs_extra=require(_0x22b4('0xa'));var _=require(_0x22b4('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x22b4('0xc'));var deskjs=require(_0x22b4('0xd'));var toCsv=require(_0x22b4('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x22b4('0xe'));var authService=require(_0x22b4('0xf'));var qs=require(_0x22b4('0x10'));var as=require(_0x22b4('0x11'));var hardwareService=require(_0x22b4('0x12'));var logger=require(_0x22b4('0x13'))(_0x22b4('0x14'));var utils=require(_0x22b4('0x15'));var config=require(_0x22b4('0x16'));var licenseUtil=require(_0x22b4('0x17'));var db=require(_0x22b4('0x18'))['db'];function respondWithStatusCode(_0x442ad6,_0xb434d4){_0xb434d4=_0xb434d4||0xcc;return function(_0x4d1c9d){if(_0x4d1c9d){return _0x442ad6[_0x22b4('0x19')](_0xb434d4);}return _0x442ad6[_0x22b4('0x1a')](_0xb434d4)[_0x22b4('0x1b')]();};}function respondWithResult(_0x265f78,_0x41df07){_0x41df07=_0x41df07||0xc8;return function(_0x2653b4){if(_0x2653b4){return _0x265f78['status'](_0x41df07)[_0x22b4('0x1c')](_0x2653b4);}};}function respondWithFilteredResult(_0x166ecf,_0x344ae5){return function(_0x5fd387){if(_0x5fd387){var _0xc06210=typeof _0x344ae5['offset']===_0x22b4('0x1d')&&typeof _0x344ae5[_0x22b4('0x1e')]===_0x22b4('0x1d');var _0x3b1b9f=_0x5fd387[_0x22b4('0x1f')];var _0x47d6cc=_0xc06210?0x0:_0x344ae5[_0x22b4('0x20')];var _0x3ae773=_0xc06210?_0x5fd387[_0x22b4('0x1f')]:_0x344ae5[_0x22b4('0x20')]+_0x344ae5['limit'];var _0x1c0fd1;if(_0x3ae773>=_0x3b1b9f){_0x3ae773=_0x3b1b9f;_0x1c0fd1=0xc8;}else{_0x1c0fd1=0xce;}_0x166ecf[_0x22b4('0x1a')](_0x1c0fd1);return _0x166ecf[_0x22b4('0x21')](_0x22b4('0x22'),_0x47d6cc+'-'+_0x3ae773+'/'+_0x3b1b9f)[_0x22b4('0x1c')](_0x5fd387);}return null;};}function patchUpdates(_0x46f309){return function(_0x1fc708){try{jsonpatch['apply'](_0x1fc708,_0x46f309,!![]);}catch(_0x19e2e4){return BPromise[_0x22b4('0x23')](_0x19e2e4);}return _0x1fc708['save']();};}function saveUpdates(_0x4a5b81,_0x208acd){return function(_0x187663){if(_0x187663){return _0x187663[_0x22b4('0x24')](_0x4a5b81)['then'](function(_0x565263){return _0x565263;});}return null;};}function removeEntity(_0x18aaaf,_0x2fcaf2){return function(_0x33b05d){if(_0x33b05d){return _0x33b05d[_0x22b4('0x25')]()[_0x22b4('0x26')](function(){_0x18aaaf[_0x22b4('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2509f7,_0x419a2a){return function(_0x4a6762){if(!_0x4a6762){_0x2509f7['sendStatus'](0x194);}return _0x4a6762;};}function handleError(_0x46e726,_0x30c5f0){_0x30c5f0=_0x30c5f0||0x1f4;return function(_0x34d4d8){logger['error'](_0x34d4d8[_0x22b4('0x27')]);if(_0x34d4d8['name']){delete _0x34d4d8['name'];}_0x46e726[_0x22b4('0x1a')](_0x30c5f0)[_0x22b4('0x28')](_0x34d4d8);};}exports[_0x22b4('0x29')]=function(_0x57fafd,_0x2fc371){var _0xdfd1d5={},_0x5008c3={},_0x89e566={'count':0x0,'rows':[]};var _0x4d1891=_[_0x22b4('0x2a')](db[_0x22b4('0x2b')][_0x22b4('0x2c')],function(_0x330e09){return{'name':_0x330e09[_0x22b4('0x2d')],'type':_0x330e09[_0x22b4('0x2e')]['key']};});_0x5008c3[_0x22b4('0x2f')]=_[_0x22b4('0x2a')](_0x4d1891,_0x22b4('0x30'));_0x5008c3[_0x22b4('0x31')]=_['keys'](_0x57fafd[_0x22b4('0x31')]);_0x5008c3[_0x22b4('0x32')]=_[_0x22b4('0x33')](_0x5008c3[_0x22b4('0x2f')],_0x5008c3[_0x22b4('0x31')]);_0xdfd1d5['attributes']=_[_0x22b4('0x33')](_0x5008c3[_0x22b4('0x2f')],qs['fields'](_0x57fafd[_0x22b4('0x31')]['fields']));_0xdfd1d5['attributes']=_0xdfd1d5['attributes'][_0x22b4('0x34')]?_0xdfd1d5['attributes']:_0x5008c3[_0x22b4('0x2f')];if(!_0x57fafd[_0x22b4('0x31')][_0x22b4('0x35')]('nolimit')){_0xdfd1d5[_0x22b4('0x1e')]=qs[_0x22b4('0x1e')](_0x57fafd[_0x22b4('0x31')][_0x22b4('0x1e')]);_0xdfd1d5['offset']=qs['offset'](_0x57fafd[_0x22b4('0x31')][_0x22b4('0x20')]);}_0xdfd1d5[_0x22b4('0x36')]=qs[_0x22b4('0x37')](_0x57fafd[_0x22b4('0x31')]['sort']);_0xdfd1d5['where']=qs[_0x22b4('0x32')](_[_0x22b4('0x38')](_0x57fafd[_0x22b4('0x31')],_0x5008c3[_0x22b4('0x32')]),_0x4d1891);if(_0x57fafd[_0x22b4('0x31')][_0x22b4('0x39')]){_0xdfd1d5[_0x22b4('0x3a')]=_[_0x22b4('0x3b')](_0xdfd1d5['where'],{'$or':_[_0x22b4('0x2a')](_0x4d1891,function(_0x2612a5){if(_0x2612a5[_0x22b4('0x2e')]!==_0x22b4('0x3c')){var _0x305b3a={};_0x305b3a[_0x2612a5[_0x22b4('0x30')]]={'$like':'%'+_0x57fafd[_0x22b4('0x31')][_0x22b4('0x39')]+'%'};return _0x305b3a;}})});}_0xdfd1d5=_[_0x22b4('0x3b')]({},_0xdfd1d5,_0x57fafd[_0x22b4('0x3d')]);var _0x157474={'where':_0xdfd1d5[_0x22b4('0x3a')]};return db[_0x22b4('0x2b')][_0x22b4('0x1f')](_0x157474)[_0x22b4('0x26')](function(_0x819265){_0x89e566['count']=_0x819265;if(_0x57fafd[_0x22b4('0x31')][_0x22b4('0x3e')]){_0xdfd1d5['include']=[{'all':!![]}];}return db[_0x22b4('0x2b')]['findAll'](_0xdfd1d5);})[_0x22b4('0x26')](function(_0x2de2a2){_0x89e566[_0x22b4('0x3f')]=_0x2de2a2;return _0x89e566;})['then'](respondWithFilteredResult(_0x2fc371,_0xdfd1d5))[_0x22b4('0x40')](handleError(_0x2fc371,null));};exports[_0x22b4('0x41')]=function(_0x22566d,_0x174fa3){var _0x4bbea7={'raw':!![],'where':{'id':_0x22566d['params']['id']}},_0x304c80={};_0x304c80[_0x22b4('0x2f')]=_['keys'](db[_0x22b4('0x2b')]['rawAttributes']);_0x304c80[_0x22b4('0x31')]=_[_0x22b4('0x42')](_0x22566d[_0x22b4('0x31')]);_0x304c80[_0x22b4('0x32')]=_['intersection'](_0x304c80[_0x22b4('0x2f')],_0x304c80[_0x22b4('0x31')]);_0x4bbea7[_0x22b4('0x43')]=_[_0x22b4('0x33')](_0x304c80['model'],qs[_0x22b4('0x44')](_0x22566d[_0x22b4('0x31')][_0x22b4('0x44')]));_0x4bbea7['attributes']=_0x4bbea7['attributes'][_0x22b4('0x34')]?_0x4bbea7[_0x22b4('0x43')]:_0x304c80[_0x22b4('0x2f')];if(_0x22566d[_0x22b4('0x31')]['includeAll']){_0x4bbea7[_0x22b4('0x45')]=[{'all':!![]}];}_0x4bbea7=_[_0x22b4('0x3b')]({},_0x4bbea7,_0x22566d['options']);return db['ZohoField']['find'](_0x4bbea7)['then'](handleEntityNotFound(_0x174fa3,null))[_0x22b4('0x26')](respondWithResult(_0x174fa3,null))[_0x22b4('0x40')](handleError(_0x174fa3,null));};exports[_0x22b4('0x46')]=function(_0x54ebc9,_0x59fc7f){return db[_0x22b4('0x2b')][_0x22b4('0x46')](_0x54ebc9['body'],{})[_0x22b4('0x26')](respondWithResult(_0x59fc7f,0xc9))[_0x22b4('0x40')](handleError(_0x59fc7f,null));};exports[_0x22b4('0x24')]=function(_0x4e2a2a,_0x84ab76){if(_0x4e2a2a[_0x22b4('0x47')]['id']){delete _0x4e2a2a[_0x22b4('0x47')]['id'];}return db[_0x22b4('0x2b')][_0x22b4('0x48')]({'where':{'id':_0x4e2a2a[_0x22b4('0x49')]['id']}})['then'](handleEntityNotFound(_0x84ab76,null))[_0x22b4('0x26')](saveUpdates(_0x4e2a2a[_0x22b4('0x47')],null))['then'](respondWithResult(_0x84ab76,null))[_0x22b4('0x40')](handleError(_0x84ab76,null));};exports['destroy']=function(_0x5c36ae,_0x506cd3){return db[_0x22b4('0x2b')][_0x22b4('0x48')]({'where':{'id':_0x5c36ae[_0x22b4('0x49')]['id']}})[_0x22b4('0x26')](handleEntityNotFound(_0x506cd3,null))['then'](removeEntity(_0x506cd3,null))[_0x22b4('0x40')](handleError(_0x506cd3,null));};