50e83a28ef48623ea91ecff335b56c97f6a719ef
[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 _0x3c1d=['sort','where','pick','filter','merge','options','count','includeAll','include','findAll','rows','show','params','length','catch','create','body','find','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','json','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','end','sendStatus','error','stack','name','send','index','map','ZohoField','rawAttributes','type','key','model','keys','query','filters','intersection','fields','attributes','order'];(function(_0x368392,_0x40d3c5){var _0x328c40=function(_0x4a5705){while(--_0x4a5705){_0x368392['push'](_0x368392['shift']());}};_0x328c40(++_0x40d3c5);}(_0x3c1d,0xaa));var _0xd3c1=function(_0x565ed7,_0x398228){_0x565ed7=_0x565ed7-0x0;var _0x183ad7=_0x3c1d[_0x565ed7];return _0x183ad7;};'use strict';var pdf=require(_0xd3c1('0x0'));var emlformat=require(_0xd3c1('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xd3c1('0x2'));var jsonpatch=require(_0xd3c1('0x3'));var rp=require(_0xd3c1('0x4'));var moment=require(_0xd3c1('0x5'));var BPromise=require(_0xd3c1('0x6'));var Mustache=require(_0xd3c1('0x7'));var util=require('util');var path=require(_0xd3c1('0x8'));var sox=require(_0xd3c1('0x9'));var csv=require(_0xd3c1('0xa'));var ejs=require(_0xd3c1('0xb'));var fs=require('fs');var _=require(_0xd3c1('0xc'));var squel=require(_0xd3c1('0xd'));var crypto=require(_0xd3c1('0xe'));var jsforce=require(_0xd3c1('0xf'));var deskjs=require(_0xd3c1('0x10'));var toCsv=require(_0xd3c1('0xa'));var querystring=require(_0xd3c1('0x11'));var Papa=require(_0xd3c1('0x12'));var Redis=require(_0xd3c1('0x13'));var authService=require(_0xd3c1('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xd3c1('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd3c1('0x16'))('api');var utils=require(_0xd3c1('0x17'));var config=require(_0xd3c1('0x18'));var db=require(_0xd3c1('0x19'))['db'];function respondWithStatusCode(_0x594784,_0xbddeef){_0xbddeef=_0xbddeef||0xcc;return function(_0xb236f2){if(_0xb236f2){return _0x594784['sendStatus'](_0xbddeef);}return _0x594784[_0xd3c1('0x1a')](_0xbddeef)['end']();};}function respondWithResult(_0x4ad35c,_0x5e0a3b){_0x5e0a3b=_0x5e0a3b||0xc8;return function(_0xc8f53c){if(_0xc8f53c){return _0x4ad35c[_0xd3c1('0x1a')](_0x5e0a3b)[_0xd3c1('0x1b')](_0xc8f53c);}};}function respondWithFilteredResult(_0x12568a,_0x104829){return function(_0x150764){if(_0x150764){var _0x3f958c=_0x150764['count'],_0x5a6eed=_0x104829[_0xd3c1('0x1c')],_0x2b122e=_0x104829[_0xd3c1('0x1c')]+_0x104829[_0xd3c1('0x1d')],_0x29087a;if(_0x2b122e>=_0x3f958c){_0x2b122e=_0x3f958c;_0x29087a=0xc8;}else{_0x29087a=0xce;}_0x12568a['status'](_0x29087a);return _0x12568a[_0xd3c1('0x1e')](_0xd3c1('0x1f'),_0x5a6eed+'-'+_0x2b122e+'/'+_0x3f958c)['json'](_0x150764);}return null;};}function patchUpdates(_0x1a4334){return function(_0x146f88){try{jsonpatch[_0xd3c1('0x20')](_0x146f88,_0x1a4334,!![]);}catch(_0x102e9e){return BPromise[_0xd3c1('0x21')](_0x102e9e);}return _0x146f88[_0xd3c1('0x22')]();};}function saveUpdates(_0x569e58,_0x11e626){return function(_0xedf5e6){if(_0xedf5e6){return _0xedf5e6[_0xd3c1('0x23')](_0x569e58)['then'](function(_0x269e3c){return _0x269e3c;});}return null;};}function removeEntity(_0x35e7a8,_0x3aef73){return function(_0x8d2aee){if(_0x8d2aee){return _0x8d2aee[_0xd3c1('0x24')]()[_0xd3c1('0x25')](function(){_0x35e7a8['status'](0xcc)[_0xd3c1('0x26')]();});}};}function handleEntityNotFound(_0x3ce2bb,_0x2c4ace){return function(_0xb4010c){if(!_0xb4010c){_0x3ce2bb[_0xd3c1('0x27')](0x194);}return _0xb4010c;};}function handleError(_0x135f8c,_0x423867){_0x423867=_0x423867||0x1f4;return function(_0x2c49a2){logger[_0xd3c1('0x28')](_0x2c49a2[_0xd3c1('0x29')]);if(_0x2c49a2[_0xd3c1('0x2a')]){delete _0x2c49a2['name'];}_0x135f8c[_0xd3c1('0x1a')](_0x423867)[_0xd3c1('0x2b')](_0x2c49a2);};}exports[_0xd3c1('0x2c')]=function(_0x347592,_0x321ebc){var _0x361db3={},_0x44cd2a={},_0x53cb40={'count':0x0,'rows':[]};var _0x2ebc90=_[_0xd3c1('0x2d')](db[_0xd3c1('0x2e')][_0xd3c1('0x2f')],function(_0x1ed262){return{'name':_0x1ed262['fieldName'],'type':_0x1ed262[_0xd3c1('0x30')][_0xd3c1('0x31')]};});_0x44cd2a[_0xd3c1('0x32')]=_['map'](_0x2ebc90,_0xd3c1('0x2a'));_0x44cd2a['query']=_[_0xd3c1('0x33')](_0x347592[_0xd3c1('0x34')]);_0x44cd2a[_0xd3c1('0x35')]=_[_0xd3c1('0x36')](_0x44cd2a[_0xd3c1('0x32')],_0x44cd2a[_0xd3c1('0x34')]);_0x361db3['attributes']=_[_0xd3c1('0x36')](_0x44cd2a[_0xd3c1('0x32')],qs[_0xd3c1('0x37')](_0x347592[_0xd3c1('0x34')][_0xd3c1('0x37')]));_0x361db3['attributes']=_0x361db3[_0xd3c1('0x38')]['length']?_0x361db3[_0xd3c1('0x38')]:_0x44cd2a[_0xd3c1('0x32')];if(!_0x347592[_0xd3c1('0x34')]['hasOwnProperty']('nolimit')){_0x361db3['limit']=qs[_0xd3c1('0x1d')](_0x347592[_0xd3c1('0x34')][_0xd3c1('0x1d')]);_0x361db3[_0xd3c1('0x1c')]=qs[_0xd3c1('0x1c')](_0x347592[_0xd3c1('0x34')][_0xd3c1('0x1c')]);}_0x361db3[_0xd3c1('0x39')]=qs['sort'](_0x347592[_0xd3c1('0x34')][_0xd3c1('0x3a')]);_0x361db3[_0xd3c1('0x3b')]=qs[_0xd3c1('0x35')](_[_0xd3c1('0x3c')](_0x347592[_0xd3c1('0x34')],_0x44cd2a['filters']));if(_0x347592[_0xd3c1('0x34')][_0xd3c1('0x3d')]){_0x361db3[_0xd3c1('0x3b')]=_[_0xd3c1('0x3e')](_0x361db3[_0xd3c1('0x3b')],{'$or':_[_0xd3c1('0x2d')](_0x2ebc90,function(_0x18f694){if(_0x18f694[_0xd3c1('0x30')]!=='VIRTUAL'){var _0x17ba0e={};_0x17ba0e[_0x18f694[_0xd3c1('0x2a')]]={'$like':'%'+_0x347592[_0xd3c1('0x34')][_0xd3c1('0x3d')]+'%'};return _0x17ba0e;}})});}_0x361db3=_[_0xd3c1('0x3e')]({},_0x361db3,_0x347592[_0xd3c1('0x3f')]);var _0x21b6af={'where':_0x361db3[_0xd3c1('0x3b')]};return db['ZohoField']['count'](_0x21b6af)['then'](function(_0x3a394c){_0x53cb40[_0xd3c1('0x40')]=_0x3a394c;if(_0x347592[_0xd3c1('0x34')][_0xd3c1('0x41')]){_0x361db3[_0xd3c1('0x42')]=[{'all':!![]}];}return db[_0xd3c1('0x2e')][_0xd3c1('0x43')](_0x361db3);})['then'](function(_0x1e3cc0){_0x53cb40[_0xd3c1('0x44')]=_0x1e3cc0;return _0x53cb40;})['then'](respondWithFilteredResult(_0x321ebc,_0x361db3))['catch'](handleError(_0x321ebc,null));};exports[_0xd3c1('0x45')]=function(_0x1618c2,_0x3bc242){var _0x29c390={'raw':!![],'where':{'id':_0x1618c2[_0xd3c1('0x46')]['id']}},_0x21a3b7={};_0x21a3b7[_0xd3c1('0x32')]=_[_0xd3c1('0x33')](db[_0xd3c1('0x2e')][_0xd3c1('0x2f')]);_0x21a3b7[_0xd3c1('0x34')]=_[_0xd3c1('0x33')](_0x1618c2['query']);_0x21a3b7[_0xd3c1('0x35')]=_['intersection'](_0x21a3b7[_0xd3c1('0x32')],_0x21a3b7[_0xd3c1('0x34')]);_0x29c390[_0xd3c1('0x38')]=_['intersection'](_0x21a3b7['model'],qs['fields'](_0x1618c2['query'][_0xd3c1('0x37')]));_0x29c390[_0xd3c1('0x38')]=_0x29c390[_0xd3c1('0x38')][_0xd3c1('0x47')]?_0x29c390[_0xd3c1('0x38')]:_0x21a3b7[_0xd3c1('0x32')];if(_0x1618c2[_0xd3c1('0x34')]['includeAll']){_0x29c390[_0xd3c1('0x42')]=[{'all':!![]}];}_0x29c390=_[_0xd3c1('0x3e')]({},_0x29c390,_0x1618c2[_0xd3c1('0x3f')]);return db[_0xd3c1('0x2e')]['find'](_0x29c390)['then'](handleEntityNotFound(_0x3bc242,null))[_0xd3c1('0x25')](respondWithResult(_0x3bc242,null))[_0xd3c1('0x48')](handleError(_0x3bc242,null));};exports[_0xd3c1('0x49')]=function(_0x1f3473,_0x42981c){return db[_0xd3c1('0x2e')][_0xd3c1('0x49')](_0x1f3473[_0xd3c1('0x4a')],{})[_0xd3c1('0x25')](respondWithResult(_0x42981c,0xc9))[_0xd3c1('0x48')](handleError(_0x42981c,null));};exports[_0xd3c1('0x23')]=function(_0xb54230,_0x3c3b8a){if(_0xb54230[_0xd3c1('0x4a')]['id']){delete _0xb54230[_0xd3c1('0x4a')]['id'];}return db['ZohoField'][_0xd3c1('0x4b')]({'where':{'id':_0xb54230['params']['id']}})[_0xd3c1('0x25')](handleEntityNotFound(_0x3c3b8a,null))['then'](saveUpdates(_0xb54230['body'],null))['then'](respondWithResult(_0x3c3b8a,null))[_0xd3c1('0x48')](handleError(_0x3c3b8a,null));};exports[_0xd3c1('0x24')]=function(_0x425b21,_0x14a475){return db[_0xd3c1('0x2e')][_0xd3c1('0x4b')]({'where':{'id':_0x425b21['params']['id']}})[_0xd3c1('0x25')](handleEntityNotFound(_0x14a475,null))[_0xd3c1('0x25')](removeEntity(_0x14a475,null))[_0xd3c1('0x48')](handleError(_0x14a475,null));};