152dcb02617e9c85d0122562fd4df749688bdc85
[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 _0xfdf2=['set','apply','reject','save','update','then','destroy','stack','name','ZohoField','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','map','VIRTUAL','filter','merge','options','include','rows','catch','params','keys','includeAll','find','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count'];(function(_0x1d3bb9,_0x53e071){var _0xe2227=function(_0x2b6b4d){while(--_0x2b6b4d){_0x1d3bb9['push'](_0x1d3bb9['shift']());}};_0xe2227(++_0x53e071);}(_0xfdf2,0xf3));var _0x2fdf=function(_0x1f576f,_0x341bd3){_0x1f576f=_0x1f576f-0x0;var _0x1e4467=_0xfdf2[_0x1f576f];return _0x1e4467;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2fdf('0x0'));var zipdir=require(_0x2fdf('0x1'));var jsonpatch=require(_0x2fdf('0x2'));var rp=require(_0x2fdf('0x3'));var moment=require(_0x2fdf('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x2fdf('0x5'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x2fdf('0x6'));var ejs=require(_0x2fdf('0x7'));var fs=require('fs');var fs_extra=require(_0x2fdf('0x8'));var _=require('lodash');var squel=require(_0x2fdf('0x9'));var crypto=require(_0x2fdf('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x2fdf('0xb'));var toCsv=require(_0x2fdf('0x6'));var querystring=require(_0x2fdf('0xc'));var Papa=require(_0x2fdf('0xd'));var Redis=require(_0x2fdf('0xe'));var authService=require(_0x2fdf('0xf'));var qs=require(_0x2fdf('0x10'));var as=require(_0x2fdf('0x11'));var hardwareService=require(_0x2fdf('0x12'));var logger=require(_0x2fdf('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x2fdf('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x15d0bf,_0x472630){_0x472630=_0x472630||0xcc;return function(_0x127b94){if(_0x127b94){return _0x15d0bf[_0x2fdf('0x15')](_0x472630);}return _0x15d0bf['status'](_0x472630)[_0x2fdf('0x16')]();};}function respondWithResult(_0x1f1275,_0x339a13){_0x339a13=_0x339a13||0xc8;return function(_0xbe6445){if(_0xbe6445){return _0x1f1275[_0x2fdf('0x17')](_0x339a13)[_0x2fdf('0x18')](_0xbe6445);}};}function respondWithFilteredResult(_0x189743,_0x26846b){return function(_0x4ef49f){if(_0x4ef49f){var _0x39e72c=typeof _0x26846b[_0x2fdf('0x19')]===_0x2fdf('0x1a')&&typeof _0x26846b[_0x2fdf('0x1b')]==='undefined';var _0x117867=_0x4ef49f[_0x2fdf('0x1c')];var _0x221ef2=_0x39e72c?0x0:_0x26846b[_0x2fdf('0x19')];var _0x114f81=_0x39e72c?_0x4ef49f[_0x2fdf('0x1c')]:_0x26846b[_0x2fdf('0x19')]+_0x26846b[_0x2fdf('0x1b')];var _0x2f7712;if(_0x114f81>=_0x117867){_0x114f81=_0x117867;_0x2f7712=0xc8;}else{_0x2f7712=0xce;}_0x189743['status'](_0x2f7712);return _0x189743[_0x2fdf('0x1d')]('Content-Range',_0x221ef2+'-'+_0x114f81+'/'+_0x117867)[_0x2fdf('0x18')](_0x4ef49f);}return null;};}function patchUpdates(_0x306759){return function(_0x1f5344){try{jsonpatch[_0x2fdf('0x1e')](_0x1f5344,_0x306759,!![]);}catch(_0x2dc3ee){return BPromise[_0x2fdf('0x1f')](_0x2dc3ee);}return _0x1f5344[_0x2fdf('0x20')]();};}function saveUpdates(_0x2df846,_0x310d68){return function(_0x2c0dcd){if(_0x2c0dcd){return _0x2c0dcd[_0x2fdf('0x21')](_0x2df846)[_0x2fdf('0x22')](function(_0x4e6ab2){return _0x4e6ab2;});}return null;};}function removeEntity(_0x37def9,_0x4afbf7){return function(_0xee8c28){if(_0xee8c28){return _0xee8c28[_0x2fdf('0x23')]()[_0x2fdf('0x22')](function(){_0x37def9['status'](0xcc)[_0x2fdf('0x16')]();});}};}function handleEntityNotFound(_0x4333e2,_0x19d97b){return function(_0xf06d31){if(!_0xf06d31){_0x4333e2['sendStatus'](0x194);}return _0xf06d31;};}function handleError(_0x134b21,_0x694651){_0x694651=_0x694651||0x1f4;return function(_0x1f29a8){logger['error'](_0x1f29a8[_0x2fdf('0x24')]);if(_0x1f29a8['name']){delete _0x1f29a8[_0x2fdf('0x25')];}_0x134b21[_0x2fdf('0x17')](_0x694651)['send'](_0x1f29a8);};}exports['index']=function(_0xb3291f,_0x33dff9){var _0xf89f82={},_0xc86436={},_0x4a6d98={'count':0x0,'rows':[]};var _0x4bd304=_['map'](db[_0x2fdf('0x26')]['rawAttributes'],function(_0x300046){return{'name':_0x300046[_0x2fdf('0x27')],'type':_0x300046[_0x2fdf('0x28')][_0x2fdf('0x29')]};});_0xc86436[_0x2fdf('0x2a')]=_['map'](_0x4bd304,_0x2fdf('0x25'));_0xc86436[_0x2fdf('0x2b')]=_['keys'](_0xb3291f[_0x2fdf('0x2b')]);_0xc86436[_0x2fdf('0x2c')]=_['intersection'](_0xc86436['model'],_0xc86436[_0x2fdf('0x2b')]);_0xf89f82[_0x2fdf('0x2d')]=_[_0x2fdf('0x2e')](_0xc86436[_0x2fdf('0x2a')],qs[_0x2fdf('0x2f')](_0xb3291f[_0x2fdf('0x2b')][_0x2fdf('0x2f')]));_0xf89f82[_0x2fdf('0x2d')]=_0xf89f82[_0x2fdf('0x2d')][_0x2fdf('0x30')]?_0xf89f82[_0x2fdf('0x2d')]:_0xc86436['model'];if(!_0xb3291f[_0x2fdf('0x2b')][_0x2fdf('0x31')](_0x2fdf('0x32'))){_0xf89f82[_0x2fdf('0x1b')]=qs['limit'](_0xb3291f['query'][_0x2fdf('0x1b')]);_0xf89f82['offset']=qs['offset'](_0xb3291f[_0x2fdf('0x2b')][_0x2fdf('0x19')]);}_0xf89f82[_0x2fdf('0x33')]=qs[_0x2fdf('0x34')](_0xb3291f[_0x2fdf('0x2b')][_0x2fdf('0x34')]);_0xf89f82[_0x2fdf('0x35')]=qs['filters'](_[_0x2fdf('0x36')](_0xb3291f[_0x2fdf('0x2b')],_0xc86436[_0x2fdf('0x2c')]),_0x4bd304);if(_0xb3291f[_0x2fdf('0x2b')]['filter']){_0xf89f82[_0x2fdf('0x35')]=_['merge'](_0xf89f82[_0x2fdf('0x35')],{'$or':_[_0x2fdf('0x37')](_0x4bd304,function(_0x4604de){if(_0x4604de[_0x2fdf('0x28')]!==_0x2fdf('0x38')){var _0x5d091d={};_0x5d091d[_0x4604de[_0x2fdf('0x25')]]={'$like':'%'+_0xb3291f[_0x2fdf('0x2b')][_0x2fdf('0x39')]+'%'};return _0x5d091d;}})});}_0xf89f82=_[_0x2fdf('0x3a')]({},_0xf89f82,_0xb3291f[_0x2fdf('0x3b')]);var _0x71c678={'where':_0xf89f82['where']};return db[_0x2fdf('0x26')][_0x2fdf('0x1c')](_0x71c678)['then'](function(_0x23506f){_0x4a6d98[_0x2fdf('0x1c')]=_0x23506f;if(_0xb3291f[_0x2fdf('0x2b')]['includeAll']){_0xf89f82[_0x2fdf('0x3c')]=[{'all':!![]}];}return db['ZohoField']['findAll'](_0xf89f82);})['then'](function(_0x310b8b){_0x4a6d98[_0x2fdf('0x3d')]=_0x310b8b;return _0x4a6d98;})['then'](respondWithFilteredResult(_0x33dff9,_0xf89f82))[_0x2fdf('0x3e')](handleError(_0x33dff9,null));};exports['show']=function(_0x2cd62b,_0x3be452){var _0x19f33a={'raw':!![],'where':{'id':_0x2cd62b[_0x2fdf('0x3f')]['id']}},_0x21f5ee={};_0x21f5ee['model']=_[_0x2fdf('0x40')](db['ZohoField']['rawAttributes']);_0x21f5ee[_0x2fdf('0x2b')]=_[_0x2fdf('0x40')](_0x2cd62b[_0x2fdf('0x2b')]);_0x21f5ee['filters']=_[_0x2fdf('0x2e')](_0x21f5ee[_0x2fdf('0x2a')],_0x21f5ee['query']);_0x19f33a[_0x2fdf('0x2d')]=_['intersection'](_0x21f5ee[_0x2fdf('0x2a')],qs[_0x2fdf('0x2f')](_0x2cd62b[_0x2fdf('0x2b')]['fields']));_0x19f33a['attributes']=_0x19f33a[_0x2fdf('0x2d')][_0x2fdf('0x30')]?_0x19f33a['attributes']:_0x21f5ee['model'];if(_0x2cd62b[_0x2fdf('0x2b')][_0x2fdf('0x41')]){_0x19f33a[_0x2fdf('0x3c')]=[{'all':!![]}];}_0x19f33a=_[_0x2fdf('0x3a')]({},_0x19f33a,_0x2cd62b[_0x2fdf('0x3b')]);return db['ZohoField'][_0x2fdf('0x42')](_0x19f33a)['then'](handleEntityNotFound(_0x3be452,null))[_0x2fdf('0x22')](respondWithResult(_0x3be452,null))[_0x2fdf('0x3e')](handleError(_0x3be452,null));};exports['create']=function(_0x386d95,_0x242c0c){return db[_0x2fdf('0x26')]['create'](_0x386d95[_0x2fdf('0x43')],{})[_0x2fdf('0x22')](respondWithResult(_0x242c0c,0xc9))[_0x2fdf('0x3e')](handleError(_0x242c0c,null));};exports[_0x2fdf('0x21')]=function(_0x29b750,_0x40d563){if(_0x29b750[_0x2fdf('0x43')]['id']){delete _0x29b750[_0x2fdf('0x43')]['id'];}return db[_0x2fdf('0x26')][_0x2fdf('0x42')]({'where':{'id':_0x29b750[_0x2fdf('0x3f')]['id']}})[_0x2fdf('0x22')](handleEntityNotFound(_0x40d563,null))[_0x2fdf('0x22')](saveUpdates(_0x29b750[_0x2fdf('0x43')],null))['then'](respondWithResult(_0x40d563,null))[_0x2fdf('0x3e')](handleError(_0x40d563,null));};exports[_0x2fdf('0x23')]=function(_0x44ab5c,_0x23ad74){return db['ZohoField'][_0x2fdf('0x42')]({'where':{'id':_0x44ab5c['params']['id']}})['then'](handleEntityNotFound(_0x23ad74,null))[_0x2fdf('0x22')](removeEntity(_0x23ad74,null))[_0x2fdf('0x3e')](handleError(_0x23ad74,null));};