Built motion from commit 3c2ce842.|2.6.31
[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 _0x475f=['set','reject','save','update','then','end','sendStatus','error','stack','name','send','VtigerField','rawAttributes','fieldName','model','map','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','catch','show','length','find','create','body','params','destroy','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count'];(function(_0x2b6e4c,_0x49280d){var _0x3d84e9=function(_0x19c4e4){while(--_0x19c4e4){_0x2b6e4c['push'](_0x2b6e4c['shift']());}};_0x3d84e9(++_0x49280d);}(_0x475f,0x146));var _0xf475=function(_0x351065,_0xe5cbac){_0x351065=_0x351065-0x0;var _0x148ad6=_0x475f[_0x351065];return _0x148ad6;};'use strict';var emlformat=require(_0xf475('0x0'));var rimraf=require(_0xf475('0x1'));var zipdir=require(_0xf475('0x2'));var jsonpatch=require(_0xf475('0x3'));var rp=require('request-promise');var moment=require(_0xf475('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf475('0x5'));var path=require(_0xf475('0x6'));var sox=require(_0xf475('0x7'));var csv=require(_0xf475('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xf475('0x9'));var _=require(_0xf475('0xa'));var squel=require(_0xf475('0xb'));var crypto=require(_0xf475('0xc'));var jsforce=require(_0xf475('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf475('0x8'));var querystring=require(_0xf475('0xe'));var Papa=require(_0xf475('0xf'));var Redis=require(_0xf475('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xf475('0x11'));var hardwareService=require(_0xf475('0x12'));var logger=require(_0xf475('0x13'))('api');var utils=require(_0xf475('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xf475('0x15'));var db=require(_0xf475('0x16'))['db'];function respondWithStatusCode(_0x44becd,_0x50cb20){_0x50cb20=_0x50cb20||0xcc;return function(_0x514d8b){if(_0x514d8b){return _0x44becd['sendStatus'](_0x50cb20);}return _0x44becd[_0xf475('0x17')](_0x50cb20)['end']();};}function respondWithResult(_0x4a56da,_0x3d82df){_0x3d82df=_0x3d82df||0xc8;return function(_0x541731){if(_0x541731){return _0x4a56da[_0xf475('0x17')](_0x3d82df)[_0xf475('0x18')](_0x541731);}};}function respondWithFilteredResult(_0x57a012,_0x249118){return function(_0x4994d9){if(_0x4994d9){var _0xd5993e=typeof _0x249118[_0xf475('0x19')]===_0xf475('0x1a')&&typeof _0x249118[_0xf475('0x1b')]===_0xf475('0x1a');var _0x941df8=_0x4994d9[_0xf475('0x1c')];var _0xd33ae3=_0xd5993e?0x0:_0x249118['offset'];var _0x2e7c69=_0xd5993e?_0x4994d9[_0xf475('0x1c')]:_0x249118[_0xf475('0x19')]+_0x249118[_0xf475('0x1b')];var _0x12d911;if(_0x2e7c69>=_0x941df8){_0x2e7c69=_0x941df8;_0x12d911=0xc8;}else{_0x12d911=0xce;}_0x57a012[_0xf475('0x17')](_0x12d911);return _0x57a012[_0xf475('0x1d')]('Content-Range',_0xd33ae3+'-'+_0x2e7c69+'/'+_0x941df8)[_0xf475('0x18')](_0x4994d9);}return null;};}function patchUpdates(_0xeed53){return function(_0x33ac91){try{jsonpatch['apply'](_0x33ac91,_0xeed53,!![]);}catch(_0xadf42b){return BPromise[_0xf475('0x1e')](_0xadf42b);}return _0x33ac91[_0xf475('0x1f')]();};}function saveUpdates(_0xcdd6ec,_0x44c3c2){return function(_0x214b33){if(_0x214b33){return _0x214b33[_0xf475('0x20')](_0xcdd6ec)[_0xf475('0x21')](function(_0x4af611){return _0x4af611;});}return null;};}function removeEntity(_0x4e01a2,_0x503c7c){return function(_0x11cad0){if(_0x11cad0){return _0x11cad0['destroy']()['then'](function(){_0x4e01a2['status'](0xcc)[_0xf475('0x22')]();});}};}function handleEntityNotFound(_0x29e5e3,_0x11024b){return function(_0x24ff09){if(!_0x24ff09){_0x29e5e3[_0xf475('0x23')](0x194);}return _0x24ff09;};}function handleError(_0x1e95e3,_0x47b191){_0x47b191=_0x47b191||0x1f4;return function(_0x16d768){logger[_0xf475('0x24')](_0x16d768[_0xf475('0x25')]);if(_0x16d768['name']){delete _0x16d768[_0xf475('0x26')];}_0x1e95e3[_0xf475('0x17')](_0x47b191)[_0xf475('0x27')](_0x16d768);};}exports['index']=function(_0x307a4f,_0x1ac63d){var _0x374a67={},_0x150f33={},_0x231e32={'count':0x0,'rows':[]};var _0x294916=_['map'](db[_0xf475('0x28')][_0xf475('0x29')],function(_0x1171be){return{'name':_0x1171be[_0xf475('0x2a')],'type':_0x1171be['type']['key']};});_0x150f33[_0xf475('0x2b')]=_[_0xf475('0x2c')](_0x294916,'name');_0x150f33[_0xf475('0x2d')]=_[_0xf475('0x2e')](_0x307a4f[_0xf475('0x2d')]);_0x150f33[_0xf475('0x2f')]=_['intersection'](_0x150f33['model'],_0x150f33[_0xf475('0x2d')]);_0x374a67[_0xf475('0x30')]=_[_0xf475('0x31')](_0x150f33[_0xf475('0x2b')],qs[_0xf475('0x32')](_0x307a4f[_0xf475('0x2d')][_0xf475('0x32')]));_0x374a67[_0xf475('0x30')]=_0x374a67['attributes']['length']?_0x374a67[_0xf475('0x30')]:_0x150f33[_0xf475('0x2b')];if(!_0x307a4f[_0xf475('0x2d')][_0xf475('0x33')](_0xf475('0x34'))){_0x374a67[_0xf475('0x1b')]=qs[_0xf475('0x1b')](_0x307a4f[_0xf475('0x2d')][_0xf475('0x1b')]);_0x374a67[_0xf475('0x19')]=qs['offset'](_0x307a4f[_0xf475('0x2d')][_0xf475('0x19')]);}_0x374a67[_0xf475('0x35')]=qs[_0xf475('0x36')](_0x307a4f[_0xf475('0x2d')][_0xf475('0x36')]);_0x374a67[_0xf475('0x37')]=qs['filters'](_[_0xf475('0x38')](_0x307a4f[_0xf475('0x2d')],_0x150f33[_0xf475('0x2f')]),_0x294916);if(_0x307a4f['query'][_0xf475('0x39')]){_0x374a67[_0xf475('0x37')]=_[_0xf475('0x3a')](_0x374a67[_0xf475('0x37')],{'$or':_[_0xf475('0x2c')](_0x294916,function(_0x58dc30){if(_0x58dc30['type']!==_0xf475('0x3b')){var _0x5f0283={};_0x5f0283[_0x58dc30[_0xf475('0x26')]]={'$like':'%'+_0x307a4f[_0xf475('0x2d')][_0xf475('0x39')]+'%'};return _0x5f0283;}})});}_0x374a67=_[_0xf475('0x3a')]({},_0x374a67,_0x307a4f['options']);var _0x284f72={'where':_0x374a67[_0xf475('0x37')]};return db['VtigerField']['count'](_0x284f72)[_0xf475('0x21')](function(_0x4fd17e){_0x231e32['count']=_0x4fd17e;if(_0x307a4f[_0xf475('0x2d')][_0xf475('0x3c')]){_0x374a67[_0xf475('0x3d')]=[{'all':!![]}];}return db[_0xf475('0x28')]['findAll'](_0x374a67);})[_0xf475('0x21')](function(_0x120670){_0x231e32[_0xf475('0x3e')]=_0x120670;return _0x231e32;})[_0xf475('0x21')](respondWithFilteredResult(_0x1ac63d,_0x374a67))[_0xf475('0x3f')](handleError(_0x1ac63d,null));};exports[_0xf475('0x40')]=function(_0x45ae03,_0xb7f9f2){var _0x2dd0d5={'raw':!![],'where':{'id':_0x45ae03['params']['id']}},_0x10d526={};_0x10d526[_0xf475('0x2b')]=_[_0xf475('0x2e')](db[_0xf475('0x28')]['rawAttributes']);_0x10d526[_0xf475('0x2d')]=_[_0xf475('0x2e')](_0x45ae03[_0xf475('0x2d')]);_0x10d526[_0xf475('0x2f')]=_[_0xf475('0x31')](_0x10d526[_0xf475('0x2b')],_0x10d526['query']);_0x2dd0d5[_0xf475('0x30')]=_[_0xf475('0x31')](_0x10d526[_0xf475('0x2b')],qs[_0xf475('0x32')](_0x45ae03[_0xf475('0x2d')][_0xf475('0x32')]));_0x2dd0d5['attributes']=_0x2dd0d5['attributes'][_0xf475('0x41')]?_0x2dd0d5['attributes']:_0x10d526['model'];if(_0x45ae03[_0xf475('0x2d')][_0xf475('0x3c')]){_0x2dd0d5[_0xf475('0x3d')]=[{'all':!![]}];}_0x2dd0d5=_[_0xf475('0x3a')]({},_0x2dd0d5,_0x45ae03['options']);return db[_0xf475('0x28')][_0xf475('0x42')](_0x2dd0d5)[_0xf475('0x21')](handleEntityNotFound(_0xb7f9f2,null))['then'](respondWithResult(_0xb7f9f2,null))[_0xf475('0x3f')](handleError(_0xb7f9f2,null));};exports['create']=function(_0x29abcd,_0x4df0fd){return db[_0xf475('0x28')][_0xf475('0x43')](_0x29abcd[_0xf475('0x44')],{})[_0xf475('0x21')](respondWithResult(_0x4df0fd,0xc9))['catch'](handleError(_0x4df0fd,null));};exports[_0xf475('0x20')]=function(_0x153d35,_0x237cb0){if(_0x153d35[_0xf475('0x44')]['id']){delete _0x153d35['body']['id'];}return db[_0xf475('0x28')][_0xf475('0x42')]({'where':{'id':_0x153d35[_0xf475('0x45')]['id']}})[_0xf475('0x21')](handleEntityNotFound(_0x237cb0,null))[_0xf475('0x21')](saveUpdates(_0x153d35[_0xf475('0x44')],null))[_0xf475('0x21')](respondWithResult(_0x237cb0,null))[_0xf475('0x3f')](handleError(_0x237cb0,null));};exports[_0xf475('0x46')]=function(_0x307803,_0x1e33f6){return db[_0xf475('0x28')][_0xf475('0x42')]({'where':{'id':_0x307803[_0xf475('0x45')]['id']}})[_0xf475('0x21')](handleEntityNotFound(_0x1e33f6,null))[_0xf475('0x21')](removeEntity(_0x1e33f6,null))[_0xf475('0x3f')](handleError(_0x1e33f6,null));};