Built motion from commit (unavailable).|2.5.4
[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 _0x682e=['squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','update','then','destroy','stack','send','index','rawAttributes','fieldName','model','map','name','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filter','merge','type','VIRTUAL','VtigerField','includeAll','include','findAll','rows','catch','keys','find','create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash'];(function(_0x45ed61,_0x1feb96){var _0x33a170=function(_0x5ee0d2){while(--_0x5ee0d2){_0x45ed61['push'](_0x45ed61['shift']());}};_0x33a170(++_0x1feb96);}(_0x682e,0x1ce));var _0xe682=function(_0x3de63c,_0x3c466c){_0x3de63c=_0x3de63c-0x0;var _0x9e2e34=_0x682e[_0x3de63c];return _0x9e2e34;};'use strict';var pdf=require(_0xe682('0x0'));var emlformat=require(_0xe682('0x1'));var rimraf=require(_0xe682('0x2'));var zipdir=require(_0xe682('0x3'));var jsonpatch=require(_0xe682('0x4'));var rp=require(_0xe682('0x5'));var moment=require('moment');var BPromise=require(_0xe682('0x6'));var Mustache=require(_0xe682('0x7'));var util=require(_0xe682('0x8'));var path=require(_0xe682('0x9'));var sox=require(_0xe682('0xa'));var csv=require(_0xe682('0xb'));var ejs=require(_0xe682('0xc'));var fs=require('fs');var _=require(_0xe682('0xd'));var squel=require(_0xe682('0xe'));var crypto=require(_0xe682('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xe682('0x10'));var toCsv=require(_0xe682('0xb'));var querystring=require(_0xe682('0x11'));var Papa=require(_0xe682('0x12'));var Redis=require(_0xe682('0x13'));var authService=require(_0xe682('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xe682('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe682('0x16'))('api');var utils=require('../../config/utils');var config=require(_0xe682('0x17'));var db=require(_0xe682('0x18'))['db'];function respondWithStatusCode(_0x2973e9,_0x178861){_0x178861=_0x178861||0xcc;return function(_0x9d0c78){if(_0x9d0c78){return _0x2973e9[_0xe682('0x19')](_0x178861);}return _0x2973e9['status'](_0x178861)[_0xe682('0x1a')]();};}function respondWithResult(_0x3a8de0,_0x1e4755){_0x1e4755=_0x1e4755||0xc8;return function(_0x32b45a){if(_0x32b45a){return _0x3a8de0[_0xe682('0x1b')](_0x1e4755)[_0xe682('0x1c')](_0x32b45a);}};}function respondWithFilteredResult(_0x3481a9,_0x30da5d){return function(_0x5940b8){if(_0x5940b8){var _0x2de4e8=_0x5940b8[_0xe682('0x1d')],_0x5e29bd=_0x30da5d[_0xe682('0x1e')],_0x58c7a6=_0x30da5d[_0xe682('0x1e')]+_0x30da5d[_0xe682('0x1f')],_0x4f08af;if(_0x58c7a6>=_0x2de4e8){_0x58c7a6=_0x2de4e8;_0x4f08af=0xc8;}else{_0x4f08af=0xce;}_0x3481a9['status'](_0x4f08af);return _0x3481a9[_0xe682('0x20')]('Content-Range',_0x5e29bd+'-'+_0x58c7a6+'/'+_0x2de4e8)[_0xe682('0x1c')](_0x5940b8);}return null;};}function patchUpdates(_0x555463){return function(_0xc1cdfa){try{jsonpatch['apply'](_0xc1cdfa,_0x555463,!![]);}catch(_0x31d8e4){return BPromise['reject'](_0x31d8e4);}return _0xc1cdfa['save']();};}function saveUpdates(_0x17b9a3,_0x5ebf37){return function(_0x36c7e0){if(_0x36c7e0){return _0x36c7e0[_0xe682('0x21')](_0x17b9a3)[_0xe682('0x22')](function(_0x1fefdc){return _0x1fefdc;});}return null;};}function removeEntity(_0x17b70f,_0x16fbfe){return function(_0x227139){if(_0x227139){return _0x227139[_0xe682('0x23')]()[_0xe682('0x22')](function(){_0x17b70f[_0xe682('0x1b')](0xcc)[_0xe682('0x1a')]();});}};}function handleEntityNotFound(_0x3e9018,_0x46402f){return function(_0x5bfb75){if(!_0x5bfb75){_0x3e9018['sendStatus'](0x194);}return _0x5bfb75;};}function handleError(_0x56fcdb,_0xb0bb2f){_0xb0bb2f=_0xb0bb2f||0x1f4;return function(_0x32353f){logger['error'](_0x32353f[_0xe682('0x24')]);if(_0x32353f['name']){delete _0x32353f['name'];}_0x56fcdb[_0xe682('0x1b')](_0xb0bb2f)[_0xe682('0x25')](_0x32353f);};}exports[_0xe682('0x26')]=function(_0x2be6d2,_0x25a32f){var _0x4aaaa0={},_0x4945f1={},_0x58da93={'count':0x0,'rows':[]};var _0x7af36b=_['map'](db['VtigerField'][_0xe682('0x27')],function(_0x5a2a13){return{'name':_0x5a2a13[_0xe682('0x28')],'type':_0x5a2a13['type']['key']};});_0x4945f1[_0xe682('0x29')]=_[_0xe682('0x2a')](_0x7af36b,_0xe682('0x2b'));_0x4945f1[_0xe682('0x2c')]=_['keys'](_0x2be6d2[_0xe682('0x2c')]);_0x4945f1[_0xe682('0x2d')]=_[_0xe682('0x2e')](_0x4945f1[_0xe682('0x29')],_0x4945f1['query']);_0x4aaaa0[_0xe682('0x2f')]=_['intersection'](_0x4945f1[_0xe682('0x29')],qs[_0xe682('0x30')](_0x2be6d2['query'][_0xe682('0x30')]));_0x4aaaa0[_0xe682('0x2f')]=_0x4aaaa0['attributes'][_0xe682('0x31')]?_0x4aaaa0[_0xe682('0x2f')]:_0x4945f1[_0xe682('0x29')];if(!_0x2be6d2[_0xe682('0x2c')][_0xe682('0x32')]('nolimit')){_0x4aaaa0[_0xe682('0x1f')]=qs[_0xe682('0x1f')](_0x2be6d2[_0xe682('0x2c')]['limit']);_0x4aaaa0[_0xe682('0x1e')]=qs[_0xe682('0x1e')](_0x2be6d2['query'][_0xe682('0x1e')]);}_0x4aaaa0[_0xe682('0x33')]=qs['sort'](_0x2be6d2[_0xe682('0x2c')][_0xe682('0x34')]);_0x4aaaa0[_0xe682('0x35')]=qs[_0xe682('0x2d')](_['pick'](_0x2be6d2[_0xe682('0x2c')],_0x4945f1[_0xe682('0x2d')]),_0x7af36b);if(_0x2be6d2[_0xe682('0x2c')][_0xe682('0x36')]){_0x4aaaa0[_0xe682('0x35')]=_[_0xe682('0x37')](_0x4aaaa0[_0xe682('0x35')],{'$or':_[_0xe682('0x2a')](_0x7af36b,function(_0x26788f){if(_0x26788f[_0xe682('0x38')]!==_0xe682('0x39')){var _0x41b3a3={};_0x41b3a3[_0x26788f[_0xe682('0x2b')]]={'$like':'%'+_0x2be6d2[_0xe682('0x2c')][_0xe682('0x36')]+'%'};return _0x41b3a3;}})});}_0x4aaaa0=_['merge']({},_0x4aaaa0,_0x2be6d2['options']);var _0x36fec9={'where':_0x4aaaa0[_0xe682('0x35')]};return db[_0xe682('0x3a')][_0xe682('0x1d')](_0x36fec9)[_0xe682('0x22')](function(_0x377ab8){_0x58da93[_0xe682('0x1d')]=_0x377ab8;if(_0x2be6d2[_0xe682('0x2c')][_0xe682('0x3b')]){_0x4aaaa0[_0xe682('0x3c')]=[{'all':!![]}];}return db[_0xe682('0x3a')][_0xe682('0x3d')](_0x4aaaa0);})['then'](function(_0x48b353){_0x58da93[_0xe682('0x3e')]=_0x48b353;return _0x58da93;})[_0xe682('0x22')](respondWithFilteredResult(_0x25a32f,_0x4aaaa0))[_0xe682('0x3f')](handleError(_0x25a32f,null));};exports['show']=function(_0x543dba,_0x21384d){var _0x5aaa0f={'raw':!![],'where':{'id':_0x543dba['params']['id']}},_0x50fdde={};_0x50fdde['model']=_[_0xe682('0x40')](db[_0xe682('0x3a')][_0xe682('0x27')]);_0x50fdde[_0xe682('0x2c')]=_[_0xe682('0x40')](_0x543dba[_0xe682('0x2c')]);_0x50fdde[_0xe682('0x2d')]=_[_0xe682('0x2e')](_0x50fdde[_0xe682('0x29')],_0x50fdde[_0xe682('0x2c')]);_0x5aaa0f['attributes']=_[_0xe682('0x2e')](_0x50fdde['model'],qs[_0xe682('0x30')](_0x543dba[_0xe682('0x2c')][_0xe682('0x30')]));_0x5aaa0f[_0xe682('0x2f')]=_0x5aaa0f[_0xe682('0x2f')][_0xe682('0x31')]?_0x5aaa0f[_0xe682('0x2f')]:_0x50fdde['model'];if(_0x543dba['query'][_0xe682('0x3b')]){_0x5aaa0f[_0xe682('0x3c')]=[{'all':!![]}];}_0x5aaa0f=_[_0xe682('0x37')]({},_0x5aaa0f,_0x543dba['options']);return db[_0xe682('0x3a')][_0xe682('0x41')](_0x5aaa0f)[_0xe682('0x22')](handleEntityNotFound(_0x21384d,null))[_0xe682('0x22')](respondWithResult(_0x21384d,null))[_0xe682('0x3f')](handleError(_0x21384d,null));};exports[_0xe682('0x42')]=function(_0x24b286,_0x444267){return db[_0xe682('0x3a')][_0xe682('0x42')](_0x24b286[_0xe682('0x43')],{})['then'](respondWithResult(_0x444267,0xc9))[_0xe682('0x3f')](handleError(_0x444267,null));};exports['update']=function(_0x5a2753,_0x11727e){if(_0x5a2753[_0xe682('0x43')]['id']){delete _0x5a2753[_0xe682('0x43')]['id'];}return db[_0xe682('0x3a')][_0xe682('0x41')]({'where':{'id':_0x5a2753['params']['id']}})['then'](handleEntityNotFound(_0x11727e,null))[_0xe682('0x22')](saveUpdates(_0x5a2753[_0xe682('0x43')],null))[_0xe682('0x22')](respondWithResult(_0x11727e,null))[_0xe682('0x3f')](handleError(_0x11727e,null));};exports[_0xe682('0x23')]=function(_0x1b74c0,_0x3c71b2){return db[_0xe682('0x3a')][_0xe682('0x41')]({'where':{'id':_0x1b74c0['params']['id']}})['then'](handleEntityNotFound(_0x3c71b2,null))['then'](removeEntity(_0x3c71b2,null))['catch'](handleError(_0x3c71b2,null));};