Built motion from commit 85328c08.|2.5.50
[motion2.git] / server / api / intSugarcrmField / intSugarcrmField.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 _0x36c7=['apply','reject','save','update','then','sendStatus','error','name','send','index','map','SugarcrmField','rawAttributes','fieldName','type','key','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','merge','where','options','includeAll','include','findAll','rows','show','params','keys','find','catch','create','body','destroy','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range'];(function(_0x2fe952,_0xa77e25){var _0x28c7cd=function(_0x45025b){while(--_0x45025b){_0x2fe952['push'](_0x2fe952['shift']());}};_0x28c7cd(++_0xa77e25);}(_0x36c7,0x174));var _0x736c=function(_0x183dd6,_0x488036){_0x183dd6=_0x183dd6-0x0;var _0x4b3be2=_0x36c7[_0x183dd6];return _0x4b3be2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x736c('0x0'));var zipdir=require(_0x736c('0x1'));var jsonpatch=require(_0x736c('0x2'));var rp=require(_0x736c('0x3'));var moment=require(_0x736c('0x4'));var BPromise=require(_0x736c('0x5'));var Mustache=require(_0x736c('0x6'));var util=require(_0x736c('0x7'));var path=require(_0x736c('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x736c('0x9'));var fs=require('fs');var fs_extra=require(_0x736c('0xa'));var _=require(_0x736c('0xb'));var squel=require(_0x736c('0xc'));var crypto=require(_0x736c('0xd'));var jsforce=require(_0x736c('0xe'));var deskjs=require(_0x736c('0xf'));var toCsv=require(_0x736c('0x10'));var querystring=require(_0x736c('0x11'));var Papa=require(_0x736c('0x12'));var Redis=require(_0x736c('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x736c('0x14'));var as=require(_0x736c('0x15'));var hardwareService=require(_0x736c('0x16'));var logger=require(_0x736c('0x17'))(_0x736c('0x18'));var utils=require(_0x736c('0x19'));var config=require(_0x736c('0x1a'));var licenseUtil=require(_0x736c('0x1b'));var db=require(_0x736c('0x1c'))['db'];function respondWithStatusCode(_0x502d22,_0x33e974){_0x33e974=_0x33e974||0xcc;return function(_0x4f72d1){if(_0x4f72d1){return _0x502d22['sendStatus'](_0x33e974);}return _0x502d22[_0x736c('0x1d')](_0x33e974)[_0x736c('0x1e')]();};}function respondWithResult(_0x5e7ed3,_0x1f3413){_0x1f3413=_0x1f3413||0xc8;return function(_0x46cbfe){if(_0x46cbfe){return _0x5e7ed3['status'](_0x1f3413)[_0x736c('0x1f')](_0x46cbfe);}};}function respondWithFilteredResult(_0x43b01a,_0x17471e){return function(_0x58cf08){if(_0x58cf08){var _0x5a92d5=typeof _0x17471e[_0x736c('0x20')]===_0x736c('0x21')&&typeof _0x17471e[_0x736c('0x22')]===_0x736c('0x21');var _0x3d7c94=_0x58cf08[_0x736c('0x23')];var _0x435ca2=_0x5a92d5?0x0:_0x17471e[_0x736c('0x20')];var _0xde2263=_0x5a92d5?_0x58cf08[_0x736c('0x23')]:_0x17471e[_0x736c('0x20')]+_0x17471e[_0x736c('0x22')];var _0x254fdb;if(_0xde2263>=_0x3d7c94){_0xde2263=_0x3d7c94;_0x254fdb=0xc8;}else{_0x254fdb=0xce;}_0x43b01a[_0x736c('0x1d')](_0x254fdb);return _0x43b01a[_0x736c('0x24')](_0x736c('0x25'),_0x435ca2+'-'+_0xde2263+'/'+_0x3d7c94)[_0x736c('0x1f')](_0x58cf08);}return null;};}function patchUpdates(_0x192f7a){return function(_0x326de2){try{jsonpatch[_0x736c('0x26')](_0x326de2,_0x192f7a,!![]);}catch(_0x1696ee){return BPromise[_0x736c('0x27')](_0x1696ee);}return _0x326de2[_0x736c('0x28')]();};}function saveUpdates(_0x46f614,_0x3aec24){return function(_0x51e363){if(_0x51e363){return _0x51e363[_0x736c('0x29')](_0x46f614)['then'](function(_0x3b8ad5){return _0x3b8ad5;});}return null;};}function removeEntity(_0x3b1d0a,_0x156aa4){return function(_0x17e169){if(_0x17e169){return _0x17e169['destroy']()[_0x736c('0x2a')](function(){_0x3b1d0a[_0x736c('0x1d')](0xcc)[_0x736c('0x1e')]();});}};}function handleEntityNotFound(_0x106590,_0x4b6749){return function(_0x4f2e05){if(!_0x4f2e05){_0x106590[_0x736c('0x2b')](0x194);}return _0x4f2e05;};}function handleError(_0x25081b,_0x24d882){_0x24d882=_0x24d882||0x1f4;return function(_0x37c178){logger[_0x736c('0x2c')](_0x37c178['stack']);if(_0x37c178['name']){delete _0x37c178[_0x736c('0x2d')];}_0x25081b['status'](_0x24d882)[_0x736c('0x2e')](_0x37c178);};}exports[_0x736c('0x2f')]=function(_0x168675,_0x3e2184){var _0x4f52b4={},_0x46bdeb={},_0x327b1c={'count':0x0,'rows':[]};var _0x57c3c8=_[_0x736c('0x30')](db[_0x736c('0x31')][_0x736c('0x32')],function(_0xde1ca2){return{'name':_0xde1ca2[_0x736c('0x33')],'type':_0xde1ca2[_0x736c('0x34')][_0x736c('0x35')]};});_0x46bdeb[_0x736c('0x36')]=_[_0x736c('0x30')](_0x57c3c8,_0x736c('0x2d'));_0x46bdeb['query']=_['keys'](_0x168675[_0x736c('0x37')]);_0x46bdeb['filters']=_['intersection'](_0x46bdeb[_0x736c('0x36')],_0x46bdeb['query']);_0x4f52b4[_0x736c('0x38')]=_[_0x736c('0x39')](_0x46bdeb['model'],qs[_0x736c('0x3a')](_0x168675['query']['fields']));_0x4f52b4[_0x736c('0x38')]=_0x4f52b4[_0x736c('0x38')][_0x736c('0x3b')]?_0x4f52b4[_0x736c('0x38')]:_0x46bdeb[_0x736c('0x36')];if(!_0x168675['query'][_0x736c('0x3c')](_0x736c('0x3d'))){_0x4f52b4[_0x736c('0x22')]=qs[_0x736c('0x22')](_0x168675[_0x736c('0x37')][_0x736c('0x22')]);_0x4f52b4[_0x736c('0x20')]=qs[_0x736c('0x20')](_0x168675[_0x736c('0x37')]['offset']);}_0x4f52b4[_0x736c('0x3e')]=qs[_0x736c('0x3f')](_0x168675['query'][_0x736c('0x3f')]);_0x4f52b4['where']=qs[_0x736c('0x40')](_[_0x736c('0x41')](_0x168675['query'],_0x46bdeb[_0x736c('0x40')]),_0x57c3c8);if(_0x168675['query'][_0x736c('0x42')]){_0x4f52b4['where']=_[_0x736c('0x43')](_0x4f52b4[_0x736c('0x44')],{'$or':_['map'](_0x57c3c8,function(_0x3fef0c){if(_0x3fef0c[_0x736c('0x34')]!=='VIRTUAL'){var _0x522d6b={};_0x522d6b[_0x3fef0c['name']]={'$like':'%'+_0x168675['query'][_0x736c('0x42')]+'%'};return _0x522d6b;}})});}_0x4f52b4=_[_0x736c('0x43')]({},_0x4f52b4,_0x168675[_0x736c('0x45')]);var _0x48083d={'where':_0x4f52b4[_0x736c('0x44')]};return db[_0x736c('0x31')][_0x736c('0x23')](_0x48083d)['then'](function(_0x4fe51d){_0x327b1c[_0x736c('0x23')]=_0x4fe51d;if(_0x168675['query'][_0x736c('0x46')]){_0x4f52b4[_0x736c('0x47')]=[{'all':!![]}];}return db['SugarcrmField'][_0x736c('0x48')](_0x4f52b4);})['then'](function(_0x190881){_0x327b1c[_0x736c('0x49')]=_0x190881;return _0x327b1c;})[_0x736c('0x2a')](respondWithFilteredResult(_0x3e2184,_0x4f52b4))['catch'](handleError(_0x3e2184,null));};exports[_0x736c('0x4a')]=function(_0x21f9a9,_0xc04f8e){var _0x1bf897={'raw':!![],'where':{'id':_0x21f9a9[_0x736c('0x4b')]['id']}},_0xa1df2b={};_0xa1df2b[_0x736c('0x36')]=_['keys'](db['SugarcrmField']['rawAttributes']);_0xa1df2b['query']=_[_0x736c('0x4c')](_0x21f9a9[_0x736c('0x37')]);_0xa1df2b['filters']=_[_0x736c('0x39')](_0xa1df2b['model'],_0xa1df2b[_0x736c('0x37')]);_0x1bf897['attributes']=_[_0x736c('0x39')](_0xa1df2b['model'],qs['fields'](_0x21f9a9[_0x736c('0x37')][_0x736c('0x3a')]));_0x1bf897['attributes']=_0x1bf897[_0x736c('0x38')]['length']?_0x1bf897[_0x736c('0x38')]:_0xa1df2b[_0x736c('0x36')];if(_0x21f9a9[_0x736c('0x37')]['includeAll']){_0x1bf897[_0x736c('0x47')]=[{'all':!![]}];}_0x1bf897=_[_0x736c('0x43')]({},_0x1bf897,_0x21f9a9['options']);return db[_0x736c('0x31')][_0x736c('0x4d')](_0x1bf897)[_0x736c('0x2a')](handleEntityNotFound(_0xc04f8e,null))['then'](respondWithResult(_0xc04f8e,null))[_0x736c('0x4e')](handleError(_0xc04f8e,null));};exports[_0x736c('0x4f')]=function(_0x454aa8,_0x57e61b){return db[_0x736c('0x31')][_0x736c('0x4f')](_0x454aa8[_0x736c('0x50')],{})['then'](respondWithResult(_0x57e61b,0xc9))[_0x736c('0x4e')](handleError(_0x57e61b,null));};exports[_0x736c('0x29')]=function(_0x5642f7,_0x4628b5){if(_0x5642f7[_0x736c('0x50')]['id']){delete _0x5642f7[_0x736c('0x50')]['id'];}return db[_0x736c('0x31')][_0x736c('0x4d')]({'where':{'id':_0x5642f7[_0x736c('0x4b')]['id']}})['then'](handleEntityNotFound(_0x4628b5,null))[_0x736c('0x2a')](saveUpdates(_0x5642f7[_0x736c('0x50')],null))[_0x736c('0x2a')](respondWithResult(_0x4628b5,null))[_0x736c('0x4e')](handleError(_0x4628b5,null));};exports[_0x736c('0x51')]=function(_0x432754,_0x6082b3){return db[_0x736c('0x31')][_0x736c('0x4d')]({'where':{'id':_0x432754[_0x736c('0x4b')]['id']}})[_0x736c('0x2a')](handleEntityNotFound(_0x6082b3,null))['then'](removeEntity(_0x6082b3,null))['catch'](handleError(_0x6082b3,null));};