Built motion from commit (unavailable).|2.6.0
[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 _0xafab=['request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','update','destroy','then','stack','name','send','index','FreshdeskField','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','includeAll','include','rows','params','catch','create','body','find','eml-format','rimraf'];(function(_0x4e3eab,_0x55321a){var _0x2306f1=function(_0x52be74){while(--_0x52be74){_0x4e3eab['push'](_0x4e3eab['shift']());}};_0x2306f1(++_0x55321a);}(_0xafab,0x122));var _0xbafa=function(_0x48a81d,_0x2b3d9e){_0x48a81d=_0x48a81d-0x0;var _0x19699a=_0xafab[_0x48a81d];return _0x19699a;};'use strict';var emlformat=require(_0xbafa('0x0'));var rimraf=require(_0xbafa('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xbafa('0x2'));var moment=require('moment');var BPromise=require(_0xbafa('0x3'));var Mustache=require(_0xbafa('0x4'));var util=require(_0xbafa('0x5'));var path=require(_0xbafa('0x6'));var sox=require('sox');var csv=require(_0xbafa('0x7'));var ejs=require(_0xbafa('0x8'));var fs=require('fs');var fs_extra=require(_0xbafa('0x9'));var _=require(_0xbafa('0xa'));var squel=require(_0xbafa('0xb'));var crypto=require(_0xbafa('0xc'));var jsforce=require(_0xbafa('0xd'));var deskjs=require(_0xbafa('0xe'));var toCsv=require(_0xbafa('0x7'));var querystring=require('querystring');var Papa=require(_0xbafa('0xf'));var Redis=require('ioredis');var authService=require(_0xbafa('0x10'));var qs=require(_0xbafa('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbafa('0x12'));var logger=require('../../config/logger')(_0xbafa('0x13'));var utils=require(_0xbafa('0x14'));var config=require(_0xbafa('0x15'));var licenseUtil=require(_0xbafa('0x16'));var db=require(_0xbafa('0x17'))['db'];function respondWithStatusCode(_0x3d75c6,_0x57452b){_0x57452b=_0x57452b||0xcc;return function(_0x9d8062){if(_0x9d8062){return _0x3d75c6[_0xbafa('0x18')](_0x57452b);}return _0x3d75c6[_0xbafa('0x19')](_0x57452b)[_0xbafa('0x1a')]();};}function respondWithResult(_0x57565e,_0x567185){_0x567185=_0x567185||0xc8;return function(_0x5966f2){if(_0x5966f2){return _0x57565e[_0xbafa('0x19')](_0x567185)[_0xbafa('0x1b')](_0x5966f2);}};}function respondWithFilteredResult(_0x5542a0,_0x27f0e4){return function(_0x21a0be){if(_0x21a0be){var _0x249722=typeof _0x27f0e4[_0xbafa('0x1c')]==='undefined'&&typeof _0x27f0e4[_0xbafa('0x1d')]===_0xbafa('0x1e');var _0x3be7b3=_0x21a0be[_0xbafa('0x1f')];var _0x505ff3=_0x249722?0x0:_0x27f0e4[_0xbafa('0x1c')];var _0x151c31=_0x249722?_0x21a0be[_0xbafa('0x1f')]:_0x27f0e4[_0xbafa('0x1c')]+_0x27f0e4[_0xbafa('0x1d')];var _0x147d2e;if(_0x151c31>=_0x3be7b3){_0x151c31=_0x3be7b3;_0x147d2e=0xc8;}else{_0x147d2e=0xce;}_0x5542a0[_0xbafa('0x19')](_0x147d2e);return _0x5542a0[_0xbafa('0x20')](_0xbafa('0x21'),_0x505ff3+'-'+_0x151c31+'/'+_0x3be7b3)[_0xbafa('0x1b')](_0x21a0be);}return null;};}function patchUpdates(_0x593197){return function(_0x1f595d){try{jsonpatch[_0xbafa('0x22')](_0x1f595d,_0x593197,!![]);}catch(_0x2c7567){return BPromise[_0xbafa('0x23')](_0x2c7567);}return _0x1f595d['save']();};}function saveUpdates(_0x556a72,_0x264f11){return function(_0x1fc979){if(_0x1fc979){return _0x1fc979[_0xbafa('0x24')](_0x556a72)['then'](function(_0x261d48){return _0x261d48;});}return null;};}function removeEntity(_0x1af348,_0x34b41c){return function(_0x4af1d3){if(_0x4af1d3){return _0x4af1d3[_0xbafa('0x25')]()[_0xbafa('0x26')](function(){_0x1af348[_0xbafa('0x19')](0xcc)[_0xbafa('0x1a')]();});}};}function handleEntityNotFound(_0x408fd4,_0x551c7e){return function(_0x59d166){if(!_0x59d166){_0x408fd4['sendStatus'](0x194);}return _0x59d166;};}function handleError(_0x3b9a5c,_0x1d407a){_0x1d407a=_0x1d407a||0x1f4;return function(_0x996e58){logger['error'](_0x996e58[_0xbafa('0x27')]);if(_0x996e58[_0xbafa('0x28')]){delete _0x996e58[_0xbafa('0x28')];}_0x3b9a5c[_0xbafa('0x19')](_0x1d407a)[_0xbafa('0x29')](_0x996e58);};}exports[_0xbafa('0x2a')]=function(_0x56c2e2,_0x4d45a8){var _0x3854cc={},_0x1cc5ff={},_0x5d6790={'count':0x0,'rows':[]};var _0x4b3e24=_['map'](db[_0xbafa('0x2b')][_0xbafa('0x2c')],function(_0x45e62e){return{'name':_0x45e62e[_0xbafa('0x2d')],'type':_0x45e62e[_0xbafa('0x2e')][_0xbafa('0x2f')]};});_0x1cc5ff[_0xbafa('0x30')]=_[_0xbafa('0x31')](_0x4b3e24,_0xbafa('0x28'));_0x1cc5ff[_0xbafa('0x32')]=_[_0xbafa('0x33')](_0x56c2e2[_0xbafa('0x32')]);_0x1cc5ff['filters']=_[_0xbafa('0x34')](_0x1cc5ff['model'],_0x1cc5ff['query']);_0x3854cc[_0xbafa('0x35')]=_[_0xbafa('0x34')](_0x1cc5ff[_0xbafa('0x30')],qs[_0xbafa('0x36')](_0x56c2e2[_0xbafa('0x32')][_0xbafa('0x36')]));_0x3854cc[_0xbafa('0x35')]=_0x3854cc['attributes'][_0xbafa('0x37')]?_0x3854cc[_0xbafa('0x35')]:_0x1cc5ff[_0xbafa('0x30')];if(!_0x56c2e2['query'][_0xbafa('0x38')](_0xbafa('0x39'))){_0x3854cc[_0xbafa('0x1d')]=qs[_0xbafa('0x1d')](_0x56c2e2[_0xbafa('0x32')][_0xbafa('0x1d')]);_0x3854cc['offset']=qs[_0xbafa('0x1c')](_0x56c2e2[_0xbafa('0x32')][_0xbafa('0x1c')]);}_0x3854cc[_0xbafa('0x3a')]=qs[_0xbafa('0x3b')](_0x56c2e2[_0xbafa('0x32')][_0xbafa('0x3b')]);_0x3854cc[_0xbafa('0x3c')]=qs[_0xbafa('0x3d')](_['pick'](_0x56c2e2['query'],_0x1cc5ff[_0xbafa('0x3d')]),_0x4b3e24);if(_0x56c2e2[_0xbafa('0x32')][_0xbafa('0x3e')]){_0x3854cc[_0xbafa('0x3c')]=_[_0xbafa('0x3f')](_0x3854cc['where'],{'$or':_['map'](_0x4b3e24,function(_0x4530d1){if(_0x4530d1[_0xbafa('0x2e')]!==_0xbafa('0x40')){var _0x2cf6d5={};_0x2cf6d5[_0x4530d1[_0xbafa('0x28')]]={'$like':'%'+_0x56c2e2[_0xbafa('0x32')][_0xbafa('0x3e')]+'%'};return _0x2cf6d5;}})});}_0x3854cc=_['merge']({},_0x3854cc,_0x56c2e2['options']);var _0x518eef={'where':_0x3854cc[_0xbafa('0x3c')]};return db[_0xbafa('0x2b')]['count'](_0x518eef)['then'](function(_0x56ff0a){_0x5d6790[_0xbafa('0x1f')]=_0x56ff0a;if(_0x56c2e2[_0xbafa('0x32')][_0xbafa('0x41')]){_0x3854cc[_0xbafa('0x42')]=[{'all':!![]}];}return db[_0xbafa('0x2b')]['findAll'](_0x3854cc);})[_0xbafa('0x26')](function(_0x5dd97d){_0x5d6790[_0xbafa('0x43')]=_0x5dd97d;return _0x5d6790;})[_0xbafa('0x26')](respondWithFilteredResult(_0x4d45a8,_0x3854cc))['catch'](handleError(_0x4d45a8,null));};exports['show']=function(_0x41aa4c,_0x1615aa){var _0x54920e={'raw':!![],'where':{'id':_0x41aa4c[_0xbafa('0x44')]['id']}},_0x1ef96c={};_0x1ef96c[_0xbafa('0x30')]=_['keys'](db['FreshdeskField'][_0xbafa('0x2c')]);_0x1ef96c[_0xbafa('0x32')]=_[_0xbafa('0x33')](_0x41aa4c[_0xbafa('0x32')]);_0x1ef96c[_0xbafa('0x3d')]=_['intersection'](_0x1ef96c[_0xbafa('0x30')],_0x1ef96c[_0xbafa('0x32')]);_0x54920e['attributes']=_[_0xbafa('0x34')](_0x1ef96c[_0xbafa('0x30')],qs[_0xbafa('0x36')](_0x41aa4c['query'][_0xbafa('0x36')]));_0x54920e[_0xbafa('0x35')]=_0x54920e['attributes'][_0xbafa('0x37')]?_0x54920e['attributes']:_0x1ef96c[_0xbafa('0x30')];if(_0x41aa4c[_0xbafa('0x32')][_0xbafa('0x41')]){_0x54920e[_0xbafa('0x42')]=[{'all':!![]}];}_0x54920e=_['merge']({},_0x54920e,_0x41aa4c['options']);return db[_0xbafa('0x2b')]['find'](_0x54920e)[_0xbafa('0x26')](handleEntityNotFound(_0x1615aa,null))[_0xbafa('0x26')](respondWithResult(_0x1615aa,null))[_0xbafa('0x45')](handleError(_0x1615aa,null));};exports[_0xbafa('0x46')]=function(_0x3033e9,_0x565a5f){return db[_0xbafa('0x2b')][_0xbafa('0x46')](_0x3033e9[_0xbafa('0x47')],{})[_0xbafa('0x26')](respondWithResult(_0x565a5f,0xc9))[_0xbafa('0x45')](handleError(_0x565a5f,null));};exports[_0xbafa('0x24')]=function(_0x249bda,_0x4b1154){if(_0x249bda[_0xbafa('0x47')]['id']){delete _0x249bda['body']['id'];}return db['FreshdeskField'][_0xbafa('0x48')]({'where':{'id':_0x249bda['params']['id']}})['then'](handleEntityNotFound(_0x4b1154,null))[_0xbafa('0x26')](saveUpdates(_0x249bda['body'],null))['then'](respondWithResult(_0x4b1154,null))[_0xbafa('0x45')](handleError(_0x4b1154,null));};exports[_0xbafa('0x25')]=function(_0x5b75aa,_0x2bb953){return db[_0xbafa('0x2b')][_0xbafa('0x48')]({'where':{'id':_0x5b75aa[_0xbafa('0x44')]['id']}})[_0xbafa('0x26')](handleEntityNotFound(_0x2bb953,null))['then'](removeEntity(_0x2bb953,null))['catch'](handleError(_0x2bb953,null));};