1f5b8dcc5859c16ec7babe860ff4c9ee0fde1fe8
[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 _0x6da8=['set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','SugarcrmField','rawAttributes','fieldName','type','map','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','params','includeAll','find','create','body','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count'];(function(_0x294a0d,_0x4ccad7){var _0x49ce49=function(_0x1f4671){while(--_0x1f4671){_0x294a0d['push'](_0x294a0d['shift']());}};_0x49ce49(++_0x4ccad7);}(_0x6da8,0x78));var _0x86da=function(_0x374d23,_0x54229c){_0x374d23=_0x374d23-0x0;var _0x42d835=_0x6da8[_0x374d23];return _0x42d835;};'use strict';var emlformat=require(_0x86da('0x0'));var rimraf=require(_0x86da('0x1'));var zipdir=require(_0x86da('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x86da('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x86da('0x4'));var util=require(_0x86da('0x5'));var path=require(_0x86da('0x6'));var sox=require(_0x86da('0x7'));var csv=require(_0x86da('0x8'));var ejs=require(_0x86da('0x9'));var fs=require('fs');var fs_extra=require(_0x86da('0xa'));var _=require(_0x86da('0xb'));var squel=require(_0x86da('0xc'));var crypto=require(_0x86da('0xd'));var jsforce=require(_0x86da('0xe'));var deskjs=require(_0x86da('0xf'));var toCsv=require(_0x86da('0x8'));var querystring=require(_0x86da('0x10'));var Papa=require(_0x86da('0x11'));var Redis=require(_0x86da('0x12'));var authService=require(_0x86da('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x86da('0x14'));var logger=require(_0x86da('0x15'))(_0x86da('0x16'));var utils=require(_0x86da('0x17'));var config=require(_0x86da('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x86da('0x19'))['db'];function respondWithStatusCode(_0x572469,_0x5131ee){_0x5131ee=_0x5131ee||0xcc;return function(_0x7f7c0b){if(_0x7f7c0b){return _0x572469[_0x86da('0x1a')](_0x5131ee);}return _0x572469[_0x86da('0x1b')](_0x5131ee)[_0x86da('0x1c')]();};}function respondWithResult(_0x39c792,_0x4c7a6b){_0x4c7a6b=_0x4c7a6b||0xc8;return function(_0x2862e3){if(_0x2862e3){return _0x39c792[_0x86da('0x1b')](_0x4c7a6b)[_0x86da('0x1d')](_0x2862e3);}};}function respondWithFilteredResult(_0x51f5cc,_0x55a1ce){return function(_0x580ca9){if(_0x580ca9){var _0x2b169c=typeof _0x55a1ce[_0x86da('0x1e')]==='undefined'&&typeof _0x55a1ce[_0x86da('0x1f')]===_0x86da('0x20');var _0x236f78=_0x580ca9[_0x86da('0x21')];var _0x259aa4=_0x2b169c?0x0:_0x55a1ce[_0x86da('0x1e')];var _0x171265=_0x2b169c?_0x580ca9[_0x86da('0x21')]:_0x55a1ce['offset']+_0x55a1ce[_0x86da('0x1f')];var _0x3d1484;if(_0x171265>=_0x236f78){_0x171265=_0x236f78;_0x3d1484=0xc8;}else{_0x3d1484=0xce;}_0x51f5cc[_0x86da('0x1b')](_0x3d1484);return _0x51f5cc[_0x86da('0x22')](_0x86da('0x23'),_0x259aa4+'-'+_0x171265+'/'+_0x236f78)[_0x86da('0x1d')](_0x580ca9);}return null;};}function patchUpdates(_0x3de859){return function(_0x5aaa14){try{jsonpatch[_0x86da('0x24')](_0x5aaa14,_0x3de859,!![]);}catch(_0x107c32){return BPromise[_0x86da('0x25')](_0x107c32);}return _0x5aaa14[_0x86da('0x26')]();};}function saveUpdates(_0x19dd1f,_0x518019){return function(_0x371bf8){if(_0x371bf8){return _0x371bf8[_0x86da('0x27')](_0x19dd1f)[_0x86da('0x28')](function(_0x273e0f){return _0x273e0f;});}return null;};}function removeEntity(_0x5bf184,_0x5c8669){return function(_0x46d86f){if(_0x46d86f){return _0x46d86f[_0x86da('0x29')]()[_0x86da('0x28')](function(){_0x5bf184['status'](0xcc)[_0x86da('0x1c')]();});}};}function handleEntityNotFound(_0x20cfbd,_0x2cf580){return function(_0x248c48){if(!_0x248c48){_0x20cfbd['sendStatus'](0x194);}return _0x248c48;};}function handleError(_0x2e8809,_0x1180a9){_0x1180a9=_0x1180a9||0x1f4;return function(_0x5078bf){logger[_0x86da('0x2a')](_0x5078bf['stack']);if(_0x5078bf[_0x86da('0x2b')]){delete _0x5078bf[_0x86da('0x2b')];}_0x2e8809[_0x86da('0x1b')](_0x1180a9)[_0x86da('0x2c')](_0x5078bf);};}exports['index']=function(_0x19e54f,_0x1c3a7b){var _0x24b99e={},_0xf0266d={},_0x3a9c2e={'count':0x0,'rows':[]};var _0x379817=_['map'](db[_0x86da('0x2d')][_0x86da('0x2e')],function(_0x728cee){return{'name':_0x728cee[_0x86da('0x2f')],'type':_0x728cee[_0x86da('0x30')]['key']};});_0xf0266d['model']=_[_0x86da('0x31')](_0x379817,_0x86da('0x2b'));_0xf0266d[_0x86da('0x32')]=_[_0x86da('0x33')](_0x19e54f[_0x86da('0x32')]);_0xf0266d[_0x86da('0x34')]=_['intersection'](_0xf0266d[_0x86da('0x35')],_0xf0266d[_0x86da('0x32')]);_0x24b99e[_0x86da('0x36')]=_[_0x86da('0x37')](_0xf0266d[_0x86da('0x35')],qs[_0x86da('0x38')](_0x19e54f[_0x86da('0x32')]['fields']));_0x24b99e[_0x86da('0x36')]=_0x24b99e[_0x86da('0x36')][_0x86da('0x39')]?_0x24b99e[_0x86da('0x36')]:_0xf0266d[_0x86da('0x35')];if(!_0x19e54f[_0x86da('0x32')][_0x86da('0x3a')](_0x86da('0x3b'))){_0x24b99e[_0x86da('0x1f')]=qs['limit'](_0x19e54f[_0x86da('0x32')]['limit']);_0x24b99e[_0x86da('0x1e')]=qs[_0x86da('0x1e')](_0x19e54f[_0x86da('0x32')]['offset']);}_0x24b99e[_0x86da('0x3c')]=qs['sort'](_0x19e54f[_0x86da('0x32')][_0x86da('0x3d')]);_0x24b99e[_0x86da('0x3e')]=qs[_0x86da('0x34')](_[_0x86da('0x3f')](_0x19e54f['query'],_0xf0266d[_0x86da('0x34')]),_0x379817);if(_0x19e54f[_0x86da('0x32')]['filter']){_0x24b99e[_0x86da('0x3e')]=_[_0x86da('0x40')](_0x24b99e[_0x86da('0x3e')],{'$or':_['map'](_0x379817,function(_0x2db463){if(_0x2db463[_0x86da('0x30')]!==_0x86da('0x41')){var _0x2eaaf0={};_0x2eaaf0[_0x2db463[_0x86da('0x2b')]]={'$like':'%'+_0x19e54f[_0x86da('0x32')][_0x86da('0x42')]+'%'};return _0x2eaaf0;}})});}_0x24b99e=_[_0x86da('0x40')]({},_0x24b99e,_0x19e54f[_0x86da('0x43')]);var _0x53d288={'where':_0x24b99e['where']};return db[_0x86da('0x2d')]['count'](_0x53d288)['then'](function(_0x2a2d2a){_0x3a9c2e[_0x86da('0x21')]=_0x2a2d2a;if(_0x19e54f[_0x86da('0x32')]['includeAll']){_0x24b99e[_0x86da('0x44')]=[{'all':!![]}];}return db['SugarcrmField'][_0x86da('0x45')](_0x24b99e);})[_0x86da('0x28')](function(_0x2a2d28){_0x3a9c2e[_0x86da('0x46')]=_0x2a2d28;return _0x3a9c2e;})['then'](respondWithFilteredResult(_0x1c3a7b,_0x24b99e))[_0x86da('0x47')](handleError(_0x1c3a7b,null));};exports['show']=function(_0x34f037,_0x57f9b0){var _0xcf4178={'raw':!![],'where':{'id':_0x34f037[_0x86da('0x48')]['id']}},_0x514e60={};_0x514e60[_0x86da('0x35')]=_[_0x86da('0x33')](db[_0x86da('0x2d')][_0x86da('0x2e')]);_0x514e60['query']=_[_0x86da('0x33')](_0x34f037[_0x86da('0x32')]);_0x514e60[_0x86da('0x34')]=_['intersection'](_0x514e60[_0x86da('0x35')],_0x514e60[_0x86da('0x32')]);_0xcf4178[_0x86da('0x36')]=_[_0x86da('0x37')](_0x514e60[_0x86da('0x35')],qs[_0x86da('0x38')](_0x34f037[_0x86da('0x32')]['fields']));_0xcf4178[_0x86da('0x36')]=_0xcf4178[_0x86da('0x36')]['length']?_0xcf4178[_0x86da('0x36')]:_0x514e60[_0x86da('0x35')];if(_0x34f037[_0x86da('0x32')][_0x86da('0x49')]){_0xcf4178[_0x86da('0x44')]=[{'all':!![]}];}_0xcf4178=_[_0x86da('0x40')]({},_0xcf4178,_0x34f037[_0x86da('0x43')]);return db[_0x86da('0x2d')][_0x86da('0x4a')](_0xcf4178)[_0x86da('0x28')](handleEntityNotFound(_0x57f9b0,null))['then'](respondWithResult(_0x57f9b0,null))[_0x86da('0x47')](handleError(_0x57f9b0,null));};exports[_0x86da('0x4b')]=function(_0x233785,_0x5333ee){return db[_0x86da('0x2d')]['create'](_0x233785[_0x86da('0x4c')],{})[_0x86da('0x28')](respondWithResult(_0x5333ee,0xc9))['catch'](handleError(_0x5333ee,null));};exports[_0x86da('0x27')]=function(_0xba34f0,_0x20a683){if(_0xba34f0[_0x86da('0x4c')]['id']){delete _0xba34f0[_0x86da('0x4c')]['id'];}return db[_0x86da('0x2d')][_0x86da('0x4a')]({'where':{'id':_0xba34f0['params']['id']}})[_0x86da('0x28')](handleEntityNotFound(_0x20a683,null))[_0x86da('0x28')](saveUpdates(_0xba34f0[_0x86da('0x4c')],null))['then'](respondWithResult(_0x20a683,null))[_0x86da('0x47')](handleError(_0x20a683,null));};exports[_0x86da('0x29')]=function(_0x182ccf,_0x1e7a19){return db[_0x86da('0x2d')]['find']({'where':{'id':_0x182ccf[_0x86da('0x48')]['id']}})[_0x86da('0x28')](handleEntityNotFound(_0x1e7a19,null))[_0x86da('0x28')](removeEntity(_0x1e7a19,null))['catch'](handleError(_0x1e7a19,null));};