d1c808cb9c14854188ab30fb623ed7f4df3c323d
[motion2.git] / server / api / intZendeskField / intZendeskField.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 _0x1893=['order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','attributes','find','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','reject','save','update','then','destroy','error','stack','name','send','index','map','ZendeskField','rawAttributes','fieldName','type','model','keys','query','filters','intersection','fields','length','hasOwnProperty','nolimit'];(function(_0x547f42,_0x47fe87){var _0x32ced8=function(_0xad76f0){while(--_0xad76f0){_0x547f42['push'](_0x547f42['shift']());}};_0x32ced8(++_0x47fe87);}(_0x1893,0xa2));var _0x3189=function(_0x3a7634,_0x2db384){_0x3a7634=_0x3a7634-0x0;var _0x23bbe9=_0x1893[_0x3a7634];return _0x23bbe9;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x3189('0x0'));var zipdir=require(_0x3189('0x1'));var jsonpatch=require(_0x3189('0x2'));var rp=require(_0x3189('0x3'));var moment=require(_0x3189('0x4'));var BPromise=require(_0x3189('0x5'));var Mustache=require(_0x3189('0x6'));var util=require('util');var path=require(_0x3189('0x7'));var sox=require(_0x3189('0x8'));var csv=require(_0x3189('0x9'));var ejs=require(_0x3189('0xa'));var fs=require('fs');var _=require(_0x3189('0xb'));var squel=require(_0x3189('0xc'));var crypto=require(_0x3189('0xd'));var jsforce=require(_0x3189('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x3189('0x9'));var querystring=require('querystring');var Papa=require(_0x3189('0xf'));var Redis=require('ioredis');var authService=require(_0x3189('0x10'));var qs=require(_0x3189('0x11'));var as=require(_0x3189('0x12'));var hardwareService=require(_0x3189('0x13'));var logger=require('../../config/logger')(_0x3189('0x14'));var utils=require(_0x3189('0x15'));var config=require(_0x3189('0x16'));var licenseUtil=require(_0x3189('0x17'));var db=require(_0x3189('0x18'))['db'];function respondWithStatusCode(_0x5d9fff,_0x22b11e){_0x22b11e=_0x22b11e||0xcc;return function(_0x353b17){if(_0x353b17){return _0x5d9fff[_0x3189('0x19')](_0x22b11e);}return _0x5d9fff[_0x3189('0x1a')](_0x22b11e)[_0x3189('0x1b')]();};}function respondWithResult(_0x20dcc2,_0xef438){_0xef438=_0xef438||0xc8;return function(_0x25a917){if(_0x25a917){return _0x20dcc2['status'](_0xef438)[_0x3189('0x1c')](_0x25a917);}};}function respondWithFilteredResult(_0xb3e4c2,_0x1c209b){return function(_0x2fb62b){if(_0x2fb62b){var _0x486dd2=_0x2fb62b[_0x3189('0x1d')],_0x40195d=_0x1c209b['offset'],_0x5f2e82=_0x1c209b[_0x3189('0x1e')]+_0x1c209b[_0x3189('0x1f')],_0x55f432;if(_0x5f2e82>=_0x486dd2){_0x5f2e82=_0x486dd2;_0x55f432=0xc8;}else{_0x55f432=0xce;}_0xb3e4c2[_0x3189('0x1a')](_0x55f432);return _0xb3e4c2[_0x3189('0x20')]('Content-Range',_0x40195d+'-'+_0x5f2e82+'/'+_0x486dd2)[_0x3189('0x1c')](_0x2fb62b);}return null;};}function patchUpdates(_0x7a0883){return function(_0x16edd7){try{jsonpatch['apply'](_0x16edd7,_0x7a0883,!![]);}catch(_0x561265){return BPromise[_0x3189('0x21')](_0x561265);}return _0x16edd7[_0x3189('0x22')]();};}function saveUpdates(_0x2c1e59,_0x29b275){return function(_0x5312af){if(_0x5312af){return _0x5312af[_0x3189('0x23')](_0x2c1e59)[_0x3189('0x24')](function(_0x29a2ca){return _0x29a2ca;});}return null;};}function removeEntity(_0x539e12,_0x309c6e){return function(_0x47abb4){if(_0x47abb4){return _0x47abb4[_0x3189('0x25')]()[_0x3189('0x24')](function(){_0x539e12[_0x3189('0x1a')](0xcc)[_0x3189('0x1b')]();});}};}function handleEntityNotFound(_0x1cbe33,_0x393fcb){return function(_0x5a08dc){if(!_0x5a08dc){_0x1cbe33['sendStatus'](0x194);}return _0x5a08dc;};}function handleError(_0x1dd6c2,_0x647a49){_0x647a49=_0x647a49||0x1f4;return function(_0x1dc1c8){logger[_0x3189('0x26')](_0x1dc1c8[_0x3189('0x27')]);if(_0x1dc1c8[_0x3189('0x28')]){delete _0x1dc1c8[_0x3189('0x28')];}_0x1dd6c2[_0x3189('0x1a')](_0x647a49)[_0x3189('0x29')](_0x1dc1c8);};}exports[_0x3189('0x2a')]=function(_0x5ce5f5,_0x4c4a5e){var _0x5aa34a={},_0x2a8308={},_0x3d7d5b={'count':0x0,'rows':[]};var _0x1be399=_[_0x3189('0x2b')](db[_0x3189('0x2c')][_0x3189('0x2d')],function(_0x4d453a){return{'name':_0x4d453a[_0x3189('0x2e')],'type':_0x4d453a[_0x3189('0x2f')]['key']};});_0x2a8308[_0x3189('0x30')]=_[_0x3189('0x2b')](_0x1be399,_0x3189('0x28'));_0x2a8308['query']=_[_0x3189('0x31')](_0x5ce5f5[_0x3189('0x32')]);_0x2a8308[_0x3189('0x33')]=_['intersection'](_0x2a8308[_0x3189('0x30')],_0x2a8308[_0x3189('0x32')]);_0x5aa34a['attributes']=_[_0x3189('0x34')](_0x2a8308[_0x3189('0x30')],qs[_0x3189('0x35')](_0x5ce5f5[_0x3189('0x32')][_0x3189('0x35')]));_0x5aa34a['attributes']=_0x5aa34a['attributes'][_0x3189('0x36')]?_0x5aa34a['attributes']:_0x2a8308[_0x3189('0x30')];if(!_0x5ce5f5[_0x3189('0x32')][_0x3189('0x37')](_0x3189('0x38'))){_0x5aa34a[_0x3189('0x1f')]=qs[_0x3189('0x1f')](_0x5ce5f5[_0x3189('0x32')][_0x3189('0x1f')]);_0x5aa34a[_0x3189('0x1e')]=qs['offset'](_0x5ce5f5[_0x3189('0x32')][_0x3189('0x1e')]);}_0x5aa34a[_0x3189('0x39')]=qs[_0x3189('0x3a')](_0x5ce5f5[_0x3189('0x32')][_0x3189('0x3a')]);_0x5aa34a[_0x3189('0x3b')]=qs['filters'](_['pick'](_0x5ce5f5[_0x3189('0x32')],_0x2a8308['filters']),_0x1be399);if(_0x5ce5f5[_0x3189('0x32')][_0x3189('0x3c')]){_0x5aa34a['where']=_[_0x3189('0x3d')](_0x5aa34a[_0x3189('0x3b')],{'$or':_[_0x3189('0x2b')](_0x1be399,function(_0x254135){if(_0x254135['type']!==_0x3189('0x3e')){var _0x4ba800={};_0x4ba800[_0x254135['name']]={'$like':'%'+_0x5ce5f5[_0x3189('0x32')][_0x3189('0x3c')]+'%'};return _0x4ba800;}})});}_0x5aa34a=_[_0x3189('0x3d')]({},_0x5aa34a,_0x5ce5f5[_0x3189('0x3f')]);var _0x12dee0={'where':_0x5aa34a[_0x3189('0x3b')]};return db[_0x3189('0x2c')][_0x3189('0x1d')](_0x12dee0)['then'](function(_0x568dab){_0x3d7d5b[_0x3189('0x1d')]=_0x568dab;if(_0x5ce5f5[_0x3189('0x32')][_0x3189('0x40')]){_0x5aa34a[_0x3189('0x41')]=[{'all':!![]}];}return db[_0x3189('0x2c')][_0x3189('0x42')](_0x5aa34a);})['then'](function(_0x280146){_0x3d7d5b[_0x3189('0x43')]=_0x280146;return _0x3d7d5b;})[_0x3189('0x24')](respondWithFilteredResult(_0x4c4a5e,_0x5aa34a))[_0x3189('0x44')](handleError(_0x4c4a5e,null));};exports['show']=function(_0x35f065,_0x2f0d49){var _0x5e549f={'raw':!![],'where':{'id':_0x35f065[_0x3189('0x45')]['id']}},_0x4df61c={};_0x4df61c['model']=_[_0x3189('0x31')](db[_0x3189('0x2c')][_0x3189('0x2d')]);_0x4df61c[_0x3189('0x32')]=_['keys'](_0x35f065[_0x3189('0x32')]);_0x4df61c[_0x3189('0x33')]=_['intersection'](_0x4df61c[_0x3189('0x30')],_0x4df61c[_0x3189('0x32')]);_0x5e549f[_0x3189('0x46')]=_[_0x3189('0x34')](_0x4df61c[_0x3189('0x30')],qs['fields'](_0x35f065['query'][_0x3189('0x35')]));_0x5e549f['attributes']=_0x5e549f[_0x3189('0x46')][_0x3189('0x36')]?_0x5e549f[_0x3189('0x46')]:_0x4df61c['model'];if(_0x35f065[_0x3189('0x32')][_0x3189('0x40')]){_0x5e549f[_0x3189('0x41')]=[{'all':!![]}];}_0x5e549f=_['merge']({},_0x5e549f,_0x35f065[_0x3189('0x3f')]);return db[_0x3189('0x2c')][_0x3189('0x47')](_0x5e549f)[_0x3189('0x24')](handleEntityNotFound(_0x2f0d49,null))[_0x3189('0x24')](respondWithResult(_0x2f0d49,null))[_0x3189('0x44')](handleError(_0x2f0d49,null));};exports['create']=function(_0x47d22d,_0x28d404){return db['ZendeskField']['create'](_0x47d22d[_0x3189('0x48')],{})['then'](respondWithResult(_0x28d404,0xc9))[_0x3189('0x44')](handleError(_0x28d404,null));};exports[_0x3189('0x23')]=function(_0x21a7b0,_0x5359eb){if(_0x21a7b0[_0x3189('0x48')]['id']){delete _0x21a7b0['body']['id'];}return db[_0x3189('0x2c')]['find']({'where':{'id':_0x21a7b0['params']['id']}})[_0x3189('0x24')](handleEntityNotFound(_0x5359eb,null))['then'](saveUpdates(_0x21a7b0[_0x3189('0x48')],null))['then'](respondWithResult(_0x5359eb,null))['catch'](handleError(_0x5359eb,null));};exports[_0x3189('0x25')]=function(_0x3f961e,_0x4373f6){return db[_0x3189('0x2c')][_0x3189('0x47')]({'where':{'id':_0x3f961e[_0x3189('0x45')]['id']}})['then'](handleEntityNotFound(_0x4373f6,null))[_0x3189('0x24')](removeEntity(_0x4373f6,null))['catch'](handleError(_0x4373f6,null));};