0970e03b54ca3805ff46a721d52d52453e50f779
[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 _0xbabe=['fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','order','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','create','body','update','find','eml-format','rimraf','fast-json-patch','bluebird','util','path','to-csv','fs-extra','lodash','squel','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','end','status','json','undefined','limit','count','offset','apply','reject','save','then','destroy','error','stack','name','ZohoField','rawAttributes'];(function(_0x15e70c,_0x5ac1d6){var _0x5f2f41=function(_0x397c9a){while(--_0x397c9a){_0x15e70c['push'](_0x15e70c['shift']());}};_0x5f2f41(++_0x5ac1d6);}(_0xbabe,0x12e));var _0xebab=function(_0x11d6a1,_0x57db5d){_0x11d6a1=_0x11d6a1-0x0;var _0x5c2e4b=_0xbabe[_0x11d6a1];return _0x5c2e4b;};'use strict';var emlformat=require(_0xebab('0x0'));var rimraf=require(_0xebab('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xebab('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xebab('0x3'));var Mustache=require('mustache');var util=require(_0xebab('0x4'));var path=require(_0xebab('0x5'));var sox=require('sox');var csv=require(_0xebab('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xebab('0x7'));var _=require(_0xebab('0x8'));var squel=require(_0xebab('0x9'));var crypto=require('crypto');var jsforce=require(_0xebab('0xa'));var deskjs=require(_0xebab('0xb'));var toCsv=require(_0xebab('0x6'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xebab('0xc'));var authService=require(_0xebab('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0xebab('0xe'));var hardwareService=require(_0xebab('0xf'));var logger=require(_0xebab('0x10'))(_0xebab('0x11'));var utils=require(_0xebab('0x12'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xebab('0x13'))['db'];function respondWithStatusCode(_0x490c37,_0x22ae65){_0x22ae65=_0x22ae65||0xcc;return function(_0x2f732b){if(_0x2f732b){return _0x490c37[_0xebab('0x14')](_0x22ae65);}return _0x490c37['status'](_0x22ae65)[_0xebab('0x15')]();};}function respondWithResult(_0x254192,_0x12346f){_0x12346f=_0x12346f||0xc8;return function(_0x5e6af8){if(_0x5e6af8){return _0x254192[_0xebab('0x16')](_0x12346f)[_0xebab('0x17')](_0x5e6af8);}};}function respondWithFilteredResult(_0x43455e,_0x4725fd){return function(_0x1685c0){if(_0x1685c0){var _0xcfe2c6=typeof _0x4725fd['offset']===_0xebab('0x18')&&typeof _0x4725fd[_0xebab('0x19')]===_0xebab('0x18');var _0x45eff7=_0x1685c0[_0xebab('0x1a')];var _0x55be30=_0xcfe2c6?0x0:_0x4725fd[_0xebab('0x1b')];var _0x9e684a=_0xcfe2c6?_0x1685c0[_0xebab('0x1a')]:_0x4725fd[_0xebab('0x1b')]+_0x4725fd[_0xebab('0x19')];var _0x88ad5d;if(_0x9e684a>=_0x45eff7){_0x9e684a=_0x45eff7;_0x88ad5d=0xc8;}else{_0x88ad5d=0xce;}_0x43455e[_0xebab('0x16')](_0x88ad5d);return _0x43455e['set']('Content-Range',_0x55be30+'-'+_0x9e684a+'/'+_0x45eff7)[_0xebab('0x17')](_0x1685c0);}return null;};}function patchUpdates(_0x17b598){return function(_0x47b5e1){try{jsonpatch[_0xebab('0x1c')](_0x47b5e1,_0x17b598,!![]);}catch(_0x3aed40){return BPromise[_0xebab('0x1d')](_0x3aed40);}return _0x47b5e1[_0xebab('0x1e')]();};}function saveUpdates(_0x55f4bc,_0x35bdf6){return function(_0x5c8e43){if(_0x5c8e43){return _0x5c8e43['update'](_0x55f4bc)[_0xebab('0x1f')](function(_0x570a9d){return _0x570a9d;});}return null;};}function removeEntity(_0x5c24fa,_0x1c0c5c){return function(_0x1e746e){if(_0x1e746e){return _0x1e746e[_0xebab('0x20')]()[_0xebab('0x1f')](function(){_0x5c24fa[_0xebab('0x16')](0xcc)[_0xebab('0x15')]();});}};}function handleEntityNotFound(_0x433df3,_0x1da6b3){return function(_0x375376){if(!_0x375376){_0x433df3[_0xebab('0x14')](0x194);}return _0x375376;};}function handleError(_0xf81c17,_0x5b7673){_0x5b7673=_0x5b7673||0x1f4;return function(_0x42ea40){logger[_0xebab('0x21')](_0x42ea40[_0xebab('0x22')]);if(_0x42ea40[_0xebab('0x23')]){delete _0x42ea40[_0xebab('0x23')];}_0xf81c17[_0xebab('0x16')](_0x5b7673)['send'](_0x42ea40);};}exports['index']=function(_0x31b049,_0x6addb2){var _0x304695={},_0x43287a={},_0x3e660c={'count':0x0,'rows':[]};var _0x36b827=_['map'](db[_0xebab('0x24')][_0xebab('0x25')],function(_0x4d74fe){return{'name':_0x4d74fe[_0xebab('0x26')],'type':_0x4d74fe['type'][_0xebab('0x27')]};});_0x43287a[_0xebab('0x28')]=_[_0xebab('0x29')](_0x36b827,_0xebab('0x23'));_0x43287a[_0xebab('0x2a')]=_[_0xebab('0x2b')](_0x31b049['query']);_0x43287a[_0xebab('0x2c')]=_[_0xebab('0x2d')](_0x43287a[_0xebab('0x28')],_0x43287a[_0xebab('0x2a')]);_0x304695[_0xebab('0x2e')]=_[_0xebab('0x2d')](_0x43287a[_0xebab('0x28')],qs['fields'](_0x31b049[_0xebab('0x2a')][_0xebab('0x2f')]));_0x304695[_0xebab('0x2e')]=_0x304695['attributes'][_0xebab('0x30')]?_0x304695[_0xebab('0x2e')]:_0x43287a[_0xebab('0x28')];if(!_0x31b049[_0xebab('0x2a')]['hasOwnProperty']('nolimit')){_0x304695[_0xebab('0x19')]=qs[_0xebab('0x19')](_0x31b049['query'][_0xebab('0x19')]);_0x304695[_0xebab('0x1b')]=qs[_0xebab('0x1b')](_0x31b049[_0xebab('0x2a')][_0xebab('0x1b')]);}_0x304695[_0xebab('0x31')]=qs['sort'](_0x31b049[_0xebab('0x2a')]['sort']);_0x304695[_0xebab('0x32')]=qs[_0xebab('0x2c')](_[_0xebab('0x33')](_0x31b049[_0xebab('0x2a')],_0x43287a[_0xebab('0x2c')]),_0x36b827);if(_0x31b049[_0xebab('0x2a')][_0xebab('0x34')]){_0x304695['where']=_[_0xebab('0x35')](_0x304695[_0xebab('0x32')],{'$or':_[_0xebab('0x29')](_0x36b827,function(_0x3e5805){if(_0x3e5805[_0xebab('0x36')]!==_0xebab('0x37')){var _0x37fab9={};_0x37fab9[_0x3e5805[_0xebab('0x23')]]={'$like':'%'+_0x31b049[_0xebab('0x2a')][_0xebab('0x34')]+'%'};return _0x37fab9;}})});}_0x304695=_['merge']({},_0x304695,_0x31b049[_0xebab('0x38')]);var _0x29a1d2={'where':_0x304695[_0xebab('0x32')]};return db[_0xebab('0x24')][_0xebab('0x1a')](_0x29a1d2)[_0xebab('0x1f')](function(_0x248a17){_0x3e660c[_0xebab('0x1a')]=_0x248a17;if(_0x31b049['query'][_0xebab('0x39')]){_0x304695[_0xebab('0x3a')]=[{'all':!![]}];}return db[_0xebab('0x24')][_0xebab('0x3b')](_0x304695);})['then'](function(_0x4fbc8c){_0x3e660c[_0xebab('0x3c')]=_0x4fbc8c;return _0x3e660c;})['then'](respondWithFilteredResult(_0x6addb2,_0x304695))[_0xebab('0x3d')](handleError(_0x6addb2,null));};exports[_0xebab('0x3e')]=function(_0xad0fd4,_0x8690f6){var _0xc78304={'raw':!![],'where':{'id':_0xad0fd4[_0xebab('0x3f')]['id']}},_0x75ce3f={};_0x75ce3f[_0xebab('0x28')]=_[_0xebab('0x2b')](db[_0xebab('0x24')][_0xebab('0x25')]);_0x75ce3f[_0xebab('0x2a')]=_[_0xebab('0x2b')](_0xad0fd4[_0xebab('0x2a')]);_0x75ce3f['filters']=_['intersection'](_0x75ce3f[_0xebab('0x28')],_0x75ce3f[_0xebab('0x2a')]);_0xc78304[_0xebab('0x2e')]=_[_0xebab('0x2d')](_0x75ce3f['model'],qs[_0xebab('0x2f')](_0xad0fd4[_0xebab('0x2a')][_0xebab('0x2f')]));_0xc78304[_0xebab('0x2e')]=_0xc78304[_0xebab('0x2e')][_0xebab('0x30')]?_0xc78304['attributes']:_0x75ce3f[_0xebab('0x28')];if(_0xad0fd4['query']['includeAll']){_0xc78304[_0xebab('0x3a')]=[{'all':!![]}];}_0xc78304=_['merge']({},_0xc78304,_0xad0fd4['options']);return db[_0xebab('0x24')]['find'](_0xc78304)[_0xebab('0x1f')](handleEntityNotFound(_0x8690f6,null))['then'](respondWithResult(_0x8690f6,null))[_0xebab('0x3d')](handleError(_0x8690f6,null));};exports[_0xebab('0x40')]=function(_0x7da680,_0x5b8030){return db[_0xebab('0x24')]['create'](_0x7da680[_0xebab('0x41')],{})[_0xebab('0x1f')](respondWithResult(_0x5b8030,0xc9))[_0xebab('0x3d')](handleError(_0x5b8030,null));};exports[_0xebab('0x42')]=function(_0x5aa274,_0x54ec13){if(_0x5aa274[_0xebab('0x41')]['id']){delete _0x5aa274['body']['id'];}return db['ZohoField'][_0xebab('0x43')]({'where':{'id':_0x5aa274['params']['id']}})[_0xebab('0x1f')](handleEntityNotFound(_0x54ec13,null))[_0xebab('0x1f')](saveUpdates(_0x5aa274[_0xebab('0x41')],null))[_0xebab('0x1f')](respondWithResult(_0x54ec13,null))[_0xebab('0x3d')](handleError(_0x54ec13,null));};exports['destroy']=function(_0x1f32a3,_0x53b88f){return db[_0xebab('0x24')][_0xebab('0x43')]({'where':{'id':_0x1f32a3[_0xebab('0x3f')]['id']}})['then'](handleEntityNotFound(_0x53b88f,null))[_0xebab('0x1f')](removeEntity(_0x53b88f,null))[_0xebab('0x3d')](handleError(_0x53b88f,null));};