88cf9acac82f79b856016c45f264ddb56311dccb
[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 _0x1258=['map','VtigerField','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','findAll','rows','show','params','keys','includeAll','include','catch','create','body','rimraf','fast-json-patch','moment','mustache','util','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','update','then','destroy','error','stack','name','send','index'];(function(_0x3cfb42,_0x466f88){var _0x4ee87e=function(_0x57cd82){while(--_0x57cd82){_0x3cfb42['push'](_0x3cfb42['shift']());}};_0x4ee87e(++_0x466f88);}(_0x1258,0x1c4));var _0x8125=function(_0x1ba36e,_0x20f86d){_0x1ba36e=_0x1ba36e-0x0;var _0x408b99=_0x1258[_0x1ba36e];return _0x408b99;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8125('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8125('0x1'));var rp=require('request-promise');var moment=require(_0x8125('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x8125('0x3'));var util=require(_0x8125('0x4'));var path=require('path');var sox=require(_0x8125('0x5'));var csv=require('to-csv');var ejs=require(_0x8125('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8125('0x7'));var crypto=require(_0x8125('0x8'));var jsforce=require(_0x8125('0x9'));var deskjs=require(_0x8125('0xa'));var toCsv=require(_0x8125('0xb'));var querystring=require(_0x8125('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8125('0xd'));var as=require(_0x8125('0xe'));var hardwareService=require(_0x8125('0xf'));var logger=require(_0x8125('0x10'))(_0x8125('0x11'));var utils=require(_0x8125('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x8125('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5d3d01,_0x50f425){_0x50f425=_0x50f425||0xcc;return function(_0x1ffb22){if(_0x1ffb22){return _0x5d3d01[_0x8125('0x14')](_0x50f425);}return _0x5d3d01[_0x8125('0x15')](_0x50f425)[_0x8125('0x16')]();};}function respondWithResult(_0x28d807,_0x17ebef){_0x17ebef=_0x17ebef||0xc8;return function(_0x28a7d1){if(_0x28a7d1){return _0x28d807[_0x8125('0x15')](_0x17ebef)[_0x8125('0x17')](_0x28a7d1);}};}function respondWithFilteredResult(_0x226d40,_0x138dd4){return function(_0x1cd32c){if(_0x1cd32c){var _0x555890=typeof _0x138dd4[_0x8125('0x18')]===_0x8125('0x19')&&typeof _0x138dd4['limit']==='undefined';var _0x53eb33=_0x1cd32c[_0x8125('0x1a')];var _0x1356c5=_0x555890?0x0:_0x138dd4['offset'];var _0x6596fc=_0x555890?_0x1cd32c[_0x8125('0x1a')]:_0x138dd4[_0x8125('0x18')]+_0x138dd4[_0x8125('0x1b')];var _0x2d763f;if(_0x6596fc>=_0x53eb33){_0x6596fc=_0x53eb33;_0x2d763f=0xc8;}else{_0x2d763f=0xce;}_0x226d40[_0x8125('0x15')](_0x2d763f);return _0x226d40['set'](_0x8125('0x1c'),_0x1356c5+'-'+_0x6596fc+'/'+_0x53eb33)[_0x8125('0x17')](_0x1cd32c);}return null;};}function patchUpdates(_0x58365f){return function(_0x3d01a0){try{jsonpatch[_0x8125('0x1d')](_0x3d01a0,_0x58365f,!![]);}catch(_0x4db344){return BPromise['reject'](_0x4db344);}return _0x3d01a0['save']();};}function saveUpdates(_0x153200,_0x53183d){return function(_0x25e238){if(_0x25e238){return _0x25e238[_0x8125('0x1e')](_0x153200)[_0x8125('0x1f')](function(_0x3b5da3){return _0x3b5da3;});}return null;};}function removeEntity(_0x4aa55b,_0x1e8e97){return function(_0x5eff99){if(_0x5eff99){return _0x5eff99[_0x8125('0x20')]()['then'](function(){_0x4aa55b[_0x8125('0x15')](0xcc)[_0x8125('0x16')]();});}};}function handleEntityNotFound(_0x3726f8,_0x4b3dc5){return function(_0x123987){if(!_0x123987){_0x3726f8['sendStatus'](0x194);}return _0x123987;};}function handleError(_0x4a0c7b,_0xe63824){_0xe63824=_0xe63824||0x1f4;return function(_0x5a8807){logger[_0x8125('0x21')](_0x5a8807[_0x8125('0x22')]);if(_0x5a8807['name']){delete _0x5a8807[_0x8125('0x23')];}_0x4a0c7b[_0x8125('0x15')](_0xe63824)[_0x8125('0x24')](_0x5a8807);};}exports[_0x8125('0x25')]=function(_0x40e825,_0x1f158c){var _0x13939e={},_0x57ff32={},_0x46973d={'count':0x0,'rows':[]};var _0x58a01a=_[_0x8125('0x26')](db[_0x8125('0x27')][_0x8125('0x28')],function(_0x55fdf5){return{'name':_0x55fdf5[_0x8125('0x29')],'type':_0x55fdf5[_0x8125('0x2a')][_0x8125('0x2b')]};});_0x57ff32[_0x8125('0x2c')]=_[_0x8125('0x26')](_0x58a01a,_0x8125('0x23'));_0x57ff32['query']=_['keys'](_0x40e825[_0x8125('0x2d')]);_0x57ff32[_0x8125('0x2e')]=_[_0x8125('0x2f')](_0x57ff32['model'],_0x57ff32[_0x8125('0x2d')]);_0x13939e[_0x8125('0x30')]=_[_0x8125('0x2f')](_0x57ff32[_0x8125('0x2c')],qs['fields'](_0x40e825[_0x8125('0x2d')][_0x8125('0x31')]));_0x13939e[_0x8125('0x30')]=_0x13939e[_0x8125('0x30')][_0x8125('0x32')]?_0x13939e[_0x8125('0x30')]:_0x57ff32['model'];if(!_0x40e825[_0x8125('0x2d')][_0x8125('0x33')](_0x8125('0x34'))){_0x13939e[_0x8125('0x1b')]=qs[_0x8125('0x1b')](_0x40e825['query'][_0x8125('0x1b')]);_0x13939e[_0x8125('0x18')]=qs['offset'](_0x40e825[_0x8125('0x2d')][_0x8125('0x18')]);}_0x13939e[_0x8125('0x35')]=qs['sort'](_0x40e825[_0x8125('0x2d')][_0x8125('0x36')]);_0x13939e[_0x8125('0x37')]=qs[_0x8125('0x2e')](_['pick'](_0x40e825[_0x8125('0x2d')],_0x57ff32[_0x8125('0x2e')]),_0x58a01a);if(_0x40e825['query'][_0x8125('0x38')]){_0x13939e[_0x8125('0x37')]=_[_0x8125('0x39')](_0x13939e[_0x8125('0x37')],{'$or':_[_0x8125('0x26')](_0x58a01a,function(_0x302259){if(_0x302259[_0x8125('0x2a')]!==_0x8125('0x3a')){var _0x1f4f3b={};_0x1f4f3b[_0x302259[_0x8125('0x23')]]={'$like':'%'+_0x40e825[_0x8125('0x2d')][_0x8125('0x38')]+'%'};return _0x1f4f3b;}})});}_0x13939e=_[_0x8125('0x39')]({},_0x13939e,_0x40e825[_0x8125('0x3b')]);var _0x365956={'where':_0x13939e[_0x8125('0x37')]};return db['VtigerField'][_0x8125('0x1a')](_0x365956)[_0x8125('0x1f')](function(_0x376f9b){_0x46973d[_0x8125('0x1a')]=_0x376f9b;if(_0x40e825[_0x8125('0x2d')]['includeAll']){_0x13939e['include']=[{'all':!![]}];}return db[_0x8125('0x27')][_0x8125('0x3c')](_0x13939e);})[_0x8125('0x1f')](function(_0x3ba1c9){_0x46973d[_0x8125('0x3d')]=_0x3ba1c9;return _0x46973d;})[_0x8125('0x1f')](respondWithFilteredResult(_0x1f158c,_0x13939e))['catch'](handleError(_0x1f158c,null));};exports[_0x8125('0x3e')]=function(_0x7313e3,_0x1be525){var _0x3bbb20={'raw':!![],'where':{'id':_0x7313e3[_0x8125('0x3f')]['id']}},_0x7d70b8={};_0x7d70b8[_0x8125('0x2c')]=_['keys'](db[_0x8125('0x27')]['rawAttributes']);_0x7d70b8[_0x8125('0x2d')]=_[_0x8125('0x40')](_0x7313e3['query']);_0x7d70b8[_0x8125('0x2e')]=_[_0x8125('0x2f')](_0x7d70b8[_0x8125('0x2c')],_0x7d70b8[_0x8125('0x2d')]);_0x3bbb20['attributes']=_['intersection'](_0x7d70b8[_0x8125('0x2c')],qs[_0x8125('0x31')](_0x7313e3[_0x8125('0x2d')][_0x8125('0x31')]));_0x3bbb20[_0x8125('0x30')]=_0x3bbb20[_0x8125('0x30')][_0x8125('0x32')]?_0x3bbb20['attributes']:_0x7d70b8[_0x8125('0x2c')];if(_0x7313e3[_0x8125('0x2d')][_0x8125('0x41')]){_0x3bbb20[_0x8125('0x42')]=[{'all':!![]}];}_0x3bbb20=_['merge']({},_0x3bbb20,_0x7313e3['options']);return db[_0x8125('0x27')]['find'](_0x3bbb20)[_0x8125('0x1f')](handleEntityNotFound(_0x1be525,null))[_0x8125('0x1f')](respondWithResult(_0x1be525,null))[_0x8125('0x43')](handleError(_0x1be525,null));};exports['create']=function(_0x164b16,_0x4dd2f1){return db[_0x8125('0x27')][_0x8125('0x44')](_0x164b16[_0x8125('0x45')],{})[_0x8125('0x1f')](respondWithResult(_0x4dd2f1,0xc9))[_0x8125('0x43')](handleError(_0x4dd2f1,null));};exports[_0x8125('0x1e')]=function(_0x2234b6,_0x50ef42){if(_0x2234b6[_0x8125('0x45')]['id']){delete _0x2234b6['body']['id'];}return db['VtigerField']['find']({'where':{'id':_0x2234b6['params']['id']}})[_0x8125('0x1f')](handleEntityNotFound(_0x50ef42,null))[_0x8125('0x1f')](saveUpdates(_0x2234b6[_0x8125('0x45')],null))[_0x8125('0x1f')](respondWithResult(_0x50ef42,null))[_0x8125('0x43')](handleError(_0x50ef42,null));};exports[_0x8125('0x20')]=function(_0x10a45e,_0x2954a4){return db['VtigerField']['find']({'where':{'id':_0x10a45e[_0x8125('0x3f')]['id']}})['then'](handleEntityNotFound(_0x2954a4,null))[_0x8125('0x1f')](removeEntity(_0x2954a4,null))[_0x8125('0x43')](handleError(_0x2954a4,null));};