83566c4a028b7511ed0924aabc4edb35dad315df
[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 _0x330b=['lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','sendStatus','offset','undefined','limit','count','status','json','apply','reject','save','update','then','end','error','stack','name','send','index','map','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','VtigerField','includeAll','include','findAll','rows','catch','show','params','find','create','body','destroy','rimraf','zip-dir','fast-json-patch','util','path','sox','to-csv','ejs','fs-extra'];(function(_0x58b354,_0x24ca13){var _0x5502b6=function(_0x51ee3c){while(--_0x51ee3c){_0x58b354['push'](_0x58b354['shift']());}};_0x5502b6(++_0x24ca13);}(_0x330b,0x11b));var _0xb330=function(_0x11cd30,_0x58b742){_0x11cd30=_0x11cd30-0x0;var _0x1954c0=_0x330b[_0x11cd30];return _0x1954c0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb330('0x0'));var zipdir=require(_0xb330('0x1'));var jsonpatch=require(_0xb330('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xb330('0x3'));var path=require(_0xb330('0x4'));var sox=require(_0xb330('0x5'));var csv=require(_0xb330('0x6'));var ejs=require(_0xb330('0x7'));var fs=require('fs');var fs_extra=require(_0xb330('0x8'));var _=require(_0xb330('0x9'));var squel=require(_0xb330('0xa'));var crypto=require('crypto');var jsforce=require(_0xb330('0xb'));var deskjs=require(_0xb330('0xc'));var toCsv=require(_0xb330('0x6'));var querystring=require(_0xb330('0xd'));var Papa=require(_0xb330('0xe'));var Redis=require(_0xb330('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xb330('0x10'));var hardwareService=require(_0xb330('0x11'));var logger=require(_0xb330('0x12'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xb330('0x13'));var db=require(_0xb330('0x14'))['db'];function respondWithStatusCode(_0x14c215,_0xe5498a){_0xe5498a=_0xe5498a||0xcc;return function(_0x545f8b){if(_0x545f8b){return _0x14c215[_0xb330('0x15')](_0xe5498a);}return _0x14c215['status'](_0xe5498a)['end']();};}function respondWithResult(_0x181b10,_0x189bed){_0x189bed=_0x189bed||0xc8;return function(_0x1277a2){if(_0x1277a2){return _0x181b10['status'](_0x189bed)['json'](_0x1277a2);}};}function respondWithFilteredResult(_0x1d70c5,_0x5e97bd){return function(_0x543883){if(_0x543883){var _0x297c9d=typeof _0x5e97bd[_0xb330('0x16')]===_0xb330('0x17')&&typeof _0x5e97bd[_0xb330('0x18')]===_0xb330('0x17');var _0x97c9f5=_0x543883[_0xb330('0x19')];var _0x5df5c6=_0x297c9d?0x0:_0x5e97bd['offset'];var _0x1f231c=_0x297c9d?_0x543883[_0xb330('0x19')]:_0x5e97bd[_0xb330('0x16')]+_0x5e97bd[_0xb330('0x18')];var _0x5e5acc;if(_0x1f231c>=_0x97c9f5){_0x1f231c=_0x97c9f5;_0x5e5acc=0xc8;}else{_0x5e5acc=0xce;}_0x1d70c5[_0xb330('0x1a')](_0x5e5acc);return _0x1d70c5['set']('Content-Range',_0x5df5c6+'-'+_0x1f231c+'/'+_0x97c9f5)[_0xb330('0x1b')](_0x543883);}return null;};}function patchUpdates(_0x3f4689){return function(_0x332e64){try{jsonpatch[_0xb330('0x1c')](_0x332e64,_0x3f4689,!![]);}catch(_0x3c54e0){return BPromise[_0xb330('0x1d')](_0x3c54e0);}return _0x332e64[_0xb330('0x1e')]();};}function saveUpdates(_0x430b1c,_0x3a01d9){return function(_0x5b2358){if(_0x5b2358){return _0x5b2358[_0xb330('0x1f')](_0x430b1c)[_0xb330('0x20')](function(_0x2b52f0){return _0x2b52f0;});}return null;};}function removeEntity(_0x811a26,_0xcf4513){return function(_0x23fd19){if(_0x23fd19){return _0x23fd19['destroy']()[_0xb330('0x20')](function(){_0x811a26[_0xb330('0x1a')](0xcc)[_0xb330('0x21')]();});}};}function handleEntityNotFound(_0x209063,_0x1ed44a){return function(_0x576284){if(!_0x576284){_0x209063['sendStatus'](0x194);}return _0x576284;};}function handleError(_0x1316cd,_0x4b1f2f){_0x4b1f2f=_0x4b1f2f||0x1f4;return function(_0xc31713){logger[_0xb330('0x22')](_0xc31713[_0xb330('0x23')]);if(_0xc31713[_0xb330('0x24')]){delete _0xc31713[_0xb330('0x24')];}_0x1316cd[_0xb330('0x1a')](_0x4b1f2f)[_0xb330('0x25')](_0xc31713);};}exports[_0xb330('0x26')]=function(_0x3a3023,_0x47683f){var _0x5bee41={},_0x586b8a={},_0x3cf271={'count':0x0,'rows':[]};var _0x34be0e=_[_0xb330('0x27')](db['VtigerField'][_0xb330('0x28')],function(_0x5a180e){return{'name':_0x5a180e[_0xb330('0x29')],'type':_0x5a180e['type']['key']};});_0x586b8a[_0xb330('0x2a')]=_[_0xb330('0x27')](_0x34be0e,_0xb330('0x24'));_0x586b8a[_0xb330('0x2b')]=_[_0xb330('0x2c')](_0x3a3023[_0xb330('0x2b')]);_0x586b8a[_0xb330('0x2d')]=_[_0xb330('0x2e')](_0x586b8a[_0xb330('0x2a')],_0x586b8a[_0xb330('0x2b')]);_0x5bee41[_0xb330('0x2f')]=_[_0xb330('0x2e')](_0x586b8a[_0xb330('0x2a')],qs[_0xb330('0x30')](_0x3a3023[_0xb330('0x2b')][_0xb330('0x30')]));_0x5bee41[_0xb330('0x2f')]=_0x5bee41[_0xb330('0x2f')][_0xb330('0x31')]?_0x5bee41[_0xb330('0x2f')]:_0x586b8a[_0xb330('0x2a')];if(!_0x3a3023[_0xb330('0x2b')][_0xb330('0x32')](_0xb330('0x33'))){_0x5bee41[_0xb330('0x18')]=qs[_0xb330('0x18')](_0x3a3023[_0xb330('0x2b')][_0xb330('0x18')]);_0x5bee41['offset']=qs[_0xb330('0x16')](_0x3a3023[_0xb330('0x2b')][_0xb330('0x16')]);}_0x5bee41[_0xb330('0x34')]=qs['sort'](_0x3a3023[_0xb330('0x2b')][_0xb330('0x35')]);_0x5bee41[_0xb330('0x36')]=qs[_0xb330('0x2d')](_[_0xb330('0x37')](_0x3a3023[_0xb330('0x2b')],_0x586b8a[_0xb330('0x2d')]),_0x34be0e);if(_0x3a3023[_0xb330('0x2b')][_0xb330('0x38')]){_0x5bee41[_0xb330('0x36')]=_[_0xb330('0x39')](_0x5bee41['where'],{'$or':_[_0xb330('0x27')](_0x34be0e,function(_0x103cb3){if(_0x103cb3[_0xb330('0x3a')]!==_0xb330('0x3b')){var _0x2a810d={};_0x2a810d[_0x103cb3['name']]={'$like':'%'+_0x3a3023[_0xb330('0x2b')]['filter']+'%'};return _0x2a810d;}})});}_0x5bee41=_['merge']({},_0x5bee41,_0x3a3023[_0xb330('0x3c')]);var _0x1eef97={'where':_0x5bee41[_0xb330('0x36')]};return db[_0xb330('0x3d')][_0xb330('0x19')](_0x1eef97)['then'](function(_0x47a926){_0x3cf271[_0xb330('0x19')]=_0x47a926;if(_0x3a3023[_0xb330('0x2b')][_0xb330('0x3e')]){_0x5bee41[_0xb330('0x3f')]=[{'all':!![]}];}return db[_0xb330('0x3d')][_0xb330('0x40')](_0x5bee41);})[_0xb330('0x20')](function(_0x5351e7){_0x3cf271[_0xb330('0x41')]=_0x5351e7;return _0x3cf271;})['then'](respondWithFilteredResult(_0x47683f,_0x5bee41))[_0xb330('0x42')](handleError(_0x47683f,null));};exports[_0xb330('0x43')]=function(_0x44de76,_0x535f77){var _0x53d319={'raw':!![],'where':{'id':_0x44de76[_0xb330('0x44')]['id']}},_0x251e45={};_0x251e45[_0xb330('0x2a')]=_[_0xb330('0x2c')](db[_0xb330('0x3d')][_0xb330('0x28')]);_0x251e45[_0xb330('0x2b')]=_[_0xb330('0x2c')](_0x44de76[_0xb330('0x2b')]);_0x251e45[_0xb330('0x2d')]=_['intersection'](_0x251e45[_0xb330('0x2a')],_0x251e45['query']);_0x53d319['attributes']=_[_0xb330('0x2e')](_0x251e45[_0xb330('0x2a')],qs[_0xb330('0x30')](_0x44de76[_0xb330('0x2b')][_0xb330('0x30')]));_0x53d319[_0xb330('0x2f')]=_0x53d319[_0xb330('0x2f')][_0xb330('0x31')]?_0x53d319[_0xb330('0x2f')]:_0x251e45[_0xb330('0x2a')];if(_0x44de76[_0xb330('0x2b')][_0xb330('0x3e')]){_0x53d319['include']=[{'all':!![]}];}_0x53d319=_[_0xb330('0x39')]({},_0x53d319,_0x44de76[_0xb330('0x3c')]);return db[_0xb330('0x3d')][_0xb330('0x45')](_0x53d319)['then'](handleEntityNotFound(_0x535f77,null))['then'](respondWithResult(_0x535f77,null))[_0xb330('0x42')](handleError(_0x535f77,null));};exports[_0xb330('0x46')]=function(_0x210412,_0x16025e){return db[_0xb330('0x3d')]['create'](_0x210412['body'],{})[_0xb330('0x20')](respondWithResult(_0x16025e,0xc9))['catch'](handleError(_0x16025e,null));};exports[_0xb330('0x1f')]=function(_0xcfae27,_0x528116){if(_0xcfae27[_0xb330('0x47')]['id']){delete _0xcfae27[_0xb330('0x47')]['id'];}return db[_0xb330('0x3d')]['find']({'where':{'id':_0xcfae27['params']['id']}})[_0xb330('0x20')](handleEntityNotFound(_0x528116,null))['then'](saveUpdates(_0xcfae27[_0xb330('0x47')],null))[_0xb330('0x20')](respondWithResult(_0x528116,null))[_0xb330('0x42')](handleError(_0x528116,null));};exports[_0xb330('0x48')]=function(_0x25c71a,_0xf8087b){return db[_0xb330('0x3d')][_0xb330('0x45')]({'where':{'id':_0x25c71a[_0xb330('0x44')]['id']}})[_0xb330('0x20')](handleEntityNotFound(_0xf8087b,null))['then'](removeEntity(_0xf8087b,null))['catch'](handleError(_0xf8087b,null));};