Built motion from commit fe909640.|2.6.8
[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 _0x6490=['name','send','index','map','ZohoField','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','options','includeAll','include','findAll','catch','show','params','keys','rawAttributes','find','create','body','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','crypto','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','offset','count','limit','set','apply','save','update','then','destroy','sendStatus','error','stack'];(function(_0x27c888,_0x297c5d){var _0xe88ebd=function(_0x454dc3){while(--_0x454dc3){_0x27c888['push'](_0x27c888['shift']());}};_0xe88ebd(++_0x297c5d);}(_0x6490,0x195));var _0x0649=function(_0x25f3e3,_0x207891){_0x25f3e3=_0x25f3e3-0x0;var _0xa89b6d=_0x6490[_0x25f3e3];return _0xa89b6d;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x0649('0x0'));var jsonpatch=require(_0x0649('0x1'));var rp=require('request-promise');var moment=require(_0x0649('0x2'));var BPromise=require(_0x0649('0x3'));var Mustache=require(_0x0649('0x4'));var util=require(_0x0649('0x5'));var path=require(_0x0649('0x6'));var sox=require(_0x0649('0x7'));var csv=require('to-csv');var ejs=require(_0x0649('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x0649('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x0649('0xa'));var toCsv=require(_0x0649('0xb'));var querystring=require(_0x0649('0xc'));var Papa=require(_0x0649('0xd'));var Redis=require('ioredis');var authService=require(_0x0649('0xe'));var qs=require(_0x0649('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0649('0x10'));var logger=require(_0x0649('0x11'))(_0x0649('0x12'));var utils=require(_0x0649('0x13'));var config=require(_0x0649('0x14'));var licenseUtil=require(_0x0649('0x15'));var db=require(_0x0649('0x16'))['db'];function respondWithStatusCode(_0x4f433d,_0x53feea){_0x53feea=_0x53feea||0xcc;return function(_0x31335a){if(_0x31335a){return _0x4f433d['sendStatus'](_0x53feea);}return _0x4f433d[_0x0649('0x17')](_0x53feea)[_0x0649('0x18')]();};}function respondWithResult(_0x4e10bf,_0x350fc4){_0x350fc4=_0x350fc4||0xc8;return function(_0x5a622c){if(_0x5a622c){return _0x4e10bf[_0x0649('0x17')](_0x350fc4)[_0x0649('0x19')](_0x5a622c);}};}function respondWithFilteredResult(_0x5ec6e6,_0x27aef8){return function(_0x2fb207){if(_0x2fb207){var _0x41fb9d=typeof _0x27aef8['offset']===_0x0649('0x1a')&&typeof _0x27aef8['limit']===_0x0649('0x1a');var _0x3442f9=_0x2fb207['count'];var _0xa1f0cb=_0x41fb9d?0x0:_0x27aef8[_0x0649('0x1b')];var _0x23f14b=_0x41fb9d?_0x2fb207[_0x0649('0x1c')]:_0x27aef8[_0x0649('0x1b')]+_0x27aef8[_0x0649('0x1d')];var _0x2670f7;if(_0x23f14b>=_0x3442f9){_0x23f14b=_0x3442f9;_0x2670f7=0xc8;}else{_0x2670f7=0xce;}_0x5ec6e6[_0x0649('0x17')](_0x2670f7);return _0x5ec6e6[_0x0649('0x1e')]('Content-Range',_0xa1f0cb+'-'+_0x23f14b+'/'+_0x3442f9)['json'](_0x2fb207);}return null;};}function patchUpdates(_0x385e82){return function(_0x53afc2){try{jsonpatch[_0x0649('0x1f')](_0x53afc2,_0x385e82,!![]);}catch(_0x46fe3b){return BPromise['reject'](_0x46fe3b);}return _0x53afc2[_0x0649('0x20')]();};}function saveUpdates(_0x241126,_0x4661ac){return function(_0x2b8bc5){if(_0x2b8bc5){return _0x2b8bc5[_0x0649('0x21')](_0x241126)[_0x0649('0x22')](function(_0x363d3e){return _0x363d3e;});}return null;};}function removeEntity(_0x34dca8,_0x50ed5d){return function(_0x4d5e20){if(_0x4d5e20){return _0x4d5e20[_0x0649('0x23')]()[_0x0649('0x22')](function(){_0x34dca8['status'](0xcc)[_0x0649('0x18')]();});}};}function handleEntityNotFound(_0x4d88b2,_0x620ea4){return function(_0x2bdf58){if(!_0x2bdf58){_0x4d88b2[_0x0649('0x24')](0x194);}return _0x2bdf58;};}function handleError(_0x1f4c05,_0x6e9e37){_0x6e9e37=_0x6e9e37||0x1f4;return function(_0x526383){logger[_0x0649('0x25')](_0x526383[_0x0649('0x26')]);if(_0x526383[_0x0649('0x27')]){delete _0x526383[_0x0649('0x27')];}_0x1f4c05[_0x0649('0x17')](_0x6e9e37)[_0x0649('0x28')](_0x526383);};}exports[_0x0649('0x29')]=function(_0x306dba,_0x450926){var _0xfac9d3={},_0x3cc27a={},_0x23cf3d={'count':0x0,'rows':[]};var _0x1b9e00=_[_0x0649('0x2a')](db[_0x0649('0x2b')]['rawAttributes'],function(_0x4612a2){return{'name':_0x4612a2[_0x0649('0x2c')],'type':_0x4612a2[_0x0649('0x2d')][_0x0649('0x2e')]};});_0x3cc27a[_0x0649('0x2f')]=_[_0x0649('0x2a')](_0x1b9e00,_0x0649('0x27'));_0x3cc27a[_0x0649('0x30')]=_['keys'](_0x306dba[_0x0649('0x30')]);_0x3cc27a['filters']=_[_0x0649('0x31')](_0x3cc27a[_0x0649('0x2f')],_0x3cc27a[_0x0649('0x30')]);_0xfac9d3[_0x0649('0x32')]=_[_0x0649('0x31')](_0x3cc27a[_0x0649('0x2f')],qs[_0x0649('0x33')](_0x306dba[_0x0649('0x30')][_0x0649('0x33')]));_0xfac9d3[_0x0649('0x32')]=_0xfac9d3[_0x0649('0x32')][_0x0649('0x34')]?_0xfac9d3['attributes']:_0x3cc27a['model'];if(!_0x306dba[_0x0649('0x30')][_0x0649('0x35')](_0x0649('0x36'))){_0xfac9d3[_0x0649('0x1d')]=qs[_0x0649('0x1d')](_0x306dba[_0x0649('0x30')][_0x0649('0x1d')]);_0xfac9d3['offset']=qs[_0x0649('0x1b')](_0x306dba['query']['offset']);}_0xfac9d3[_0x0649('0x37')]=qs[_0x0649('0x38')](_0x306dba[_0x0649('0x30')]['sort']);_0xfac9d3['where']=qs[_0x0649('0x39')](_[_0x0649('0x3a')](_0x306dba[_0x0649('0x30')],_0x3cc27a[_0x0649('0x39')]),_0x1b9e00);if(_0x306dba[_0x0649('0x30')][_0x0649('0x3b')]){_0xfac9d3[_0x0649('0x3c')]=_[_0x0649('0x3d')](_0xfac9d3[_0x0649('0x3c')],{'$or':_[_0x0649('0x2a')](_0x1b9e00,function(_0x523dda){if(_0x523dda[_0x0649('0x2d')]!=='VIRTUAL'){var _0x168a20={};_0x168a20[_0x523dda[_0x0649('0x27')]]={'$like':'%'+_0x306dba[_0x0649('0x30')][_0x0649('0x3b')]+'%'};return _0x168a20;}})});}_0xfac9d3=_[_0x0649('0x3d')]({},_0xfac9d3,_0x306dba[_0x0649('0x3e')]);var _0xfa4283={'where':_0xfac9d3[_0x0649('0x3c')]};return db[_0x0649('0x2b')][_0x0649('0x1c')](_0xfa4283)[_0x0649('0x22')](function(_0x5bb9fe){_0x23cf3d[_0x0649('0x1c')]=_0x5bb9fe;if(_0x306dba['query'][_0x0649('0x3f')]){_0xfac9d3[_0x0649('0x40')]=[{'all':!![]}];}return db[_0x0649('0x2b')][_0x0649('0x41')](_0xfac9d3);})[_0x0649('0x22')](function(_0x146f72){_0x23cf3d['rows']=_0x146f72;return _0x23cf3d;})[_0x0649('0x22')](respondWithFilteredResult(_0x450926,_0xfac9d3))[_0x0649('0x42')](handleError(_0x450926,null));};exports[_0x0649('0x43')]=function(_0x5633b0,_0x41a86b){var _0x51f6f5={'raw':!![],'where':{'id':_0x5633b0[_0x0649('0x44')]['id']}},_0x702b39={};_0x702b39[_0x0649('0x2f')]=_[_0x0649('0x45')](db[_0x0649('0x2b')][_0x0649('0x46')]);_0x702b39['query']=_['keys'](_0x5633b0[_0x0649('0x30')]);_0x702b39['filters']=_['intersection'](_0x702b39[_0x0649('0x2f')],_0x702b39[_0x0649('0x30')]);_0x51f6f5[_0x0649('0x32')]=_[_0x0649('0x31')](_0x702b39[_0x0649('0x2f')],qs[_0x0649('0x33')](_0x5633b0[_0x0649('0x30')]['fields']));_0x51f6f5['attributes']=_0x51f6f5[_0x0649('0x32')]['length']?_0x51f6f5[_0x0649('0x32')]:_0x702b39[_0x0649('0x2f')];if(_0x5633b0['query']['includeAll']){_0x51f6f5[_0x0649('0x40')]=[{'all':!![]}];}_0x51f6f5=_[_0x0649('0x3d')]({},_0x51f6f5,_0x5633b0[_0x0649('0x3e')]);return db[_0x0649('0x2b')][_0x0649('0x47')](_0x51f6f5)[_0x0649('0x22')](handleEntityNotFound(_0x41a86b,null))['then'](respondWithResult(_0x41a86b,null))[_0x0649('0x42')](handleError(_0x41a86b,null));};exports['create']=function(_0x3c3823,_0x4a183c){return db[_0x0649('0x2b')][_0x0649('0x48')](_0x3c3823['body'],{})['then'](respondWithResult(_0x4a183c,0xc9))[_0x0649('0x42')](handleError(_0x4a183c,null));};exports['update']=function(_0x28501a,_0x5d5657){if(_0x28501a[_0x0649('0x49')]['id']){delete _0x28501a[_0x0649('0x49')]['id'];}return db[_0x0649('0x2b')][_0x0649('0x47')]({'where':{'id':_0x28501a[_0x0649('0x44')]['id']}})[_0x0649('0x22')](handleEntityNotFound(_0x5d5657,null))[_0x0649('0x22')](saveUpdates(_0x28501a[_0x0649('0x49')],null))['then'](respondWithResult(_0x5d5657,null))[_0x0649('0x42')](handleError(_0x5d5657,null));};exports[_0x0649('0x23')]=function(_0x6a7261,_0x49fd1b){return db[_0x0649('0x2b')][_0x0649('0x47')]({'where':{'id':_0x6a7261[_0x0649('0x44')]['id']}})[_0x0649('0x22')](handleEntityNotFound(_0x49fd1b,null))[_0x0649('0x22')](removeEntity(_0x49fd1b,null))[_0x0649('0x42')](handleError(_0x49fd1b,null));};