Built motion from commit (unavailable).|2.5.25
[motion2.git] / server / api / intVtigerField / intVtigerField.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 _0x9062=['../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','set','apply','reject','save','update','end','error','stack','name','VtigerField','rawAttributes','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','include','rows','catch','show','params','keys','find','then','create','body','destroy','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../config/logger','api','../../config/environment'];(function(_0x1950f9,_0x5aaf55){var _0x27b40c=function(_0x8c070d){while(--_0x8c070d){_0x1950f9['push'](_0x1950f9['shift']());}};_0x27b40c(++_0x5aaf55);}(_0x9062,0xfd));var _0x2906=function(_0x529917,_0x32129c){_0x529917=_0x529917-0x0;var _0x2e6d39=_0x9062[_0x529917];return _0x2e6d39;};'use strict';var pdf=require(_0x2906('0x0'));var emlformat=require(_0x2906('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x2906('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2906('0x3'));var moment=require(_0x2906('0x4'));var BPromise=require(_0x2906('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x2906('0x6'));var sox=require(_0x2906('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x2906('0x8'));var squel=require(_0x2906('0x9'));var crypto=require(_0x2906('0xa'));var jsforce=require(_0x2906('0xb'));var deskjs=require(_0x2906('0xc'));var toCsv=require(_0x2906('0xd'));var querystring=require(_0x2906('0xe'));var Papa=require(_0x2906('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x2906('0x10'))(_0x2906('0x11'));var utils=require('../../config/utils');var config=require(_0x2906('0x12'));var licenseUtil=require(_0x2906('0x13'));var db=require(_0x2906('0x14'))['db'];function respondWithStatusCode(_0x3c6f0b,_0x5f2f64){_0x5f2f64=_0x5f2f64||0xcc;return function(_0x26d998){if(_0x26d998){return _0x3c6f0b[_0x2906('0x15')](_0x5f2f64);}return _0x3c6f0b[_0x2906('0x16')](_0x5f2f64)['end']();};}function respondWithResult(_0x36df13,_0x6aee97){_0x6aee97=_0x6aee97||0xc8;return function(_0x5dcf28){if(_0x5dcf28){return _0x36df13[_0x2906('0x16')](_0x6aee97)[_0x2906('0x17')](_0x5dcf28);}};}function respondWithFilteredResult(_0x5afa8b,_0x44943f){return function(_0x31c133){if(_0x31c133){var _0x58546d=_0x31c133[_0x2906('0x18')],_0x9ef85e=_0x44943f['offset'],_0x5e83e9=_0x44943f[_0x2906('0x19')]+_0x44943f[_0x2906('0x1a')],_0x4b495e;if(_0x5e83e9>=_0x58546d){_0x5e83e9=_0x58546d;_0x4b495e=0xc8;}else{_0x4b495e=0xce;}_0x5afa8b['status'](_0x4b495e);return _0x5afa8b[_0x2906('0x1b')]('Content-Range',_0x9ef85e+'-'+_0x5e83e9+'/'+_0x58546d)['json'](_0x31c133);}return null;};}function patchUpdates(_0x45c793){return function(_0x2442dc){try{jsonpatch[_0x2906('0x1c')](_0x2442dc,_0x45c793,!![]);}catch(_0x23dd50){return BPromise[_0x2906('0x1d')](_0x23dd50);}return _0x2442dc[_0x2906('0x1e')]();};}function saveUpdates(_0x3e7086,_0x4457cb){return function(_0x5e0671){if(_0x5e0671){return _0x5e0671[_0x2906('0x1f')](_0x3e7086)['then'](function(_0x327266){return _0x327266;});}return null;};}function removeEntity(_0x4f38e7,_0x2987e3){return function(_0x54f2a6){if(_0x54f2a6){return _0x54f2a6['destroy']()['then'](function(){_0x4f38e7[_0x2906('0x16')](0xcc)[_0x2906('0x20')]();});}};}function handleEntityNotFound(_0xbdecbb,_0x478707){return function(_0x2a21bc){if(!_0x2a21bc){_0xbdecbb[_0x2906('0x15')](0x194);}return _0x2a21bc;};}function handleError(_0x1df9b0,_0x42655e){_0x42655e=_0x42655e||0x1f4;return function(_0x3f81cc){logger[_0x2906('0x21')](_0x3f81cc[_0x2906('0x22')]);if(_0x3f81cc[_0x2906('0x23')]){delete _0x3f81cc['name'];}_0x1df9b0[_0x2906('0x16')](_0x42655e)['send'](_0x3f81cc);};}exports['index']=function(_0x41f0da,_0x511861){var _0xef1d77={},_0x53db91={},_0x198a4c={'count':0x0,'rows':[]};var _0x3c31ac=_['map'](db[_0x2906('0x24')][_0x2906('0x25')],function(_0x28e968){return{'name':_0x28e968['fieldName'],'type':_0x28e968['type']['key']};});_0x53db91[_0x2906('0x26')]=_['map'](_0x3c31ac,_0x2906('0x23'));_0x53db91[_0x2906('0x27')]=_['keys'](_0x41f0da[_0x2906('0x27')]);_0x53db91[_0x2906('0x28')]=_[_0x2906('0x29')](_0x53db91[_0x2906('0x26')],_0x53db91[_0x2906('0x27')]);_0xef1d77[_0x2906('0x2a')]=_[_0x2906('0x29')](_0x53db91[_0x2906('0x26')],qs['fields'](_0x41f0da[_0x2906('0x27')][_0x2906('0x2b')]));_0xef1d77[_0x2906('0x2a')]=_0xef1d77['attributes'][_0x2906('0x2c')]?_0xef1d77[_0x2906('0x2a')]:_0x53db91['model'];if(!_0x41f0da[_0x2906('0x27')][_0x2906('0x2d')](_0x2906('0x2e'))){_0xef1d77[_0x2906('0x1a')]=qs[_0x2906('0x1a')](_0x41f0da['query'][_0x2906('0x1a')]);_0xef1d77[_0x2906('0x19')]=qs[_0x2906('0x19')](_0x41f0da['query'][_0x2906('0x19')]);}_0xef1d77[_0x2906('0x2f')]=qs[_0x2906('0x30')](_0x41f0da[_0x2906('0x27')]['sort']);_0xef1d77[_0x2906('0x31')]=qs[_0x2906('0x28')](_[_0x2906('0x32')](_0x41f0da[_0x2906('0x27')],_0x53db91[_0x2906('0x28')]),_0x3c31ac);if(_0x41f0da[_0x2906('0x27')][_0x2906('0x33')]){_0xef1d77['where']=_['merge'](_0xef1d77['where'],{'$or':_['map'](_0x3c31ac,function(_0x26c47b){if(_0x26c47b[_0x2906('0x34')]!==_0x2906('0x35')){var _0x3061b5={};_0x3061b5[_0x26c47b[_0x2906('0x23')]]={'$like':'%'+_0x41f0da[_0x2906('0x27')][_0x2906('0x33')]+'%'};return _0x3061b5;}})});}_0xef1d77=_[_0x2906('0x36')]({},_0xef1d77,_0x41f0da[_0x2906('0x37')]);var _0x1af85b={'where':_0xef1d77[_0x2906('0x31')]};return db[_0x2906('0x24')]['count'](_0x1af85b)['then'](function(_0x43a3f7){_0x198a4c[_0x2906('0x18')]=_0x43a3f7;if(_0x41f0da[_0x2906('0x27')][_0x2906('0x38')]){_0xef1d77[_0x2906('0x39')]=[{'all':!![]}];}return db[_0x2906('0x24')]['findAll'](_0xef1d77);})['then'](function(_0x487035){_0x198a4c[_0x2906('0x3a')]=_0x487035;return _0x198a4c;})['then'](respondWithFilteredResult(_0x511861,_0xef1d77))[_0x2906('0x3b')](handleError(_0x511861,null));};exports[_0x2906('0x3c')]=function(_0x27d458,_0x5c1def){var _0x5cdb05={'raw':!![],'where':{'id':_0x27d458[_0x2906('0x3d')]['id']}},_0x58f75e={};_0x58f75e[_0x2906('0x26')]=_[_0x2906('0x3e')](db[_0x2906('0x24')][_0x2906('0x25')]);_0x58f75e[_0x2906('0x27')]=_['keys'](_0x27d458[_0x2906('0x27')]);_0x58f75e[_0x2906('0x28')]=_[_0x2906('0x29')](_0x58f75e[_0x2906('0x26')],_0x58f75e[_0x2906('0x27')]);_0x5cdb05[_0x2906('0x2a')]=_['intersection'](_0x58f75e[_0x2906('0x26')],qs['fields'](_0x27d458[_0x2906('0x27')]['fields']));_0x5cdb05[_0x2906('0x2a')]=_0x5cdb05['attributes'][_0x2906('0x2c')]?_0x5cdb05[_0x2906('0x2a')]:_0x58f75e['model'];if(_0x27d458[_0x2906('0x27')]['includeAll']){_0x5cdb05[_0x2906('0x39')]=[{'all':!![]}];}_0x5cdb05=_[_0x2906('0x36')]({},_0x5cdb05,_0x27d458['options']);return db[_0x2906('0x24')][_0x2906('0x3f')](_0x5cdb05)[_0x2906('0x40')](handleEntityNotFound(_0x5c1def,null))[_0x2906('0x40')](respondWithResult(_0x5c1def,null))[_0x2906('0x3b')](handleError(_0x5c1def,null));};exports['create']=function(_0x5362bf,_0x50e35b){return db[_0x2906('0x24')][_0x2906('0x41')](_0x5362bf['body'],{})[_0x2906('0x40')](respondWithResult(_0x50e35b,0xc9))['catch'](handleError(_0x50e35b,null));};exports[_0x2906('0x1f')]=function(_0x1177d3,_0x27d8c1){if(_0x1177d3['body']['id']){delete _0x1177d3[_0x2906('0x42')]['id'];}return db[_0x2906('0x24')]['find']({'where':{'id':_0x1177d3[_0x2906('0x3d')]['id']}})[_0x2906('0x40')](handleEntityNotFound(_0x27d8c1,null))[_0x2906('0x40')](saveUpdates(_0x1177d3[_0x2906('0x42')],null))[_0x2906('0x40')](respondWithResult(_0x27d8c1,null))['catch'](handleError(_0x27d8c1,null));};exports[_0x2906('0x43')]=function(_0x2c571d,_0x28ae53){return db[_0x2906('0x24')]['find']({'where':{'id':_0x2c571d[_0x2906('0x3d')]['id']}})['then'](handleEntityNotFound(_0x28ae53,null))['then'](removeEntity(_0x28ae53,null))['catch'](handleError(_0x28ae53,null));};