1392090b1b114a2ab9e24c1d208a2679be1fe84a
[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 _0xd7fd=['json','offset','limit','undefined','count','set','Content-Range','apply','reject','then','destroy','error','name','send','index','map','VtigerField','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','show','keys','include','options','find','create','body','update','params','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','sendStatus','status','end'];(function(_0x3399d2,_0x12cbc0){var _0x149ba8=function(_0x4f9eec){while(--_0x4f9eec){_0x3399d2['push'](_0x3399d2['shift']());}};_0x149ba8(++_0x12cbc0);}(_0xd7fd,0x110));var _0xdd7f=function(_0x1a7e4b,_0x2fbd40){_0x1a7e4b=_0x1a7e4b-0x0;var _0x37a8fd=_0xd7fd[_0x1a7e4b];return _0x37a8fd;};'use strict';var emlformat=require(_0xdd7f('0x0'));var rimraf=require(_0xdd7f('0x1'));var zipdir=require(_0xdd7f('0x2'));var jsonpatch=require(_0xdd7f('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xdd7f('0x4'));var Mustache=require(_0xdd7f('0x5'));var util=require('util');var path=require(_0xdd7f('0x6'));var sox=require(_0xdd7f('0x7'));var csv=require('to-csv');var ejs=require(_0xdd7f('0x8'));var fs=require('fs');var fs_extra=require(_0xdd7f('0x9'));var _=require(_0xdd7f('0xa'));var squel=require('squel');var crypto=require(_0xdd7f('0xb'));var jsforce=require(_0xdd7f('0xc'));var deskjs=require(_0xdd7f('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xdd7f('0xe'));var authService=require(_0xdd7f('0xf'));var qs=require(_0xdd7f('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdd7f('0x11'));var logger=require('../../config/logger')(_0xdd7f('0x12'));var utils=require(_0xdd7f('0x13'));var config=require(_0xdd7f('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5f569e,_0x1738ee){_0x1738ee=_0x1738ee||0xcc;return function(_0x2df5c9){if(_0x2df5c9){return _0x5f569e[_0xdd7f('0x15')](_0x1738ee);}return _0x5f569e[_0xdd7f('0x16')](_0x1738ee)[_0xdd7f('0x17')]();};}function respondWithResult(_0x5cb206,_0x153544){_0x153544=_0x153544||0xc8;return function(_0x2f05bd){if(_0x2f05bd){return _0x5cb206[_0xdd7f('0x16')](_0x153544)[_0xdd7f('0x18')](_0x2f05bd);}};}function respondWithFilteredResult(_0x2b2420,_0x1fd097){return function(_0x24b4b3){if(_0x24b4b3){var _0x594f0b=typeof _0x1fd097[_0xdd7f('0x19')]==='undefined'&&typeof _0x1fd097[_0xdd7f('0x1a')]===_0xdd7f('0x1b');var _0x18582a=_0x24b4b3[_0xdd7f('0x1c')];var _0x1a9c55=_0x594f0b?0x0:_0x1fd097['offset'];var _0x38534e=_0x594f0b?_0x24b4b3['count']:_0x1fd097[_0xdd7f('0x19')]+_0x1fd097[_0xdd7f('0x1a')];var _0x463548;if(_0x38534e>=_0x18582a){_0x38534e=_0x18582a;_0x463548=0xc8;}else{_0x463548=0xce;}_0x2b2420[_0xdd7f('0x16')](_0x463548);return _0x2b2420[_0xdd7f('0x1d')](_0xdd7f('0x1e'),_0x1a9c55+'-'+_0x38534e+'/'+_0x18582a)[_0xdd7f('0x18')](_0x24b4b3);}return null;};}function patchUpdates(_0x443130){return function(_0x133a4b){try{jsonpatch[_0xdd7f('0x1f')](_0x133a4b,_0x443130,!![]);}catch(_0x5ead83){return BPromise[_0xdd7f('0x20')](_0x5ead83);}return _0x133a4b['save']();};}function saveUpdates(_0x532b52,_0x5cc4f3){return function(_0x558c21){if(_0x558c21){return _0x558c21['update'](_0x532b52)[_0xdd7f('0x21')](function(_0x4f14f9){return _0x4f14f9;});}return null;};}function removeEntity(_0x1f5106,_0x1274ba){return function(_0x1cb006){if(_0x1cb006){return _0x1cb006[_0xdd7f('0x22')]()[_0xdd7f('0x21')](function(){_0x1f5106[_0xdd7f('0x16')](0xcc)[_0xdd7f('0x17')]();});}};}function handleEntityNotFound(_0x306b60,_0xd325ee){return function(_0x1c3469){if(!_0x1c3469){_0x306b60[_0xdd7f('0x15')](0x194);}return _0x1c3469;};}function handleError(_0x5b3d51,_0x28580d){_0x28580d=_0x28580d||0x1f4;return function(_0x5b509b){logger[_0xdd7f('0x23')](_0x5b509b['stack']);if(_0x5b509b[_0xdd7f('0x24')]){delete _0x5b509b[_0xdd7f('0x24')];}_0x5b3d51[_0xdd7f('0x16')](_0x28580d)[_0xdd7f('0x25')](_0x5b509b);};}exports[_0xdd7f('0x26')]=function(_0x5b5ddc,_0x3b9ef6){var _0xadf4a4={},_0x10e4f9={},_0x47886a={'count':0x0,'rows':[]};var _0x2475a4=_[_0xdd7f('0x27')](db[_0xdd7f('0x28')][_0xdd7f('0x29')],function(_0xf46a2f){return{'name':_0xf46a2f[_0xdd7f('0x2a')],'type':_0xf46a2f[_0xdd7f('0x2b')][_0xdd7f('0x2c')]};});_0x10e4f9[_0xdd7f('0x2d')]=_['map'](_0x2475a4,_0xdd7f('0x24'));_0x10e4f9[_0xdd7f('0x2e')]=_['keys'](_0x5b5ddc[_0xdd7f('0x2e')]);_0x10e4f9[_0xdd7f('0x2f')]=_[_0xdd7f('0x30')](_0x10e4f9[_0xdd7f('0x2d')],_0x10e4f9[_0xdd7f('0x2e')]);_0xadf4a4[_0xdd7f('0x31')]=_[_0xdd7f('0x30')](_0x10e4f9[_0xdd7f('0x2d')],qs[_0xdd7f('0x32')](_0x5b5ddc[_0xdd7f('0x2e')][_0xdd7f('0x32')]));_0xadf4a4['attributes']=_0xadf4a4[_0xdd7f('0x31')][_0xdd7f('0x33')]?_0xadf4a4[_0xdd7f('0x31')]:_0x10e4f9['model'];if(!_0x5b5ddc['query'][_0xdd7f('0x34')](_0xdd7f('0x35'))){_0xadf4a4['limit']=qs[_0xdd7f('0x1a')](_0x5b5ddc['query'][_0xdd7f('0x1a')]);_0xadf4a4[_0xdd7f('0x19')]=qs[_0xdd7f('0x19')](_0x5b5ddc[_0xdd7f('0x2e')]['offset']);}_0xadf4a4[_0xdd7f('0x36')]=qs['sort'](_0x5b5ddc[_0xdd7f('0x2e')][_0xdd7f('0x37')]);_0xadf4a4[_0xdd7f('0x38')]=qs[_0xdd7f('0x2f')](_[_0xdd7f('0x39')](_0x5b5ddc[_0xdd7f('0x2e')],_0x10e4f9[_0xdd7f('0x2f')]),_0x2475a4);if(_0x5b5ddc[_0xdd7f('0x2e')][_0xdd7f('0x3a')]){_0xadf4a4[_0xdd7f('0x38')]=_[_0xdd7f('0x3b')](_0xadf4a4[_0xdd7f('0x38')],{'$or':_[_0xdd7f('0x27')](_0x2475a4,function(_0x46970d){if(_0x46970d[_0xdd7f('0x2b')]!==_0xdd7f('0x3c')){var _0x1bb64f={};_0x1bb64f[_0x46970d[_0xdd7f('0x24')]]={'$like':'%'+_0x5b5ddc[_0xdd7f('0x2e')][_0xdd7f('0x3a')]+'%'};return _0x1bb64f;}})});}_0xadf4a4=_['merge']({},_0xadf4a4,_0x5b5ddc['options']);var _0x55121c={'where':_0xadf4a4[_0xdd7f('0x38')]};return db[_0xdd7f('0x28')][_0xdd7f('0x1c')](_0x55121c)[_0xdd7f('0x21')](function(_0x243682){_0x47886a[_0xdd7f('0x1c')]=_0x243682;if(_0x5b5ddc[_0xdd7f('0x2e')][_0xdd7f('0x3d')]){_0xadf4a4['include']=[{'all':!![]}];}return db['VtigerField'][_0xdd7f('0x3e')](_0xadf4a4);})['then'](function(_0x22fc49){_0x47886a[_0xdd7f('0x3f')]=_0x22fc49;return _0x47886a;})[_0xdd7f('0x21')](respondWithFilteredResult(_0x3b9ef6,_0xadf4a4))[_0xdd7f('0x40')](handleError(_0x3b9ef6,null));};exports[_0xdd7f('0x41')]=function(_0x23f990,_0x144b33){var _0x2fc40b={'raw':!![],'where':{'id':_0x23f990['params']['id']}},_0x54d531={};_0x54d531[_0xdd7f('0x2d')]=_['keys'](db[_0xdd7f('0x28')][_0xdd7f('0x29')]);_0x54d531[_0xdd7f('0x2e')]=_[_0xdd7f('0x42')](_0x23f990[_0xdd7f('0x2e')]);_0x54d531[_0xdd7f('0x2f')]=_[_0xdd7f('0x30')](_0x54d531['model'],_0x54d531[_0xdd7f('0x2e')]);_0x2fc40b[_0xdd7f('0x31')]=_[_0xdd7f('0x30')](_0x54d531[_0xdd7f('0x2d')],qs[_0xdd7f('0x32')](_0x23f990[_0xdd7f('0x2e')]['fields']));_0x2fc40b[_0xdd7f('0x31')]=_0x2fc40b[_0xdd7f('0x31')]['length']?_0x2fc40b[_0xdd7f('0x31')]:_0x54d531[_0xdd7f('0x2d')];if(_0x23f990[_0xdd7f('0x2e')][_0xdd7f('0x3d')]){_0x2fc40b[_0xdd7f('0x43')]=[{'all':!![]}];}_0x2fc40b=_[_0xdd7f('0x3b')]({},_0x2fc40b,_0x23f990[_0xdd7f('0x44')]);return db[_0xdd7f('0x28')][_0xdd7f('0x45')](_0x2fc40b)[_0xdd7f('0x21')](handleEntityNotFound(_0x144b33,null))[_0xdd7f('0x21')](respondWithResult(_0x144b33,null))[_0xdd7f('0x40')](handleError(_0x144b33,null));};exports['create']=function(_0x21adb5,_0x20b52f){return db[_0xdd7f('0x28')][_0xdd7f('0x46')](_0x21adb5[_0xdd7f('0x47')],{})['then'](respondWithResult(_0x20b52f,0xc9))[_0xdd7f('0x40')](handleError(_0x20b52f,null));};exports[_0xdd7f('0x48')]=function(_0x173225,_0x5767ab){if(_0x173225[_0xdd7f('0x47')]['id']){delete _0x173225[_0xdd7f('0x47')]['id'];}return db[_0xdd7f('0x28')][_0xdd7f('0x45')]({'where':{'id':_0x173225[_0xdd7f('0x49')]['id']}})[_0xdd7f('0x21')](handleEntityNotFound(_0x5767ab,null))[_0xdd7f('0x21')](saveUpdates(_0x173225['body'],null))['then'](respondWithResult(_0x5767ab,null))[_0xdd7f('0x40')](handleError(_0x5767ab,null));};exports[_0xdd7f('0x22')]=function(_0x3ac596,_0x1a1619){return db['VtigerField'][_0xdd7f('0x45')]({'where':{'id':_0x3ac596[_0xdd7f('0x49')]['id']}})[_0xdd7f('0x21')](handleEntityNotFound(_0x1a1619,null))[_0xdd7f('0x21')](removeEntity(_0x1a1619,null))[_0xdd7f('0x40')](handleError(_0x1a1619,null));};