f6192e592e19dbdff5cc86c004f34b4744aa185e
[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 _0xe14a=['end','stack','name','send','index','map','ZohoField','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','offset','order','sort','where','pick','merge','type','VIRTUAL','filter','options','includeAll','findAll','catch','params','keys','include','create','body','find','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','squel','crypto','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','count','limit','set','Content-Range','json','apply','reject','save','then','destroy'];(function(_0x19cfac,_0x3745dc){var _0x25d2a5=function(_0x2bad78){while(--_0x2bad78){_0x19cfac['push'](_0x19cfac['shift']());}};_0x25d2a5(++_0x3745dc);}(_0xe14a,0x1da));var _0xae14=function(_0x2bf951,_0x26b53f){_0x2bf951=_0x2bf951-0x0;var _0x316864=_0xe14a[_0x2bf951];return _0x316864;};'use strict';var pdf=require(_0xae14('0x0'));var emlformat=require(_0xae14('0x1'));var rimraf=require(_0xae14('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xae14('0x3'));var rp=require(_0xae14('0x4'));var moment=require(_0xae14('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xae14('0x6'));var util=require(_0xae14('0x7'));var path=require(_0xae14('0x8'));var sox=require(_0xae14('0x9'));var csv=require('to-csv');var ejs=require(_0xae14('0xa'));var fs=require('fs');var _=require(_0xae14('0xb'));var squel=require(_0xae14('0xc'));var crypto=require(_0xae14('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xae14('0xe'));var toCsv=require(_0xae14('0xf'));var querystring=require('querystring');var Papa=require(_0xae14('0x10'));var Redis=require(_0xae14('0x11'));var authService=require(_0xae14('0x12'));var qs=require(_0xae14('0x13'));var as=require(_0xae14('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xae14('0x15'))(_0xae14('0x16'));var utils=require(_0xae14('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xae14('0x18'))['db'];function respondWithStatusCode(_0x203cc2,_0x298143){_0x298143=_0x298143||0xcc;return function(_0x3adff9){if(_0x3adff9){return _0x203cc2[_0xae14('0x19')](_0x298143);}return _0x203cc2[_0xae14('0x1a')](_0x298143)['end']();};}function respondWithResult(_0x31684b,_0x4a4d75){_0x4a4d75=_0x4a4d75||0xc8;return function(_0x22375a){if(_0x22375a){return _0x31684b['status'](_0x4a4d75)['json'](_0x22375a);}};}function respondWithFilteredResult(_0x150af0,_0xbd50dc){return function(_0x5526a5){if(_0x5526a5){var _0x5e88cb=_0x5526a5[_0xae14('0x1b')],_0x4ae1b9=_0xbd50dc['offset'],_0x4b6f2c=_0xbd50dc['offset']+_0xbd50dc[_0xae14('0x1c')],_0x10693a;if(_0x4b6f2c>=_0x5e88cb){_0x4b6f2c=_0x5e88cb;_0x10693a=0xc8;}else{_0x10693a=0xce;}_0x150af0[_0xae14('0x1a')](_0x10693a);return _0x150af0[_0xae14('0x1d')](_0xae14('0x1e'),_0x4ae1b9+'-'+_0x4b6f2c+'/'+_0x5e88cb)[_0xae14('0x1f')](_0x5526a5);}return null;};}function patchUpdates(_0x3dc8ae){return function(_0x258820){try{jsonpatch[_0xae14('0x20')](_0x258820,_0x3dc8ae,!![]);}catch(_0x288151){return BPromise[_0xae14('0x21')](_0x288151);}return _0x258820[_0xae14('0x22')]();};}function saveUpdates(_0x3039d3,_0x5c4edc){return function(_0xfad13d){if(_0xfad13d){return _0xfad13d['update'](_0x3039d3)[_0xae14('0x23')](function(_0x262217){return _0x262217;});}return null;};}function removeEntity(_0x3301c1,_0x29117d){return function(_0x43c8e7){if(_0x43c8e7){return _0x43c8e7[_0xae14('0x24')]()['then'](function(){_0x3301c1[_0xae14('0x1a')](0xcc)[_0xae14('0x25')]();});}};}function handleEntityNotFound(_0x33fc73,_0x38b63c){return function(_0x27ff8c){if(!_0x27ff8c){_0x33fc73[_0xae14('0x19')](0x194);}return _0x27ff8c;};}function handleError(_0xae3ca7,_0x18ac82){_0x18ac82=_0x18ac82||0x1f4;return function(_0x290cb6){logger['error'](_0x290cb6[_0xae14('0x26')]);if(_0x290cb6[_0xae14('0x27')]){delete _0x290cb6[_0xae14('0x27')];}_0xae3ca7[_0xae14('0x1a')](_0x18ac82)[_0xae14('0x28')](_0x290cb6);};}exports[_0xae14('0x29')]=function(_0x24b231,_0x215dd0){var _0x4088bd={},_0x1875d2={},_0x21a538={'count':0x0,'rows':[]};var _0x471a01=_[_0xae14('0x2a')](db[_0xae14('0x2b')][_0xae14('0x2c')],function(_0x2a9447){return{'name':_0x2a9447[_0xae14('0x2d')],'type':_0x2a9447['type'][_0xae14('0x2e')]};});_0x1875d2[_0xae14('0x2f')]=_[_0xae14('0x2a')](_0x471a01,_0xae14('0x27'));_0x1875d2[_0xae14('0x30')]=_['keys'](_0x24b231[_0xae14('0x30')]);_0x1875d2[_0xae14('0x31')]=_[_0xae14('0x32')](_0x1875d2['model'],_0x1875d2[_0xae14('0x30')]);_0x4088bd[_0xae14('0x33')]=_[_0xae14('0x32')](_0x1875d2['model'],qs['fields'](_0x24b231[_0xae14('0x30')][_0xae14('0x34')]));_0x4088bd[_0xae14('0x33')]=_0x4088bd[_0xae14('0x33')][_0xae14('0x35')]?_0x4088bd[_0xae14('0x33')]:_0x1875d2[_0xae14('0x2f')];if(!_0x24b231[_0xae14('0x30')]['hasOwnProperty']('nolimit')){_0x4088bd['limit']=qs[_0xae14('0x1c')](_0x24b231[_0xae14('0x30')]['limit']);_0x4088bd[_0xae14('0x36')]=qs[_0xae14('0x36')](_0x24b231[_0xae14('0x30')][_0xae14('0x36')]);}_0x4088bd[_0xae14('0x37')]=qs['sort'](_0x24b231[_0xae14('0x30')][_0xae14('0x38')]);_0x4088bd[_0xae14('0x39')]=qs[_0xae14('0x31')](_[_0xae14('0x3a')](_0x24b231[_0xae14('0x30')],_0x1875d2[_0xae14('0x31')]),_0x471a01);if(_0x24b231['query']['filter']){_0x4088bd[_0xae14('0x39')]=_[_0xae14('0x3b')](_0x4088bd[_0xae14('0x39')],{'$or':_[_0xae14('0x2a')](_0x471a01,function(_0x4ac76f){if(_0x4ac76f[_0xae14('0x3c')]!==_0xae14('0x3d')){var _0x11ee50={};_0x11ee50[_0x4ac76f[_0xae14('0x27')]]={'$like':'%'+_0x24b231[_0xae14('0x30')][_0xae14('0x3e')]+'%'};return _0x11ee50;}})});}_0x4088bd=_[_0xae14('0x3b')]({},_0x4088bd,_0x24b231[_0xae14('0x3f')]);var _0x2ebe91={'where':_0x4088bd[_0xae14('0x39')]};return db[_0xae14('0x2b')][_0xae14('0x1b')](_0x2ebe91)[_0xae14('0x23')](function(_0x3bf603){_0x21a538[_0xae14('0x1b')]=_0x3bf603;if(_0x24b231[_0xae14('0x30')][_0xae14('0x40')]){_0x4088bd['include']=[{'all':!![]}];}return db['ZohoField'][_0xae14('0x41')](_0x4088bd);})['then'](function(_0x12eb65){_0x21a538['rows']=_0x12eb65;return _0x21a538;})[_0xae14('0x23')](respondWithFilteredResult(_0x215dd0,_0x4088bd))[_0xae14('0x42')](handleError(_0x215dd0,null));};exports['show']=function(_0x703de6,_0x2d1bc9){var _0x238c17={'raw':!![],'where':{'id':_0x703de6[_0xae14('0x43')]['id']}},_0x42df7a={};_0x42df7a[_0xae14('0x2f')]=_[_0xae14('0x44')](db[_0xae14('0x2b')]['rawAttributes']);_0x42df7a['query']=_['keys'](_0x703de6[_0xae14('0x30')]);_0x42df7a['filters']=_['intersection'](_0x42df7a['model'],_0x42df7a[_0xae14('0x30')]);_0x238c17[_0xae14('0x33')]=_[_0xae14('0x32')](_0x42df7a['model'],qs[_0xae14('0x34')](_0x703de6[_0xae14('0x30')]['fields']));_0x238c17[_0xae14('0x33')]=_0x238c17[_0xae14('0x33')][_0xae14('0x35')]?_0x238c17[_0xae14('0x33')]:_0x42df7a[_0xae14('0x2f')];if(_0x703de6['query'][_0xae14('0x40')]){_0x238c17[_0xae14('0x45')]=[{'all':!![]}];}_0x238c17=_[_0xae14('0x3b')]({},_0x238c17,_0x703de6['options']);return db[_0xae14('0x2b')]['find'](_0x238c17)[_0xae14('0x23')](handleEntityNotFound(_0x2d1bc9,null))[_0xae14('0x23')](respondWithResult(_0x2d1bc9,null))[_0xae14('0x42')](handleError(_0x2d1bc9,null));};exports['create']=function(_0x11fdae,_0x39de78){return db[_0xae14('0x2b')][_0xae14('0x46')](_0x11fdae[_0xae14('0x47')],{})[_0xae14('0x23')](respondWithResult(_0x39de78,0xc9))[_0xae14('0x42')](handleError(_0x39de78,null));};exports['update']=function(_0x333dab,_0x5518c7){if(_0x333dab[_0xae14('0x47')]['id']){delete _0x333dab['body']['id'];}return db[_0xae14('0x2b')][_0xae14('0x48')]({'where':{'id':_0x333dab['params']['id']}})['then'](handleEntityNotFound(_0x5518c7,null))['then'](saveUpdates(_0x333dab['body'],null))[_0xae14('0x23')](respondWithResult(_0x5518c7,null))[_0xae14('0x42')](handleError(_0x5518c7,null));};exports[_0xae14('0x24')]=function(_0xa20b29,_0x2c89cd){return db['ZohoField'][_0xae14('0x48')]({'where':{'id':_0xa20b29[_0xae14('0x43')]['id']}})[_0xae14('0x23')](handleEntityNotFound(_0x2c89cd,null))[_0xae14('0x23')](removeEntity(_0x2c89cd,null))[_0xae14('0x42')](handleError(_0x2c89cd,null));};