43ebd3bdb364b90e25bc1479f5e0ac7926e79af3
[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 _0x8348=['desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','type','options','ZohoField','includeAll','include','findAll','rows','show','params','create','body','catch','find','html-pdf','eml-format','zip-dir','fast-json-patch','bluebird','util','path','sox','to-csv','squel','jsforce'];(function(_0x5302ad,_0x4c7acc){var _0x4f44a2=function(_0x3f7c04){while(--_0x3f7c04){_0x5302ad['push'](_0x5302ad['shift']());}};_0x4f44a2(++_0x4c7acc);}(_0x8348,0x162));var _0x8834=function(_0x7a6ab9,_0xf7d0a){_0x7a6ab9=_0x7a6ab9-0x0;var _0x43c8ca=_0x8348[_0x7a6ab9];return _0x43c8ca;};'use strict';var pdf=require(_0x8834('0x0'));var emlformat=require(_0x8834('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x8834('0x2'));var jsonpatch=require(_0x8834('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x8834('0x4'));var Mustache=require('mustache');var util=require(_0x8834('0x5'));var path=require(_0x8834('0x6'));var sox=require(_0x8834('0x7'));var csv=require(_0x8834('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x8834('0x9'));var crypto=require('crypto');var jsforce=require(_0x8834('0xa'));var deskjs=require(_0x8834('0xb'));var toCsv=require(_0x8834('0x8'));var querystring=require('querystring');var Papa=require(_0x8834('0xc'));var Redis=require(_0x8834('0xd'));var authService=require(_0x8834('0xe'));var qs=require(_0x8834('0xf'));var as=require(_0x8834('0x10'));var hardwareService=require(_0x8834('0x11'));var logger=require(_0x8834('0x12'))(_0x8834('0x13'));var utils=require(_0x8834('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x8834('0x15'))['db'];function respondWithStatusCode(_0x30ff9a,_0x44af19){_0x44af19=_0x44af19||0xcc;return function(_0x18aaee){if(_0x18aaee){return _0x30ff9a[_0x8834('0x16')](_0x44af19);}return _0x30ff9a[_0x8834('0x17')](_0x44af19)[_0x8834('0x18')]();};}function respondWithResult(_0x273ca4,_0xac6296){_0xac6296=_0xac6296||0xc8;return function(_0x2040cd){if(_0x2040cd){return _0x273ca4[_0x8834('0x17')](_0xac6296)[_0x8834('0x19')](_0x2040cd);}};}function respondWithFilteredResult(_0x54fb4e,_0x45201b){return function(_0x3f148a){if(_0x3f148a){var _0x1a2525=_0x3f148a[_0x8834('0x1a')],_0x588608=_0x45201b['offset'],_0x13b89b=_0x45201b[_0x8834('0x1b')]+_0x45201b['limit'],_0xed3fd6;if(_0x13b89b>=_0x1a2525){_0x13b89b=_0x1a2525;_0xed3fd6=0xc8;}else{_0xed3fd6=0xce;}_0x54fb4e[_0x8834('0x17')](_0xed3fd6);return _0x54fb4e[_0x8834('0x1c')](_0x8834('0x1d'),_0x588608+'-'+_0x13b89b+'/'+_0x1a2525)['json'](_0x3f148a);}return null;};}function patchUpdates(_0x219fc0){return function(_0x1ae7fa){try{jsonpatch[_0x8834('0x1e')](_0x1ae7fa,_0x219fc0,!![]);}catch(_0x50de98){return BPromise['reject'](_0x50de98);}return _0x1ae7fa[_0x8834('0x1f')]();};}function saveUpdates(_0x3c0032,_0x5f3d3a){return function(_0x3d872a){if(_0x3d872a){return _0x3d872a[_0x8834('0x20')](_0x3c0032)[_0x8834('0x21')](function(_0x3fcead){return _0x3fcead;});}return null;};}function removeEntity(_0x542bd3,_0x39f110){return function(_0x4f470a){if(_0x4f470a){return _0x4f470a[_0x8834('0x22')]()[_0x8834('0x21')](function(){_0x542bd3['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x524586,_0x5f090f){return function(_0x2f9f58){if(!_0x2f9f58){_0x524586[_0x8834('0x16')](0x194);}return _0x2f9f58;};}function handleError(_0x586737,_0x370873){_0x370873=_0x370873||0x1f4;return function(_0x27e497){logger[_0x8834('0x23')](_0x27e497[_0x8834('0x24')]);if(_0x27e497[_0x8834('0x25')]){delete _0x27e497['name'];}_0x586737['status'](_0x370873)[_0x8834('0x26')](_0x27e497);};}exports[_0x8834('0x27')]=function(_0x102b40,_0x29ccaa){var _0xab3843={},_0xa8e118={},_0x502249={'count':0x0,'rows':[]};var _0x4696c5=_[_0x8834('0x28')](db['ZohoField'][_0x8834('0x29')],function(_0x1678db){return{'name':_0x1678db['fieldName'],'type':_0x1678db['type'][_0x8834('0x2a')]};});_0xa8e118['model']=_[_0x8834('0x28')](_0x4696c5,_0x8834('0x25'));_0xa8e118[_0x8834('0x2b')]=_[_0x8834('0x2c')](_0x102b40[_0x8834('0x2b')]);_0xa8e118[_0x8834('0x2d')]=_[_0x8834('0x2e')](_0xa8e118[_0x8834('0x2f')],_0xa8e118[_0x8834('0x2b')]);_0xab3843['attributes']=_['intersection'](_0xa8e118[_0x8834('0x2f')],qs[_0x8834('0x30')](_0x102b40['query']['fields']));_0xab3843[_0x8834('0x31')]=_0xab3843[_0x8834('0x31')][_0x8834('0x32')]?_0xab3843[_0x8834('0x31')]:_0xa8e118[_0x8834('0x2f')];if(!_0x102b40[_0x8834('0x2b')][_0x8834('0x33')](_0x8834('0x34'))){_0xab3843['limit']=qs[_0x8834('0x35')](_0x102b40[_0x8834('0x2b')]['limit']);_0xab3843[_0x8834('0x1b')]=qs['offset'](_0x102b40[_0x8834('0x2b')][_0x8834('0x1b')]);}_0xab3843[_0x8834('0x36')]=qs[_0x8834('0x37')](_0x102b40[_0x8834('0x2b')][_0x8834('0x37')]);_0xab3843[_0x8834('0x38')]=qs[_0x8834('0x2d')](_[_0x8834('0x39')](_0x102b40['query'],_0xa8e118[_0x8834('0x2d')]),_0x4696c5);if(_0x102b40[_0x8834('0x2b')][_0x8834('0x3a')]){_0xab3843['where']=_[_0x8834('0x3b')](_0xab3843[_0x8834('0x38')],{'$or':_[_0x8834('0x28')](_0x4696c5,function(_0x5ab16b){if(_0x5ab16b[_0x8834('0x3c')]!=='VIRTUAL'){var _0x27569e={};_0x27569e[_0x5ab16b['name']]={'$like':'%'+_0x102b40[_0x8834('0x2b')]['filter']+'%'};return _0x27569e;}})});}_0xab3843=_[_0x8834('0x3b')]({},_0xab3843,_0x102b40[_0x8834('0x3d')]);var _0x24886a={'where':_0xab3843['where']};return db[_0x8834('0x3e')][_0x8834('0x1a')](_0x24886a)['then'](function(_0x465492){_0x502249['count']=_0x465492;if(_0x102b40[_0x8834('0x2b')][_0x8834('0x3f')]){_0xab3843[_0x8834('0x40')]=[{'all':!![]}];}return db['ZohoField'][_0x8834('0x41')](_0xab3843);})[_0x8834('0x21')](function(_0x4d6168){_0x502249[_0x8834('0x42')]=_0x4d6168;return _0x502249;})[_0x8834('0x21')](respondWithFilteredResult(_0x29ccaa,_0xab3843))['catch'](handleError(_0x29ccaa,null));};exports[_0x8834('0x43')]=function(_0x447e61,_0x50d625){var _0x53e574={'raw':!![],'where':{'id':_0x447e61[_0x8834('0x44')]['id']}},_0xd35096={};_0xd35096[_0x8834('0x2f')]=_['keys'](db[_0x8834('0x3e')][_0x8834('0x29')]);_0xd35096[_0x8834('0x2b')]=_[_0x8834('0x2c')](_0x447e61[_0x8834('0x2b')]);_0xd35096[_0x8834('0x2d')]=_[_0x8834('0x2e')](_0xd35096[_0x8834('0x2f')],_0xd35096[_0x8834('0x2b')]);_0x53e574['attributes']=_[_0x8834('0x2e')](_0xd35096[_0x8834('0x2f')],qs[_0x8834('0x30')](_0x447e61['query'][_0x8834('0x30')]));_0x53e574[_0x8834('0x31')]=_0x53e574['attributes'][_0x8834('0x32')]?_0x53e574[_0x8834('0x31')]:_0xd35096['model'];if(_0x447e61['query']['includeAll']){_0x53e574['include']=[{'all':!![]}];}_0x53e574=_[_0x8834('0x3b')]({},_0x53e574,_0x447e61[_0x8834('0x3d')]);return db['ZohoField']['find'](_0x53e574)['then'](handleEntityNotFound(_0x50d625,null))[_0x8834('0x21')](respondWithResult(_0x50d625,null))['catch'](handleError(_0x50d625,null));};exports[_0x8834('0x45')]=function(_0x3651f8,_0x5288fd){return db[_0x8834('0x3e')][_0x8834('0x45')](_0x3651f8[_0x8834('0x46')],{})['then'](respondWithResult(_0x5288fd,0xc9))[_0x8834('0x47')](handleError(_0x5288fd,null));};exports['update']=function(_0xba96ad,_0x34852e){if(_0xba96ad[_0x8834('0x46')]['id']){delete _0xba96ad[_0x8834('0x46')]['id'];}return db[_0x8834('0x3e')][_0x8834('0x48')]({'where':{'id':_0xba96ad[_0x8834('0x44')]['id']}})[_0x8834('0x21')](handleEntityNotFound(_0x34852e,null))[_0x8834('0x21')](saveUpdates(_0xba96ad['body'],null))[_0x8834('0x21')](respondWithResult(_0x34852e,null))[_0x8834('0x47')](handleError(_0x34852e,null));};exports[_0x8834('0x22')]=function(_0x4c1146,_0x4afe73){return db[_0x8834('0x3e')][_0x8834('0x48')]({'where':{'id':_0x4c1146[_0x8834('0x44')]['id']}})[_0x8834('0x21')](handleEntityNotFound(_0x4afe73,null))[_0x8834('0x21')](removeEntity(_0x4afe73,null))[_0x8834('0x47')](handleError(_0x4afe73,null));};