Built motion from commit 9d1906d1.|2.5.40
[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 _0x5394=['request-promise','moment','mustache','util','path','to-csv','fs-extra','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','then','stack','send','index','map','rawAttributes','fieldName','type','model','name','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','VIRTUAL','filter','options','SugarcrmField','findAll','rows','catch','show','params','keys','length','includeAll','include','merge','create','body','find','destroy','eml-format','zip-dir'];(function(_0x312f46,_0x4f9865){var _0x199196=function(_0x26075a){while(--_0x26075a){_0x312f46['push'](_0x312f46['shift']());}};_0x199196(++_0x4f9865);}(_0x5394,0x102));var _0x4539=function(_0x157298,_0x2f1dd2){_0x157298=_0x157298-0x0;var _0x43368c=_0x5394[_0x157298];return _0x43368c;};'use strict';var emlformat=require(_0x4539('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4539('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4539('0x2'));var moment=require(_0x4539('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x4539('0x4'));var util=require(_0x4539('0x5'));var path=require(_0x4539('0x6'));var sox=require('sox');var csv=require(_0x4539('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4539('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x4539('0x9'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x4539('0xa'));var Redis=require(_0x4539('0xb'));var authService=require(_0x4539('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x4539('0xd'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4539('0xe'))(_0x4539('0xf'));var utils=require(_0x4539('0x10'));var config=require(_0x4539('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0x4539('0x12'))['db'];function respondWithStatusCode(_0x1a7d24,_0x1b01c7){_0x1b01c7=_0x1b01c7||0xcc;return function(_0x210638){if(_0x210638){return _0x1a7d24[_0x4539('0x13')](_0x1b01c7);}return _0x1a7d24[_0x4539('0x14')](_0x1b01c7)[_0x4539('0x15')]();};}function respondWithResult(_0x23f815,_0x1eec55){_0x1eec55=_0x1eec55||0xc8;return function(_0xeea72f){if(_0xeea72f){return _0x23f815[_0x4539('0x14')](_0x1eec55)[_0x4539('0x16')](_0xeea72f);}};}function respondWithFilteredResult(_0x2c1d8e,_0x4929d9){return function(_0x2a3c6d){if(_0x2a3c6d){var _0x4210e3=typeof _0x4929d9[_0x4539('0x17')]===_0x4539('0x18')&&typeof _0x4929d9['limit']==='undefined';var _0x40007f=_0x2a3c6d['count'];var _0x4e6a2b=_0x4210e3?0x0:_0x4929d9[_0x4539('0x17')];var _0xe8e5fd=_0x4210e3?_0x2a3c6d[_0x4539('0x19')]:_0x4929d9[_0x4539('0x17')]+_0x4929d9[_0x4539('0x1a')];var _0x3669c1;if(_0xe8e5fd>=_0x40007f){_0xe8e5fd=_0x40007f;_0x3669c1=0xc8;}else{_0x3669c1=0xce;}_0x2c1d8e[_0x4539('0x14')](_0x3669c1);return _0x2c1d8e[_0x4539('0x1b')]('Content-Range',_0x4e6a2b+'-'+_0xe8e5fd+'/'+_0x40007f)[_0x4539('0x16')](_0x2a3c6d);}return null;};}function patchUpdates(_0x230d76){return function(_0x4666f0){try{jsonpatch['apply'](_0x4666f0,_0x230d76,!![]);}catch(_0x445568){return BPromise['reject'](_0x445568);}return _0x4666f0['save']();};}function saveUpdates(_0xcaba02,_0x135b3a){return function(_0x38f6d1){if(_0x38f6d1){return _0x38f6d1['update'](_0xcaba02)[_0x4539('0x1c')](function(_0x48270e){return _0x48270e;});}return null;};}function removeEntity(_0x5ee3bc,_0x1570bf){return function(_0x5ce7eb){if(_0x5ce7eb){return _0x5ce7eb['destroy']()[_0x4539('0x1c')](function(){_0x5ee3bc[_0x4539('0x14')](0xcc)[_0x4539('0x15')]();});}};}function handleEntityNotFound(_0xd7deb3,_0x41116f){return function(_0x2c635e){if(!_0x2c635e){_0xd7deb3[_0x4539('0x13')](0x194);}return _0x2c635e;};}function handleError(_0x266034,_0x1b12ac){_0x1b12ac=_0x1b12ac||0x1f4;return function(_0x137e25){logger['error'](_0x137e25[_0x4539('0x1d')]);if(_0x137e25['name']){delete _0x137e25['name'];}_0x266034['status'](_0x1b12ac)[_0x4539('0x1e')](_0x137e25);};}exports[_0x4539('0x1f')]=function(_0x464c72,_0x2ccf07){var _0x35e1d6={},_0x18758b={},_0x512930={'count':0x0,'rows':[]};var _0x4194a9=_[_0x4539('0x20')](db['SugarcrmField'][_0x4539('0x21')],function(_0x3a2f34){return{'name':_0x3a2f34[_0x4539('0x22')],'type':_0x3a2f34[_0x4539('0x23')]['key']};});_0x18758b[_0x4539('0x24')]=_[_0x4539('0x20')](_0x4194a9,_0x4539('0x25'));_0x18758b[_0x4539('0x26')]=_['keys'](_0x464c72[_0x4539('0x26')]);_0x18758b[_0x4539('0x27')]=_[_0x4539('0x28')](_0x18758b[_0x4539('0x24')],_0x18758b[_0x4539('0x26')]);_0x35e1d6[_0x4539('0x29')]=_[_0x4539('0x28')](_0x18758b[_0x4539('0x24')],qs['fields'](_0x464c72[_0x4539('0x26')][_0x4539('0x2a')]));_0x35e1d6[_0x4539('0x29')]=_0x35e1d6[_0x4539('0x29')]['length']?_0x35e1d6[_0x4539('0x29')]:_0x18758b[_0x4539('0x24')];if(!_0x464c72[_0x4539('0x26')][_0x4539('0x2b')]('nolimit')){_0x35e1d6['limit']=qs[_0x4539('0x1a')](_0x464c72[_0x4539('0x26')][_0x4539('0x1a')]);_0x35e1d6[_0x4539('0x17')]=qs[_0x4539('0x17')](_0x464c72['query'][_0x4539('0x17')]);}_0x35e1d6[_0x4539('0x2c')]=qs[_0x4539('0x2d')](_0x464c72['query']['sort']);_0x35e1d6[_0x4539('0x2e')]=qs['filters'](_['pick'](_0x464c72['query'],_0x18758b['filters']),_0x4194a9);if(_0x464c72[_0x4539('0x26')]['filter']){_0x35e1d6[_0x4539('0x2e')]=_['merge'](_0x35e1d6[_0x4539('0x2e')],{'$or':_[_0x4539('0x20')](_0x4194a9,function(_0x12f553){if(_0x12f553[_0x4539('0x23')]!==_0x4539('0x2f')){var _0x43e735={};_0x43e735[_0x12f553[_0x4539('0x25')]]={'$like':'%'+_0x464c72[_0x4539('0x26')][_0x4539('0x30')]+'%'};return _0x43e735;}})});}_0x35e1d6=_['merge']({},_0x35e1d6,_0x464c72[_0x4539('0x31')]);var _0x30b337={'where':_0x35e1d6['where']};return db[_0x4539('0x32')]['count'](_0x30b337)[_0x4539('0x1c')](function(_0x28082f){_0x512930[_0x4539('0x19')]=_0x28082f;if(_0x464c72[_0x4539('0x26')]['includeAll']){_0x35e1d6['include']=[{'all':!![]}];}return db['SugarcrmField'][_0x4539('0x33')](_0x35e1d6);})['then'](function(_0x1f4abc){_0x512930[_0x4539('0x34')]=_0x1f4abc;return _0x512930;})[_0x4539('0x1c')](respondWithFilteredResult(_0x2ccf07,_0x35e1d6))[_0x4539('0x35')](handleError(_0x2ccf07,null));};exports[_0x4539('0x36')]=function(_0x395d40,_0x25c55e){var _0x555fd8={'raw':!![],'where':{'id':_0x395d40[_0x4539('0x37')]['id']}},_0x5e3df1={};_0x5e3df1['model']=_[_0x4539('0x38')](db[_0x4539('0x32')][_0x4539('0x21')]);_0x5e3df1[_0x4539('0x26')]=_[_0x4539('0x38')](_0x395d40[_0x4539('0x26')]);_0x5e3df1['filters']=_[_0x4539('0x28')](_0x5e3df1['model'],_0x5e3df1[_0x4539('0x26')]);_0x555fd8[_0x4539('0x29')]=_[_0x4539('0x28')](_0x5e3df1[_0x4539('0x24')],qs[_0x4539('0x2a')](_0x395d40['query'][_0x4539('0x2a')]));_0x555fd8[_0x4539('0x29')]=_0x555fd8['attributes'][_0x4539('0x39')]?_0x555fd8['attributes']:_0x5e3df1[_0x4539('0x24')];if(_0x395d40[_0x4539('0x26')][_0x4539('0x3a')]){_0x555fd8[_0x4539('0x3b')]=[{'all':!![]}];}_0x555fd8=_[_0x4539('0x3c')]({},_0x555fd8,_0x395d40[_0x4539('0x31')]);return db[_0x4539('0x32')]['find'](_0x555fd8)[_0x4539('0x1c')](handleEntityNotFound(_0x25c55e,null))[_0x4539('0x1c')](respondWithResult(_0x25c55e,null))[_0x4539('0x35')](handleError(_0x25c55e,null));};exports[_0x4539('0x3d')]=function(_0x2763b4,_0x3d55e9){return db['SugarcrmField'][_0x4539('0x3d')](_0x2763b4[_0x4539('0x3e')],{})[_0x4539('0x1c')](respondWithResult(_0x3d55e9,0xc9))[_0x4539('0x35')](handleError(_0x3d55e9,null));};exports['update']=function(_0x205200,_0x5c2bff){if(_0x205200['body']['id']){delete _0x205200['body']['id'];}return db['SugarcrmField'][_0x4539('0x3f')]({'where':{'id':_0x205200[_0x4539('0x37')]['id']}})[_0x4539('0x1c')](handleEntityNotFound(_0x5c2bff,null))[_0x4539('0x1c')](saveUpdates(_0x205200[_0x4539('0x3e')],null))['then'](respondWithResult(_0x5c2bff,null))[_0x4539('0x35')](handleError(_0x5c2bff,null));};exports[_0x4539('0x40')]=function(_0x38beb1,_0x5e7dd1){return db[_0x4539('0x32')][_0x4539('0x3f')]({'where':{'id':_0x38beb1['params']['id']}})[_0x4539('0x1c')](handleEntityNotFound(_0x5e7dd1,null))[_0x4539('0x1c')](removeEntity(_0x5e7dd1,null))[_0x4539('0x35')](handleError(_0x5e7dd1,null));};