6e5ad5c62dd7863fc8b9f711a332f008752b6426
[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 _0x0498=['../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','apply','reject','save','destroy','then','end','error','name','send','index','map','ZohoField','fieldName','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','where','merge','type','options','include','rows','show','params','rawAttributes','length','includeAll','find','catch','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x57a50d,_0x2871f8){var _0x1b25b3=function(_0x45691e){while(--_0x45691e){_0x57a50d['push'](_0x57a50d['shift']());}};_0x1b25b3(++_0x2871f8);}(_0x0498,0xc6));var _0x8049=function(_0x413feb,_0x10477f){_0x413feb=_0x413feb-0x0;var _0x40ee88=_0x0498[_0x413feb];return _0x40ee88;};'use strict';var emlformat=require(_0x8049('0x0'));var rimraf=require(_0x8049('0x1'));var zipdir=require(_0x8049('0x2'));var jsonpatch=require(_0x8049('0x3'));var rp=require(_0x8049('0x4'));var moment=require(_0x8049('0x5'));var BPromise=require(_0x8049('0x6'));var Mustache=require(_0x8049('0x7'));var util=require(_0x8049('0x8'));var path=require(_0x8049('0x9'));var sox=require('sox');var csv=require(_0x8049('0xa'));var ejs=require(_0x8049('0xb'));var fs=require('fs');var fs_extra=require(_0x8049('0xc'));var _=require(_0x8049('0xd'));var squel=require(_0x8049('0xe'));var crypto=require('crypto');var jsforce=require(_0x8049('0xf'));var deskjs=require(_0x8049('0x10'));var toCsv=require(_0x8049('0xa'));var querystring=require(_0x8049('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x8049('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x8049('0x13'));var hardwareService=require(_0x8049('0x14'));var logger=require(_0x8049('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x8049('0x16'));var licenseUtil=require(_0x8049('0x17'));var db=require(_0x8049('0x18'))['db'];function respondWithStatusCode(_0xe708f5,_0x257437){_0x257437=_0x257437||0xcc;return function(_0x20000e){if(_0x20000e){return _0xe708f5[_0x8049('0x19')](_0x257437);}return _0xe708f5[_0x8049('0x1a')](_0x257437)['end']();};}function respondWithResult(_0xfe0ecd,_0x3f0149){_0x3f0149=_0x3f0149||0xc8;return function(_0x53b3d6){if(_0x53b3d6){return _0xfe0ecd['status'](_0x3f0149)[_0x8049('0x1b')](_0x53b3d6);}};}function respondWithFilteredResult(_0x3b4a0b,_0x2eca1b){return function(_0x4471f0){if(_0x4471f0){var _0x5b52f6=typeof _0x2eca1b[_0x8049('0x1c')]===_0x8049('0x1d')&&typeof _0x2eca1b[_0x8049('0x1e')]===_0x8049('0x1d');var _0x1b9669=_0x4471f0[_0x8049('0x1f')];var _0x5923c0=_0x5b52f6?0x0:_0x2eca1b[_0x8049('0x1c')];var _0x5f4610=_0x5b52f6?_0x4471f0[_0x8049('0x1f')]:_0x2eca1b['offset']+_0x2eca1b[_0x8049('0x1e')];var _0x2ec28d;if(_0x5f4610>=_0x1b9669){_0x5f4610=_0x1b9669;_0x2ec28d=0xc8;}else{_0x2ec28d=0xce;}_0x3b4a0b[_0x8049('0x1a')](_0x2ec28d);return _0x3b4a0b['set']('Content-Range',_0x5923c0+'-'+_0x5f4610+'/'+_0x1b9669)[_0x8049('0x1b')](_0x4471f0);}return null;};}function patchUpdates(_0x3f2570){return function(_0x4a4b29){try{jsonpatch[_0x8049('0x20')](_0x4a4b29,_0x3f2570,!![]);}catch(_0x118587){return BPromise[_0x8049('0x21')](_0x118587);}return _0x4a4b29[_0x8049('0x22')]();};}function saveUpdates(_0x4b3b4e,_0x555fd9){return function(_0x41f1a4){if(_0x41f1a4){return _0x41f1a4['update'](_0x4b3b4e)['then'](function(_0x1c87c0){return _0x1c87c0;});}return null;};}function removeEntity(_0x4e39c3,_0x54a30a){return function(_0x2d19c6){if(_0x2d19c6){return _0x2d19c6[_0x8049('0x23')]()[_0x8049('0x24')](function(){_0x4e39c3[_0x8049('0x1a')](0xcc)[_0x8049('0x25')]();});}};}function handleEntityNotFound(_0x126f9c,_0x4a5577){return function(_0x528b3c){if(!_0x528b3c){_0x126f9c[_0x8049('0x19')](0x194);}return _0x528b3c;};}function handleError(_0x13c3fd,_0x2c6627){_0x2c6627=_0x2c6627||0x1f4;return function(_0x4c7a75){logger[_0x8049('0x26')](_0x4c7a75['stack']);if(_0x4c7a75[_0x8049('0x27')]){delete _0x4c7a75[_0x8049('0x27')];}_0x13c3fd[_0x8049('0x1a')](_0x2c6627)[_0x8049('0x28')](_0x4c7a75);};}exports[_0x8049('0x29')]=function(_0x3e68fa,_0x477ce6){var _0x22c761={},_0x2e2edf={},_0xbf78b3={'count':0x0,'rows':[]};var _0x2ae2f4=_[_0x8049('0x2a')](db[_0x8049('0x2b')]['rawAttributes'],function(_0x20cda3){return{'name':_0x20cda3[_0x8049('0x2c')],'type':_0x20cda3['type'][_0x8049('0x2d')]};});_0x2e2edf[_0x8049('0x2e')]=_[_0x8049('0x2a')](_0x2ae2f4,_0x8049('0x27'));_0x2e2edf[_0x8049('0x2f')]=_[_0x8049('0x30')](_0x3e68fa[_0x8049('0x2f')]);_0x2e2edf[_0x8049('0x31')]=_[_0x8049('0x32')](_0x2e2edf[_0x8049('0x2e')],_0x2e2edf[_0x8049('0x2f')]);_0x22c761['attributes']=_[_0x8049('0x32')](_0x2e2edf[_0x8049('0x2e')],qs[_0x8049('0x33')](_0x3e68fa[_0x8049('0x2f')][_0x8049('0x33')]));_0x22c761[_0x8049('0x34')]=_0x22c761[_0x8049('0x34')]['length']?_0x22c761['attributes']:_0x2e2edf[_0x8049('0x2e')];if(!_0x3e68fa[_0x8049('0x2f')][_0x8049('0x35')](_0x8049('0x36'))){_0x22c761[_0x8049('0x1e')]=qs['limit'](_0x3e68fa[_0x8049('0x2f')][_0x8049('0x1e')]);_0x22c761[_0x8049('0x1c')]=qs[_0x8049('0x1c')](_0x3e68fa['query'][_0x8049('0x1c')]);}_0x22c761[_0x8049('0x37')]=qs[_0x8049('0x38')](_0x3e68fa[_0x8049('0x2f')][_0x8049('0x38')]);_0x22c761['where']=qs[_0x8049('0x31')](_[_0x8049('0x39')](_0x3e68fa[_0x8049('0x2f')],_0x2e2edf[_0x8049('0x31')]),_0x2ae2f4);if(_0x3e68fa[_0x8049('0x2f')]['filter']){_0x22c761[_0x8049('0x3a')]=_[_0x8049('0x3b')](_0x22c761[_0x8049('0x3a')],{'$or':_[_0x8049('0x2a')](_0x2ae2f4,function(_0x5eacdd){if(_0x5eacdd[_0x8049('0x3c')]!=='VIRTUAL'){var _0xb3f6e5={};_0xb3f6e5[_0x5eacdd[_0x8049('0x27')]]={'$like':'%'+_0x3e68fa['query']['filter']+'%'};return _0xb3f6e5;}})});}_0x22c761=_[_0x8049('0x3b')]({},_0x22c761,_0x3e68fa[_0x8049('0x3d')]);var _0x36b5da={'where':_0x22c761[_0x8049('0x3a')]};return db['ZohoField'][_0x8049('0x1f')](_0x36b5da)[_0x8049('0x24')](function(_0x6eb949){_0xbf78b3['count']=_0x6eb949;if(_0x3e68fa[_0x8049('0x2f')]['includeAll']){_0x22c761[_0x8049('0x3e')]=[{'all':!![]}];}return db[_0x8049('0x2b')]['findAll'](_0x22c761);})[_0x8049('0x24')](function(_0x32f154){_0xbf78b3[_0x8049('0x3f')]=_0x32f154;return _0xbf78b3;})[_0x8049('0x24')](respondWithFilteredResult(_0x477ce6,_0x22c761))['catch'](handleError(_0x477ce6,null));};exports[_0x8049('0x40')]=function(_0x561553,_0x28742b){var _0x3ffeeb={'raw':!![],'where':{'id':_0x561553[_0x8049('0x41')]['id']}},_0x3a7b43={};_0x3a7b43['model']=_[_0x8049('0x30')](db[_0x8049('0x2b')][_0x8049('0x42')]);_0x3a7b43[_0x8049('0x2f')]=_[_0x8049('0x30')](_0x561553['query']);_0x3a7b43[_0x8049('0x31')]=_[_0x8049('0x32')](_0x3a7b43[_0x8049('0x2e')],_0x3a7b43['query']);_0x3ffeeb[_0x8049('0x34')]=_[_0x8049('0x32')](_0x3a7b43[_0x8049('0x2e')],qs[_0x8049('0x33')](_0x561553[_0x8049('0x2f')][_0x8049('0x33')]));_0x3ffeeb[_0x8049('0x34')]=_0x3ffeeb['attributes'][_0x8049('0x43')]?_0x3ffeeb[_0x8049('0x34')]:_0x3a7b43['model'];if(_0x561553[_0x8049('0x2f')][_0x8049('0x44')]){_0x3ffeeb[_0x8049('0x3e')]=[{'all':!![]}];}_0x3ffeeb=_[_0x8049('0x3b')]({},_0x3ffeeb,_0x561553[_0x8049('0x3d')]);return db[_0x8049('0x2b')][_0x8049('0x45')](_0x3ffeeb)[_0x8049('0x24')](handleEntityNotFound(_0x28742b,null))[_0x8049('0x24')](respondWithResult(_0x28742b,null))[_0x8049('0x46')](handleError(_0x28742b,null));};exports[_0x8049('0x47')]=function(_0x5b82be,_0x4c0724){return db[_0x8049('0x2b')][_0x8049('0x47')](_0x5b82be[_0x8049('0x48')],{})['then'](respondWithResult(_0x4c0724,0xc9))[_0x8049('0x46')](handleError(_0x4c0724,null));};exports['update']=function(_0x22820e,_0x1748f6){if(_0x22820e[_0x8049('0x48')]['id']){delete _0x22820e[_0x8049('0x48')]['id'];}return db[_0x8049('0x2b')][_0x8049('0x45')]({'where':{'id':_0x22820e[_0x8049('0x41')]['id']}})[_0x8049('0x24')](handleEntityNotFound(_0x1748f6,null))[_0x8049('0x24')](saveUpdates(_0x22820e[_0x8049('0x48')],null))[_0x8049('0x24')](respondWithResult(_0x1748f6,null))[_0x8049('0x46')](handleError(_0x1748f6,null));};exports[_0x8049('0x23')]=function(_0x24c31d,_0x57b1d1){return db[_0x8049('0x2b')]['find']({'where':{'id':_0x24c31d[_0x8049('0x41')]['id']}})[_0x8049('0x24')](handleEntityNotFound(_0x57b1d1,null))[_0x8049('0x24')](removeEntity(_0x57b1d1,null))['catch'](handleError(_0x57b1d1,null));};