f78dc21a883a30896db36104e3542545a03adebd
[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 _0x7975=['moment','bluebird','mustache','util','path','to-csv','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','end','error','stack','name','send','index','map','ZohoField','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','merge','VIRTUAL','filter','includeAll','include','findAll','catch','options','find','create','body','params','html-pdf','eml-format','fast-json-patch','request-promise'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0x7975,0x118));var _0x5797=function(_0x98c53c,_0x8f97d2){_0x98c53c=_0x98c53c-0x0;var _0x246750=_0x7975[_0x98c53c];return _0x246750;};'use strict';var pdf=require(_0x5797('0x0'));var emlformat=require(_0x5797('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x5797('0x2'));var rp=require(_0x5797('0x3'));var moment=require(_0x5797('0x4'));var BPromise=require(_0x5797('0x5'));var Mustache=require(_0x5797('0x6'));var util=require(_0x5797('0x7'));var path=require(_0x5797('0x8'));var sox=require('sox');var csv=require(_0x5797('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x5797('0xa'));var deskjs=require(_0x5797('0xb'));var toCsv=require(_0x5797('0x9'));var querystring=require(_0x5797('0xc'));var Papa=require('papaparse');var Redis=require(_0x5797('0xd'));var authService=require(_0x5797('0xe'));var qs=require(_0x5797('0xf'));var as=require(_0x5797('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5797('0x11'))(_0x5797('0x12'));var utils=require(_0x5797('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x5797('0x14'));var db=require(_0x5797('0x15'))['db'];function respondWithStatusCode(_0x58c835,_0x2045ed){_0x2045ed=_0x2045ed||0xcc;return function(_0x5bfc6c){if(_0x5bfc6c){return _0x58c835[_0x5797('0x16')](_0x2045ed);}return _0x58c835[_0x5797('0x17')](_0x2045ed)['end']();};}function respondWithResult(_0x1b269f,_0x303d92){_0x303d92=_0x303d92||0xc8;return function(_0x1ebfab){if(_0x1ebfab){return _0x1b269f[_0x5797('0x17')](_0x303d92)[_0x5797('0x18')](_0x1ebfab);}};}function respondWithFilteredResult(_0x22ae72,_0x1fee6b){return function(_0x59b325){if(_0x59b325){var _0x26d7f7=_0x59b325[_0x5797('0x19')],_0x1f1c0c=_0x1fee6b['offset'],_0x5af166=_0x1fee6b[_0x5797('0x1a')]+_0x1fee6b[_0x5797('0x1b')],_0x5e9464;if(_0x5af166>=_0x26d7f7){_0x5af166=_0x26d7f7;_0x5e9464=0xc8;}else{_0x5e9464=0xce;}_0x22ae72['status'](_0x5e9464);return _0x22ae72[_0x5797('0x1c')](_0x5797('0x1d'),_0x1f1c0c+'-'+_0x5af166+'/'+_0x26d7f7)['json'](_0x59b325);}return null;};}function patchUpdates(_0x2969ce){return function(_0x41bb8a){try{jsonpatch[_0x5797('0x1e')](_0x41bb8a,_0x2969ce,!![]);}catch(_0x1618ae){return BPromise['reject'](_0x1618ae);}return _0x41bb8a[_0x5797('0x1f')]();};}function saveUpdates(_0x5ad1f2,_0x393e8d){return function(_0x2bfdb1){if(_0x2bfdb1){return _0x2bfdb1[_0x5797('0x20')](_0x5ad1f2)[_0x5797('0x21')](function(_0x40a27a){return _0x40a27a;});}return null;};}function removeEntity(_0x29c565,_0x3a5f43){return function(_0x50711d){if(_0x50711d){return _0x50711d[_0x5797('0x22')]()[_0x5797('0x21')](function(){_0x29c565[_0x5797('0x17')](0xcc)[_0x5797('0x23')]();});}};}function handleEntityNotFound(_0x3aecfa,_0x3ccf12){return function(_0x2d2944){if(!_0x2d2944){_0x3aecfa[_0x5797('0x16')](0x194);}return _0x2d2944;};}function handleError(_0xa5b9ef,_0x1850c4){_0x1850c4=_0x1850c4||0x1f4;return function(_0x55a3af){logger[_0x5797('0x24')](_0x55a3af[_0x5797('0x25')]);if(_0x55a3af[_0x5797('0x26')]){delete _0x55a3af[_0x5797('0x26')];}_0xa5b9ef[_0x5797('0x17')](_0x1850c4)[_0x5797('0x27')](_0x55a3af);};}exports[_0x5797('0x28')]=function(_0x51fb0c,_0x1169e3){var _0x2fa7af={},_0x33d81f={},_0x3f5a18={'count':0x0,'rows':[]};var _0x532816=_[_0x5797('0x29')](db[_0x5797('0x2a')]['rawAttributes'],function(_0x1ef378){return{'name':_0x1ef378['fieldName'],'type':_0x1ef378[_0x5797('0x2b')][_0x5797('0x2c')]};});_0x33d81f[_0x5797('0x2d')]=_[_0x5797('0x29')](_0x532816,_0x5797('0x26'));_0x33d81f[_0x5797('0x2e')]=_[_0x5797('0x2f')](_0x51fb0c[_0x5797('0x2e')]);_0x33d81f['filters']=_[_0x5797('0x30')](_0x33d81f[_0x5797('0x2d')],_0x33d81f['query']);_0x2fa7af[_0x5797('0x31')]=_['intersection'](_0x33d81f['model'],qs[_0x5797('0x32')](_0x51fb0c['query'][_0x5797('0x32')]));_0x2fa7af['attributes']=_0x2fa7af[_0x5797('0x31')][_0x5797('0x33')]?_0x2fa7af[_0x5797('0x31')]:_0x33d81f[_0x5797('0x2d')];if(!_0x51fb0c[_0x5797('0x2e')][_0x5797('0x34')](_0x5797('0x35'))){_0x2fa7af['limit']=qs[_0x5797('0x1b')](_0x51fb0c['query']['limit']);_0x2fa7af[_0x5797('0x1a')]=qs[_0x5797('0x1a')](_0x51fb0c['query'][_0x5797('0x1a')]);}_0x2fa7af[_0x5797('0x36')]=qs[_0x5797('0x37')](_0x51fb0c[_0x5797('0x2e')][_0x5797('0x37')]);_0x2fa7af[_0x5797('0x38')]=qs['filters'](_[_0x5797('0x39')](_0x51fb0c[_0x5797('0x2e')],_0x33d81f[_0x5797('0x3a')]),_0x532816);if(_0x51fb0c[_0x5797('0x2e')]['filter']){_0x2fa7af['where']=_[_0x5797('0x3b')](_0x2fa7af[_0x5797('0x38')],{'$or':_[_0x5797('0x29')](_0x532816,function(_0x354065){if(_0x354065['type']!==_0x5797('0x3c')){var _0x511f3b={};_0x511f3b[_0x354065[_0x5797('0x26')]]={'$like':'%'+_0x51fb0c[_0x5797('0x2e')][_0x5797('0x3d')]+'%'};return _0x511f3b;}})});}_0x2fa7af=_[_0x5797('0x3b')]({},_0x2fa7af,_0x51fb0c['options']);var _0x38be92={'where':_0x2fa7af['where']};return db['ZohoField'][_0x5797('0x19')](_0x38be92)[_0x5797('0x21')](function(_0x409ffb){_0x3f5a18[_0x5797('0x19')]=_0x409ffb;if(_0x51fb0c['query'][_0x5797('0x3e')]){_0x2fa7af[_0x5797('0x3f')]=[{'all':!![]}];}return db['ZohoField'][_0x5797('0x40')](_0x2fa7af);})[_0x5797('0x21')](function(_0x19ecf6){_0x3f5a18['rows']=_0x19ecf6;return _0x3f5a18;})[_0x5797('0x21')](respondWithFilteredResult(_0x1169e3,_0x2fa7af))[_0x5797('0x41')](handleError(_0x1169e3,null));};exports['show']=function(_0x3bedb9,_0x34fa3d){var _0x35abb7={'raw':!![],'where':{'id':_0x3bedb9['params']['id']}},_0x3eff63={};_0x3eff63[_0x5797('0x2d')]=_[_0x5797('0x2f')](db['ZohoField']['rawAttributes']);_0x3eff63[_0x5797('0x2e')]=_[_0x5797('0x2f')](_0x3bedb9[_0x5797('0x2e')]);_0x3eff63['filters']=_[_0x5797('0x30')](_0x3eff63[_0x5797('0x2d')],_0x3eff63[_0x5797('0x2e')]);_0x35abb7[_0x5797('0x31')]=_[_0x5797('0x30')](_0x3eff63['model'],qs[_0x5797('0x32')](_0x3bedb9['query']['fields']));_0x35abb7['attributes']=_0x35abb7[_0x5797('0x31')][_0x5797('0x33')]?_0x35abb7[_0x5797('0x31')]:_0x3eff63[_0x5797('0x2d')];if(_0x3bedb9['query'][_0x5797('0x3e')]){_0x35abb7[_0x5797('0x3f')]=[{'all':!![]}];}_0x35abb7=_[_0x5797('0x3b')]({},_0x35abb7,_0x3bedb9[_0x5797('0x42')]);return db[_0x5797('0x2a')][_0x5797('0x43')](_0x35abb7)[_0x5797('0x21')](handleEntityNotFound(_0x34fa3d,null))['then'](respondWithResult(_0x34fa3d,null))[_0x5797('0x41')](handleError(_0x34fa3d,null));};exports[_0x5797('0x44')]=function(_0x1c679c,_0x2b41c4){return db[_0x5797('0x2a')][_0x5797('0x44')](_0x1c679c['body'],{})[_0x5797('0x21')](respondWithResult(_0x2b41c4,0xc9))[_0x5797('0x41')](handleError(_0x2b41c4,null));};exports[_0x5797('0x20')]=function(_0x22136d,_0x44905a){if(_0x22136d[_0x5797('0x45')]['id']){delete _0x22136d[_0x5797('0x45')]['id'];}return db[_0x5797('0x2a')]['find']({'where':{'id':_0x22136d[_0x5797('0x46')]['id']}})[_0x5797('0x21')](handleEntityNotFound(_0x44905a,null))['then'](saveUpdates(_0x22136d[_0x5797('0x45')],null))['then'](respondWithResult(_0x44905a,null))['catch'](handleError(_0x44905a,null));};exports['destroy']=function(_0x4efe17,_0x26148e){return db['ZohoField'][_0x5797('0x43')]({'where':{'id':_0x4efe17['params']['id']}})[_0x5797('0x21')](handleEntityNotFound(_0x26148e,null))[_0x5797('0x21')](removeEntity(_0x26148e,null))[_0x5797('0x41')](handleError(_0x26148e,null));};