d9c899941bfd4f3d098db7557d2e80263a997bb1
[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 _0x61ac=['create','update','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','save','then','destroy','error','stack','name','send','merge','body','message','interaction','account','index','map','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','options','ZohoField','includeAll','findAll','catch','params','keys','include','find'];(function(_0x347844,_0x2741f6){var _0x577a7b=function(_0x3aaf18){while(--_0x3aaf18){_0x347844['push'](_0x347844['shift']());}};_0x577a7b(++_0x2741f6);}(_0x61ac,0x98));var _0xc61a=function(_0x36bfe3,_0x358938){_0x36bfe3=_0x36bfe3-0x0;var _0x9b0436=_0x61ac[_0x36bfe3];return _0x9b0436;};'use strict';var emlformat=require(_0xc61a('0x0'));var rimraf=require(_0xc61a('0x1'));var zipdir=require(_0xc61a('0x2'));var jsonpatch=require(_0xc61a('0x3'));var rp=require(_0xc61a('0x4'));var moment=require(_0xc61a('0x5'));var BPromise=require(_0xc61a('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xc61a('0x7'));var sox=require('sox');var csv=require(_0xc61a('0x8'));var ejs=require(_0xc61a('0x9'));var fs=require('fs');var fs_extra=require(_0xc61a('0xa'));var _=require(_0xc61a('0xb'));var squel=require(_0xc61a('0xc'));var crypto=require(_0xc61a('0xd'));var jsforce=require(_0xc61a('0xe'));var deskjs=require(_0xc61a('0xf'));var toCsv=require(_0xc61a('0x8'));var querystring=require(_0xc61a('0x10'));var Papa=require(_0xc61a('0x11'));var Redis=require('ioredis');var authService=require(_0xc61a('0x12'));var qs=require(_0xc61a('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc61a('0x14'));var logger=require(_0xc61a('0x15'))(_0xc61a('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x53d4de,_0x4f6454){_0x4f6454=_0x4f6454||0xcc;return function(_0x5de255){if(_0x5de255){return _0x53d4de[_0xc61a('0x17')](_0x4f6454);}return _0x53d4de[_0xc61a('0x18')](_0x4f6454)[_0xc61a('0x19')]();};}function respondWithResult(_0x1fcc8b,_0x52a11b){_0x52a11b=_0x52a11b||0xc8;return function(_0x1ca993){if(_0x1ca993){return _0x1fcc8b[_0xc61a('0x18')](_0x52a11b)['json'](_0x1ca993);}};}function respondWithFilteredResult(_0x1c94de,_0x40f753){return function(_0x57cfa4){if(_0x57cfa4){var _0x47c106=typeof _0x40f753[_0xc61a('0x1a')]===_0xc61a('0x1b')&&typeof _0x40f753[_0xc61a('0x1c')]===_0xc61a('0x1b');var _0x5d3042=_0x57cfa4[_0xc61a('0x1d')];var _0x4a5b46=_0x47c106?0x0:_0x40f753[_0xc61a('0x1a')];var _0x25b5aa=_0x47c106?_0x57cfa4['count']:_0x40f753[_0xc61a('0x1a')]+_0x40f753['limit'];var _0x1bc14f;if(_0x25b5aa>=_0x5d3042){_0x25b5aa=_0x5d3042;_0x1bc14f=0xc8;}else{_0x1bc14f=0xce;}_0x1c94de[_0xc61a('0x18')](_0x1bc14f);return _0x1c94de[_0xc61a('0x1e')](_0xc61a('0x1f'),_0x4a5b46+'-'+_0x25b5aa+'/'+_0x5d3042)[_0xc61a('0x20')](_0x57cfa4);}return null;};}function patchUpdates(_0x437e80){return function(_0x1dd654){try{jsonpatch[_0xc61a('0x21')](_0x1dd654,_0x437e80,!![]);}catch(_0x4bfe4b){return BPromise['reject'](_0x4bfe4b);}return _0x1dd654[_0xc61a('0x22')]();};}function saveUpdates(_0x521c12,_0xc91d3){return function(_0x4bf540){if(_0x4bf540){return _0x4bf540['update'](_0x521c12)[_0xc61a('0x23')](function(_0x26ba14){return _0x26ba14;});}return null;};}function removeEntity(_0x33ddf2,_0x1f1d7b){return function(_0x556042){if(_0x556042){return _0x556042[_0xc61a('0x24')]()[_0xc61a('0x23')](function(){_0x33ddf2[_0xc61a('0x18')](0xcc)[_0xc61a('0x19')]();});}};}function handleEntityNotFound(_0x2d54e3,_0x13b71f){return function(_0x50cfe5){if(!_0x50cfe5){_0x2d54e3[_0xc61a('0x17')](0x194);}return _0x50cfe5;};}function handleError(_0x44c90f,_0x53c59b){_0x53c59b=_0x53c59b||0x1f4;return function(_0x5a0741){logger[_0xc61a('0x25')](_0x5a0741[_0xc61a('0x26')]);if(_0x5a0741['name']){delete _0x5a0741[_0xc61a('0x27')];}_0x44c90f[_0xc61a('0x18')](_0x53c59b)[_0xc61a('0x28')](_0x5a0741);};}function getMustacheRender(_0x4e1d0b,_0x311bf0){return Mustache['render'](_0x4e1d0b,_[_0xc61a('0x29')](_0x311bf0[_0xc61a('0x2a')],{'contact':_0x311bf0['contact'],'message':_0x311bf0[_0xc61a('0x2b')],'agent':_0x311bf0['agent'],'interaction':_0x311bf0[_0xc61a('0x2c')],'account':_0x311bf0[_0xc61a('0x2d')]}))||'';}exports[_0xc61a('0x2e')]=function(_0x4e870f,_0x53c98f){var _0x226ffc={},_0x23a762={},_0x5bf7df={'count':0x0,'rows':[]};var _0x5e139a=_[_0xc61a('0x2f')](db['ZohoField'][_0xc61a('0x30')],function(_0x5ba8c8){return{'name':_0x5ba8c8['fieldName'],'type':_0x5ba8c8[_0xc61a('0x31')][_0xc61a('0x32')]};});_0x23a762[_0xc61a('0x33')]=_[_0xc61a('0x2f')](_0x5e139a,_0xc61a('0x27'));_0x23a762[_0xc61a('0x34')]=_['keys'](_0x4e870f['query']);_0x23a762[_0xc61a('0x35')]=_[_0xc61a('0x36')](_0x23a762['model'],_0x23a762['query']);_0x226ffc[_0xc61a('0x37')]=_[_0xc61a('0x36')](_0x23a762['model'],qs[_0xc61a('0x38')](_0x4e870f[_0xc61a('0x34')][_0xc61a('0x38')]));_0x226ffc['attributes']=_0x226ffc[_0xc61a('0x37')][_0xc61a('0x39')]?_0x226ffc[_0xc61a('0x37')]:_0x23a762['model'];if(!_0x4e870f[_0xc61a('0x34')][_0xc61a('0x3a')](_0xc61a('0x3b'))){_0x226ffc[_0xc61a('0x1c')]=qs['limit'](_0x4e870f['query'][_0xc61a('0x1c')]);_0x226ffc[_0xc61a('0x1a')]=qs[_0xc61a('0x1a')](_0x4e870f[_0xc61a('0x34')][_0xc61a('0x1a')]);}_0x226ffc['order']=qs[_0xc61a('0x3c')](_0x4e870f[_0xc61a('0x34')][_0xc61a('0x3c')]);_0x226ffc['where']=qs['filters'](_[_0xc61a('0x3d')](_0x4e870f['query'],_0x23a762[_0xc61a('0x35')]),_0x5e139a);if(_0x4e870f['query'][_0xc61a('0x3e')]){_0x226ffc[_0xc61a('0x3f')]=_[_0xc61a('0x29')](_0x226ffc[_0xc61a('0x3f')],{'$or':_[_0xc61a('0x2f')](_0x5e139a,function(_0x18a0e7){if(_0x18a0e7[_0xc61a('0x31')]!=='VIRTUAL'){var _0xb1318c={};_0xb1318c[_0x18a0e7[_0xc61a('0x27')]]={'$like':'%'+_0x4e870f['query'][_0xc61a('0x3e')]+'%'};return _0xb1318c;}})});}_0x226ffc=_[_0xc61a('0x29')]({},_0x226ffc,_0x4e870f[_0xc61a('0x40')]);var _0x40c97e={'where':_0x226ffc['where']};return db[_0xc61a('0x41')][_0xc61a('0x1d')](_0x40c97e)['then'](function(_0x5d89f6){_0x5bf7df[_0xc61a('0x1d')]=_0x5d89f6;if(_0x4e870f[_0xc61a('0x34')][_0xc61a('0x42')]){_0x226ffc['include']=[{'all':!![]}];}return db[_0xc61a('0x41')][_0xc61a('0x43')](_0x226ffc);})[_0xc61a('0x23')](function(_0xce68db){_0x5bf7df['rows']=_0xce68db;return _0x5bf7df;})[_0xc61a('0x23')](respondWithFilteredResult(_0x53c98f,_0x226ffc))[_0xc61a('0x44')](handleError(_0x53c98f,null));};exports['show']=function(_0xf2bdea,_0x29d425){var _0x57d6a9={'raw':!![],'where':{'id':_0xf2bdea[_0xc61a('0x45')]['id']}},_0x1be658={};_0x1be658[_0xc61a('0x33')]=_[_0xc61a('0x46')](db[_0xc61a('0x41')]['rawAttributes']);_0x1be658[_0xc61a('0x34')]=_[_0xc61a('0x46')](_0xf2bdea[_0xc61a('0x34')]);_0x1be658[_0xc61a('0x35')]=_['intersection'](_0x1be658[_0xc61a('0x33')],_0x1be658['query']);_0x57d6a9[_0xc61a('0x37')]=_[_0xc61a('0x36')](_0x1be658['model'],qs['fields'](_0xf2bdea[_0xc61a('0x34')][_0xc61a('0x38')]));_0x57d6a9[_0xc61a('0x37')]=_0x57d6a9[_0xc61a('0x37')][_0xc61a('0x39')]?_0x57d6a9[_0xc61a('0x37')]:_0x1be658['model'];if(_0xf2bdea[_0xc61a('0x34')][_0xc61a('0x42')]){_0x57d6a9[_0xc61a('0x47')]=[{'all':!![]}];}_0x57d6a9=_[_0xc61a('0x29')]({},_0x57d6a9,_0xf2bdea[_0xc61a('0x40')]);return db[_0xc61a('0x41')][_0xc61a('0x48')](_0x57d6a9)['then'](handleEntityNotFound(_0x29d425,null))[_0xc61a('0x23')](respondWithResult(_0x29d425,null))['catch'](handleError(_0x29d425,null));};exports[_0xc61a('0x49')]=function(_0x3c58e2,_0x5568e0){return db[_0xc61a('0x41')][_0xc61a('0x49')](_0x3c58e2['body'],{})['then'](respondWithResult(_0x5568e0,0xc9))[_0xc61a('0x44')](handleError(_0x5568e0,null));};exports[_0xc61a('0x4a')]=function(_0x34a8e6,_0x88c926){if(_0x34a8e6[_0xc61a('0x2a')]['id']){delete _0x34a8e6[_0xc61a('0x2a')]['id'];}return db[_0xc61a('0x41')]['find']({'where':{'id':_0x34a8e6[_0xc61a('0x45')]['id']}})[_0xc61a('0x23')](handleEntityNotFound(_0x88c926,null))['then'](saveUpdates(_0x34a8e6[_0xc61a('0x2a')],null))[_0xc61a('0x23')](respondWithResult(_0x88c926,null))[_0xc61a('0x44')](handleError(_0x88c926,null));};exports['destroy']=function(_0x3f6eb9,_0x3eb69f){return db[_0xc61a('0x41')]['find']({'where':{'id':_0x3f6eb9[_0xc61a('0x45')]['id']}})[_0xc61a('0x23')](handleEntityNotFound(_0x3eb69f,null))[_0xc61a('0x23')](removeEntity(_0x3eb69f,null))[_0xc61a('0x44')](handleError(_0x3eb69f,null));};