Built motion from commit 377f727e.|2.6.28
[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 _0xfb27=['status','end','json','offset','undefined','count','Content-Range','apply','reject','update','then','error','stack','name','send','index','ZohoField','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','hasOwnProperty','nolimit','limit','order','sort','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','params','keys','fields','length','find','catch','create','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x4cbb01,_0x14c188){var _0x263a53=function(_0x5f378f){while(--_0x5f378f){_0x4cbb01['push'](_0x4cbb01['shift']());}};_0x263a53(++_0x14c188);}(_0xfb27,0x7e));var _0x7fb2=function(_0x54a573,_0x49c04d){_0x54a573=_0x54a573-0x0;var _0x2c45a9=_0xfb27[_0x54a573];return _0x2c45a9;};'use strict';var emlformat=require(_0x7fb2('0x0'));var rimraf=require(_0x7fb2('0x1'));var zipdir=require(_0x7fb2('0x2'));var jsonpatch=require(_0x7fb2('0x3'));var rp=require(_0x7fb2('0x4'));var moment=require('moment');var BPromise=require(_0x7fb2('0x5'));var Mustache=require('mustache');var util=require(_0x7fb2('0x6'));var path=require(_0x7fb2('0x7'));var sox=require(_0x7fb2('0x8'));var csv=require(_0x7fb2('0x9'));var ejs=require(_0x7fb2('0xa'));var fs=require('fs');var fs_extra=require(_0x7fb2('0xb'));var _=require(_0x7fb2('0xc'));var squel=require(_0x7fb2('0xd'));var crypto=require(_0x7fb2('0xe'));var jsforce=require(_0x7fb2('0xf'));var deskjs=require(_0x7fb2('0x10'));var toCsv=require(_0x7fb2('0x9'));var querystring=require('querystring');var Papa=require(_0x7fb2('0x11'));var Redis=require('ioredis');var authService=require(_0x7fb2('0x12'));var qs=require(_0x7fb2('0x13'));var as=require(_0x7fb2('0x14'));var hardwareService=require(_0x7fb2('0x15'));var logger=require(_0x7fb2('0x16'))('api');var utils=require(_0x7fb2('0x17'));var config=require(_0x7fb2('0x18'));var licenseUtil=require(_0x7fb2('0x19'));var db=require(_0x7fb2('0x1a'))['db'];function respondWithStatusCode(_0x575b7f,_0x54817e){_0x54817e=_0x54817e||0xcc;return function(_0x2128ee){if(_0x2128ee){return _0x575b7f[_0x7fb2('0x1b')](_0x54817e);}return _0x575b7f[_0x7fb2('0x1c')](_0x54817e)[_0x7fb2('0x1d')]();};}function respondWithResult(_0x52132c,_0x30a7bb){_0x30a7bb=_0x30a7bb||0xc8;return function(_0x4c3097){if(_0x4c3097){return _0x52132c[_0x7fb2('0x1c')](_0x30a7bb)[_0x7fb2('0x1e')](_0x4c3097);}};}function respondWithFilteredResult(_0x111b92,_0x4d259d){return function(_0x58b187){if(_0x58b187){var _0x274ce7=typeof _0x4d259d[_0x7fb2('0x1f')]==='undefined'&&typeof _0x4d259d['limit']===_0x7fb2('0x20');var _0x28ce06=_0x58b187['count'];var _0x5da0a8=_0x274ce7?0x0:_0x4d259d['offset'];var _0x711400=_0x274ce7?_0x58b187[_0x7fb2('0x21')]:_0x4d259d['offset']+_0x4d259d['limit'];var _0x223bd2;if(_0x711400>=_0x28ce06){_0x711400=_0x28ce06;_0x223bd2=0xc8;}else{_0x223bd2=0xce;}_0x111b92[_0x7fb2('0x1c')](_0x223bd2);return _0x111b92['set'](_0x7fb2('0x22'),_0x5da0a8+'-'+_0x711400+'/'+_0x28ce06)[_0x7fb2('0x1e')](_0x58b187);}return null;};}function patchUpdates(_0x34fe6b){return function(_0x2382ea){try{jsonpatch[_0x7fb2('0x23')](_0x2382ea,_0x34fe6b,!![]);}catch(_0x298d81){return BPromise[_0x7fb2('0x24')](_0x298d81);}return _0x2382ea['save']();};}function saveUpdates(_0x2353bc,_0x5ee22a){return function(_0x446118){if(_0x446118){return _0x446118[_0x7fb2('0x25')](_0x2353bc)[_0x7fb2('0x26')](function(_0x9d79bd){return _0x9d79bd;});}return null;};}function removeEntity(_0x4495a2,_0x5afb34){return function(_0x25c967){if(_0x25c967){return _0x25c967['destroy']()[_0x7fb2('0x26')](function(){_0x4495a2[_0x7fb2('0x1c')](0xcc)[_0x7fb2('0x1d')]();});}};}function handleEntityNotFound(_0xe967a7,_0x52b6d8){return function(_0x17cb9c){if(!_0x17cb9c){_0xe967a7[_0x7fb2('0x1b')](0x194);}return _0x17cb9c;};}function handleError(_0x35a1b6,_0x40aea2){_0x40aea2=_0x40aea2||0x1f4;return function(_0xa2f337){logger[_0x7fb2('0x27')](_0xa2f337[_0x7fb2('0x28')]);if(_0xa2f337[_0x7fb2('0x29')]){delete _0xa2f337[_0x7fb2('0x29')];}_0x35a1b6[_0x7fb2('0x1c')](_0x40aea2)[_0x7fb2('0x2a')](_0xa2f337);};}exports[_0x7fb2('0x2b')]=function(_0x3401a7,_0x26de5e){var _0x250e69={},_0x711a5e={},_0x363841={'count':0x0,'rows':[]};var _0x263c37=_['map'](db[_0x7fb2('0x2c')][_0x7fb2('0x2d')],function(_0x71ca40){return{'name':_0x71ca40[_0x7fb2('0x2e')],'type':_0x71ca40[_0x7fb2('0x2f')][_0x7fb2('0x30')]};});_0x711a5e[_0x7fb2('0x31')]=_['map'](_0x263c37,_0x7fb2('0x29'));_0x711a5e[_0x7fb2('0x32')]=_['keys'](_0x3401a7[_0x7fb2('0x32')]);_0x711a5e[_0x7fb2('0x33')]=_[_0x7fb2('0x34')](_0x711a5e[_0x7fb2('0x31')],_0x711a5e[_0x7fb2('0x32')]);_0x250e69[_0x7fb2('0x35')]=_[_0x7fb2('0x34')](_0x711a5e[_0x7fb2('0x31')],qs['fields'](_0x3401a7['query']['fields']));_0x250e69[_0x7fb2('0x35')]=_0x250e69[_0x7fb2('0x35')]['length']?_0x250e69[_0x7fb2('0x35')]:_0x711a5e[_0x7fb2('0x31')];if(!_0x3401a7[_0x7fb2('0x32')][_0x7fb2('0x36')](_0x7fb2('0x37'))){_0x250e69[_0x7fb2('0x38')]=qs['limit'](_0x3401a7[_0x7fb2('0x32')][_0x7fb2('0x38')]);_0x250e69['offset']=qs[_0x7fb2('0x1f')](_0x3401a7[_0x7fb2('0x32')][_0x7fb2('0x1f')]);}_0x250e69[_0x7fb2('0x39')]=qs[_0x7fb2('0x3a')](_0x3401a7[_0x7fb2('0x32')][_0x7fb2('0x3a')]);_0x250e69[_0x7fb2('0x3b')]=qs[_0x7fb2('0x33')](_['pick'](_0x3401a7[_0x7fb2('0x32')],_0x711a5e[_0x7fb2('0x33')]),_0x263c37);if(_0x3401a7['query']['filter']){_0x250e69[_0x7fb2('0x3b')]=_[_0x7fb2('0x3c')](_0x250e69[_0x7fb2('0x3b')],{'$or':_['map'](_0x263c37,function(_0x466ca5){if(_0x466ca5[_0x7fb2('0x2f')]!==_0x7fb2('0x3d')){var _0x2e559f={};_0x2e559f[_0x466ca5['name']]={'$like':'%'+_0x3401a7[_0x7fb2('0x32')][_0x7fb2('0x3e')]+'%'};return _0x2e559f;}})});}_0x250e69=_[_0x7fb2('0x3c')]({},_0x250e69,_0x3401a7[_0x7fb2('0x3f')]);var _0x149b5d={'where':_0x250e69[_0x7fb2('0x3b')]};return db[_0x7fb2('0x2c')]['count'](_0x149b5d)[_0x7fb2('0x26')](function(_0x34e975){_0x363841['count']=_0x34e975;if(_0x3401a7[_0x7fb2('0x32')][_0x7fb2('0x40')]){_0x250e69[_0x7fb2('0x41')]=[{'all':!![]}];}return db['ZohoField'][_0x7fb2('0x42')](_0x250e69);})[_0x7fb2('0x26')](function(_0x49976c){_0x363841[_0x7fb2('0x43')]=_0x49976c;return _0x363841;})[_0x7fb2('0x26')](respondWithFilteredResult(_0x26de5e,_0x250e69))['catch'](handleError(_0x26de5e,null));};exports['show']=function(_0x4d569f,_0x1d5a8c){var _0x25c901={'raw':!![],'where':{'id':_0x4d569f[_0x7fb2('0x44')]['id']}},_0x3dd57e={};_0x3dd57e[_0x7fb2('0x31')]=_[_0x7fb2('0x45')](db['ZohoField'][_0x7fb2('0x2d')]);_0x3dd57e[_0x7fb2('0x32')]=_[_0x7fb2('0x45')](_0x4d569f[_0x7fb2('0x32')]);_0x3dd57e['filters']=_['intersection'](_0x3dd57e[_0x7fb2('0x31')],_0x3dd57e['query']);_0x25c901[_0x7fb2('0x35')]=_[_0x7fb2('0x34')](_0x3dd57e[_0x7fb2('0x31')],qs[_0x7fb2('0x46')](_0x4d569f[_0x7fb2('0x32')][_0x7fb2('0x46')]));_0x25c901[_0x7fb2('0x35')]=_0x25c901['attributes'][_0x7fb2('0x47')]?_0x25c901[_0x7fb2('0x35')]:_0x3dd57e[_0x7fb2('0x31')];if(_0x4d569f[_0x7fb2('0x32')][_0x7fb2('0x40')]){_0x25c901[_0x7fb2('0x41')]=[{'all':!![]}];}_0x25c901=_[_0x7fb2('0x3c')]({},_0x25c901,_0x4d569f[_0x7fb2('0x3f')]);return db['ZohoField'][_0x7fb2('0x48')](_0x25c901)[_0x7fb2('0x26')](handleEntityNotFound(_0x1d5a8c,null))[_0x7fb2('0x26')](respondWithResult(_0x1d5a8c,null))[_0x7fb2('0x49')](handleError(_0x1d5a8c,null));};exports[_0x7fb2('0x4a')]=function(_0x318976,_0x55019a){return db[_0x7fb2('0x2c')]['create'](_0x318976[_0x7fb2('0x4b')],{})[_0x7fb2('0x26')](respondWithResult(_0x55019a,0xc9))['catch'](handleError(_0x55019a,null));};exports[_0x7fb2('0x25')]=function(_0x34ed82,_0x36238e){if(_0x34ed82[_0x7fb2('0x4b')]['id']){delete _0x34ed82[_0x7fb2('0x4b')]['id'];}return db[_0x7fb2('0x2c')]['find']({'where':{'id':_0x34ed82[_0x7fb2('0x44')]['id']}})[_0x7fb2('0x26')](handleEntityNotFound(_0x36238e,null))['then'](saveUpdates(_0x34ed82['body'],null))[_0x7fb2('0x26')](respondWithResult(_0x36238e,null))['catch'](handleError(_0x36238e,null));};exports[_0x7fb2('0x4c')]=function(_0x34b82f,_0xef864b){return db[_0x7fb2('0x2c')]['find']({'where':{'id':_0x34b82f['params']['id']}})[_0x7fb2('0x26')](handleEntityNotFound(_0xef864b,null))['then'](removeEntity(_0xef864b,null))['catch'](handleError(_0xef864b,null));};