Built motion from commit 44377920.|2.6.11
[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 _0x9b48=['includeAll','include','findAll','rows','params','filters','catch','create','body','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','VtigerField','rawAttributes','fieldName','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','filter','options'];(function(_0x2cc985,_0xd0de2d){var _0x91ff81=function(_0x9305b0){while(--_0x9305b0){_0x2cc985['push'](_0x2cc985['shift']());}};_0x91ff81(++_0xd0de2d);}(_0x9b48,0x139));var _0x89b4=function(_0x5b4824,_0x1f239f){_0x5b4824=_0x5b4824-0x0;var _0x282435=_0x9b48[_0x5b4824];return _0x282435;};'use strict';var emlformat=require(_0x89b4('0x0'));var rimraf=require(_0x89b4('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x89b4('0x2'));var rp=require('request-promise');var moment=require(_0x89b4('0x3'));var BPromise=require(_0x89b4('0x4'));var Mustache=require(_0x89b4('0x5'));var util=require(_0x89b4('0x6'));var path=require(_0x89b4('0x7'));var sox=require(_0x89b4('0x8'));var csv=require(_0x89b4('0x9'));var ejs=require(_0x89b4('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x89b4('0xb'));var crypto=require(_0x89b4('0xc'));var jsforce=require(_0x89b4('0xd'));var deskjs=require(_0x89b4('0xe'));var toCsv=require('to-csv');var querystring=require(_0x89b4('0xf'));var Papa=require(_0x89b4('0x10'));var Redis=require(_0x89b4('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x89b4('0x12'));var hardwareService=require(_0x89b4('0x13'));var logger=require(_0x89b4('0x14'))('api');var utils=require('../../config/utils');var config=require(_0x89b4('0x15'));var licenseUtil=require(_0x89b4('0x16'));var db=require(_0x89b4('0x17'))['db'];function respondWithStatusCode(_0x490c00,_0x61664b){_0x61664b=_0x61664b||0xcc;return function(_0x13a2c1){if(_0x13a2c1){return _0x490c00[_0x89b4('0x18')](_0x61664b);}return _0x490c00['status'](_0x61664b)[_0x89b4('0x19')]();};}function respondWithResult(_0x1f6653,_0x52fa3a){_0x52fa3a=_0x52fa3a||0xc8;return function(_0x523d95){if(_0x523d95){return _0x1f6653[_0x89b4('0x1a')](_0x52fa3a)[_0x89b4('0x1b')](_0x523d95);}};}function respondWithFilteredResult(_0x52d55a,_0x2c6481){return function(_0x2e3dee){if(_0x2e3dee){var _0x2b4778=typeof _0x2c6481[_0x89b4('0x1c')]===_0x89b4('0x1d')&&typeof _0x2c6481[_0x89b4('0x1e')]==='undefined';var _0x46928f=_0x2e3dee[_0x89b4('0x1f')];var _0x1890da=_0x2b4778?0x0:_0x2c6481['offset'];var _0x5b570a=_0x2b4778?_0x2e3dee['count']:_0x2c6481[_0x89b4('0x1c')]+_0x2c6481[_0x89b4('0x1e')];var _0x504a5f;if(_0x5b570a>=_0x46928f){_0x5b570a=_0x46928f;_0x504a5f=0xc8;}else{_0x504a5f=0xce;}_0x52d55a['status'](_0x504a5f);return _0x52d55a[_0x89b4('0x20')](_0x89b4('0x21'),_0x1890da+'-'+_0x5b570a+'/'+_0x46928f)['json'](_0x2e3dee);}return null;};}function patchUpdates(_0x4358a1){return function(_0x58babc){try{jsonpatch[_0x89b4('0x22')](_0x58babc,_0x4358a1,!![]);}catch(_0x5a6ab9){return BPromise[_0x89b4('0x23')](_0x5a6ab9);}return _0x58babc[_0x89b4('0x24')]();};}function saveUpdates(_0x253790,_0x51feb2){return function(_0x3f1d69){if(_0x3f1d69){return _0x3f1d69[_0x89b4('0x25')](_0x253790)[_0x89b4('0x26')](function(_0x4f6da7){return _0x4f6da7;});}return null;};}function removeEntity(_0x560e48,_0x20f56f){return function(_0x188569){if(_0x188569){return _0x188569[_0x89b4('0x27')]()[_0x89b4('0x26')](function(){_0x560e48[_0x89b4('0x1a')](0xcc)[_0x89b4('0x19')]();});}};}function handleEntityNotFound(_0x5ea89c,_0x56223e){return function(_0x42facc){if(!_0x42facc){_0x5ea89c[_0x89b4('0x18')](0x194);}return _0x42facc;};}function handleError(_0x1244c3,_0x12d5ec){_0x12d5ec=_0x12d5ec||0x1f4;return function(_0x33df98){logger[_0x89b4('0x28')](_0x33df98[_0x89b4('0x29')]);if(_0x33df98['name']){delete _0x33df98[_0x89b4('0x2a')];}_0x1244c3[_0x89b4('0x1a')](_0x12d5ec)[_0x89b4('0x2b')](_0x33df98);};}exports[_0x89b4('0x2c')]=function(_0x1ef229,_0x58e5db){var _0x1223ad={},_0x4e2373={},_0x2a0ac6={'count':0x0,'rows':[]};var _0x37773a=_[_0x89b4('0x2d')](db[_0x89b4('0x2e')][_0x89b4('0x2f')],function(_0x28bf6a){return{'name':_0x28bf6a[_0x89b4('0x30')],'type':_0x28bf6a['type'][_0x89b4('0x31')]};});_0x4e2373[_0x89b4('0x32')]=_['map'](_0x37773a,_0x89b4('0x2a'));_0x4e2373[_0x89b4('0x33')]=_[_0x89b4('0x34')](_0x1ef229[_0x89b4('0x33')]);_0x4e2373['filters']=_[_0x89b4('0x35')](_0x4e2373[_0x89b4('0x32')],_0x4e2373[_0x89b4('0x33')]);_0x1223ad['attributes']=_[_0x89b4('0x35')](_0x4e2373[_0x89b4('0x32')],qs[_0x89b4('0x36')](_0x1ef229[_0x89b4('0x33')][_0x89b4('0x36')]));_0x1223ad[_0x89b4('0x37')]=_0x1223ad[_0x89b4('0x37')][_0x89b4('0x38')]?_0x1223ad[_0x89b4('0x37')]:_0x4e2373[_0x89b4('0x32')];if(!_0x1ef229[_0x89b4('0x33')][_0x89b4('0x39')](_0x89b4('0x3a'))){_0x1223ad[_0x89b4('0x1e')]=qs['limit'](_0x1ef229[_0x89b4('0x33')][_0x89b4('0x1e')]);_0x1223ad['offset']=qs['offset'](_0x1ef229[_0x89b4('0x33')][_0x89b4('0x1c')]);}_0x1223ad[_0x89b4('0x3b')]=qs[_0x89b4('0x3c')](_0x1ef229[_0x89b4('0x33')][_0x89b4('0x3c')]);_0x1223ad[_0x89b4('0x3d')]=qs['filters'](_[_0x89b4('0x3e')](_0x1ef229[_0x89b4('0x33')],_0x4e2373['filters']),_0x37773a);if(_0x1ef229[_0x89b4('0x33')]['filter']){_0x1223ad[_0x89b4('0x3d')]=_[_0x89b4('0x3f')](_0x1223ad['where'],{'$or':_[_0x89b4('0x2d')](_0x37773a,function(_0x41553c){if(_0x41553c[_0x89b4('0x40')]!=='VIRTUAL'){var _0x3f7aeb={};_0x3f7aeb[_0x41553c['name']]={'$like':'%'+_0x1ef229[_0x89b4('0x33')][_0x89b4('0x41')]+'%'};return _0x3f7aeb;}})});}_0x1223ad=_[_0x89b4('0x3f')]({},_0x1223ad,_0x1ef229[_0x89b4('0x42')]);var _0x2c6d1b={'where':_0x1223ad[_0x89b4('0x3d')]};return db[_0x89b4('0x2e')][_0x89b4('0x1f')](_0x2c6d1b)[_0x89b4('0x26')](function(_0x165375){_0x2a0ac6[_0x89b4('0x1f')]=_0x165375;if(_0x1ef229[_0x89b4('0x33')][_0x89b4('0x43')]){_0x1223ad[_0x89b4('0x44')]=[{'all':!![]}];}return db[_0x89b4('0x2e')][_0x89b4('0x45')](_0x1223ad);})['then'](function(_0xba8239){_0x2a0ac6[_0x89b4('0x46')]=_0xba8239;return _0x2a0ac6;})[_0x89b4('0x26')](respondWithFilteredResult(_0x58e5db,_0x1223ad))['catch'](handleError(_0x58e5db,null));};exports['show']=function(_0x5d61ce,_0x290400){var _0x1e6576={'raw':!![],'where':{'id':_0x5d61ce[_0x89b4('0x47')]['id']}},_0x2eba8e={};_0x2eba8e[_0x89b4('0x32')]=_[_0x89b4('0x34')](db[_0x89b4('0x2e')][_0x89b4('0x2f')]);_0x2eba8e[_0x89b4('0x33')]=_['keys'](_0x5d61ce[_0x89b4('0x33')]);_0x2eba8e[_0x89b4('0x48')]=_[_0x89b4('0x35')](_0x2eba8e[_0x89b4('0x32')],_0x2eba8e[_0x89b4('0x33')]);_0x1e6576['attributes']=_[_0x89b4('0x35')](_0x2eba8e['model'],qs[_0x89b4('0x36')](_0x5d61ce['query']['fields']));_0x1e6576['attributes']=_0x1e6576[_0x89b4('0x37')][_0x89b4('0x38')]?_0x1e6576['attributes']:_0x2eba8e[_0x89b4('0x32')];if(_0x5d61ce['query'][_0x89b4('0x43')]){_0x1e6576['include']=[{'all':!![]}];}_0x1e6576=_[_0x89b4('0x3f')]({},_0x1e6576,_0x5d61ce[_0x89b4('0x42')]);return db[_0x89b4('0x2e')]['find'](_0x1e6576)[_0x89b4('0x26')](handleEntityNotFound(_0x290400,null))[_0x89b4('0x26')](respondWithResult(_0x290400,null))[_0x89b4('0x49')](handleError(_0x290400,null));};exports[_0x89b4('0x4a')]=function(_0xb500d5,_0x5be7f3){return db['VtigerField'][_0x89b4('0x4a')](_0xb500d5[_0x89b4('0x4b')],{})[_0x89b4('0x26')](respondWithResult(_0x5be7f3,0xc9))[_0x89b4('0x49')](handleError(_0x5be7f3,null));};exports[_0x89b4('0x25')]=function(_0x19b16e,_0xd5f744){if(_0x19b16e[_0x89b4('0x4b')]['id']){delete _0x19b16e[_0x89b4('0x4b')]['id'];}return db[_0x89b4('0x2e')]['find']({'where':{'id':_0x19b16e[_0x89b4('0x47')]['id']}})['then'](handleEntityNotFound(_0xd5f744,null))[_0x89b4('0x26')](saveUpdates(_0x19b16e[_0x89b4('0x4b')],null))['then'](respondWithResult(_0xd5f744,null))['catch'](handleError(_0xd5f744,null));};exports[_0x89b4('0x27')]=function(_0x38654f,_0x7f5aae){return db['VtigerField']['find']({'where':{'id':_0x38654f[_0x89b4('0x47')]['id']}})[_0x89b4('0x26')](handleEntityNotFound(_0x7f5aae,null))[_0x89b4('0x26')](removeEntity(_0x7f5aae,null))[_0x89b4('0x49')](handleError(_0x7f5aae,null));};