Built motion from commit efa66e19.|2.6.22
[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 _0x4688=['to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','offset','set','Content-Range','apply','reject','update','then','destroy','end','stack','name','send','index','map','SugarcrmField','key','model','query','filters','attributes','intersection','fields','length','nolimit','limit','order','sort','pick','where','merge','filter','options','count','includeAll','findAll','rows','catch','show','keys','rawAttributes','include','create','body','params','find','eml-format','zip-dir','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js'];(function(_0x50c5fd,_0x4d9f10){var _0x547eb7=function(_0x181422){while(--_0x181422){_0x50c5fd['push'](_0x50c5fd['shift']());}};_0x547eb7(++_0x4d9f10);}(_0x4688,0x121));var _0x8468=function(_0x1d760b,_0x47f9fe){_0x1d760b=_0x1d760b-0x0;var _0x18fb17=_0x4688[_0x1d760b];return _0x18fb17;};'use strict';var emlformat=require(_0x8468('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8468('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8468('0x2'));var moment=require(_0x8468('0x3'));var BPromise=require(_0x8468('0x4'));var Mustache=require(_0x8468('0x5'));var util=require('util');var path=require(_0x8468('0x6'));var sox=require(_0x8468('0x7'));var csv=require('to-csv');var ejs=require(_0x8468('0x8'));var fs=require('fs');var fs_extra=require(_0x8468('0x9'));var _=require(_0x8468('0xa'));var squel=require(_0x8468('0xb'));var crypto=require(_0x8468('0xc'));var jsforce=require(_0x8468('0xd'));var deskjs=require(_0x8468('0xe'));var toCsv=require(_0x8468('0xf'));var querystring=require('querystring');var Papa=require(_0x8468('0x10'));var Redis=require(_0x8468('0x11'));var authService=require(_0x8468('0x12'));var qs=require(_0x8468('0x13'));var as=require(_0x8468('0x14'));var hardwareService=require(_0x8468('0x15'));var logger=require(_0x8468('0x16'))('api');var utils=require(_0x8468('0x17'));var config=require(_0x8468('0x18'));var licenseUtil=require(_0x8468('0x19'));var db=require(_0x8468('0x1a'))['db'];function respondWithStatusCode(_0x33ce36,_0x685586){_0x685586=_0x685586||0xcc;return function(_0x24fcd0){if(_0x24fcd0){return _0x33ce36[_0x8468('0x1b')](_0x685586);}return _0x33ce36[_0x8468('0x1c')](_0x685586)['end']();};}function respondWithResult(_0x186cee,_0x2a2887){_0x2a2887=_0x2a2887||0xc8;return function(_0xcfaf0){if(_0xcfaf0){return _0x186cee[_0x8468('0x1c')](_0x2a2887)[_0x8468('0x1d')](_0xcfaf0);}};}function respondWithFilteredResult(_0x49b402,_0x5387ef){return function(_0x42d051){if(_0x42d051){var _0x4bc8aa=typeof _0x5387ef['offset']===_0x8468('0x1e')&&typeof _0x5387ef['limit']==='undefined';var _0x386a70=_0x42d051['count'];var _0x243640=_0x4bc8aa?0x0:_0x5387ef[_0x8468('0x1f')];var _0x4ec943=_0x4bc8aa?_0x42d051['count']:_0x5387ef[_0x8468('0x1f')]+_0x5387ef['limit'];var _0x31fa73;if(_0x4ec943>=_0x386a70){_0x4ec943=_0x386a70;_0x31fa73=0xc8;}else{_0x31fa73=0xce;}_0x49b402[_0x8468('0x1c')](_0x31fa73);return _0x49b402[_0x8468('0x20')](_0x8468('0x21'),_0x243640+'-'+_0x4ec943+'/'+_0x386a70)[_0x8468('0x1d')](_0x42d051);}return null;};}function patchUpdates(_0x54fe28){return function(_0x2e36a5){try{jsonpatch[_0x8468('0x22')](_0x2e36a5,_0x54fe28,!![]);}catch(_0x4ae991){return BPromise[_0x8468('0x23')](_0x4ae991);}return _0x2e36a5['save']();};}function saveUpdates(_0x449146,_0x2fdc6d){return function(_0x2f58ae){if(_0x2f58ae){return _0x2f58ae[_0x8468('0x24')](_0x449146)[_0x8468('0x25')](function(_0x1a7885){return _0x1a7885;});}return null;};}function removeEntity(_0x3d26fb,_0x59baa6){return function(_0x5be7d6){if(_0x5be7d6){return _0x5be7d6[_0x8468('0x26')]()[_0x8468('0x25')](function(){_0x3d26fb['status'](0xcc)[_0x8468('0x27')]();});}};}function handleEntityNotFound(_0x3087a3,_0x1f4cf7){return function(_0x1bd99e){if(!_0x1bd99e){_0x3087a3[_0x8468('0x1b')](0x194);}return _0x1bd99e;};}function handleError(_0x14d573,_0x38cec2){_0x38cec2=_0x38cec2||0x1f4;return function(_0x43f652){logger['error'](_0x43f652[_0x8468('0x28')]);if(_0x43f652[_0x8468('0x29')]){delete _0x43f652[_0x8468('0x29')];}_0x14d573[_0x8468('0x1c')](_0x38cec2)[_0x8468('0x2a')](_0x43f652);};}exports[_0x8468('0x2b')]=function(_0x5cb5e0,_0x106540){var _0x53d5e1={},_0xe92cf5={},_0x58c4ba={'count':0x0,'rows':[]};var _0x560763=_[_0x8468('0x2c')](db[_0x8468('0x2d')]['rawAttributes'],function(_0x3add1a){return{'name':_0x3add1a['fieldName'],'type':_0x3add1a['type'][_0x8468('0x2e')]};});_0xe92cf5[_0x8468('0x2f')]=_[_0x8468('0x2c')](_0x560763,_0x8468('0x29'));_0xe92cf5['query']=_['keys'](_0x5cb5e0[_0x8468('0x30')]);_0xe92cf5[_0x8468('0x31')]=_['intersection'](_0xe92cf5[_0x8468('0x2f')],_0xe92cf5[_0x8468('0x30')]);_0x53d5e1[_0x8468('0x32')]=_[_0x8468('0x33')](_0xe92cf5['model'],qs[_0x8468('0x34')](_0x5cb5e0[_0x8468('0x30')]['fields']));_0x53d5e1[_0x8468('0x32')]=_0x53d5e1[_0x8468('0x32')][_0x8468('0x35')]?_0x53d5e1['attributes']:_0xe92cf5['model'];if(!_0x5cb5e0['query']['hasOwnProperty'](_0x8468('0x36'))){_0x53d5e1[_0x8468('0x37')]=qs[_0x8468('0x37')](_0x5cb5e0[_0x8468('0x30')][_0x8468('0x37')]);_0x53d5e1[_0x8468('0x1f')]=qs['offset'](_0x5cb5e0['query'][_0x8468('0x1f')]);}_0x53d5e1[_0x8468('0x38')]=qs[_0x8468('0x39')](_0x5cb5e0[_0x8468('0x30')][_0x8468('0x39')]);_0x53d5e1['where']=qs[_0x8468('0x31')](_[_0x8468('0x3a')](_0x5cb5e0[_0x8468('0x30')],_0xe92cf5[_0x8468('0x31')]),_0x560763);if(_0x5cb5e0[_0x8468('0x30')]['filter']){_0x53d5e1[_0x8468('0x3b')]=_[_0x8468('0x3c')](_0x53d5e1[_0x8468('0x3b')],{'$or':_[_0x8468('0x2c')](_0x560763,function(_0x4e831b){if(_0x4e831b['type']!=='VIRTUAL'){var _0x40f238={};_0x40f238[_0x4e831b['name']]={'$like':'%'+_0x5cb5e0[_0x8468('0x30')][_0x8468('0x3d')]+'%'};return _0x40f238;}})});}_0x53d5e1=_[_0x8468('0x3c')]({},_0x53d5e1,_0x5cb5e0[_0x8468('0x3e')]);var _0x15e82b={'where':_0x53d5e1[_0x8468('0x3b')]};return db[_0x8468('0x2d')]['count'](_0x15e82b)[_0x8468('0x25')](function(_0x22089f){_0x58c4ba[_0x8468('0x3f')]=_0x22089f;if(_0x5cb5e0[_0x8468('0x30')][_0x8468('0x40')]){_0x53d5e1['include']=[{'all':!![]}];}return db[_0x8468('0x2d')][_0x8468('0x41')](_0x53d5e1);})[_0x8468('0x25')](function(_0x9e12a0){_0x58c4ba[_0x8468('0x42')]=_0x9e12a0;return _0x58c4ba;})[_0x8468('0x25')](respondWithFilteredResult(_0x106540,_0x53d5e1))[_0x8468('0x43')](handleError(_0x106540,null));};exports[_0x8468('0x44')]=function(_0x3c4d06,_0x56352a){var _0x3df9e8={'raw':!![],'where':{'id':_0x3c4d06['params']['id']}},_0x573100={};_0x573100[_0x8468('0x2f')]=_[_0x8468('0x45')](db[_0x8468('0x2d')][_0x8468('0x46')]);_0x573100[_0x8468('0x30')]=_['keys'](_0x3c4d06['query']);_0x573100[_0x8468('0x31')]=_['intersection'](_0x573100[_0x8468('0x2f')],_0x573100[_0x8468('0x30')]);_0x3df9e8[_0x8468('0x32')]=_[_0x8468('0x33')](_0x573100[_0x8468('0x2f')],qs[_0x8468('0x34')](_0x3c4d06['query'][_0x8468('0x34')]));_0x3df9e8['attributes']=_0x3df9e8['attributes'][_0x8468('0x35')]?_0x3df9e8[_0x8468('0x32')]:_0x573100[_0x8468('0x2f')];if(_0x3c4d06[_0x8468('0x30')][_0x8468('0x40')]){_0x3df9e8[_0x8468('0x47')]=[{'all':!![]}];}_0x3df9e8=_[_0x8468('0x3c')]({},_0x3df9e8,_0x3c4d06[_0x8468('0x3e')]);return db[_0x8468('0x2d')]['find'](_0x3df9e8)[_0x8468('0x25')](handleEntityNotFound(_0x56352a,null))[_0x8468('0x25')](respondWithResult(_0x56352a,null))[_0x8468('0x43')](handleError(_0x56352a,null));};exports['create']=function(_0x5b04e2,_0x29fa46){return db[_0x8468('0x2d')][_0x8468('0x48')](_0x5b04e2[_0x8468('0x49')],{})[_0x8468('0x25')](respondWithResult(_0x29fa46,0xc9))[_0x8468('0x43')](handleError(_0x29fa46,null));};exports[_0x8468('0x24')]=function(_0x38825e,_0x1aff8b){if(_0x38825e['body']['id']){delete _0x38825e[_0x8468('0x49')]['id'];}return db['SugarcrmField']['find']({'where':{'id':_0x38825e[_0x8468('0x4a')]['id']}})[_0x8468('0x25')](handleEntityNotFound(_0x1aff8b,null))[_0x8468('0x25')](saveUpdates(_0x38825e['body'],null))['then'](respondWithResult(_0x1aff8b,null))['catch'](handleError(_0x1aff8b,null));};exports['destroy']=function(_0x1038d2,_0x44053d){return db['SugarcrmField'][_0x8468('0x4b')]({'where':{'id':_0x1038d2[_0x8468('0x4a')]['id']}})[_0x8468('0x25')](handleEntityNotFound(_0x44053d,null))[_0x8468('0x25')](removeEntity(_0x44053d,null))[_0x8468('0x43')](handleError(_0x44053d,null));};