Built motion from commit 3c2ce842.|2.6.31
[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 _0x9ea6=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','stack','send','index','map','ZohoField','rawAttributes','fieldName','key','model','name','query','keys','filters','intersection','attributes','length','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','includeAll','include','catch','show','fields','find','create','body','params','eml-format','zip-dir','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api'];(function(_0x330b58,_0x3101ae){var _0x286224=function(_0xb9bf5e){while(--_0xb9bf5e){_0x330b58['push'](_0x330b58['shift']());}};_0x286224(++_0x3101ae);}(_0x9ea6,0xc5));var _0x69ea=function(_0x199572,_0x33e667){_0x199572=_0x199572-0x0;var _0x13cfa3=_0x9ea6[_0x199572];return _0x13cfa3;};'use strict';var emlformat=require(_0x69ea('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x69ea('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x69ea('0x2'));var BPromise=require(_0x69ea('0x3'));var Mustache=require(_0x69ea('0x4'));var util=require('util');var path=require(_0x69ea('0x5'));var sox=require(_0x69ea('0x6'));var csv=require(_0x69ea('0x7'));var ejs=require(_0x69ea('0x8'));var fs=require('fs');var fs_extra=require(_0x69ea('0x9'));var _=require('lodash');var squel=require(_0x69ea('0xa'));var crypto=require(_0x69ea('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x69ea('0xc'));var toCsv=require(_0x69ea('0x7'));var querystring=require(_0x69ea('0xd'));var Papa=require(_0x69ea('0xe'));var Redis=require('ioredis');var authService=require(_0x69ea('0xf'));var qs=require(_0x69ea('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x69ea('0x11'))(_0x69ea('0x12'));var utils=require(_0x69ea('0x13'));var config=require(_0x69ea('0x14'));var licenseUtil=require(_0x69ea('0x15'));var db=require(_0x69ea('0x16'))['db'];function respondWithStatusCode(_0x219bcb,_0x327983){_0x327983=_0x327983||0xcc;return function(_0x5206ef){if(_0x5206ef){return _0x219bcb[_0x69ea('0x17')](_0x327983);}return _0x219bcb[_0x69ea('0x18')](_0x327983)['end']();};}function respondWithResult(_0x673b95,_0x5576ed){_0x5576ed=_0x5576ed||0xc8;return function(_0x459b8b){if(_0x459b8b){return _0x673b95[_0x69ea('0x18')](_0x5576ed)[_0x69ea('0x19')](_0x459b8b);}};}function respondWithFilteredResult(_0x2a68bf,_0xce3cac){return function(_0x88eca5){if(_0x88eca5){var _0x21ea7c=typeof _0xce3cac[_0x69ea('0x1a')]===_0x69ea('0x1b')&&typeof _0xce3cac[_0x69ea('0x1c')]===_0x69ea('0x1b');var _0x19c4ae=_0x88eca5[_0x69ea('0x1d')];var _0x127881=_0x21ea7c?0x0:_0xce3cac[_0x69ea('0x1a')];var _0x1fc60b=_0x21ea7c?_0x88eca5[_0x69ea('0x1d')]:_0xce3cac[_0x69ea('0x1a')]+_0xce3cac[_0x69ea('0x1c')];var _0x4a0878;if(_0x1fc60b>=_0x19c4ae){_0x1fc60b=_0x19c4ae;_0x4a0878=0xc8;}else{_0x4a0878=0xce;}_0x2a68bf[_0x69ea('0x18')](_0x4a0878);return _0x2a68bf[_0x69ea('0x1e')](_0x69ea('0x1f'),_0x127881+'-'+_0x1fc60b+'/'+_0x19c4ae)[_0x69ea('0x19')](_0x88eca5);}return null;};}function patchUpdates(_0x5e7cab){return function(_0x35bc16){try{jsonpatch[_0x69ea('0x20')](_0x35bc16,_0x5e7cab,!![]);}catch(_0x7a40f0){return BPromise[_0x69ea('0x21')](_0x7a40f0);}return _0x35bc16[_0x69ea('0x22')]();};}function saveUpdates(_0x521902,_0x10b3de){return function(_0x17f8f0){if(_0x17f8f0){return _0x17f8f0[_0x69ea('0x23')](_0x521902)[_0x69ea('0x24')](function(_0x4b4261){return _0x4b4261;});}return null;};}function removeEntity(_0x228516,_0x3cd7cb){return function(_0x4438d9){if(_0x4438d9){return _0x4438d9[_0x69ea('0x25')]()[_0x69ea('0x24')](function(){_0x228516[_0x69ea('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2056f9,_0x38f259){return function(_0x54aecd){if(!_0x54aecd){_0x2056f9[_0x69ea('0x17')](0x194);}return _0x54aecd;};}function handleError(_0x5b8201,_0x186150){_0x186150=_0x186150||0x1f4;return function(_0x160159){logger['error'](_0x160159[_0x69ea('0x26')]);if(_0x160159['name']){delete _0x160159['name'];}_0x5b8201[_0x69ea('0x18')](_0x186150)[_0x69ea('0x27')](_0x160159);};}exports[_0x69ea('0x28')]=function(_0xe8f92c,_0x5543c8){var _0x7c2b85={},_0x9bde71={},_0x19942c={'count':0x0,'rows':[]};var _0x40d30c=_[_0x69ea('0x29')](db[_0x69ea('0x2a')][_0x69ea('0x2b')],function(_0x4aae84){return{'name':_0x4aae84[_0x69ea('0x2c')],'type':_0x4aae84['type'][_0x69ea('0x2d')]};});_0x9bde71[_0x69ea('0x2e')]=_[_0x69ea('0x29')](_0x40d30c,_0x69ea('0x2f'));_0x9bde71[_0x69ea('0x30')]=_[_0x69ea('0x31')](_0xe8f92c[_0x69ea('0x30')]);_0x9bde71[_0x69ea('0x32')]=_[_0x69ea('0x33')](_0x9bde71[_0x69ea('0x2e')],_0x9bde71[_0x69ea('0x30')]);_0x7c2b85[_0x69ea('0x34')]=_[_0x69ea('0x33')](_0x9bde71['model'],qs['fields'](_0xe8f92c[_0x69ea('0x30')]['fields']));_0x7c2b85[_0x69ea('0x34')]=_0x7c2b85[_0x69ea('0x34')][_0x69ea('0x35')]?_0x7c2b85[_0x69ea('0x34')]:_0x9bde71[_0x69ea('0x2e')];if(!_0xe8f92c['query']['hasOwnProperty'](_0x69ea('0x36'))){_0x7c2b85['limit']=qs[_0x69ea('0x1c')](_0xe8f92c[_0x69ea('0x30')][_0x69ea('0x1c')]);_0x7c2b85[_0x69ea('0x1a')]=qs[_0x69ea('0x1a')](_0xe8f92c['query'][_0x69ea('0x1a')]);}_0x7c2b85[_0x69ea('0x37')]=qs[_0x69ea('0x38')](_0xe8f92c[_0x69ea('0x30')][_0x69ea('0x38')]);_0x7c2b85[_0x69ea('0x39')]=qs[_0x69ea('0x32')](_['pick'](_0xe8f92c[_0x69ea('0x30')],_0x9bde71[_0x69ea('0x32')]),_0x40d30c);if(_0xe8f92c[_0x69ea('0x30')][_0x69ea('0x3a')]){_0x7c2b85[_0x69ea('0x39')]=_[_0x69ea('0x3b')](_0x7c2b85['where'],{'$or':_[_0x69ea('0x29')](_0x40d30c,function(_0x52cd62){if(_0x52cd62[_0x69ea('0x3c')]!==_0x69ea('0x3d')){var _0x2ce48b={};_0x2ce48b[_0x52cd62[_0x69ea('0x2f')]]={'$like':'%'+_0xe8f92c[_0x69ea('0x30')][_0x69ea('0x3a')]+'%'};return _0x2ce48b;}})});}_0x7c2b85=_['merge']({},_0x7c2b85,_0xe8f92c[_0x69ea('0x3e')]);var _0x44d128={'where':_0x7c2b85[_0x69ea('0x39')]};return db[_0x69ea('0x2a')][_0x69ea('0x1d')](_0x44d128)[_0x69ea('0x24')](function(_0x2183b7){_0x19942c[_0x69ea('0x1d')]=_0x2183b7;if(_0xe8f92c[_0x69ea('0x30')][_0x69ea('0x3f')]){_0x7c2b85[_0x69ea('0x40')]=[{'all':!![]}];}return db['ZohoField']['findAll'](_0x7c2b85);})[_0x69ea('0x24')](function(_0x34efda){_0x19942c['rows']=_0x34efda;return _0x19942c;})[_0x69ea('0x24')](respondWithFilteredResult(_0x5543c8,_0x7c2b85))[_0x69ea('0x41')](handleError(_0x5543c8,null));};exports[_0x69ea('0x42')]=function(_0xb2974f,_0x3b5c7c){var _0x4ae88a={'raw':!![],'where':{'id':_0xb2974f['params']['id']}},_0x57d3cb={};_0x57d3cb['model']=_[_0x69ea('0x31')](db[_0x69ea('0x2a')][_0x69ea('0x2b')]);_0x57d3cb[_0x69ea('0x30')]=_[_0x69ea('0x31')](_0xb2974f['query']);_0x57d3cb[_0x69ea('0x32')]=_[_0x69ea('0x33')](_0x57d3cb[_0x69ea('0x2e')],_0x57d3cb[_0x69ea('0x30')]);_0x4ae88a[_0x69ea('0x34')]=_[_0x69ea('0x33')](_0x57d3cb[_0x69ea('0x2e')],qs[_0x69ea('0x43')](_0xb2974f['query'][_0x69ea('0x43')]));_0x4ae88a['attributes']=_0x4ae88a[_0x69ea('0x34')]['length']?_0x4ae88a['attributes']:_0x57d3cb[_0x69ea('0x2e')];if(_0xb2974f[_0x69ea('0x30')][_0x69ea('0x3f')]){_0x4ae88a[_0x69ea('0x40')]=[{'all':!![]}];}_0x4ae88a=_[_0x69ea('0x3b')]({},_0x4ae88a,_0xb2974f[_0x69ea('0x3e')]);return db[_0x69ea('0x2a')][_0x69ea('0x44')](_0x4ae88a)['then'](handleEntityNotFound(_0x3b5c7c,null))[_0x69ea('0x24')](respondWithResult(_0x3b5c7c,null))[_0x69ea('0x41')](handleError(_0x3b5c7c,null));};exports[_0x69ea('0x45')]=function(_0x11217e,_0x537f27){return db[_0x69ea('0x2a')][_0x69ea('0x45')](_0x11217e[_0x69ea('0x46')],{})[_0x69ea('0x24')](respondWithResult(_0x537f27,0xc9))[_0x69ea('0x41')](handleError(_0x537f27,null));};exports[_0x69ea('0x23')]=function(_0x2b5f3b,_0x1e3720){if(_0x2b5f3b[_0x69ea('0x46')]['id']){delete _0x2b5f3b[_0x69ea('0x46')]['id'];}return db['ZohoField'][_0x69ea('0x44')]({'where':{'id':_0x2b5f3b[_0x69ea('0x47')]['id']}})[_0x69ea('0x24')](handleEntityNotFound(_0x1e3720,null))[_0x69ea('0x24')](saveUpdates(_0x2b5f3b['body'],null))['then'](respondWithResult(_0x1e3720,null))[_0x69ea('0x41')](handleError(_0x1e3720,null));};exports[_0x69ea('0x25')]=function(_0x502959,_0x546b48){return db[_0x69ea('0x2a')][_0x69ea('0x44')]({'where':{'id':_0x502959[_0x69ea('0x47')]['id']}})[_0x69ea('0x24')](handleEntityNotFound(_0x546b48,null))[_0x69ea('0x24')](removeEntity(_0x546b48,null))['catch'](handleError(_0x546b48,null));};