Built motion from commit 87cd5f02.|2.5.48
[motion2.git] / server / api / intFreshdeskField / intFreshdeskField.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 _0x6599=['name','index','FreshdeskField','fieldName','type','key','model','map','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','params','rawAttributes','includeAll','find','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','to-csv','ejs','fs-extra','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','save','then','destroy','error','stack'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6599,0xb0));var _0x9659=function(_0x5d31f3,_0x4239b0){_0x5d31f3=_0x5d31f3-0x0;var _0x1cc88c=_0x6599[_0x5d31f3];return _0x1cc88c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9659('0x0'));var zipdir=require(_0x9659('0x1'));var jsonpatch=require(_0x9659('0x2'));var rp=require(_0x9659('0x3'));var moment=require(_0x9659('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x9659('0x5'));var util=require('util');var path=require(_0x9659('0x6'));var sox=require('sox');var csv=require(_0x9659('0x7'));var ejs=require(_0x9659('0x8'));var fs=require('fs');var fs_extra=require(_0x9659('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x9659('0xa'));var jsforce=require(_0x9659('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x9659('0x7'));var querystring=require('querystring');var Papa=require(_0x9659('0xc'));var Redis=require(_0x9659('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x9659('0xe'));var as=require(_0x9659('0xf'));var hardwareService=require(_0x9659('0x10'));var logger=require('../../config/logger')(_0x9659('0x11'));var utils=require('../../config/utils');var config=require(_0x9659('0x12'));var licenseUtil=require(_0x9659('0x13'));var db=require(_0x9659('0x14'))['db'];function respondWithStatusCode(_0x567463,_0x1f4884){_0x1f4884=_0x1f4884||0xcc;return function(_0x414542){if(_0x414542){return _0x567463[_0x9659('0x15')](_0x1f4884);}return _0x567463[_0x9659('0x16')](_0x1f4884)[_0x9659('0x17')]();};}function respondWithResult(_0x38a89e,_0x805d8c){_0x805d8c=_0x805d8c||0xc8;return function(_0x3a3b18){if(_0x3a3b18){return _0x38a89e[_0x9659('0x16')](_0x805d8c)[_0x9659('0x18')](_0x3a3b18);}};}function respondWithFilteredResult(_0x323c10,_0x122fe4){return function(_0x23e514){if(_0x23e514){var _0x23098d=typeof _0x122fe4['offset']===_0x9659('0x19')&&typeof _0x122fe4[_0x9659('0x1a')]===_0x9659('0x19');var _0x3948c5=_0x23e514[_0x9659('0x1b')];var _0x434249=_0x23098d?0x0:_0x122fe4[_0x9659('0x1c')];var _0x266721=_0x23098d?_0x23e514[_0x9659('0x1b')]:_0x122fe4['offset']+_0x122fe4[_0x9659('0x1a')];var _0xaa8560;if(_0x266721>=_0x3948c5){_0x266721=_0x3948c5;_0xaa8560=0xc8;}else{_0xaa8560=0xce;}_0x323c10[_0x9659('0x16')](_0xaa8560);return _0x323c10['set'](_0x9659('0x1d'),_0x434249+'-'+_0x266721+'/'+_0x3948c5)['json'](_0x23e514);}return null;};}function patchUpdates(_0x301c36){return function(_0x3c4a1e){try{jsonpatch[_0x9659('0x1e')](_0x3c4a1e,_0x301c36,!![]);}catch(_0x245cf4){return BPromise[_0x9659('0x1f')](_0x245cf4);}return _0x3c4a1e[_0x9659('0x20')]();};}function saveUpdates(_0x5d4eb5,_0x31a3c9){return function(_0x34e36f){if(_0x34e36f){return _0x34e36f['update'](_0x5d4eb5)[_0x9659('0x21')](function(_0x44055f){return _0x44055f;});}return null;};}function removeEntity(_0x170837,_0x54a727){return function(_0x34cff7){if(_0x34cff7){return _0x34cff7[_0x9659('0x22')]()[_0x9659('0x21')](function(){_0x170837[_0x9659('0x16')](0xcc)[_0x9659('0x17')]();});}};}function handleEntityNotFound(_0x581c68,_0x137439){return function(_0x3bbbfc){if(!_0x3bbbfc){_0x581c68[_0x9659('0x15')](0x194);}return _0x3bbbfc;};}function handleError(_0x10b5d2,_0x5d8d0f){_0x5d8d0f=_0x5d8d0f||0x1f4;return function(_0x2c48bf){logger[_0x9659('0x23')](_0x2c48bf[_0x9659('0x24')]);if(_0x2c48bf[_0x9659('0x25')]){delete _0x2c48bf['name'];}_0x10b5d2[_0x9659('0x16')](_0x5d8d0f)['send'](_0x2c48bf);};}exports[_0x9659('0x26')]=function(_0x5bf928,_0x3a45d5){var _0x5aa112={},_0x5631f7={},_0x21999d={'count':0x0,'rows':[]};var _0x41122e=_['map'](db[_0x9659('0x27')]['rawAttributes'],function(_0x87a153){return{'name':_0x87a153[_0x9659('0x28')],'type':_0x87a153[_0x9659('0x29')][_0x9659('0x2a')]};});_0x5631f7[_0x9659('0x2b')]=_[_0x9659('0x2c')](_0x41122e,_0x9659('0x25'));_0x5631f7['query']=_[_0x9659('0x2d')](_0x5bf928[_0x9659('0x2e')]);_0x5631f7[_0x9659('0x2f')]=_['intersection'](_0x5631f7[_0x9659('0x2b')],_0x5631f7[_0x9659('0x2e')]);_0x5aa112['attributes']=_[_0x9659('0x30')](_0x5631f7[_0x9659('0x2b')],qs['fields'](_0x5bf928[_0x9659('0x2e')][_0x9659('0x31')]));_0x5aa112['attributes']=_0x5aa112[_0x9659('0x32')][_0x9659('0x33')]?_0x5aa112[_0x9659('0x32')]:_0x5631f7[_0x9659('0x2b')];if(!_0x5bf928[_0x9659('0x2e')][_0x9659('0x34')](_0x9659('0x35'))){_0x5aa112[_0x9659('0x1a')]=qs[_0x9659('0x1a')](_0x5bf928[_0x9659('0x2e')][_0x9659('0x1a')]);_0x5aa112[_0x9659('0x1c')]=qs[_0x9659('0x1c')](_0x5bf928[_0x9659('0x2e')][_0x9659('0x1c')]);}_0x5aa112['order']=qs[_0x9659('0x36')](_0x5bf928[_0x9659('0x2e')]['sort']);_0x5aa112[_0x9659('0x37')]=qs[_0x9659('0x2f')](_[_0x9659('0x38')](_0x5bf928[_0x9659('0x2e')],_0x5631f7[_0x9659('0x2f')]),_0x41122e);if(_0x5bf928[_0x9659('0x2e')][_0x9659('0x39')]){_0x5aa112[_0x9659('0x37')]=_[_0x9659('0x3a')](_0x5aa112[_0x9659('0x37')],{'$or':_['map'](_0x41122e,function(_0x4286e1){if(_0x4286e1[_0x9659('0x29')]!==_0x9659('0x3b')){var _0x104b4e={};_0x104b4e[_0x4286e1[_0x9659('0x25')]]={'$like':'%'+_0x5bf928[_0x9659('0x2e')][_0x9659('0x39')]+'%'};return _0x104b4e;}})});}_0x5aa112=_[_0x9659('0x3a')]({},_0x5aa112,_0x5bf928[_0x9659('0x3c')]);var _0x4103eb={'where':_0x5aa112[_0x9659('0x37')]};return db[_0x9659('0x27')][_0x9659('0x1b')](_0x4103eb)['then'](function(_0x11805a){_0x21999d[_0x9659('0x1b')]=_0x11805a;if(_0x5bf928[_0x9659('0x2e')]['includeAll']){_0x5aa112[_0x9659('0x3d')]=[{'all':!![]}];}return db[_0x9659('0x27')][_0x9659('0x3e')](_0x5aa112);})[_0x9659('0x21')](function(_0x260ecc){_0x21999d[_0x9659('0x3f')]=_0x260ecc;return _0x21999d;})[_0x9659('0x21')](respondWithFilteredResult(_0x3a45d5,_0x5aa112))[_0x9659('0x40')](handleError(_0x3a45d5,null));};exports['show']=function(_0x31eeba,_0x70be07){var _0x90d75b={'raw':!![],'where':{'id':_0x31eeba[_0x9659('0x41')]['id']}},_0x4cf009={};_0x4cf009[_0x9659('0x2b')]=_[_0x9659('0x2d')](db[_0x9659('0x27')][_0x9659('0x42')]);_0x4cf009[_0x9659('0x2e')]=_[_0x9659('0x2d')](_0x31eeba[_0x9659('0x2e')]);_0x4cf009[_0x9659('0x2f')]=_['intersection'](_0x4cf009[_0x9659('0x2b')],_0x4cf009[_0x9659('0x2e')]);_0x90d75b[_0x9659('0x32')]=_[_0x9659('0x30')](_0x4cf009[_0x9659('0x2b')],qs[_0x9659('0x31')](_0x31eeba[_0x9659('0x2e')][_0x9659('0x31')]));_0x90d75b['attributes']=_0x90d75b[_0x9659('0x32')][_0x9659('0x33')]?_0x90d75b['attributes']:_0x4cf009['model'];if(_0x31eeba[_0x9659('0x2e')][_0x9659('0x43')]){_0x90d75b['include']=[{'all':!![]}];}_0x90d75b=_['merge']({},_0x90d75b,_0x31eeba['options']);return db[_0x9659('0x27')][_0x9659('0x44')](_0x90d75b)[_0x9659('0x21')](handleEntityNotFound(_0x70be07,null))['then'](respondWithResult(_0x70be07,null))['catch'](handleError(_0x70be07,null));};exports[_0x9659('0x45')]=function(_0x3a5491,_0xea37d7){return db[_0x9659('0x27')]['create'](_0x3a5491[_0x9659('0x46')],{})[_0x9659('0x21')](respondWithResult(_0xea37d7,0xc9))[_0x9659('0x40')](handleError(_0xea37d7,null));};exports['update']=function(_0x3b590e,_0x2dc821){if(_0x3b590e[_0x9659('0x46')]['id']){delete _0x3b590e[_0x9659('0x46')]['id'];}return db[_0x9659('0x27')][_0x9659('0x44')]({'where':{'id':_0x3b590e[_0x9659('0x41')]['id']}})['then'](handleEntityNotFound(_0x2dc821,null))[_0x9659('0x21')](saveUpdates(_0x3b590e[_0x9659('0x46')],null))[_0x9659('0x21')](respondWithResult(_0x2dc821,null))[_0x9659('0x40')](handleError(_0x2dc821,null));};exports[_0x9659('0x22')]=function(_0x19c1e4,_0x37ccd8){return db[_0x9659('0x27')][_0x9659('0x44')]({'where':{'id':_0x19c1e4['params']['id']}})[_0x9659('0x21')](handleEntityNotFound(_0x37ccd8,null))[_0x9659('0x21')](removeEntity(_0x37ccd8,null))['catch'](handleError(_0x37ccd8,null));};