Built motion from commit ddca4d0d.|2.5.47
[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 _0x0c0a=['name','index','map','fieldName','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','ZohoField','includeAll','include','findAll','rows','show','keys','catch','create','body','find','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','end'];(function(_0x5be0c7,_0x1c45f1){var _0x6e077c=function(_0x2712aa){while(--_0x2712aa){_0x5be0c7['push'](_0x5be0c7['shift']());}};_0x6e077c(++_0x1c45f1);}(_0x0c0a,0x19e));var _0xa0c0=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x0c0a[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xa0c0('0x0'));var rimraf=require(_0xa0c0('0x1'));var zipdir=require(_0xa0c0('0x2'));var jsonpatch=require(_0xa0c0('0x3'));var rp=require(_0xa0c0('0x4'));var moment=require(_0xa0c0('0x5'));var BPromise=require(_0xa0c0('0x6'));var Mustache=require(_0xa0c0('0x7'));var util=require(_0xa0c0('0x8'));var path=require(_0xa0c0('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xa0c0('0xa'));var fs=require('fs');var fs_extra=require(_0xa0c0('0xb'));var _=require(_0xa0c0('0xc'));var squel=require(_0xa0c0('0xd'));var crypto=require(_0xa0c0('0xe'));var jsforce=require(_0xa0c0('0xf'));var deskjs=require(_0xa0c0('0x10'));var toCsv=require(_0xa0c0('0x11'));var querystring=require(_0xa0c0('0x12'));var Papa=require('papaparse');var Redis=require(_0xa0c0('0x13'));var authService=require(_0xa0c0('0x14'));var qs=require(_0xa0c0('0x15'));var as=require(_0xa0c0('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xa0c0('0x17'));var utils=require(_0xa0c0('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xa0c0('0x19'));var db=require(_0xa0c0('0x1a'))['db'];function respondWithStatusCode(_0x163616,_0x351196){_0x351196=_0x351196||0xcc;return function(_0xd5148d){if(_0xd5148d){return _0x163616['sendStatus'](_0x351196);}return _0x163616[_0xa0c0('0x1b')](_0x351196)['end']();};}function respondWithResult(_0x403356,_0x545aa5){_0x545aa5=_0x545aa5||0xc8;return function(_0x48f9da){if(_0x48f9da){return _0x403356['status'](_0x545aa5)[_0xa0c0('0x1c')](_0x48f9da);}};}function respondWithFilteredResult(_0x5ddc17,_0x28baac){return function(_0x29a708){if(_0x29a708){var _0x436310=typeof _0x28baac['offset']===_0xa0c0('0x1d')&&typeof _0x28baac['limit']==='undefined';var _0x5028e0=_0x29a708[_0xa0c0('0x1e')];var _0x4c70bf=_0x436310?0x0:_0x28baac[_0xa0c0('0x1f')];var _0x2aa4d4=_0x436310?_0x29a708[_0xa0c0('0x1e')]:_0x28baac[_0xa0c0('0x1f')]+_0x28baac[_0xa0c0('0x20')];var _0x5216a0;if(_0x2aa4d4>=_0x5028e0){_0x2aa4d4=_0x5028e0;_0x5216a0=0xc8;}else{_0x5216a0=0xce;}_0x5ddc17['status'](_0x5216a0);return _0x5ddc17[_0xa0c0('0x21')](_0xa0c0('0x22'),_0x4c70bf+'-'+_0x2aa4d4+'/'+_0x5028e0)[_0xa0c0('0x1c')](_0x29a708);}return null;};}function patchUpdates(_0x11c617){return function(_0x594646){try{jsonpatch[_0xa0c0('0x23')](_0x594646,_0x11c617,!![]);}catch(_0x32755a){return BPromise[_0xa0c0('0x24')](_0x32755a);}return _0x594646[_0xa0c0('0x25')]();};}function saveUpdates(_0x2e0dac,_0x562c74){return function(_0x41d6e5){if(_0x41d6e5){return _0x41d6e5[_0xa0c0('0x26')](_0x2e0dac)[_0xa0c0('0x27')](function(_0x17e5b2){return _0x17e5b2;});}return null;};}function removeEntity(_0x227e5f,_0x439833){return function(_0xcd059a){if(_0xcd059a){return _0xcd059a[_0xa0c0('0x28')]()[_0xa0c0('0x27')](function(){_0x227e5f[_0xa0c0('0x1b')](0xcc)[_0xa0c0('0x29')]();});}};}function handleEntityNotFound(_0x3d6c7b,_0x56af4b){return function(_0x7badbc){if(!_0x7badbc){_0x3d6c7b['sendStatus'](0x194);}return _0x7badbc;};}function handleError(_0x2ba494,_0x5ed982){_0x5ed982=_0x5ed982||0x1f4;return function(_0x2af95b){logger['error'](_0x2af95b['stack']);if(_0x2af95b[_0xa0c0('0x2a')]){delete _0x2af95b['name'];}_0x2ba494[_0xa0c0('0x1b')](_0x5ed982)['send'](_0x2af95b);};}exports[_0xa0c0('0x2b')]=function(_0x11c6d0,_0x3d734f){var _0x3319bd={},_0x3944cd={},_0x3525b5={'count':0x0,'rows':[]};var _0x146c15=_[_0xa0c0('0x2c')](db['ZohoField']['rawAttributes'],function(_0x4e82c5){return{'name':_0x4e82c5[_0xa0c0('0x2d')],'type':_0x4e82c5['type'][_0xa0c0('0x2e')]};});_0x3944cd[_0xa0c0('0x2f')]=_['map'](_0x146c15,_0xa0c0('0x2a'));_0x3944cd['query']=_['keys'](_0x11c6d0[_0xa0c0('0x30')]);_0x3944cd[_0xa0c0('0x31')]=_[_0xa0c0('0x32')](_0x3944cd[_0xa0c0('0x2f')],_0x3944cd[_0xa0c0('0x30')]);_0x3319bd['attributes']=_[_0xa0c0('0x32')](_0x3944cd[_0xa0c0('0x2f')],qs[_0xa0c0('0x33')](_0x11c6d0[_0xa0c0('0x30')]['fields']));_0x3319bd[_0xa0c0('0x34')]=_0x3319bd[_0xa0c0('0x34')][_0xa0c0('0x35')]?_0x3319bd[_0xa0c0('0x34')]:_0x3944cd[_0xa0c0('0x2f')];if(!_0x11c6d0[_0xa0c0('0x30')][_0xa0c0('0x36')](_0xa0c0('0x37'))){_0x3319bd[_0xa0c0('0x20')]=qs[_0xa0c0('0x20')](_0x11c6d0[_0xa0c0('0x30')][_0xa0c0('0x20')]);_0x3319bd[_0xa0c0('0x1f')]=qs['offset'](_0x11c6d0[_0xa0c0('0x30')]['offset']);}_0x3319bd[_0xa0c0('0x38')]=qs['sort'](_0x11c6d0['query'][_0xa0c0('0x39')]);_0x3319bd[_0xa0c0('0x3a')]=qs[_0xa0c0('0x31')](_['pick'](_0x11c6d0['query'],_0x3944cd[_0xa0c0('0x31')]),_0x146c15);if(_0x11c6d0[_0xa0c0('0x30')][_0xa0c0('0x3b')]){_0x3319bd[_0xa0c0('0x3a')]=_[_0xa0c0('0x3c')](_0x3319bd[_0xa0c0('0x3a')],{'$or':_[_0xa0c0('0x2c')](_0x146c15,function(_0x151ed2){if(_0x151ed2[_0xa0c0('0x3d')]!==_0xa0c0('0x3e')){var _0x17be83={};_0x17be83[_0x151ed2[_0xa0c0('0x2a')]]={'$like':'%'+_0x11c6d0[_0xa0c0('0x30')][_0xa0c0('0x3b')]+'%'};return _0x17be83;}})});}_0x3319bd=_[_0xa0c0('0x3c')]({},_0x3319bd,_0x11c6d0[_0xa0c0('0x3f')]);var _0x1a215e={'where':_0x3319bd[_0xa0c0('0x3a')]};return db[_0xa0c0('0x40')][_0xa0c0('0x1e')](_0x1a215e)[_0xa0c0('0x27')](function(_0x5cc407){_0x3525b5[_0xa0c0('0x1e')]=_0x5cc407;if(_0x11c6d0['query'][_0xa0c0('0x41')]){_0x3319bd[_0xa0c0('0x42')]=[{'all':!![]}];}return db[_0xa0c0('0x40')][_0xa0c0('0x43')](_0x3319bd);})[_0xa0c0('0x27')](function(_0x5da258){_0x3525b5[_0xa0c0('0x44')]=_0x5da258;return _0x3525b5;})[_0xa0c0('0x27')](respondWithFilteredResult(_0x3d734f,_0x3319bd))['catch'](handleError(_0x3d734f,null));};exports[_0xa0c0('0x45')]=function(_0x4e283f,_0x334427){var _0x1a4d44={'raw':!![],'where':{'id':_0x4e283f['params']['id']}},_0x2faabf={};_0x2faabf[_0xa0c0('0x2f')]=_[_0xa0c0('0x46')](db[_0xa0c0('0x40')]['rawAttributes']);_0x2faabf[_0xa0c0('0x30')]=_[_0xa0c0('0x46')](_0x4e283f[_0xa0c0('0x30')]);_0x2faabf[_0xa0c0('0x31')]=_[_0xa0c0('0x32')](_0x2faabf[_0xa0c0('0x2f')],_0x2faabf[_0xa0c0('0x30')]);_0x1a4d44[_0xa0c0('0x34')]=_[_0xa0c0('0x32')](_0x2faabf['model'],qs[_0xa0c0('0x33')](_0x4e283f[_0xa0c0('0x30')]['fields']));_0x1a4d44[_0xa0c0('0x34')]=_0x1a4d44[_0xa0c0('0x34')]['length']?_0x1a4d44[_0xa0c0('0x34')]:_0x2faabf[_0xa0c0('0x2f')];if(_0x4e283f[_0xa0c0('0x30')][_0xa0c0('0x41')]){_0x1a4d44['include']=[{'all':!![]}];}_0x1a4d44=_[_0xa0c0('0x3c')]({},_0x1a4d44,_0x4e283f['options']);return db[_0xa0c0('0x40')]['find'](_0x1a4d44)[_0xa0c0('0x27')](handleEntityNotFound(_0x334427,null))[_0xa0c0('0x27')](respondWithResult(_0x334427,null))[_0xa0c0('0x47')](handleError(_0x334427,null));};exports[_0xa0c0('0x48')]=function(_0x5b0046,_0x208841){return db[_0xa0c0('0x40')][_0xa0c0('0x48')](_0x5b0046[_0xa0c0('0x49')],{})[_0xa0c0('0x27')](respondWithResult(_0x208841,0xc9))[_0xa0c0('0x47')](handleError(_0x208841,null));};exports[_0xa0c0('0x26')]=function(_0x2108aa,_0x452339){if(_0x2108aa[_0xa0c0('0x49')]['id']){delete _0x2108aa['body']['id'];}return db[_0xa0c0('0x40')][_0xa0c0('0x4a')]({'where':{'id':_0x2108aa[_0xa0c0('0x4b')]['id']}})[_0xa0c0('0x27')](handleEntityNotFound(_0x452339,null))['then'](saveUpdates(_0x2108aa[_0xa0c0('0x49')],null))[_0xa0c0('0x27')](respondWithResult(_0x452339,null))[_0xa0c0('0x47')](handleError(_0x452339,null));};exports[_0xa0c0('0x28')]=function(_0x5ba5be,_0x4abcd5){return db[_0xa0c0('0x40')]['find']({'where':{'id':_0x5ba5be['params']['id']}})[_0xa0c0('0x27')](handleEntityNotFound(_0x4abcd5,null))['then'](removeEntity(_0x4abcd5,null))['catch'](handleError(_0x4abcd5,null));};