b5b8cec9b70f9e4e486115a82d6c1de4bcc76408
[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 _0xc081=['options','include','findAll','rows','show','params','length','catch','create','body','find','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','count','offset','limit','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','map','ZohoField','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','order','sort','where','filters','pick','filter','merge'];(function(_0x2f45ea,_0x15c656){var _0x485a84=function(_0x4a1fe3){while(--_0x4a1fe3){_0x2f45ea['push'](_0x2f45ea['shift']());}};_0x485a84(++_0x15c656);}(_0xc081,0xec));var _0x1c08=function(_0x1fc1f9,_0x454fb2){_0x1fc1f9=_0x1fc1f9-0x0;var _0x4987ca=_0xc081[_0x1fc1f9];return _0x4987ca;};'use strict';var pdf=require(_0x1c08('0x0'));var emlformat=require(_0x1c08('0x1'));var rimraf=require(_0x1c08('0x2'));var zipdir=require(_0x1c08('0x3'));var jsonpatch=require(_0x1c08('0x4'));var rp=require(_0x1c08('0x5'));var moment=require(_0x1c08('0x6'));var BPromise=require(_0x1c08('0x7'));var Mustache=require(_0x1c08('0x8'));var util=require(_0x1c08('0x9'));var path=require(_0x1c08('0xa'));var sox=require(_0x1c08('0xb'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x1c08('0xc'));var squel=require(_0x1c08('0xd'));var crypto=require(_0x1c08('0xe'));var jsforce=require(_0x1c08('0xf'));var deskjs=require(_0x1c08('0x10'));var toCsv=require(_0x1c08('0x11'));var querystring=require('querystring');var Papa=require(_0x1c08('0x12'));var Redis=require(_0x1c08('0x13'));var authService=require(_0x1c08('0x14'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x1c08('0x15'))(_0x1c08('0x16'));var utils=require('../../config/utils');var config=require(_0x1c08('0x17'));var licenseUtil=require(_0x1c08('0x18'));var db=require(_0x1c08('0x19'))['db'];function respondWithStatusCode(_0x4aa6ba,_0x259a45){_0x259a45=_0x259a45||0xcc;return function(_0x5ff25a){if(_0x5ff25a){return _0x4aa6ba[_0x1c08('0x1a')](_0x259a45);}return _0x4aa6ba['status'](_0x259a45)[_0x1c08('0x1b')]();};}function respondWithResult(_0x5e0add,_0x235e02){_0x235e02=_0x235e02||0xc8;return function(_0x12b049){if(_0x12b049){return _0x5e0add[_0x1c08('0x1c')](_0x235e02)[_0x1c08('0x1d')](_0x12b049);}};}function respondWithFilteredResult(_0x44db76,_0x60840){return function(_0x2e6ffc){if(_0x2e6ffc){var _0x40f2ee=_0x2e6ffc[_0x1c08('0x1e')],_0x4f5ca5=_0x60840[_0x1c08('0x1f')],_0xc5fb6c=_0x60840[_0x1c08('0x1f')]+_0x60840[_0x1c08('0x20')],_0x5a9cbe;if(_0xc5fb6c>=_0x40f2ee){_0xc5fb6c=_0x40f2ee;_0x5a9cbe=0xc8;}else{_0x5a9cbe=0xce;}_0x44db76[_0x1c08('0x1c')](_0x5a9cbe);return _0x44db76['set'](_0x1c08('0x21'),_0x4f5ca5+'-'+_0xc5fb6c+'/'+_0x40f2ee)[_0x1c08('0x1d')](_0x2e6ffc);}return null;};}function patchUpdates(_0x32d3da){return function(_0x31c1df){try{jsonpatch[_0x1c08('0x22')](_0x31c1df,_0x32d3da,!![]);}catch(_0x37515f){return BPromise['reject'](_0x37515f);}return _0x31c1df[_0x1c08('0x23')]();};}function saveUpdates(_0x3ee9e9,_0x478547){return function(_0x14a885){if(_0x14a885){return _0x14a885[_0x1c08('0x24')](_0x3ee9e9)[_0x1c08('0x25')](function(_0x24408a){return _0x24408a;});}return null;};}function removeEntity(_0x189138,_0x944d50){return function(_0x45ff32){if(_0x45ff32){return _0x45ff32[_0x1c08('0x26')]()['then'](function(){_0x189138[_0x1c08('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4fa1c1,_0x43ebf3){return function(_0x23d6de){if(!_0x23d6de){_0x4fa1c1['sendStatus'](0x194);}return _0x23d6de;};}function handleError(_0x2b499a,_0x4c9e5d){_0x4c9e5d=_0x4c9e5d||0x1f4;return function(_0x590459){logger[_0x1c08('0x27')](_0x590459[_0x1c08('0x28')]);if(_0x590459['name']){delete _0x590459[_0x1c08('0x29')];}_0x2b499a['status'](_0x4c9e5d)[_0x1c08('0x2a')](_0x590459);};}exports[_0x1c08('0x2b')]=function(_0x3780f0,_0x24acb4){var _0x47aef={},_0x91e78c={},_0x447eb6={'count':0x0,'rows':[]};var _0x100e79=_[_0x1c08('0x2c')](db[_0x1c08('0x2d')][_0x1c08('0x2e')],function(_0x53de91){return{'name':_0x53de91[_0x1c08('0x2f')],'type':_0x53de91[_0x1c08('0x30')][_0x1c08('0x31')]};});_0x91e78c[_0x1c08('0x32')]=_['map'](_0x100e79,_0x1c08('0x29'));_0x91e78c[_0x1c08('0x33')]=_[_0x1c08('0x34')](_0x3780f0[_0x1c08('0x33')]);_0x91e78c['filters']=_[_0x1c08('0x35')](_0x91e78c[_0x1c08('0x32')],_0x91e78c[_0x1c08('0x33')]);_0x47aef[_0x1c08('0x36')]=_[_0x1c08('0x35')](_0x91e78c[_0x1c08('0x32')],qs[_0x1c08('0x37')](_0x3780f0[_0x1c08('0x33')][_0x1c08('0x37')]));_0x47aef['attributes']=_0x47aef[_0x1c08('0x36')]['length']?_0x47aef['attributes']:_0x91e78c['model'];if(!_0x3780f0[_0x1c08('0x33')][_0x1c08('0x38')]('nolimit')){_0x47aef[_0x1c08('0x20')]=qs[_0x1c08('0x20')](_0x3780f0[_0x1c08('0x33')]['limit']);_0x47aef[_0x1c08('0x1f')]=qs[_0x1c08('0x1f')](_0x3780f0[_0x1c08('0x33')][_0x1c08('0x1f')]);}_0x47aef[_0x1c08('0x39')]=qs[_0x1c08('0x3a')](_0x3780f0['query'][_0x1c08('0x3a')]);_0x47aef[_0x1c08('0x3b')]=qs[_0x1c08('0x3c')](_[_0x1c08('0x3d')](_0x3780f0['query'],_0x91e78c[_0x1c08('0x3c')]),_0x100e79);if(_0x3780f0[_0x1c08('0x33')][_0x1c08('0x3e')]){_0x47aef[_0x1c08('0x3b')]=_[_0x1c08('0x3f')](_0x47aef[_0x1c08('0x3b')],{'$or':_['map'](_0x100e79,function(_0x38f0bb){if(_0x38f0bb['type']!=='VIRTUAL'){var _0x540a37={};_0x540a37[_0x38f0bb[_0x1c08('0x29')]]={'$like':'%'+_0x3780f0[_0x1c08('0x33')][_0x1c08('0x3e')]+'%'};return _0x540a37;}})});}_0x47aef=_[_0x1c08('0x3f')]({},_0x47aef,_0x3780f0[_0x1c08('0x40')]);var _0x3518a1={'where':_0x47aef[_0x1c08('0x3b')]};return db['ZohoField'][_0x1c08('0x1e')](_0x3518a1)[_0x1c08('0x25')](function(_0x18b8c7){_0x447eb6[_0x1c08('0x1e')]=_0x18b8c7;if(_0x3780f0['query']['includeAll']){_0x47aef[_0x1c08('0x41')]=[{'all':!![]}];}return db[_0x1c08('0x2d')][_0x1c08('0x42')](_0x47aef);})[_0x1c08('0x25')](function(_0xa2d920){_0x447eb6[_0x1c08('0x43')]=_0xa2d920;return _0x447eb6;})[_0x1c08('0x25')](respondWithFilteredResult(_0x24acb4,_0x47aef))['catch'](handleError(_0x24acb4,null));};exports[_0x1c08('0x44')]=function(_0x7897f6,_0x114666){var _0x1c7106={'raw':!![],'where':{'id':_0x7897f6[_0x1c08('0x45')]['id']}},_0x179d6d={};_0x179d6d[_0x1c08('0x32')]=_['keys'](db[_0x1c08('0x2d')][_0x1c08('0x2e')]);_0x179d6d['query']=_[_0x1c08('0x34')](_0x7897f6[_0x1c08('0x33')]);_0x179d6d['filters']=_[_0x1c08('0x35')](_0x179d6d['model'],_0x179d6d[_0x1c08('0x33')]);_0x1c7106['attributes']=_[_0x1c08('0x35')](_0x179d6d[_0x1c08('0x32')],qs['fields'](_0x7897f6['query'][_0x1c08('0x37')]));_0x1c7106['attributes']=_0x1c7106[_0x1c08('0x36')][_0x1c08('0x46')]?_0x1c7106[_0x1c08('0x36')]:_0x179d6d[_0x1c08('0x32')];if(_0x7897f6['query']['includeAll']){_0x1c7106[_0x1c08('0x41')]=[{'all':!![]}];}_0x1c7106=_[_0x1c08('0x3f')]({},_0x1c7106,_0x7897f6[_0x1c08('0x40')]);return db['ZohoField']['find'](_0x1c7106)[_0x1c08('0x25')](handleEntityNotFound(_0x114666,null))[_0x1c08('0x25')](respondWithResult(_0x114666,null))[_0x1c08('0x47')](handleError(_0x114666,null));};exports[_0x1c08('0x48')]=function(_0x3a7d73,_0x5097f1){return db[_0x1c08('0x2d')][_0x1c08('0x48')](_0x3a7d73[_0x1c08('0x49')],{})[_0x1c08('0x25')](respondWithResult(_0x5097f1,0xc9))[_0x1c08('0x47')](handleError(_0x5097f1,null));};exports[_0x1c08('0x24')]=function(_0x41c885,_0x4dc062){if(_0x41c885['body']['id']){delete _0x41c885[_0x1c08('0x49')]['id'];}return db[_0x1c08('0x2d')][_0x1c08('0x4a')]({'where':{'id':_0x41c885[_0x1c08('0x45')]['id']}})['then'](handleEntityNotFound(_0x4dc062,null))['then'](saveUpdates(_0x41c885['body'],null))[_0x1c08('0x25')](respondWithResult(_0x4dc062,null))['catch'](handleError(_0x4dc062,null));};exports[_0x1c08('0x26')]=function(_0x2498ca,_0x5a9891){return db['ZohoField']['find']({'where':{'id':_0x2498ca[_0x1c08('0x45')]['id']}})[_0x1c08('0x25')](handleEntityNotFound(_0x5a9891,null))[_0x1c08('0x25')](removeEntity(_0x5a9891,null))[_0x1c08('0x47')](handleError(_0x5a9891,null));};