Built motion from commit 753c950e.|2.5.42
[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 _0xb7cb=['../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','save','update','then','destroy','error','name','send','SugarcrmField','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','rows','catch','show','params','length','find','body','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x47f7da,_0x4f3ff8){var _0x9fd378=function(_0x502f74){while(--_0x502f74){_0x47f7da['push'](_0x47f7da['shift']());}};_0x9fd378(++_0x4f3ff8);}(_0xb7cb,0x101));var _0xbb7c=function(_0x196f40,_0x417e6e){_0x196f40=_0x196f40-0x0;var _0x544d7b=_0xb7cb[_0x196f40];return _0x544d7b;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xbb7c('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbb7c('0x1'));var rp=require(_0xbb7c('0x2'));var moment=require('moment');var BPromise=require(_0xbb7c('0x3'));var Mustache=require('mustache');var util=require(_0xbb7c('0x4'));var path=require(_0xbb7c('0x5'));var sox=require(_0xbb7c('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xbb7c('0x7'));var _=require(_0xbb7c('0x8'));var squel=require('squel');var crypto=require(_0xbb7c('0x9'));var jsforce=require(_0xbb7c('0xa'));var deskjs=require(_0xbb7c('0xb'));var toCsv=require(_0xbb7c('0xc'));var querystring=require(_0xbb7c('0xd'));var Papa=require(_0xbb7c('0xe'));var Redis=require(_0xbb7c('0xf'));var authService=require(_0xbb7c('0x10'));var qs=require(_0xbb7c('0x11'));var as=require(_0xbb7c('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xbb7c('0x13'))('api');var utils=require(_0xbb7c('0x14'));var config=require(_0xbb7c('0x15'));var licenseUtil=require(_0xbb7c('0x16'));var db=require(_0xbb7c('0x17'))['db'];function respondWithStatusCode(_0xf16a8e,_0x518988){_0x518988=_0x518988||0xcc;return function(_0x46ec4e){if(_0x46ec4e){return _0xf16a8e[_0xbb7c('0x18')](_0x518988);}return _0xf16a8e[_0xbb7c('0x19')](_0x518988)[_0xbb7c('0x1a')]();};}function respondWithResult(_0xef654a,_0x5bcb27){_0x5bcb27=_0x5bcb27||0xc8;return function(_0x971ac9){if(_0x971ac9){return _0xef654a[_0xbb7c('0x19')](_0x5bcb27)[_0xbb7c('0x1b')](_0x971ac9);}};}function respondWithFilteredResult(_0x41b81f,_0x4f96b1){return function(_0x2303a1){if(_0x2303a1){var _0x34bdaa=typeof _0x4f96b1[_0xbb7c('0x1c')]===_0xbb7c('0x1d')&&typeof _0x4f96b1[_0xbb7c('0x1e')]===_0xbb7c('0x1d');var _0x28d4a3=_0x2303a1[_0xbb7c('0x1f')];var _0x40259e=_0x34bdaa?0x0:_0x4f96b1[_0xbb7c('0x1c')];var _0x1fc44f=_0x34bdaa?_0x2303a1[_0xbb7c('0x1f')]:_0x4f96b1[_0xbb7c('0x1c')]+_0x4f96b1[_0xbb7c('0x1e')];var _0x584497;if(_0x1fc44f>=_0x28d4a3){_0x1fc44f=_0x28d4a3;_0x584497=0xc8;}else{_0x584497=0xce;}_0x41b81f[_0xbb7c('0x19')](_0x584497);return _0x41b81f['set']('Content-Range',_0x40259e+'-'+_0x1fc44f+'/'+_0x28d4a3)[_0xbb7c('0x1b')](_0x2303a1);}return null;};}function patchUpdates(_0x243016){return function(_0x50c831){try{jsonpatch['apply'](_0x50c831,_0x243016,!![]);}catch(_0x34b174){return BPromise['reject'](_0x34b174);}return _0x50c831[_0xbb7c('0x20')]();};}function saveUpdates(_0x498c42,_0x3500d9){return function(_0x4d4f88){if(_0x4d4f88){return _0x4d4f88[_0xbb7c('0x21')](_0x498c42)[_0xbb7c('0x22')](function(_0x4a93a7){return _0x4a93a7;});}return null;};}function removeEntity(_0x3a3fb5,_0x1e0de1){return function(_0x164e8f){if(_0x164e8f){return _0x164e8f[_0xbb7c('0x23')]()[_0xbb7c('0x22')](function(){_0x3a3fb5[_0xbb7c('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x15a403,_0x2a40f3){return function(_0x25b34a){if(!_0x25b34a){_0x15a403[_0xbb7c('0x18')](0x194);}return _0x25b34a;};}function handleError(_0x1cdc37,_0x3b5908){_0x3b5908=_0x3b5908||0x1f4;return function(_0xbb289b){logger[_0xbb7c('0x24')](_0xbb289b['stack']);if(_0xbb289b[_0xbb7c('0x25')]){delete _0xbb289b[_0xbb7c('0x25')];}_0x1cdc37[_0xbb7c('0x19')](_0x3b5908)[_0xbb7c('0x26')](_0xbb289b);};}exports['index']=function(_0x1cc0ed,_0x4dda47){var _0x480cb7={},_0x4edd80={},_0x5d90bb={'count':0x0,'rows':[]};var _0x2a3ad1=_['map'](db[_0xbb7c('0x27')]['rawAttributes'],function(_0x50f81e){return{'name':_0x50f81e[_0xbb7c('0x28')],'type':_0x50f81e[_0xbb7c('0x29')][_0xbb7c('0x2a')]};});_0x4edd80[_0xbb7c('0x2b')]=_[_0xbb7c('0x2c')](_0x2a3ad1,_0xbb7c('0x25'));_0x4edd80[_0xbb7c('0x2d')]=_[_0xbb7c('0x2e')](_0x1cc0ed[_0xbb7c('0x2d')]);_0x4edd80[_0xbb7c('0x2f')]=_[_0xbb7c('0x30')](_0x4edd80[_0xbb7c('0x2b')],_0x4edd80['query']);_0x480cb7[_0xbb7c('0x31')]=_['intersection'](_0x4edd80['model'],qs[_0xbb7c('0x32')](_0x1cc0ed['query'][_0xbb7c('0x32')]));_0x480cb7['attributes']=_0x480cb7[_0xbb7c('0x31')]['length']?_0x480cb7[_0xbb7c('0x31')]:_0x4edd80[_0xbb7c('0x2b')];if(!_0x1cc0ed[_0xbb7c('0x2d')][_0xbb7c('0x33')](_0xbb7c('0x34'))){_0x480cb7['limit']=qs[_0xbb7c('0x1e')](_0x1cc0ed[_0xbb7c('0x2d')][_0xbb7c('0x1e')]);_0x480cb7[_0xbb7c('0x1c')]=qs['offset'](_0x1cc0ed[_0xbb7c('0x2d')]['offset']);}_0x480cb7[_0xbb7c('0x35')]=qs['sort'](_0x1cc0ed[_0xbb7c('0x2d')][_0xbb7c('0x36')]);_0x480cb7[_0xbb7c('0x37')]=qs[_0xbb7c('0x2f')](_[_0xbb7c('0x38')](_0x1cc0ed[_0xbb7c('0x2d')],_0x4edd80[_0xbb7c('0x2f')]),_0x2a3ad1);if(_0x1cc0ed['query'][_0xbb7c('0x39')]){_0x480cb7[_0xbb7c('0x37')]=_['merge'](_0x480cb7[_0xbb7c('0x37')],{'$or':_['map'](_0x2a3ad1,function(_0x58a4da){if(_0x58a4da['type']!=='VIRTUAL'){var _0x322998={};_0x322998[_0x58a4da[_0xbb7c('0x25')]]={'$like':'%'+_0x1cc0ed[_0xbb7c('0x2d')][_0xbb7c('0x39')]+'%'};return _0x322998;}})});}_0x480cb7=_[_0xbb7c('0x3a')]({},_0x480cb7,_0x1cc0ed[_0xbb7c('0x3b')]);var _0x12567d={'where':_0x480cb7[_0xbb7c('0x37')]};return db[_0xbb7c('0x27')][_0xbb7c('0x1f')](_0x12567d)[_0xbb7c('0x22')](function(_0x542d84){_0x5d90bb[_0xbb7c('0x1f')]=_0x542d84;if(_0x1cc0ed[_0xbb7c('0x2d')][_0xbb7c('0x3c')]){_0x480cb7[_0xbb7c('0x3d')]=[{'all':!![]}];}return db['SugarcrmField']['findAll'](_0x480cb7);})[_0xbb7c('0x22')](function(_0x572a8d){_0x5d90bb[_0xbb7c('0x3e')]=_0x572a8d;return _0x5d90bb;})[_0xbb7c('0x22')](respondWithFilteredResult(_0x4dda47,_0x480cb7))[_0xbb7c('0x3f')](handleError(_0x4dda47,null));};exports[_0xbb7c('0x40')]=function(_0x4fce8a,_0x469978){var _0x30a173={'raw':!![],'where':{'id':_0x4fce8a[_0xbb7c('0x41')]['id']}},_0x1300ca={};_0x1300ca[_0xbb7c('0x2b')]=_[_0xbb7c('0x2e')](db[_0xbb7c('0x27')]['rawAttributes']);_0x1300ca[_0xbb7c('0x2d')]=_['keys'](_0x4fce8a[_0xbb7c('0x2d')]);_0x1300ca['filters']=_['intersection'](_0x1300ca['model'],_0x1300ca[_0xbb7c('0x2d')]);_0x30a173[_0xbb7c('0x31')]=_['intersection'](_0x1300ca['model'],qs['fields'](_0x4fce8a[_0xbb7c('0x2d')]['fields']));_0x30a173[_0xbb7c('0x31')]=_0x30a173[_0xbb7c('0x31')][_0xbb7c('0x42')]?_0x30a173[_0xbb7c('0x31')]:_0x1300ca[_0xbb7c('0x2b')];if(_0x4fce8a[_0xbb7c('0x2d')][_0xbb7c('0x3c')]){_0x30a173[_0xbb7c('0x3d')]=[{'all':!![]}];}_0x30a173=_['merge']({},_0x30a173,_0x4fce8a[_0xbb7c('0x3b')]);return db['SugarcrmField'][_0xbb7c('0x43')](_0x30a173)[_0xbb7c('0x22')](handleEntityNotFound(_0x469978,null))[_0xbb7c('0x22')](respondWithResult(_0x469978,null))[_0xbb7c('0x3f')](handleError(_0x469978,null));};exports['create']=function(_0x1a1cce,_0x5a5d3a){return db[_0xbb7c('0x27')]['create'](_0x1a1cce[_0xbb7c('0x44')],{})[_0xbb7c('0x22')](respondWithResult(_0x5a5d3a,0xc9))[_0xbb7c('0x3f')](handleError(_0x5a5d3a,null));};exports[_0xbb7c('0x21')]=function(_0x22f6dc,_0x2f699d){if(_0x22f6dc[_0xbb7c('0x44')]['id']){delete _0x22f6dc[_0xbb7c('0x44')]['id'];}return db[_0xbb7c('0x27')]['find']({'where':{'id':_0x22f6dc[_0xbb7c('0x41')]['id']}})[_0xbb7c('0x22')](handleEntityNotFound(_0x2f699d,null))[_0xbb7c('0x22')](saveUpdates(_0x22f6dc[_0xbb7c('0x44')],null))[_0xbb7c('0x22')](respondWithResult(_0x2f699d,null))['catch'](handleError(_0x2f699d,null));};exports[_0xbb7c('0x23')]=function(_0x2e02bb,_0x1b9d7c){return db[_0xbb7c('0x27')][_0xbb7c('0x43')]({'where':{'id':_0x2e02bb[_0xbb7c('0x41')]['id']}})[_0xbb7c('0x22')](handleEntityNotFound(_0x1b9d7c,null))[_0xbb7c('0x22')](removeEntity(_0x1b9d7c,null))[_0xbb7c('0x3f')](handleError(_0x1b9d7c,null));};