d73898155fb116407652e7ee60be3e4d09a248d1
[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 _0x7fc5=['params','html-pdf','eml-format','rimraf','fast-json-patch','mustache','util','path','sox','ejs','lodash','squel','jsforce','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','set','apply','save','destroy','error','stack','name','index','ZohoField','rawAttributes','fieldName','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','merge','type','VIRTUAL','options','where','count','includeAll','include','rows','catch','show','find','then','create','body','update'];(function(_0x3af70f,_0x3ca312){var _0x5bd6c1=function(_0x5cec2d){while(--_0x5cec2d){_0x3af70f['push'](_0x3af70f['shift']());}};_0x5bd6c1(++_0x3ca312);}(_0x7fc5,0x16e));var _0x57fc=function(_0x44993b,_0x38d988){_0x44993b=_0x44993b-0x0;var _0x41e26a=_0x7fc5[_0x44993b];return _0x41e26a;};'use strict';var pdf=require(_0x57fc('0x0'));var emlformat=require(_0x57fc('0x1'));var rimraf=require(_0x57fc('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x57fc('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x57fc('0x4'));var util=require(_0x57fc('0x5'));var path=require(_0x57fc('0x6'));var sox=require(_0x57fc('0x7'));var csv=require('to-csv');var ejs=require(_0x57fc('0x8'));var fs=require('fs');var _=require(_0x57fc('0x9'));var squel=require(_0x57fc('0xa'));var crypto=require('crypto');var jsforce=require(_0x57fc('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x57fc('0xc'));var querystring=require(_0x57fc('0xd'));var Papa=require(_0x57fc('0xe'));var Redis=require(_0x57fc('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x57fc('0x10'));var as=require(_0x57fc('0x11'));var hardwareService=require(_0x57fc('0x12'));var logger=require(_0x57fc('0x13'))(_0x57fc('0x14'));var utils=require(_0x57fc('0x15'));var config=require(_0x57fc('0x16'));var licenseUtil=require(_0x57fc('0x17'));var db=require(_0x57fc('0x18'))['db'];function respondWithStatusCode(_0x56b503,_0x35906a){_0x35906a=_0x35906a||0xcc;return function(_0x4cdb32){if(_0x4cdb32){return _0x56b503[_0x57fc('0x19')](_0x35906a);}return _0x56b503[_0x57fc('0x1a')](_0x35906a)[_0x57fc('0x1b')]();};}function respondWithResult(_0x584008,_0x181860){_0x181860=_0x181860||0xc8;return function(_0x34eaea){if(_0x34eaea){return _0x584008[_0x57fc('0x1a')](_0x181860)[_0x57fc('0x1c')](_0x34eaea);}};}function respondWithFilteredResult(_0x44478f,_0x93f348){return function(_0x1f2c53){if(_0x1f2c53){var _0x464141=_0x1f2c53['count'],_0x12a0ad=_0x93f348[_0x57fc('0x1d')],_0x32b388=_0x93f348['offset']+_0x93f348[_0x57fc('0x1e')],_0x27f9f3;if(_0x32b388>=_0x464141){_0x32b388=_0x464141;_0x27f9f3=0xc8;}else{_0x27f9f3=0xce;}_0x44478f[_0x57fc('0x1a')](_0x27f9f3);return _0x44478f[_0x57fc('0x1f')]('Content-Range',_0x12a0ad+'-'+_0x32b388+'/'+_0x464141)[_0x57fc('0x1c')](_0x1f2c53);}return null;};}function patchUpdates(_0x4d6b8d){return function(_0x10ae32){try{jsonpatch[_0x57fc('0x20')](_0x10ae32,_0x4d6b8d,!![]);}catch(_0x261d4c){return BPromise['reject'](_0x261d4c);}return _0x10ae32[_0x57fc('0x21')]();};}function saveUpdates(_0x5ef6fa,_0x4eda42){return function(_0x597677){if(_0x597677){return _0x597677['update'](_0x5ef6fa)['then'](function(_0x366bad){return _0x366bad;});}return null;};}function removeEntity(_0x16b00e,_0x4bbfaf){return function(_0x3abbd2){if(_0x3abbd2){return _0x3abbd2[_0x57fc('0x22')]()['then'](function(){_0x16b00e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x39cb11,_0x27af86){return function(_0x2f1434){if(!_0x2f1434){_0x39cb11[_0x57fc('0x19')](0x194);}return _0x2f1434;};}function handleError(_0x447e3d,_0x6d763d){_0x6d763d=_0x6d763d||0x1f4;return function(_0x75630c){logger[_0x57fc('0x23')](_0x75630c[_0x57fc('0x24')]);if(_0x75630c[_0x57fc('0x25')]){delete _0x75630c[_0x57fc('0x25')];}_0x447e3d['status'](_0x6d763d)['send'](_0x75630c);};}exports[_0x57fc('0x26')]=function(_0x421c1a,_0x2feebc){var _0x374ae4={},_0x176fdb={},_0x1269a8={'count':0x0,'rows':[]};var _0x62ea99=_['map'](db[_0x57fc('0x27')][_0x57fc('0x28')],function(_0x13138c){return{'name':_0x13138c[_0x57fc('0x29')],'type':_0x13138c['type']['key']};});_0x176fdb[_0x57fc('0x2a')]=_[_0x57fc('0x2b')](_0x62ea99,'name');_0x176fdb[_0x57fc('0x2c')]=_[_0x57fc('0x2d')](_0x421c1a[_0x57fc('0x2c')]);_0x176fdb[_0x57fc('0x2e')]=_[_0x57fc('0x2f')](_0x176fdb['model'],_0x176fdb[_0x57fc('0x2c')]);_0x374ae4[_0x57fc('0x30')]=_[_0x57fc('0x2f')](_0x176fdb['model'],qs[_0x57fc('0x31')](_0x421c1a[_0x57fc('0x2c')][_0x57fc('0x31')]));_0x374ae4[_0x57fc('0x30')]=_0x374ae4['attributes'][_0x57fc('0x32')]?_0x374ae4['attributes']:_0x176fdb[_0x57fc('0x2a')];if(!_0x421c1a[_0x57fc('0x2c')][_0x57fc('0x33')](_0x57fc('0x34'))){_0x374ae4[_0x57fc('0x1e')]=qs[_0x57fc('0x1e')](_0x421c1a[_0x57fc('0x2c')]['limit']);_0x374ae4[_0x57fc('0x1d')]=qs[_0x57fc('0x1d')](_0x421c1a[_0x57fc('0x2c')]['offset']);}_0x374ae4['order']=qs[_0x57fc('0x35')](_0x421c1a[_0x57fc('0x2c')][_0x57fc('0x35')]);_0x374ae4['where']=qs[_0x57fc('0x2e')](_[_0x57fc('0x36')](_0x421c1a[_0x57fc('0x2c')],_0x176fdb[_0x57fc('0x2e')]),_0x62ea99);if(_0x421c1a[_0x57fc('0x2c')][_0x57fc('0x37')]){_0x374ae4['where']=_[_0x57fc('0x38')](_0x374ae4['where'],{'$or':_[_0x57fc('0x2b')](_0x62ea99,function(_0x26d01f){if(_0x26d01f[_0x57fc('0x39')]!==_0x57fc('0x3a')){var _0x768df9={};_0x768df9[_0x26d01f[_0x57fc('0x25')]]={'$like':'%'+_0x421c1a['query'][_0x57fc('0x37')]+'%'};return _0x768df9;}})});}_0x374ae4=_[_0x57fc('0x38')]({},_0x374ae4,_0x421c1a[_0x57fc('0x3b')]);var _0x2a86c7={'where':_0x374ae4[_0x57fc('0x3c')]};return db[_0x57fc('0x27')][_0x57fc('0x3d')](_0x2a86c7)['then'](function(_0x49c3b1){_0x1269a8[_0x57fc('0x3d')]=_0x49c3b1;if(_0x421c1a[_0x57fc('0x2c')][_0x57fc('0x3e')]){_0x374ae4[_0x57fc('0x3f')]=[{'all':!![]}];}return db['ZohoField']['findAll'](_0x374ae4);})['then'](function(_0x52f570){_0x1269a8[_0x57fc('0x40')]=_0x52f570;return _0x1269a8;})['then'](respondWithFilteredResult(_0x2feebc,_0x374ae4))[_0x57fc('0x41')](handleError(_0x2feebc,null));};exports[_0x57fc('0x42')]=function(_0x19f338,_0x3f7674){var _0x152a99={'raw':!![],'where':{'id':_0x19f338['params']['id']}},_0x56af89={};_0x56af89[_0x57fc('0x2a')]=_[_0x57fc('0x2d')](db[_0x57fc('0x27')][_0x57fc('0x28')]);_0x56af89[_0x57fc('0x2c')]=_[_0x57fc('0x2d')](_0x19f338[_0x57fc('0x2c')]);_0x56af89['filters']=_[_0x57fc('0x2f')](_0x56af89[_0x57fc('0x2a')],_0x56af89[_0x57fc('0x2c')]);_0x152a99[_0x57fc('0x30')]=_[_0x57fc('0x2f')](_0x56af89[_0x57fc('0x2a')],qs[_0x57fc('0x31')](_0x19f338[_0x57fc('0x2c')][_0x57fc('0x31')]));_0x152a99[_0x57fc('0x30')]=_0x152a99[_0x57fc('0x30')][_0x57fc('0x32')]?_0x152a99[_0x57fc('0x30')]:_0x56af89['model'];if(_0x19f338[_0x57fc('0x2c')]['includeAll']){_0x152a99['include']=[{'all':!![]}];}_0x152a99=_[_0x57fc('0x38')]({},_0x152a99,_0x19f338[_0x57fc('0x3b')]);return db[_0x57fc('0x27')][_0x57fc('0x43')](_0x152a99)[_0x57fc('0x44')](handleEntityNotFound(_0x3f7674,null))[_0x57fc('0x44')](respondWithResult(_0x3f7674,null))[_0x57fc('0x41')](handleError(_0x3f7674,null));};exports[_0x57fc('0x45')]=function(_0x23d64d,_0x31144f){return db[_0x57fc('0x27')][_0x57fc('0x45')](_0x23d64d[_0x57fc('0x46')],{})[_0x57fc('0x44')](respondWithResult(_0x31144f,0xc9))[_0x57fc('0x41')](handleError(_0x31144f,null));};exports[_0x57fc('0x47')]=function(_0x5bb3a5,_0x4daf79){if(_0x5bb3a5[_0x57fc('0x46')]['id']){delete _0x5bb3a5[_0x57fc('0x46')]['id'];}return db['ZohoField'][_0x57fc('0x43')]({'where':{'id':_0x5bb3a5[_0x57fc('0x48')]['id']}})[_0x57fc('0x44')](handleEntityNotFound(_0x4daf79,null))[_0x57fc('0x44')](saveUpdates(_0x5bb3a5[_0x57fc('0x46')],null))[_0x57fc('0x44')](respondWithResult(_0x4daf79,null))[_0x57fc('0x41')](handleError(_0x4daf79,null));};exports[_0x57fc('0x22')]=function(_0x108dcf,_0x4f7202){return db['ZohoField'][_0x57fc('0x43')]({'where':{'id':_0x108dcf[_0x57fc('0x48')]['id']}})[_0x57fc('0x44')](handleEntityNotFound(_0x4f7202,null))['then'](removeEntity(_0x4f7202,null))[_0x57fc('0x41')](handleError(_0x4f7202,null));};