c64745df0ebdabbc2eaf7bf40bc6988513e6fd59
[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 _0x0e88=['../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','update','then','stack','name','send','index','map','VtigerField','rawAttributes','type','key','model','keys','filters','intersection','attributes','fields','query','hasOwnProperty','nolimit','order','sort','where','pick','merge','filter','includeAll','include','findAll','rows','catch','params','options','create','body','destroy','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','crypto','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api'];(function(_0x949ea5,_0x47be0d){var _0xc8993e=function(_0xdb1384){while(--_0xdb1384){_0x949ea5['push'](_0x949ea5['shift']());}};_0xc8993e(++_0x47be0d);}(_0x0e88,0x151));var _0x80e8=function(_0x17d9e3,_0x1f969c){_0x17d9e3=_0x17d9e3-0x0;var _0x14192d=_0x0e88[_0x17d9e3];return _0x14192d;};'use strict';var emlformat=require(_0x80e8('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x80e8('0x1'));var jsonpatch=require(_0x80e8('0x2'));var rp=require(_0x80e8('0x3'));var moment=require('moment');var BPromise=require(_0x80e8('0x4'));var Mustache=require(_0x80e8('0x5'));var util=require(_0x80e8('0x6'));var path=require(_0x80e8('0x7'));var sox=require(_0x80e8('0x8'));var csv=require('to-csv');var ejs=require(_0x80e8('0x9'));var fs=require('fs');var fs_extra=require(_0x80e8('0xa'));var _=require('lodash');var squel=require(_0x80e8('0xb'));var crypto=require(_0x80e8('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x80e8('0xd'));var toCsv=require(_0x80e8('0xe'));var querystring=require('querystring');var Papa=require(_0x80e8('0xf'));var Redis=require(_0x80e8('0x10'));var authService=require(_0x80e8('0x11'));var qs=require(_0x80e8('0x12'));var as=require(_0x80e8('0x13'));var hardwareService=require(_0x80e8('0x14'));var logger=require(_0x80e8('0x15'))(_0x80e8('0x16'));var utils=require(_0x80e8('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x80e8('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x336b5e,_0x1ce147){_0x1ce147=_0x1ce147||0xcc;return function(_0x4d760b){if(_0x4d760b){return _0x336b5e[_0x80e8('0x19')](_0x1ce147);}return _0x336b5e[_0x80e8('0x1a')](_0x1ce147)[_0x80e8('0x1b')]();};}function respondWithResult(_0x1930f2,_0x34ac31){_0x34ac31=_0x34ac31||0xc8;return function(_0x3652f9){if(_0x3652f9){return _0x1930f2[_0x80e8('0x1a')](_0x34ac31)[_0x80e8('0x1c')](_0x3652f9);}};}function respondWithFilteredResult(_0x281f67,_0xa72a37){return function(_0x131fa0){if(_0x131fa0){var _0x385710=typeof _0xa72a37[_0x80e8('0x1d')]==='undefined'&&typeof _0xa72a37[_0x80e8('0x1e')]===_0x80e8('0x1f');var _0x5cd034=_0x131fa0[_0x80e8('0x20')];var _0x2f1dfb=_0x385710?0x0:_0xa72a37[_0x80e8('0x1d')];var _0x53e9c4=_0x385710?_0x131fa0['count']:_0xa72a37[_0x80e8('0x1d')]+_0xa72a37['limit'];var _0x591843;if(_0x53e9c4>=_0x5cd034){_0x53e9c4=_0x5cd034;_0x591843=0xc8;}else{_0x591843=0xce;}_0x281f67[_0x80e8('0x1a')](_0x591843);return _0x281f67[_0x80e8('0x21')](_0x80e8('0x22'),_0x2f1dfb+'-'+_0x53e9c4+'/'+_0x5cd034)[_0x80e8('0x1c')](_0x131fa0);}return null;};}function patchUpdates(_0xbfc005){return function(_0x54c771){try{jsonpatch[_0x80e8('0x23')](_0x54c771,_0xbfc005,!![]);}catch(_0x1bf3e8){return BPromise['reject'](_0x1bf3e8);}return _0x54c771['save']();};}function saveUpdates(_0x171ae7,_0x3a44b5){return function(_0x39166b){if(_0x39166b){return _0x39166b[_0x80e8('0x24')](_0x171ae7)[_0x80e8('0x25')](function(_0x456d26){return _0x456d26;});}return null;};}function removeEntity(_0x2cbd5e,_0x5bea60){return function(_0x4c3847){if(_0x4c3847){return _0x4c3847['destroy']()[_0x80e8('0x25')](function(){_0x2cbd5e['status'](0xcc)[_0x80e8('0x1b')]();});}};}function handleEntityNotFound(_0x20bfa3,_0x121e37){return function(_0x5a77e0){if(!_0x5a77e0){_0x20bfa3[_0x80e8('0x19')](0x194);}return _0x5a77e0;};}function handleError(_0x1a446d,_0x1a2110){_0x1a2110=_0x1a2110||0x1f4;return function(_0x3d9978){logger['error'](_0x3d9978[_0x80e8('0x26')]);if(_0x3d9978[_0x80e8('0x27')]){delete _0x3d9978[_0x80e8('0x27')];}_0x1a446d[_0x80e8('0x1a')](_0x1a2110)[_0x80e8('0x28')](_0x3d9978);};}exports[_0x80e8('0x29')]=function(_0x4cf673,_0x1e7ef0){var _0x3baf6c={},_0x4bdaac={},_0x4fff9b={'count':0x0,'rows':[]};var _0x2a7c76=_[_0x80e8('0x2a')](db[_0x80e8('0x2b')][_0x80e8('0x2c')],function(_0x1ddd7c){return{'name':_0x1ddd7c['fieldName'],'type':_0x1ddd7c[_0x80e8('0x2d')][_0x80e8('0x2e')]};});_0x4bdaac[_0x80e8('0x2f')]=_[_0x80e8('0x2a')](_0x2a7c76,_0x80e8('0x27'));_0x4bdaac['query']=_[_0x80e8('0x30')](_0x4cf673['query']);_0x4bdaac[_0x80e8('0x31')]=_[_0x80e8('0x32')](_0x4bdaac[_0x80e8('0x2f')],_0x4bdaac['query']);_0x3baf6c[_0x80e8('0x33')]=_[_0x80e8('0x32')](_0x4bdaac[_0x80e8('0x2f')],qs[_0x80e8('0x34')](_0x4cf673[_0x80e8('0x35')]['fields']));_0x3baf6c[_0x80e8('0x33')]=_0x3baf6c[_0x80e8('0x33')]['length']?_0x3baf6c[_0x80e8('0x33')]:_0x4bdaac[_0x80e8('0x2f')];if(!_0x4cf673[_0x80e8('0x35')][_0x80e8('0x36')](_0x80e8('0x37'))){_0x3baf6c[_0x80e8('0x1e')]=qs['limit'](_0x4cf673[_0x80e8('0x35')][_0x80e8('0x1e')]);_0x3baf6c['offset']=qs[_0x80e8('0x1d')](_0x4cf673[_0x80e8('0x35')][_0x80e8('0x1d')]);}_0x3baf6c[_0x80e8('0x38')]=qs[_0x80e8('0x39')](_0x4cf673['query'][_0x80e8('0x39')]);_0x3baf6c[_0x80e8('0x3a')]=qs[_0x80e8('0x31')](_[_0x80e8('0x3b')](_0x4cf673[_0x80e8('0x35')],_0x4bdaac[_0x80e8('0x31')]),_0x2a7c76);if(_0x4cf673[_0x80e8('0x35')]['filter']){_0x3baf6c[_0x80e8('0x3a')]=_[_0x80e8('0x3c')](_0x3baf6c['where'],{'$or':_[_0x80e8('0x2a')](_0x2a7c76,function(_0x2dcf5a){if(_0x2dcf5a[_0x80e8('0x2d')]!=='VIRTUAL'){var _0x1ddf33={};_0x1ddf33[_0x2dcf5a[_0x80e8('0x27')]]={'$like':'%'+_0x4cf673['query'][_0x80e8('0x3d')]+'%'};return _0x1ddf33;}})});}_0x3baf6c=_[_0x80e8('0x3c')]({},_0x3baf6c,_0x4cf673['options']);var _0x2fddb5={'where':_0x3baf6c[_0x80e8('0x3a')]};return db[_0x80e8('0x2b')][_0x80e8('0x20')](_0x2fddb5)['then'](function(_0x30c2d9){_0x4fff9b[_0x80e8('0x20')]=_0x30c2d9;if(_0x4cf673[_0x80e8('0x35')][_0x80e8('0x3e')]){_0x3baf6c[_0x80e8('0x3f')]=[{'all':!![]}];}return db[_0x80e8('0x2b')][_0x80e8('0x40')](_0x3baf6c);})[_0x80e8('0x25')](function(_0x28decf){_0x4fff9b[_0x80e8('0x41')]=_0x28decf;return _0x4fff9b;})[_0x80e8('0x25')](respondWithFilteredResult(_0x1e7ef0,_0x3baf6c))[_0x80e8('0x42')](handleError(_0x1e7ef0,null));};exports['show']=function(_0x1522ca,_0xe9ca3e){var _0x3c0bb6={'raw':!![],'where':{'id':_0x1522ca[_0x80e8('0x43')]['id']}},_0x284513={};_0x284513[_0x80e8('0x2f')]=_[_0x80e8('0x30')](db[_0x80e8('0x2b')]['rawAttributes']);_0x284513[_0x80e8('0x35')]=_[_0x80e8('0x30')](_0x1522ca[_0x80e8('0x35')]);_0x284513['filters']=_[_0x80e8('0x32')](_0x284513[_0x80e8('0x2f')],_0x284513[_0x80e8('0x35')]);_0x3c0bb6[_0x80e8('0x33')]=_[_0x80e8('0x32')](_0x284513[_0x80e8('0x2f')],qs['fields'](_0x1522ca['query'][_0x80e8('0x34')]));_0x3c0bb6['attributes']=_0x3c0bb6[_0x80e8('0x33')]['length']?_0x3c0bb6['attributes']:_0x284513[_0x80e8('0x2f')];if(_0x1522ca[_0x80e8('0x35')][_0x80e8('0x3e')]){_0x3c0bb6[_0x80e8('0x3f')]=[{'all':!![]}];}_0x3c0bb6=_[_0x80e8('0x3c')]({},_0x3c0bb6,_0x1522ca[_0x80e8('0x44')]);return db[_0x80e8('0x2b')]['find'](_0x3c0bb6)[_0x80e8('0x25')](handleEntityNotFound(_0xe9ca3e,null))['then'](respondWithResult(_0xe9ca3e,null))[_0x80e8('0x42')](handleError(_0xe9ca3e,null));};exports[_0x80e8('0x45')]=function(_0x4c32b3,_0x415c77){return db['VtigerField']['create'](_0x4c32b3[_0x80e8('0x46')],{})[_0x80e8('0x25')](respondWithResult(_0x415c77,0xc9))['catch'](handleError(_0x415c77,null));};exports[_0x80e8('0x24')]=function(_0x25ee23,_0x3c7876){if(_0x25ee23['body']['id']){delete _0x25ee23[_0x80e8('0x46')]['id'];}return db['VtigerField']['find']({'where':{'id':_0x25ee23[_0x80e8('0x43')]['id']}})[_0x80e8('0x25')](handleEntityNotFound(_0x3c7876,null))[_0x80e8('0x25')](saveUpdates(_0x25ee23[_0x80e8('0x46')],null))['then'](respondWithResult(_0x3c7876,null))[_0x80e8('0x42')](handleError(_0x3c7876,null));};exports[_0x80e8('0x47')]=function(_0xe74b36,_0x4f5e9c){return db[_0x80e8('0x2b')]['find']({'where':{'id':_0xe74b36['params']['id']}})[_0x80e8('0x25')](handleEntityNotFound(_0x4f5e9c,null))['then'](removeEntity(_0x4f5e9c,null))[_0x80e8('0x42')](handleError(_0x4f5e9c,null));};