Built motion from commit b5996064.|2.6.21
[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 _0x0a5d=['lodash','squel','crypto','jsforce','to-csv','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','offset','undefined','limit','count','status','set','Content-Range','json','reject','save','then','destroy','stack','name','send','index','map','rawAttributes','fieldName','type','keys','query','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','VtigerField','include','catch','show','params','filters','find','create','body','update','eml-format','zip-dir','fast-json-patch','mustache','util','sox','ejs','fs-extra'];(function(_0x46a3e8,_0x2e1b35){var _0xf1442e=function(_0x37b5d4){while(--_0x37b5d4){_0x46a3e8['push'](_0x46a3e8['shift']());}};_0xf1442e(++_0x2e1b35);}(_0x0a5d,0x196));var _0xd0a5=function(_0x4defd6,_0x37bbd3){_0x4defd6=_0x4defd6-0x0;var _0x4c9276=_0x0a5d[_0x4defd6];return _0x4c9276;};'use strict';var emlformat=require(_0xd0a5('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd0a5('0x1'));var jsonpatch=require(_0xd0a5('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xd0a5('0x3'));var util=require(_0xd0a5('0x4'));var path=require('path');var sox=require(_0xd0a5('0x5'));var csv=require('to-csv');var ejs=require(_0xd0a5('0x6'));var fs=require('fs');var fs_extra=require(_0xd0a5('0x7'));var _=require(_0xd0a5('0x8'));var squel=require(_0xd0a5('0x9'));var crypto=require(_0xd0a5('0xa'));var jsforce=require(_0xd0a5('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xd0a5('0xc'));var querystring=require(_0xd0a5('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd0a5('0xe'));var as=require(_0xd0a5('0xf'));var hardwareService=require(_0xd0a5('0x10'));var logger=require(_0xd0a5('0x11'))(_0xd0a5('0x12'));var utils=require(_0xd0a5('0x13'));var config=require(_0xd0a5('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xd0a5('0x15'))['db'];function respondWithStatusCode(_0x11cf2f,_0x898d32){_0x898d32=_0x898d32||0xcc;return function(_0x257893){if(_0x257893){return _0x11cf2f['sendStatus'](_0x898d32);}return _0x11cf2f['status'](_0x898d32)[_0xd0a5('0x16')]();};}function respondWithResult(_0x38f1ea,_0x90e859){_0x90e859=_0x90e859||0xc8;return function(_0x125ea9){if(_0x125ea9){return _0x38f1ea['status'](_0x90e859)['json'](_0x125ea9);}};}function respondWithFilteredResult(_0x1dd666,_0x37d841){return function(_0x4af372){if(_0x4af372){var _0x31d89e=typeof _0x37d841[_0xd0a5('0x17')]===_0xd0a5('0x18')&&typeof _0x37d841[_0xd0a5('0x19')]==='undefined';var _0xb566b3=_0x4af372[_0xd0a5('0x1a')];var _0x518bb3=_0x31d89e?0x0:_0x37d841[_0xd0a5('0x17')];var _0x55f6d7=_0x31d89e?_0x4af372['count']:_0x37d841[_0xd0a5('0x17')]+_0x37d841['limit'];var _0x4069c1;if(_0x55f6d7>=_0xb566b3){_0x55f6d7=_0xb566b3;_0x4069c1=0xc8;}else{_0x4069c1=0xce;}_0x1dd666[_0xd0a5('0x1b')](_0x4069c1);return _0x1dd666[_0xd0a5('0x1c')](_0xd0a5('0x1d'),_0x518bb3+'-'+_0x55f6d7+'/'+_0xb566b3)[_0xd0a5('0x1e')](_0x4af372);}return null;};}function patchUpdates(_0x5da4be){return function(_0x13f80b){try{jsonpatch['apply'](_0x13f80b,_0x5da4be,!![]);}catch(_0x342dc5){return BPromise[_0xd0a5('0x1f')](_0x342dc5);}return _0x13f80b[_0xd0a5('0x20')]();};}function saveUpdates(_0x5b47d4,_0x2e3604){return function(_0x160edc){if(_0x160edc){return _0x160edc['update'](_0x5b47d4)[_0xd0a5('0x21')](function(_0x29edb6){return _0x29edb6;});}return null;};}function removeEntity(_0x5e5908,_0x380eda){return function(_0x95f0d6){if(_0x95f0d6){return _0x95f0d6[_0xd0a5('0x22')]()[_0xd0a5('0x21')](function(){_0x5e5908[_0xd0a5('0x1b')](0xcc)[_0xd0a5('0x16')]();});}};}function handleEntityNotFound(_0x4000e1,_0xbf8028){return function(_0x46e1e3){if(!_0x46e1e3){_0x4000e1['sendStatus'](0x194);}return _0x46e1e3;};}function handleError(_0x50702b,_0x4a3df3){_0x4a3df3=_0x4a3df3||0x1f4;return function(_0x1cc7b1){logger['error'](_0x1cc7b1[_0xd0a5('0x23')]);if(_0x1cc7b1['name']){delete _0x1cc7b1[_0xd0a5('0x24')];}_0x50702b[_0xd0a5('0x1b')](_0x4a3df3)[_0xd0a5('0x25')](_0x1cc7b1);};}exports[_0xd0a5('0x26')]=function(_0x1bf25f,_0x55305f){var _0x5f1f45={},_0x46576a={},_0x3135aa={'count':0x0,'rows':[]};var _0x4dbb6a=_[_0xd0a5('0x27')](db['VtigerField'][_0xd0a5('0x28')],function(_0x1d0a53){return{'name':_0x1d0a53[_0xd0a5('0x29')],'type':_0x1d0a53[_0xd0a5('0x2a')]['key']};});_0x46576a['model']=_[_0xd0a5('0x27')](_0x4dbb6a,'name');_0x46576a['query']=_[_0xd0a5('0x2b')](_0x1bf25f[_0xd0a5('0x2c')]);_0x46576a['filters']=_[_0xd0a5('0x2d')](_0x46576a['model'],_0x46576a[_0xd0a5('0x2c')]);_0x5f1f45['attributes']=_[_0xd0a5('0x2d')](_0x46576a[_0xd0a5('0x2e')],qs[_0xd0a5('0x2f')](_0x1bf25f['query'][_0xd0a5('0x2f')]));_0x5f1f45[_0xd0a5('0x30')]=_0x5f1f45['attributes'][_0xd0a5('0x31')]?_0x5f1f45[_0xd0a5('0x30')]:_0x46576a[_0xd0a5('0x2e')];if(!_0x1bf25f[_0xd0a5('0x2c')][_0xd0a5('0x32')](_0xd0a5('0x33'))){_0x5f1f45[_0xd0a5('0x19')]=qs[_0xd0a5('0x19')](_0x1bf25f[_0xd0a5('0x2c')][_0xd0a5('0x19')]);_0x5f1f45[_0xd0a5('0x17')]=qs[_0xd0a5('0x17')](_0x1bf25f[_0xd0a5('0x2c')][_0xd0a5('0x17')]);}_0x5f1f45[_0xd0a5('0x34')]=qs['sort'](_0x1bf25f[_0xd0a5('0x2c')][_0xd0a5('0x35')]);_0x5f1f45[_0xd0a5('0x36')]=qs['filters'](_[_0xd0a5('0x37')](_0x1bf25f['query'],_0x46576a['filters']),_0x4dbb6a);if(_0x1bf25f[_0xd0a5('0x2c')][_0xd0a5('0x38')]){_0x5f1f45[_0xd0a5('0x36')]=_[_0xd0a5('0x39')](_0x5f1f45['where'],{'$or':_['map'](_0x4dbb6a,function(_0x199324){if(_0x199324[_0xd0a5('0x2a')]!=='VIRTUAL'){var _0x226e19={};_0x226e19[_0x199324[_0xd0a5('0x24')]]={'$like':'%'+_0x1bf25f[_0xd0a5('0x2c')][_0xd0a5('0x38')]+'%'};return _0x226e19;}})});}_0x5f1f45=_[_0xd0a5('0x39')]({},_0x5f1f45,_0x1bf25f[_0xd0a5('0x3a')]);var _0x714ebd={'where':_0x5f1f45[_0xd0a5('0x36')]};return db[_0xd0a5('0x3b')][_0xd0a5('0x1a')](_0x714ebd)[_0xd0a5('0x21')](function(_0x10ca32){_0x3135aa['count']=_0x10ca32;if(_0x1bf25f[_0xd0a5('0x2c')]['includeAll']){_0x5f1f45[_0xd0a5('0x3c')]=[{'all':!![]}];}return db[_0xd0a5('0x3b')]['findAll'](_0x5f1f45);})[_0xd0a5('0x21')](function(_0x2a1d58){_0x3135aa['rows']=_0x2a1d58;return _0x3135aa;})[_0xd0a5('0x21')](respondWithFilteredResult(_0x55305f,_0x5f1f45))[_0xd0a5('0x3d')](handleError(_0x55305f,null));};exports[_0xd0a5('0x3e')]=function(_0x807e81,_0x171a79){var _0x2032d0={'raw':!![],'where':{'id':_0x807e81[_0xd0a5('0x3f')]['id']}},_0x48f4e5={};_0x48f4e5[_0xd0a5('0x2e')]=_[_0xd0a5('0x2b')](db[_0xd0a5('0x3b')]['rawAttributes']);_0x48f4e5['query']=_[_0xd0a5('0x2b')](_0x807e81[_0xd0a5('0x2c')]);_0x48f4e5[_0xd0a5('0x40')]=_[_0xd0a5('0x2d')](_0x48f4e5[_0xd0a5('0x2e')],_0x48f4e5[_0xd0a5('0x2c')]);_0x2032d0[_0xd0a5('0x30')]=_[_0xd0a5('0x2d')](_0x48f4e5[_0xd0a5('0x2e')],qs[_0xd0a5('0x2f')](_0x807e81['query'][_0xd0a5('0x2f')]));_0x2032d0[_0xd0a5('0x30')]=_0x2032d0[_0xd0a5('0x30')][_0xd0a5('0x31')]?_0x2032d0['attributes']:_0x48f4e5[_0xd0a5('0x2e')];if(_0x807e81[_0xd0a5('0x2c')]['includeAll']){_0x2032d0[_0xd0a5('0x3c')]=[{'all':!![]}];}_0x2032d0=_[_0xd0a5('0x39')]({},_0x2032d0,_0x807e81[_0xd0a5('0x3a')]);return db[_0xd0a5('0x3b')][_0xd0a5('0x41')](_0x2032d0)[_0xd0a5('0x21')](handleEntityNotFound(_0x171a79,null))[_0xd0a5('0x21')](respondWithResult(_0x171a79,null))[_0xd0a5('0x3d')](handleError(_0x171a79,null));};exports[_0xd0a5('0x42')]=function(_0x427f55,_0x59e8ca){return db['VtigerField'][_0xd0a5('0x42')](_0x427f55[_0xd0a5('0x43')],{})[_0xd0a5('0x21')](respondWithResult(_0x59e8ca,0xc9))[_0xd0a5('0x3d')](handleError(_0x59e8ca,null));};exports[_0xd0a5('0x44')]=function(_0x48c681,_0x4f47a6){if(_0x48c681[_0xd0a5('0x43')]['id']){delete _0x48c681[_0xd0a5('0x43')]['id'];}return db[_0xd0a5('0x3b')][_0xd0a5('0x41')]({'where':{'id':_0x48c681[_0xd0a5('0x3f')]['id']}})['then'](handleEntityNotFound(_0x4f47a6,null))[_0xd0a5('0x21')](saveUpdates(_0x48c681[_0xd0a5('0x43')],null))[_0xd0a5('0x21')](respondWithResult(_0x4f47a6,null))[_0xd0a5('0x3d')](handleError(_0x4f47a6,null));};exports['destroy']=function(_0x3d04f6,_0x4cb56){return db['VtigerField'][_0xd0a5('0x41')]({'where':{'id':_0x3d04f6[_0xd0a5('0x3f')]['id']}})[_0xd0a5('0x21')](handleEntityNotFound(_0x4cb56,null))[_0xd0a5('0x21')](removeEntity(_0x4cb56,null))['catch'](handleError(_0x4cb56,null));};