5d37d9a152076eb1d7f3b35aa80f333424e822d1
[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 _0x410c=['sendStatus','status','json','count','offset','limit','set','Content-Range','reject','update','destroy','end','error','name','send','index','map','ZohoField','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','merge','VIRTUAL','filter','then','includeAll','include','findAll','rows','catch','show','rawAttributes','keys','find','create','body','params','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x2cce31,_0x3108e5){var _0x3db52b=function(_0x4211bb){while(--_0x4211bb){_0x2cce31['push'](_0x2cce31['shift']());}};_0x3db52b(++_0x3108e5);}(_0x410c,0x198));var _0xc410=function(_0x384fbf,_0x3e9e6e){_0x384fbf=_0x384fbf-0x0;var _0x45e929=_0x410c[_0x384fbf];return _0x45e929;};'use strict';var emlformat=require(_0xc410('0x0'));var rimraf=require(_0xc410('0x1'));var zipdir=require(_0xc410('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc410('0x3'));var moment=require('moment');var BPromise=require(_0xc410('0x4'));var Mustache=require(_0xc410('0x5'));var util=require(_0xc410('0x6'));var path=require(_0xc410('0x7'));var sox=require(_0xc410('0x8'));var csv=require(_0xc410('0x9'));var ejs=require(_0xc410('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc410('0xb'));var squel=require('squel');var crypto=require(_0xc410('0xc'));var jsforce=require(_0xc410('0xd'));var deskjs=require(_0xc410('0xe'));var toCsv=require(_0xc410('0x9'));var querystring=require('querystring');var Papa=require(_0xc410('0xf'));var Redis=require(_0xc410('0x10'));var authService=require(_0xc410('0x11'));var qs=require(_0xc410('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xc410('0x13'))('api');var utils=require(_0xc410('0x14'));var config=require(_0xc410('0x15'));var licenseUtil=require(_0xc410('0x16'));var db=require(_0xc410('0x17'))['db'];function respondWithStatusCode(_0x22dc45,_0x1eda83){_0x1eda83=_0x1eda83||0xcc;return function(_0x546c71){if(_0x546c71){return _0x22dc45[_0xc410('0x18')](_0x1eda83);}return _0x22dc45[_0xc410('0x19')](_0x1eda83)['end']();};}function respondWithResult(_0x1b8d9d,_0x5507f2){_0x5507f2=_0x5507f2||0xc8;return function(_0x1bf798){if(_0x1bf798){return _0x1b8d9d['status'](_0x5507f2)[_0xc410('0x1a')](_0x1bf798);}};}function respondWithFilteredResult(_0x181dbd,_0x137d4d){return function(_0x5d1cd4){if(_0x5d1cd4){var _0x101a35=_0x5d1cd4[_0xc410('0x1b')],_0x2ce0a3=_0x137d4d[_0xc410('0x1c')],_0x5ec8f4=_0x137d4d[_0xc410('0x1c')]+_0x137d4d[_0xc410('0x1d')],_0x49180c;if(_0x5ec8f4>=_0x101a35){_0x5ec8f4=_0x101a35;_0x49180c=0xc8;}else{_0x49180c=0xce;}_0x181dbd['status'](_0x49180c);return _0x181dbd[_0xc410('0x1e')](_0xc410('0x1f'),_0x2ce0a3+'-'+_0x5ec8f4+'/'+_0x101a35)[_0xc410('0x1a')](_0x5d1cd4);}return null;};}function patchUpdates(_0x3c545d){return function(_0xfb701a){try{jsonpatch['apply'](_0xfb701a,_0x3c545d,!![]);}catch(_0x5eec7d){return BPromise[_0xc410('0x20')](_0x5eec7d);}return _0xfb701a['save']();};}function saveUpdates(_0x25df13,_0x6db180){return function(_0x14bab2){if(_0x14bab2){return _0x14bab2[_0xc410('0x21')](_0x25df13)['then'](function(_0x372522){return _0x372522;});}return null;};}function removeEntity(_0x27d006,_0x53e4c5){return function(_0x1a5137){if(_0x1a5137){return _0x1a5137[_0xc410('0x22')]()['then'](function(){_0x27d006[_0xc410('0x19')](0xcc)[_0xc410('0x23')]();});}};}function handleEntityNotFound(_0x52151c,_0x355c95){return function(_0x16b2cf){if(!_0x16b2cf){_0x52151c[_0xc410('0x18')](0x194);}return _0x16b2cf;};}function handleError(_0x328b0a,_0x16a185){_0x16a185=_0x16a185||0x1f4;return function(_0x5483ed){logger[_0xc410('0x24')](_0x5483ed['stack']);if(_0x5483ed[_0xc410('0x25')]){delete _0x5483ed[_0xc410('0x25')];}_0x328b0a['status'](_0x16a185)[_0xc410('0x26')](_0x5483ed);};}exports[_0xc410('0x27')]=function(_0x296c6e,_0x334592){var _0x41d4c9={},_0x4e1823={},_0x44cc5a={'count':0x0,'rows':[]};var _0x568931=_[_0xc410('0x28')](db[_0xc410('0x29')]['rawAttributes'],function(_0x2ad87b){return{'name':_0x2ad87b[_0xc410('0x2a')],'type':_0x2ad87b[_0xc410('0x2b')][_0xc410('0x2c')]};});_0x4e1823[_0xc410('0x2d')]=_[_0xc410('0x28')](_0x568931,'name');_0x4e1823[_0xc410('0x2e')]=_['keys'](_0x296c6e['query']);_0x4e1823[_0xc410('0x2f')]=_[_0xc410('0x30')](_0x4e1823[_0xc410('0x2d')],_0x4e1823[_0xc410('0x2e')]);_0x41d4c9[_0xc410('0x31')]=_[_0xc410('0x30')](_0x4e1823[_0xc410('0x2d')],qs[_0xc410('0x32')](_0x296c6e[_0xc410('0x2e')][_0xc410('0x32')]));_0x41d4c9[_0xc410('0x31')]=_0x41d4c9[_0xc410('0x31')][_0xc410('0x33')]?_0x41d4c9[_0xc410('0x31')]:_0x4e1823[_0xc410('0x2d')];if(!_0x296c6e['query'][_0xc410('0x34')](_0xc410('0x35'))){_0x41d4c9[_0xc410('0x1d')]=qs[_0xc410('0x1d')](_0x296c6e[_0xc410('0x2e')][_0xc410('0x1d')]);_0x41d4c9[_0xc410('0x1c')]=qs[_0xc410('0x1c')](_0x296c6e[_0xc410('0x2e')]['offset']);}_0x41d4c9['order']=qs[_0xc410('0x36')](_0x296c6e[_0xc410('0x2e')]['sort']);_0x41d4c9[_0xc410('0x37')]=qs['filters'](_['pick'](_0x296c6e[_0xc410('0x2e')],_0x4e1823['filters']),_0x568931);if(_0x296c6e[_0xc410('0x2e')]['filter']){_0x41d4c9['where']=_[_0xc410('0x38')](_0x41d4c9[_0xc410('0x37')],{'$or':_[_0xc410('0x28')](_0x568931,function(_0x3a5e81){if(_0x3a5e81[_0xc410('0x2b')]!==_0xc410('0x39')){var _0x10889f={};_0x10889f[_0x3a5e81['name']]={'$like':'%'+_0x296c6e[_0xc410('0x2e')][_0xc410('0x3a')]+'%'};return _0x10889f;}})});}_0x41d4c9=_['merge']({},_0x41d4c9,_0x296c6e['options']);var _0x856c7f={'where':_0x41d4c9['where']};return db[_0xc410('0x29')][_0xc410('0x1b')](_0x856c7f)[_0xc410('0x3b')](function(_0x46e052){_0x44cc5a[_0xc410('0x1b')]=_0x46e052;if(_0x296c6e[_0xc410('0x2e')][_0xc410('0x3c')]){_0x41d4c9[_0xc410('0x3d')]=[{'all':!![]}];}return db['ZohoField'][_0xc410('0x3e')](_0x41d4c9);})[_0xc410('0x3b')](function(_0x16c646){_0x44cc5a[_0xc410('0x3f')]=_0x16c646;return _0x44cc5a;})[_0xc410('0x3b')](respondWithFilteredResult(_0x334592,_0x41d4c9))[_0xc410('0x40')](handleError(_0x334592,null));};exports[_0xc410('0x41')]=function(_0x7b43db,_0x453478){var _0x4050fe={'raw':!![],'where':{'id':_0x7b43db['params']['id']}},_0x44795f={};_0x44795f[_0xc410('0x2d')]=_['keys'](db[_0xc410('0x29')][_0xc410('0x42')]);_0x44795f[_0xc410('0x2e')]=_[_0xc410('0x43')](_0x7b43db[_0xc410('0x2e')]);_0x44795f[_0xc410('0x2f')]=_['intersection'](_0x44795f[_0xc410('0x2d')],_0x44795f[_0xc410('0x2e')]);_0x4050fe['attributes']=_[_0xc410('0x30')](_0x44795f[_0xc410('0x2d')],qs['fields'](_0x7b43db[_0xc410('0x2e')][_0xc410('0x32')]));_0x4050fe['attributes']=_0x4050fe['attributes'][_0xc410('0x33')]?_0x4050fe[_0xc410('0x31')]:_0x44795f['model'];if(_0x7b43db[_0xc410('0x2e')][_0xc410('0x3c')]){_0x4050fe[_0xc410('0x3d')]=[{'all':!![]}];}_0x4050fe=_['merge']({},_0x4050fe,_0x7b43db['options']);return db[_0xc410('0x29')][_0xc410('0x44')](_0x4050fe)['then'](handleEntityNotFound(_0x453478,null))['then'](respondWithResult(_0x453478,null))[_0xc410('0x40')](handleError(_0x453478,null));};exports[_0xc410('0x45')]=function(_0x13de3c,_0x31090e){return db['ZohoField'][_0xc410('0x45')](_0x13de3c['body'],{})[_0xc410('0x3b')](respondWithResult(_0x31090e,0xc9))[_0xc410('0x40')](handleError(_0x31090e,null));};exports['update']=function(_0x19aaec,_0x2a3350){if(_0x19aaec[_0xc410('0x46')]['id']){delete _0x19aaec[_0xc410('0x46')]['id'];}return db[_0xc410('0x29')][_0xc410('0x44')]({'where':{'id':_0x19aaec[_0xc410('0x47')]['id']}})[_0xc410('0x3b')](handleEntityNotFound(_0x2a3350,null))['then'](saveUpdates(_0x19aaec[_0xc410('0x46')],null))[_0xc410('0x3b')](respondWithResult(_0x2a3350,null))[_0xc410('0x40')](handleError(_0x2a3350,null));};exports[_0xc410('0x22')]=function(_0x4da723,_0x11e169){return db['ZohoField']['find']({'where':{'id':_0x4da723[_0xc410('0x47')]['id']}})[_0xc410('0x3b')](handleEntityNotFound(_0x11e169,null))['then'](removeEntity(_0x11e169,null))['catch'](handleError(_0x11e169,null));};