cdd9460d9b469643b4a31649204102c1c7c850ef
[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 _0x9a61=['create','body','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','update','then','destroy','error','name','send','index','VtigerField','rawAttributes','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','rows','catch','show','params','find'];(function(_0x4af39e,_0x9bec56){var _0x53fed2=function(_0x225423){while(--_0x225423){_0x4af39e['push'](_0x4af39e['shift']());}};_0x53fed2(++_0x9bec56);}(_0x9a61,0x1b2));var _0x19a6=function(_0xc5aa60,_0x18ad00){_0xc5aa60=_0xc5aa60-0x0;var _0x143e37=_0x9a61[_0xc5aa60];return _0x143e37;};'use strict';var emlformat=require(_0x19a6('0x0'));var rimraf=require(_0x19a6('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x19a6('0x2'));var moment=require(_0x19a6('0x3'));var BPromise=require(_0x19a6('0x4'));var Mustache=require(_0x19a6('0x5'));var util=require(_0x19a6('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x19a6('0x7'));var ejs=require(_0x19a6('0x8'));var fs=require('fs');var fs_extra=require(_0x19a6('0x9'));var _=require(_0x19a6('0xa'));var squel=require(_0x19a6('0xb'));var crypto=require(_0x19a6('0xc'));var jsforce=require(_0x19a6('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x19a6('0x7'));var querystring=require(_0x19a6('0xe'));var Papa=require(_0x19a6('0xf'));var Redis=require(_0x19a6('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x19a6('0x11'));var as=require(_0x19a6('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x19a6('0x13'))('api');var utils=require(_0x19a6('0x14'));var config=require(_0x19a6('0x15'));var licenseUtil=require(_0x19a6('0x16'));var db=require(_0x19a6('0x17'))['db'];function respondWithStatusCode(_0x4f5595,_0x284d70){_0x284d70=_0x284d70||0xcc;return function(_0x518220){if(_0x518220){return _0x4f5595[_0x19a6('0x18')](_0x284d70);}return _0x4f5595[_0x19a6('0x19')](_0x284d70)[_0x19a6('0x1a')]();};}function respondWithResult(_0x5c59fb,_0x7dd621){_0x7dd621=_0x7dd621||0xc8;return function(_0x2f8fa8){if(_0x2f8fa8){return _0x5c59fb['status'](_0x7dd621)['json'](_0x2f8fa8);}};}function respondWithFilteredResult(_0x4f6671,_0x507673){return function(_0x3362d3){if(_0x3362d3){var _0x168d89=typeof _0x507673[_0x19a6('0x1b')]===_0x19a6('0x1c')&&typeof _0x507673[_0x19a6('0x1d')]===_0x19a6('0x1c');var _0x42dc48=_0x3362d3[_0x19a6('0x1e')];var _0x50c1f6=_0x168d89?0x0:_0x507673[_0x19a6('0x1b')];var _0x495e07=_0x168d89?_0x3362d3[_0x19a6('0x1e')]:_0x507673['offset']+_0x507673[_0x19a6('0x1d')];var _0x16569f;if(_0x495e07>=_0x42dc48){_0x495e07=_0x42dc48;_0x16569f=0xc8;}else{_0x16569f=0xce;}_0x4f6671[_0x19a6('0x19')](_0x16569f);return _0x4f6671['set'](_0x19a6('0x1f'),_0x50c1f6+'-'+_0x495e07+'/'+_0x42dc48)[_0x19a6('0x20')](_0x3362d3);}return null;};}function patchUpdates(_0x37bd13){return function(_0x459692){try{jsonpatch[_0x19a6('0x21')](_0x459692,_0x37bd13,!![]);}catch(_0x121cf3){return BPromise['reject'](_0x121cf3);}return _0x459692['save']();};}function saveUpdates(_0x4bf7f2,_0xc1d915){return function(_0x294091){if(_0x294091){return _0x294091[_0x19a6('0x22')](_0x4bf7f2)[_0x19a6('0x23')](function(_0x4de2f9){return _0x4de2f9;});}return null;};}function removeEntity(_0x29cd61,_0x2fec10){return function(_0x309f1c){if(_0x309f1c){return _0x309f1c[_0x19a6('0x24')]()[_0x19a6('0x23')](function(){_0x29cd61[_0x19a6('0x19')](0xcc)[_0x19a6('0x1a')]();});}};}function handleEntityNotFound(_0x38b742,_0x5c4f56){return function(_0x26139c){if(!_0x26139c){_0x38b742[_0x19a6('0x18')](0x194);}return _0x26139c;};}function handleError(_0x4dc4db,_0x48ca1d){_0x48ca1d=_0x48ca1d||0x1f4;return function(_0x382371){logger[_0x19a6('0x25')](_0x382371['stack']);if(_0x382371[_0x19a6('0x26')]){delete _0x382371['name'];}_0x4dc4db[_0x19a6('0x19')](_0x48ca1d)[_0x19a6('0x27')](_0x382371);};}exports[_0x19a6('0x28')]=function(_0x4ea797,_0x123f5d){var _0x1bb26d={},_0xb2a676={},_0x544f16={'count':0x0,'rows':[]};var _0x34fea3=_['map'](db[_0x19a6('0x29')][_0x19a6('0x2a')],function(_0x581e4b){return{'name':_0x581e4b['fieldName'],'type':_0x581e4b[_0x19a6('0x2b')][_0x19a6('0x2c')]};});_0xb2a676[_0x19a6('0x2d')]=_[_0x19a6('0x2e')](_0x34fea3,'name');_0xb2a676[_0x19a6('0x2f')]=_[_0x19a6('0x30')](_0x4ea797[_0x19a6('0x2f')]);_0xb2a676[_0x19a6('0x31')]=_[_0x19a6('0x32')](_0xb2a676[_0x19a6('0x2d')],_0xb2a676[_0x19a6('0x2f')]);_0x1bb26d[_0x19a6('0x33')]=_[_0x19a6('0x32')](_0xb2a676[_0x19a6('0x2d')],qs[_0x19a6('0x34')](_0x4ea797[_0x19a6('0x2f')][_0x19a6('0x34')]));_0x1bb26d[_0x19a6('0x33')]=_0x1bb26d[_0x19a6('0x33')][_0x19a6('0x35')]?_0x1bb26d[_0x19a6('0x33')]:_0xb2a676['model'];if(!_0x4ea797[_0x19a6('0x2f')][_0x19a6('0x36')](_0x19a6('0x37'))){_0x1bb26d[_0x19a6('0x1d')]=qs['limit'](_0x4ea797['query']['limit']);_0x1bb26d[_0x19a6('0x1b')]=qs[_0x19a6('0x1b')](_0x4ea797[_0x19a6('0x2f')]['offset']);}_0x1bb26d[_0x19a6('0x38')]=qs[_0x19a6('0x39')](_0x4ea797[_0x19a6('0x2f')]['sort']);_0x1bb26d[_0x19a6('0x3a')]=qs[_0x19a6('0x31')](_[_0x19a6('0x3b')](_0x4ea797[_0x19a6('0x2f')],_0xb2a676[_0x19a6('0x31')]),_0x34fea3);if(_0x4ea797[_0x19a6('0x2f')][_0x19a6('0x3c')]){_0x1bb26d['where']=_[_0x19a6('0x3d')](_0x1bb26d[_0x19a6('0x3a')],{'$or':_[_0x19a6('0x2e')](_0x34fea3,function(_0x481266){if(_0x481266[_0x19a6('0x2b')]!=='VIRTUAL'){var _0x295289={};_0x295289[_0x481266[_0x19a6('0x26')]]={'$like':'%'+_0x4ea797[_0x19a6('0x2f')][_0x19a6('0x3c')]+'%'};return _0x295289;}})});}_0x1bb26d=_[_0x19a6('0x3d')]({},_0x1bb26d,_0x4ea797[_0x19a6('0x3e')]);var _0x3fec4d={'where':_0x1bb26d[_0x19a6('0x3a')]};return db[_0x19a6('0x29')]['count'](_0x3fec4d)[_0x19a6('0x23')](function(_0x1e4934){_0x544f16[_0x19a6('0x1e')]=_0x1e4934;if(_0x4ea797[_0x19a6('0x2f')][_0x19a6('0x3f')]){_0x1bb26d[_0x19a6('0x40')]=[{'all':!![]}];}return db[_0x19a6('0x29')]['findAll'](_0x1bb26d);})['then'](function(_0x57e4c5){_0x544f16[_0x19a6('0x41')]=_0x57e4c5;return _0x544f16;})[_0x19a6('0x23')](respondWithFilteredResult(_0x123f5d,_0x1bb26d))[_0x19a6('0x42')](handleError(_0x123f5d,null));};exports[_0x19a6('0x43')]=function(_0x31a896,_0xc70980){var _0x4fd1a5={'raw':!![],'where':{'id':_0x31a896[_0x19a6('0x44')]['id']}},_0x16e7c6={};_0x16e7c6[_0x19a6('0x2d')]=_[_0x19a6('0x30')](db[_0x19a6('0x29')][_0x19a6('0x2a')]);_0x16e7c6['query']=_[_0x19a6('0x30')](_0x31a896[_0x19a6('0x2f')]);_0x16e7c6[_0x19a6('0x31')]=_[_0x19a6('0x32')](_0x16e7c6[_0x19a6('0x2d')],_0x16e7c6[_0x19a6('0x2f')]);_0x4fd1a5['attributes']=_[_0x19a6('0x32')](_0x16e7c6[_0x19a6('0x2d')],qs[_0x19a6('0x34')](_0x31a896[_0x19a6('0x2f')][_0x19a6('0x34')]));_0x4fd1a5[_0x19a6('0x33')]=_0x4fd1a5['attributes']['length']?_0x4fd1a5[_0x19a6('0x33')]:_0x16e7c6['model'];if(_0x31a896[_0x19a6('0x2f')][_0x19a6('0x3f')]){_0x4fd1a5[_0x19a6('0x40')]=[{'all':!![]}];}_0x4fd1a5=_[_0x19a6('0x3d')]({},_0x4fd1a5,_0x31a896[_0x19a6('0x3e')]);return db[_0x19a6('0x29')][_0x19a6('0x45')](_0x4fd1a5)[_0x19a6('0x23')](handleEntityNotFound(_0xc70980,null))[_0x19a6('0x23')](respondWithResult(_0xc70980,null))[_0x19a6('0x42')](handleError(_0xc70980,null));};exports['create']=function(_0x3b5a3d,_0x4ca732){return db[_0x19a6('0x29')][_0x19a6('0x46')](_0x3b5a3d[_0x19a6('0x47')],{})['then'](respondWithResult(_0x4ca732,0xc9))[_0x19a6('0x42')](handleError(_0x4ca732,null));};exports[_0x19a6('0x22')]=function(_0x3d90ce,_0x2f9b9f){if(_0x3d90ce[_0x19a6('0x47')]['id']){delete _0x3d90ce['body']['id'];}return db[_0x19a6('0x29')][_0x19a6('0x45')]({'where':{'id':_0x3d90ce['params']['id']}})[_0x19a6('0x23')](handleEntityNotFound(_0x2f9b9f,null))['then'](saveUpdates(_0x3d90ce[_0x19a6('0x47')],null))[_0x19a6('0x23')](respondWithResult(_0x2f9b9f,null))['catch'](handleError(_0x2f9b9f,null));};exports[_0x19a6('0x24')]=function(_0x35d7e3,_0x185a61){return db[_0x19a6('0x29')]['find']({'where':{'id':_0x35d7e3[_0x19a6('0x44')]['id']}})['then'](handleEntityNotFound(_0x185a61,null))[_0x19a6('0x23')](removeEntity(_0x185a61,null))[_0x19a6('0x42')](handleError(_0x185a61,null));};