0f311aa86cb709717e49129ee2bf05d7bbeac768
[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 _0x2138=['merge','VIRTUAL','options','then','includeAll','findAll','rows','catch','show','params','length','include','find','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','update','destroy','stack','index','map','ZohoField','rawAttributes','fieldName','type','key','model','name','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','sort','filters','pick','filter','where'];(function(_0x4f9465,_0x4ec33a){var _0x33c420=function(_0x493ee6){while(--_0x493ee6){_0x4f9465['push'](_0x4f9465['shift']());}};_0x33c420(++_0x4ec33a);}(_0x2138,0x18b));var _0x8213=function(_0x389712,_0x10fe81){_0x389712=_0x389712-0x0;var _0x25d78f=_0x2138[_0x389712];return _0x25d78f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8213('0x0'));var zipdir=require(_0x8213('0x1'));var jsonpatch=require(_0x8213('0x2'));var rp=require(_0x8213('0x3'));var moment=require(_0x8213('0x4'));var BPromise=require(_0x8213('0x5'));var Mustache=require(_0x8213('0x6'));var util=require(_0x8213('0x7'));var path=require(_0x8213('0x8'));var sox=require(_0x8213('0x9'));var csv=require(_0x8213('0xa'));var ejs=require(_0x8213('0xb'));var fs=require('fs');var fs_extra=require(_0x8213('0xc'));var _=require(_0x8213('0xd'));var squel=require('squel');var crypto=require(_0x8213('0xe'));var jsforce=require(_0x8213('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x8213('0xa'));var querystring=require('querystring');var Papa=require(_0x8213('0x10'));var Redis=require(_0x8213('0x11'));var authService=require(_0x8213('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x8213('0x13'));var hardwareService=require(_0x8213('0x14'));var logger=require('../../config/logger')(_0x8213('0x15'));var utils=require(_0x8213('0x16'));var config=require(_0x8213('0x17'));var licenseUtil=require(_0x8213('0x18'));var db=require(_0x8213('0x19'))['db'];function respondWithStatusCode(_0xc6af26,_0x29570e){_0x29570e=_0x29570e||0xcc;return function(_0xcf98d2){if(_0xcf98d2){return _0xc6af26[_0x8213('0x1a')](_0x29570e);}return _0xc6af26['status'](_0x29570e)[_0x8213('0x1b')]();};}function respondWithResult(_0x371a53,_0x2b93a9){_0x2b93a9=_0x2b93a9||0xc8;return function(_0x337425){if(_0x337425){return _0x371a53[_0x8213('0x1c')](_0x2b93a9)[_0x8213('0x1d')](_0x337425);}};}function respondWithFilteredResult(_0x5f25ec,_0x5d67eb){return function(_0x40a133){if(_0x40a133){var _0xf0247a=typeof _0x5d67eb[_0x8213('0x1e')]===_0x8213('0x1f')&&typeof _0x5d67eb[_0x8213('0x20')]===_0x8213('0x1f');var _0x453d56=_0x40a133[_0x8213('0x21')];var _0x314ffc=_0xf0247a?0x0:_0x5d67eb[_0x8213('0x1e')];var _0x16f88e=_0xf0247a?_0x40a133[_0x8213('0x21')]:_0x5d67eb['offset']+_0x5d67eb[_0x8213('0x20')];var _0x323eb7;if(_0x16f88e>=_0x453d56){_0x16f88e=_0x453d56;_0x323eb7=0xc8;}else{_0x323eb7=0xce;}_0x5f25ec[_0x8213('0x1c')](_0x323eb7);return _0x5f25ec[_0x8213('0x22')](_0x8213('0x23'),_0x314ffc+'-'+_0x16f88e+'/'+_0x453d56)[_0x8213('0x1d')](_0x40a133);}return null;};}function patchUpdates(_0x5778db){return function(_0x49ec77){try{jsonpatch[_0x8213('0x24')](_0x49ec77,_0x5778db,!![]);}catch(_0x503012){return BPromise['reject'](_0x503012);}return _0x49ec77['save']();};}function saveUpdates(_0x5e41c1,_0x55930d){return function(_0x33e4c0){if(_0x33e4c0){return _0x33e4c0[_0x8213('0x25')](_0x5e41c1)['then'](function(_0x4a3bc1){return _0x4a3bc1;});}return null;};}function removeEntity(_0x510776,_0x54b709){return function(_0x25b281){if(_0x25b281){return _0x25b281[_0x8213('0x26')]()['then'](function(){_0x510776[_0x8213('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3ccab9,_0xfd3c8d){return function(_0x4f5613){if(!_0x4f5613){_0x3ccab9[_0x8213('0x1a')](0x194);}return _0x4f5613;};}function handleError(_0x12c4b7,_0x25b3f6){_0x25b3f6=_0x25b3f6||0x1f4;return function(_0x5ad338){logger['error'](_0x5ad338[_0x8213('0x27')]);if(_0x5ad338['name']){delete _0x5ad338['name'];}_0x12c4b7['status'](_0x25b3f6)['send'](_0x5ad338);};}exports[_0x8213('0x28')]=function(_0x2ce128,_0x2be398){var _0x2a027a={},_0x3d7056={},_0xaf1b1d={'count':0x0,'rows':[]};var _0x48ae60=_[_0x8213('0x29')](db[_0x8213('0x2a')][_0x8213('0x2b')],function(_0x47bac8){return{'name':_0x47bac8[_0x8213('0x2c')],'type':_0x47bac8[_0x8213('0x2d')][_0x8213('0x2e')]};});_0x3d7056[_0x8213('0x2f')]=_[_0x8213('0x29')](_0x48ae60,_0x8213('0x30'));_0x3d7056[_0x8213('0x31')]=_[_0x8213('0x32')](_0x2ce128[_0x8213('0x31')]);_0x3d7056['filters']=_['intersection'](_0x3d7056[_0x8213('0x2f')],_0x3d7056[_0x8213('0x31')]);_0x2a027a[_0x8213('0x33')]=_[_0x8213('0x34')](_0x3d7056[_0x8213('0x2f')],qs[_0x8213('0x35')](_0x2ce128['query'][_0x8213('0x35')]));_0x2a027a[_0x8213('0x33')]=_0x2a027a[_0x8213('0x33')]['length']?_0x2a027a[_0x8213('0x33')]:_0x3d7056[_0x8213('0x2f')];if(!_0x2ce128[_0x8213('0x31')][_0x8213('0x36')](_0x8213('0x37'))){_0x2a027a[_0x8213('0x20')]=qs[_0x8213('0x20')](_0x2ce128[_0x8213('0x31')]['limit']);_0x2a027a[_0x8213('0x1e')]=qs[_0x8213('0x1e')](_0x2ce128['query']['offset']);}_0x2a027a['order']=qs[_0x8213('0x38')](_0x2ce128[_0x8213('0x31')][_0x8213('0x38')]);_0x2a027a['where']=qs[_0x8213('0x39')](_[_0x8213('0x3a')](_0x2ce128[_0x8213('0x31')],_0x3d7056[_0x8213('0x39')]),_0x48ae60);if(_0x2ce128[_0x8213('0x31')][_0x8213('0x3b')]){_0x2a027a[_0x8213('0x3c')]=_[_0x8213('0x3d')](_0x2a027a[_0x8213('0x3c')],{'$or':_[_0x8213('0x29')](_0x48ae60,function(_0x4223d5){if(_0x4223d5['type']!==_0x8213('0x3e')){var _0x36766d={};_0x36766d[_0x4223d5[_0x8213('0x30')]]={'$like':'%'+_0x2ce128[_0x8213('0x31')]['filter']+'%'};return _0x36766d;}})});}_0x2a027a=_[_0x8213('0x3d')]({},_0x2a027a,_0x2ce128[_0x8213('0x3f')]);var _0x56bfa6={'where':_0x2a027a[_0x8213('0x3c')]};return db[_0x8213('0x2a')][_0x8213('0x21')](_0x56bfa6)[_0x8213('0x40')](function(_0x3ddde1){_0xaf1b1d[_0x8213('0x21')]=_0x3ddde1;if(_0x2ce128[_0x8213('0x31')][_0x8213('0x41')]){_0x2a027a['include']=[{'all':!![]}];}return db[_0x8213('0x2a')][_0x8213('0x42')](_0x2a027a);})[_0x8213('0x40')](function(_0x26b63b){_0xaf1b1d[_0x8213('0x43')]=_0x26b63b;return _0xaf1b1d;})[_0x8213('0x40')](respondWithFilteredResult(_0x2be398,_0x2a027a))[_0x8213('0x44')](handleError(_0x2be398,null));};exports[_0x8213('0x45')]=function(_0x4b42bd,_0x422e42){var _0x4980ad={'raw':!![],'where':{'id':_0x4b42bd[_0x8213('0x46')]['id']}},_0x17df8e={};_0x17df8e[_0x8213('0x2f')]=_[_0x8213('0x32')](db[_0x8213('0x2a')][_0x8213('0x2b')]);_0x17df8e['query']=_[_0x8213('0x32')](_0x4b42bd['query']);_0x17df8e[_0x8213('0x39')]=_[_0x8213('0x34')](_0x17df8e[_0x8213('0x2f')],_0x17df8e['query']);_0x4980ad[_0x8213('0x33')]=_['intersection'](_0x17df8e[_0x8213('0x2f')],qs['fields'](_0x4b42bd[_0x8213('0x31')][_0x8213('0x35')]));_0x4980ad[_0x8213('0x33')]=_0x4980ad[_0x8213('0x33')][_0x8213('0x47')]?_0x4980ad[_0x8213('0x33')]:_0x17df8e[_0x8213('0x2f')];if(_0x4b42bd[_0x8213('0x31')][_0x8213('0x41')]){_0x4980ad[_0x8213('0x48')]=[{'all':!![]}];}_0x4980ad=_[_0x8213('0x3d')]({},_0x4980ad,_0x4b42bd['options']);return db[_0x8213('0x2a')][_0x8213('0x49')](_0x4980ad)['then'](handleEntityNotFound(_0x422e42,null))[_0x8213('0x40')](respondWithResult(_0x422e42,null))[_0x8213('0x44')](handleError(_0x422e42,null));};exports[_0x8213('0x4a')]=function(_0x5638a1,_0x759a7b){return db[_0x8213('0x2a')][_0x8213('0x4a')](_0x5638a1['body'],{})[_0x8213('0x40')](respondWithResult(_0x759a7b,0xc9))['catch'](handleError(_0x759a7b,null));};exports[_0x8213('0x25')]=function(_0x474101,_0x46899a){if(_0x474101[_0x8213('0x4b')]['id']){delete _0x474101['body']['id'];}return db[_0x8213('0x2a')]['find']({'where':{'id':_0x474101[_0x8213('0x46')]['id']}})['then'](handleEntityNotFound(_0x46899a,null))['then'](saveUpdates(_0x474101[_0x8213('0x4b')],null))['then'](respondWithResult(_0x46899a,null))['catch'](handleError(_0x46899a,null));};exports[_0x8213('0x26')]=function(_0x53f479,_0x5ce570){return db[_0x8213('0x2a')][_0x8213('0x49')]({'where':{'id':_0x53f479[_0x8213('0x46')]['id']}})[_0x8213('0x40')](handleEntityNotFound(_0x5ce570,null))['then'](removeEntity(_0x5ce570,null))['catch'](handleError(_0x5ce570,null));};