Built motion from commit e6806ed6.|2.6.0
[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 _0xa098=['index','SugarcrmField','rawAttributes','model','map','name','query','keys','filters','attributes','intersection','fields','nolimit','limit','order','sort','where','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','length','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','undefined','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','end','stack','send'];(function(_0x243b03,_0x1d93c1){var _0x4d7902=function(_0x5ba3){while(--_0x5ba3){_0x243b03['push'](_0x243b03['shift']());}};_0x4d7902(++_0x1d93c1);}(_0xa098,0x1e3));var _0x8a09=function(_0x25288b,_0x519fde){_0x25288b=_0x25288b-0x0;var _0x317eaf=_0xa098[_0x25288b];return _0x317eaf;};'use strict';var emlformat=require(_0x8a09('0x0'));var rimraf=require(_0x8a09('0x1'));var zipdir=require(_0x8a09('0x2'));var jsonpatch=require(_0x8a09('0x3'));var rp=require(_0x8a09('0x4'));var moment=require('moment');var BPromise=require(_0x8a09('0x5'));var Mustache=require(_0x8a09('0x6'));var util=require(_0x8a09('0x7'));var path=require('path');var sox=require(_0x8a09('0x8'));var csv=require(_0x8a09('0x9'));var ejs=require(_0x8a09('0xa'));var fs=require('fs');var fs_extra=require(_0x8a09('0xb'));var _=require(_0x8a09('0xc'));var squel=require(_0x8a09('0xd'));var crypto=require(_0x8a09('0xe'));var jsforce=require(_0x8a09('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x8a09('0x9'));var querystring=require(_0x8a09('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x8a09('0x11'));var qs=require(_0x8a09('0x12'));var as=require(_0x8a09('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8a09('0x14'))(_0x8a09('0x15'));var utils=require(_0x8a09('0x16'));var config=require(_0x8a09('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x8a09('0x18'))['db'];function respondWithStatusCode(_0x36a41b,_0x2ca4b3){_0x2ca4b3=_0x2ca4b3||0xcc;return function(_0x21661b){if(_0x21661b){return _0x36a41b[_0x8a09('0x19')](_0x2ca4b3);}return _0x36a41b['status'](_0x2ca4b3)['end']();};}function respondWithResult(_0x10672b,_0x41f675){_0x41f675=_0x41f675||0xc8;return function(_0x29cd51){if(_0x29cd51){return _0x10672b[_0x8a09('0x1a')](_0x41f675)[_0x8a09('0x1b')](_0x29cd51);}};}function respondWithFilteredResult(_0x2a4e31,_0x4cf0b6){return function(_0x3ff009){if(_0x3ff009){var _0x161311=typeof _0x4cf0b6['offset']==='undefined'&&typeof _0x4cf0b6['limit']===_0x8a09('0x1c');var _0x14b805=_0x3ff009['count'];var _0x1e0d2d=_0x161311?0x0:_0x4cf0b6['offset'];var _0x49e9f5=_0x161311?_0x3ff009[_0x8a09('0x1d')]:_0x4cf0b6[_0x8a09('0x1e')]+_0x4cf0b6['limit'];var _0x5c1865;if(_0x49e9f5>=_0x14b805){_0x49e9f5=_0x14b805;_0x5c1865=0xc8;}else{_0x5c1865=0xce;}_0x2a4e31[_0x8a09('0x1a')](_0x5c1865);return _0x2a4e31[_0x8a09('0x1f')](_0x8a09('0x20'),_0x1e0d2d+'-'+_0x49e9f5+'/'+_0x14b805)[_0x8a09('0x1b')](_0x3ff009);}return null;};}function patchUpdates(_0x37802b){return function(_0x1c6cd8){try{jsonpatch[_0x8a09('0x21')](_0x1c6cd8,_0x37802b,!![]);}catch(_0x26c8b6){return BPromise[_0x8a09('0x22')](_0x26c8b6);}return _0x1c6cd8[_0x8a09('0x23')]();};}function saveUpdates(_0x557fd1,_0x4524a3){return function(_0x1ac863){if(_0x1ac863){return _0x1ac863[_0x8a09('0x24')](_0x557fd1)[_0x8a09('0x25')](function(_0x2df190){return _0x2df190;});}return null;};}function removeEntity(_0x5739d1,_0x3dd0bc){return function(_0x4d67e1){if(_0x4d67e1){return _0x4d67e1[_0x8a09('0x26')]()[_0x8a09('0x25')](function(){_0x5739d1[_0x8a09('0x1a')](0xcc)[_0x8a09('0x27')]();});}};}function handleEntityNotFound(_0x38ea79,_0x5af844){return function(_0x4576d7){if(!_0x4576d7){_0x38ea79[_0x8a09('0x19')](0x194);}return _0x4576d7;};}function handleError(_0xbca054,_0x2a53f2){_0x2a53f2=_0x2a53f2||0x1f4;return function(_0x1b4956){logger['error'](_0x1b4956[_0x8a09('0x28')]);if(_0x1b4956['name']){delete _0x1b4956['name'];}_0xbca054[_0x8a09('0x1a')](_0x2a53f2)[_0x8a09('0x29')](_0x1b4956);};}exports[_0x8a09('0x2a')]=function(_0x56aed9,_0xccd9ef){var _0x33c31c={},_0x14ebe8={},_0x50bb98={'count':0x0,'rows':[]};var _0x574a02=_['map'](db[_0x8a09('0x2b')][_0x8a09('0x2c')],function(_0x5c065b){return{'name':_0x5c065b['fieldName'],'type':_0x5c065b['type']['key']};});_0x14ebe8[_0x8a09('0x2d')]=_[_0x8a09('0x2e')](_0x574a02,_0x8a09('0x2f'));_0x14ebe8[_0x8a09('0x30')]=_[_0x8a09('0x31')](_0x56aed9['query']);_0x14ebe8[_0x8a09('0x32')]=_['intersection'](_0x14ebe8[_0x8a09('0x2d')],_0x14ebe8[_0x8a09('0x30')]);_0x33c31c[_0x8a09('0x33')]=_[_0x8a09('0x34')](_0x14ebe8[_0x8a09('0x2d')],qs['fields'](_0x56aed9[_0x8a09('0x30')][_0x8a09('0x35')]));_0x33c31c[_0x8a09('0x33')]=_0x33c31c['attributes']['length']?_0x33c31c[_0x8a09('0x33')]:_0x14ebe8['model'];if(!_0x56aed9['query']['hasOwnProperty'](_0x8a09('0x36'))){_0x33c31c['limit']=qs[_0x8a09('0x37')](_0x56aed9[_0x8a09('0x30')][_0x8a09('0x37')]);_0x33c31c[_0x8a09('0x1e')]=qs['offset'](_0x56aed9[_0x8a09('0x30')][_0x8a09('0x1e')]);}_0x33c31c[_0x8a09('0x38')]=qs[_0x8a09('0x39')](_0x56aed9['query'][_0x8a09('0x39')]);_0x33c31c[_0x8a09('0x3a')]=qs[_0x8a09('0x32')](_['pick'](_0x56aed9['query'],_0x14ebe8[_0x8a09('0x32')]),_0x574a02);if(_0x56aed9[_0x8a09('0x30')][_0x8a09('0x3b')]){_0x33c31c['where']=_[_0x8a09('0x3c')](_0x33c31c[_0x8a09('0x3a')],{'$or':_['map'](_0x574a02,function(_0x332c75){if(_0x332c75[_0x8a09('0x3d')]!==_0x8a09('0x3e')){var _0x3b1c30={};_0x3b1c30[_0x332c75[_0x8a09('0x2f')]]={'$like':'%'+_0x56aed9['query'][_0x8a09('0x3b')]+'%'};return _0x3b1c30;}})});}_0x33c31c=_['merge']({},_0x33c31c,_0x56aed9[_0x8a09('0x3f')]);var _0x30530f={'where':_0x33c31c[_0x8a09('0x3a')]};return db['SugarcrmField'][_0x8a09('0x1d')](_0x30530f)[_0x8a09('0x25')](function(_0x4a8b18){_0x50bb98['count']=_0x4a8b18;if(_0x56aed9[_0x8a09('0x30')][_0x8a09('0x40')]){_0x33c31c[_0x8a09('0x41')]=[{'all':!![]}];}return db[_0x8a09('0x2b')][_0x8a09('0x42')](_0x33c31c);})['then'](function(_0x3036c8){_0x50bb98[_0x8a09('0x43')]=_0x3036c8;return _0x50bb98;})[_0x8a09('0x25')](respondWithFilteredResult(_0xccd9ef,_0x33c31c))[_0x8a09('0x44')](handleError(_0xccd9ef,null));};exports[_0x8a09('0x45')]=function(_0x307689,_0x58b43f){var _0x48566b={'raw':!![],'where':{'id':_0x307689[_0x8a09('0x46')]['id']}},_0x382c08={};_0x382c08[_0x8a09('0x2d')]=_['keys'](db[_0x8a09('0x2b')][_0x8a09('0x2c')]);_0x382c08[_0x8a09('0x30')]=_['keys'](_0x307689[_0x8a09('0x30')]);_0x382c08['filters']=_[_0x8a09('0x34')](_0x382c08[_0x8a09('0x2d')],_0x382c08[_0x8a09('0x30')]);_0x48566b[_0x8a09('0x33')]=_[_0x8a09('0x34')](_0x382c08[_0x8a09('0x2d')],qs[_0x8a09('0x35')](_0x307689[_0x8a09('0x30')][_0x8a09('0x35')]));_0x48566b[_0x8a09('0x33')]=_0x48566b['attributes'][_0x8a09('0x47')]?_0x48566b['attributes']:_0x382c08[_0x8a09('0x2d')];if(_0x307689['query'][_0x8a09('0x40')]){_0x48566b[_0x8a09('0x41')]=[{'all':!![]}];}_0x48566b=_[_0x8a09('0x3c')]({},_0x48566b,_0x307689['options']);return db['SugarcrmField'][_0x8a09('0x48')](_0x48566b)['then'](handleEntityNotFound(_0x58b43f,null))[_0x8a09('0x25')](respondWithResult(_0x58b43f,null))[_0x8a09('0x44')](handleError(_0x58b43f,null));};exports['create']=function(_0x29ad4b,_0x1ae665){return db[_0x8a09('0x2b')][_0x8a09('0x49')](_0x29ad4b[_0x8a09('0x4a')],{})[_0x8a09('0x25')](respondWithResult(_0x1ae665,0xc9))[_0x8a09('0x44')](handleError(_0x1ae665,null));};exports['update']=function(_0x271f56,_0x24fd86){if(_0x271f56[_0x8a09('0x4a')]['id']){delete _0x271f56['body']['id'];}return db[_0x8a09('0x2b')][_0x8a09('0x48')]({'where':{'id':_0x271f56['params']['id']}})[_0x8a09('0x25')](handleEntityNotFound(_0x24fd86,null))['then'](saveUpdates(_0x271f56[_0x8a09('0x4a')],null))[_0x8a09('0x25')](respondWithResult(_0x24fd86,null))[_0x8a09('0x44')](handleError(_0x24fd86,null));};exports['destroy']=function(_0x340584,_0x5b1113){return db[_0x8a09('0x2b')][_0x8a09('0x48')]({'where':{'id':_0x340584[_0x8a09('0x46')]['id']}})[_0x8a09('0x25')](handleEntityNotFound(_0x5b1113,null))[_0x8a09('0x25')](removeEntity(_0x5b1113,null))['catch'](handleError(_0x5b1113,null));};