eb3254670b8ec268a9a31094763e834a8a339921
[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 _0x326b=['create','body','update','eml-format','zip-dir','fast-json-patch','bluebird','mustache','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','destroy','then','error','stack','name','send','index','map','SugarcrmField','rawAttributes','type','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','rows','catch','show','params','find'];(function(_0x273c39,_0x1052e6){var _0x46d6b5=function(_0x44f1fb){while(--_0x44f1fb){_0x273c39['push'](_0x273c39['shift']());}};_0x46d6b5(++_0x1052e6);}(_0x326b,0x93));var _0xb326=function(_0x1602ef,_0x447aba){_0x1602ef=_0x1602ef-0x0;var _0x5870ee=_0x326b[_0x1602ef];return _0x5870ee;};'use strict';var emlformat=require(_0xb326('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb326('0x1'));var jsonpatch=require(_0xb326('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xb326('0x3'));var Mustache=require(_0xb326('0x4'));var util=require('util');var path=require('path');var sox=require(_0xb326('0x5'));var csv=require(_0xb326('0x6'));var ejs=require(_0xb326('0x7'));var fs=require('fs');var fs_extra=require(_0xb326('0x8'));var _=require(_0xb326('0x9'));var squel=require(_0xb326('0xa'));var crypto=require(_0xb326('0xb'));var jsforce=require(_0xb326('0xc'));var deskjs=require(_0xb326('0xd'));var toCsv=require(_0xb326('0x6'));var querystring=require('querystring');var Papa=require(_0xb326('0xe'));var Redis=require(_0xb326('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xb326('0x10'));var as=require(_0xb326('0x11'));var hardwareService=require(_0xb326('0x12'));var logger=require('../../config/logger')(_0xb326('0x13'));var utils=require(_0xb326('0x14'));var config=require(_0xb326('0x15'));var licenseUtil=require(_0xb326('0x16'));var db=require(_0xb326('0x17'))['db'];function respondWithStatusCode(_0x30b3a0,_0x183ee7){_0x183ee7=_0x183ee7||0xcc;return function(_0x21be88){if(_0x21be88){return _0x30b3a0[_0xb326('0x18')](_0x183ee7);}return _0x30b3a0['status'](_0x183ee7)[_0xb326('0x19')]();};}function respondWithResult(_0x143e77,_0x3134ca){_0x3134ca=_0x3134ca||0xc8;return function(_0x547584){if(_0x547584){return _0x143e77[_0xb326('0x1a')](_0x3134ca)[_0xb326('0x1b')](_0x547584);}};}function respondWithFilteredResult(_0x41e980,_0xe5497f){return function(_0x2bcff9){if(_0x2bcff9){var _0x1ed56d=typeof _0xe5497f[_0xb326('0x1c')]===_0xb326('0x1d')&&typeof _0xe5497f[_0xb326('0x1e')]===_0xb326('0x1d');var _0x2fce7c=_0x2bcff9[_0xb326('0x1f')];var _0x24eece=_0x1ed56d?0x0:_0xe5497f[_0xb326('0x1c')];var _0x2cde1d=_0x1ed56d?_0x2bcff9['count']:_0xe5497f['offset']+_0xe5497f[_0xb326('0x1e')];var _0x4c8334;if(_0x2cde1d>=_0x2fce7c){_0x2cde1d=_0x2fce7c;_0x4c8334=0xc8;}else{_0x4c8334=0xce;}_0x41e980[_0xb326('0x1a')](_0x4c8334);return _0x41e980[_0xb326('0x20')](_0xb326('0x21'),_0x24eece+'-'+_0x2cde1d+'/'+_0x2fce7c)['json'](_0x2bcff9);}return null;};}function patchUpdates(_0x110097){return function(_0x55c4d0){try{jsonpatch['apply'](_0x55c4d0,_0x110097,!![]);}catch(_0x3ab193){return BPromise[_0xb326('0x22')](_0x3ab193);}return _0x55c4d0['save']();};}function saveUpdates(_0x128256,_0x5e83eb){return function(_0x29805b){if(_0x29805b){return _0x29805b['update'](_0x128256)['then'](function(_0x32dfaa){return _0x32dfaa;});}return null;};}function removeEntity(_0x33dfec,_0x4ad85f){return function(_0x16622d){if(_0x16622d){return _0x16622d[_0xb326('0x23')]()[_0xb326('0x24')](function(){_0x33dfec[_0xb326('0x1a')](0xcc)[_0xb326('0x19')]();});}};}function handleEntityNotFound(_0x31c95b,_0x4184c2){return function(_0x3050a4){if(!_0x3050a4){_0x31c95b[_0xb326('0x18')](0x194);}return _0x3050a4;};}function handleError(_0xe3793d,_0x51006c){_0x51006c=_0x51006c||0x1f4;return function(_0x4dd5ad){logger[_0xb326('0x25')](_0x4dd5ad[_0xb326('0x26')]);if(_0x4dd5ad[_0xb326('0x27')]){delete _0x4dd5ad[_0xb326('0x27')];}_0xe3793d[_0xb326('0x1a')](_0x51006c)[_0xb326('0x28')](_0x4dd5ad);};}exports[_0xb326('0x29')]=function(_0x597bb0,_0x7a3d34){var _0x6cc918={},_0x31bcf5={},_0x5c18c9={'count':0x0,'rows':[]};var _0x2a66ef=_[_0xb326('0x2a')](db[_0xb326('0x2b')][_0xb326('0x2c')],function(_0x45bcd0){return{'name':_0x45bcd0['fieldName'],'type':_0x45bcd0[_0xb326('0x2d')]['key']};});_0x31bcf5[_0xb326('0x2e')]=_[_0xb326('0x2a')](_0x2a66ef,_0xb326('0x27'));_0x31bcf5[_0xb326('0x2f')]=_[_0xb326('0x30')](_0x597bb0[_0xb326('0x2f')]);_0x31bcf5[_0xb326('0x31')]=_['intersection'](_0x31bcf5[_0xb326('0x2e')],_0x31bcf5[_0xb326('0x2f')]);_0x6cc918[_0xb326('0x32')]=_[_0xb326('0x33')](_0x31bcf5[_0xb326('0x2e')],qs[_0xb326('0x34')](_0x597bb0[_0xb326('0x2f')][_0xb326('0x34')]));_0x6cc918[_0xb326('0x32')]=_0x6cc918['attributes']['length']?_0x6cc918['attributes']:_0x31bcf5[_0xb326('0x2e')];if(!_0x597bb0[_0xb326('0x2f')][_0xb326('0x35')](_0xb326('0x36'))){_0x6cc918[_0xb326('0x1e')]=qs[_0xb326('0x1e')](_0x597bb0[_0xb326('0x2f')][_0xb326('0x1e')]);_0x6cc918[_0xb326('0x1c')]=qs[_0xb326('0x1c')](_0x597bb0[_0xb326('0x2f')][_0xb326('0x1c')]);}_0x6cc918[_0xb326('0x37')]=qs[_0xb326('0x38')](_0x597bb0[_0xb326('0x2f')][_0xb326('0x38')]);_0x6cc918[_0xb326('0x39')]=qs['filters'](_[_0xb326('0x3a')](_0x597bb0['query'],_0x31bcf5['filters']),_0x2a66ef);if(_0x597bb0[_0xb326('0x2f')]['filter']){_0x6cc918['where']=_[_0xb326('0x3b')](_0x6cc918[_0xb326('0x39')],{'$or':_[_0xb326('0x2a')](_0x2a66ef,function(_0xa60b39){if(_0xa60b39['type']!==_0xb326('0x3c')){var _0x39c090={};_0x39c090[_0xa60b39[_0xb326('0x27')]]={'$like':'%'+_0x597bb0[_0xb326('0x2f')][_0xb326('0x3d')]+'%'};return _0x39c090;}})});}_0x6cc918=_['merge']({},_0x6cc918,_0x597bb0[_0xb326('0x3e')]);var _0xc53ee7={'where':_0x6cc918[_0xb326('0x39')]};return db[_0xb326('0x2b')][_0xb326('0x1f')](_0xc53ee7)[_0xb326('0x24')](function(_0x2d7209){_0x5c18c9[_0xb326('0x1f')]=_0x2d7209;if(_0x597bb0[_0xb326('0x2f')][_0xb326('0x3f')]){_0x6cc918['include']=[{'all':!![]}];}return db['SugarcrmField']['findAll'](_0x6cc918);})[_0xb326('0x24')](function(_0x4995d7){_0x5c18c9[_0xb326('0x40')]=_0x4995d7;return _0x5c18c9;})[_0xb326('0x24')](respondWithFilteredResult(_0x7a3d34,_0x6cc918))[_0xb326('0x41')](handleError(_0x7a3d34,null));};exports[_0xb326('0x42')]=function(_0x56eea2,_0x41dbf8){var _0x2a9426={'raw':!![],'where':{'id':_0x56eea2[_0xb326('0x43')]['id']}},_0x54cd8e={};_0x54cd8e[_0xb326('0x2e')]=_[_0xb326('0x30')](db[_0xb326('0x2b')]['rawAttributes']);_0x54cd8e[_0xb326('0x2f')]=_['keys'](_0x56eea2['query']);_0x54cd8e[_0xb326('0x31')]=_[_0xb326('0x33')](_0x54cd8e['model'],_0x54cd8e['query']);_0x2a9426['attributes']=_[_0xb326('0x33')](_0x54cd8e[_0xb326('0x2e')],qs[_0xb326('0x34')](_0x56eea2[_0xb326('0x2f')][_0xb326('0x34')]));_0x2a9426[_0xb326('0x32')]=_0x2a9426[_0xb326('0x32')]['length']?_0x2a9426[_0xb326('0x32')]:_0x54cd8e['model'];if(_0x56eea2[_0xb326('0x2f')][_0xb326('0x3f')]){_0x2a9426['include']=[{'all':!![]}];}_0x2a9426=_[_0xb326('0x3b')]({},_0x2a9426,_0x56eea2[_0xb326('0x3e')]);return db[_0xb326('0x2b')][_0xb326('0x44')](_0x2a9426)['then'](handleEntityNotFound(_0x41dbf8,null))[_0xb326('0x24')](respondWithResult(_0x41dbf8,null))[_0xb326('0x41')](handleError(_0x41dbf8,null));};exports[_0xb326('0x45')]=function(_0x2fd8a0,_0x2d5259){return db[_0xb326('0x2b')]['create'](_0x2fd8a0[_0xb326('0x46')],{})[_0xb326('0x24')](respondWithResult(_0x2d5259,0xc9))['catch'](handleError(_0x2d5259,null));};exports[_0xb326('0x47')]=function(_0x3f4849,_0x2d507c){if(_0x3f4849['body']['id']){delete _0x3f4849[_0xb326('0x46')]['id'];}return db[_0xb326('0x2b')]['find']({'where':{'id':_0x3f4849['params']['id']}})[_0xb326('0x24')](handleEntityNotFound(_0x2d507c,null))[_0xb326('0x24')](saveUpdates(_0x3f4849[_0xb326('0x46')],null))['then'](respondWithResult(_0x2d507c,null))[_0xb326('0x41')](handleError(_0x2d507c,null));};exports[_0xb326('0x23')]=function(_0x353e4e,_0x543953){return db[_0xb326('0x2b')][_0xb326('0x44')]({'where':{'id':_0x353e4e['params']['id']}})[_0xb326('0x24')](handleEntityNotFound(_0x543953,null))[_0xb326('0x24')](removeEntity(_0x543953,null))[_0xb326('0x41')](handleError(_0x543953,null));};