6c304b85a56de03282179634b24aa24e02b584d2
[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 _0x473d=['where','filters','pick','merge','options','ZendeskField','includeAll','findAll','catch','show','keys','length','include','find','create','body','params','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','count','offset','limit','set','Content-Range','apply','update','then','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','intersection','fields','attributes','order','sort'];(function(_0x20f39f,_0x1b6b7a){var _0x1f65cd=function(_0x4fbc1b){while(--_0x4fbc1b){_0x20f39f['push'](_0x20f39f['shift']());}};_0x1f65cd(++_0x1b6b7a);}(_0x473d,0x184));var _0xd473=function(_0x2651bc,_0x4d67be){_0x2651bc=_0x2651bc-0x0;var _0x8497bc=_0x473d[_0x2651bc];return _0x8497bc;};'use strict';var emlformat=require(_0xd473('0x0'));var rimraf=require(_0xd473('0x1'));var zipdir=require(_0xd473('0x2'));var jsonpatch=require(_0xd473('0x3'));var rp=require(_0xd473('0x4'));var moment=require('moment');var BPromise=require(_0xd473('0x5'));var Mustache=require(_0xd473('0x6'));var util=require(_0xd473('0x7'));var path=require(_0xd473('0x8'));var sox=require(_0xd473('0x9'));var csv=require(_0xd473('0xa'));var ejs=require(_0xd473('0xb'));var fs=require('fs');var fs_extra=require(_0xd473('0xc'));var _=require('lodash');var squel=require(_0xd473('0xd'));var crypto=require(_0xd473('0xe'));var jsforce=require(_0xd473('0xf'));var deskjs=require(_0xd473('0x10'));var toCsv=require(_0xd473('0xa'));var querystring=require(_0xd473('0x11'));var Papa=require(_0xd473('0x12'));var Redis=require(_0xd473('0x13'));var authService=require(_0xd473('0x14'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd473('0x15'));var logger=require(_0xd473('0x16'))(_0xd473('0x17'));var utils=require(_0xd473('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xd473('0x19'));var db=require(_0xd473('0x1a'))['db'];function respondWithStatusCode(_0x4e7fe2,_0x2054df){_0x2054df=_0x2054df||0xcc;return function(_0x33e038){if(_0x33e038){return _0x4e7fe2[_0xd473('0x1b')](_0x2054df);}return _0x4e7fe2['status'](_0x2054df)[_0xd473('0x1c')]();};}function respondWithResult(_0x3838ae,_0xa7f414){_0xa7f414=_0xa7f414||0xc8;return function(_0x16e479){if(_0x16e479){return _0x3838ae[_0xd473('0x1d')](_0xa7f414)[_0xd473('0x1e')](_0x16e479);}};}function respondWithFilteredResult(_0x4f822a,_0x37dce4){return function(_0x4f8756){if(_0x4f8756){var _0x194c88=typeof _0x37dce4['offset']===_0xd473('0x1f')&&typeof _0x37dce4['limit']===_0xd473('0x1f');var _0x1df550=_0x4f8756[_0xd473('0x20')];var _0x1e7b77=_0x194c88?0x0:_0x37dce4[_0xd473('0x21')];var _0x4036b6=_0x194c88?_0x4f8756['count']:_0x37dce4[_0xd473('0x21')]+_0x37dce4[_0xd473('0x22')];var _0x520337;if(_0x4036b6>=_0x1df550){_0x4036b6=_0x1df550;_0x520337=0xc8;}else{_0x520337=0xce;}_0x4f822a['status'](_0x520337);return _0x4f822a[_0xd473('0x23')](_0xd473('0x24'),_0x1e7b77+'-'+_0x4036b6+'/'+_0x1df550)[_0xd473('0x1e')](_0x4f8756);}return null;};}function patchUpdates(_0x2c6c25){return function(_0x583ac8){try{jsonpatch[_0xd473('0x25')](_0x583ac8,_0x2c6c25,!![]);}catch(_0x5b0d04){return BPromise['reject'](_0x5b0d04);}return _0x583ac8['save']();};}function saveUpdates(_0xdc15d7,_0x509199){return function(_0x487a6c){if(_0x487a6c){return _0x487a6c[_0xd473('0x26')](_0xdc15d7)[_0xd473('0x27')](function(_0x56639d){return _0x56639d;});}return null;};}function removeEntity(_0x3a9038,_0x27ced9){return function(_0x10048a){if(_0x10048a){return _0x10048a['destroy']()[_0xd473('0x27')](function(){_0x3a9038[_0xd473('0x1d')](0xcc)[_0xd473('0x1c')]();});}};}function handleEntityNotFound(_0x5aebc4,_0xf2630d){return function(_0x4d2262){if(!_0x4d2262){_0x5aebc4[_0xd473('0x1b')](0x194);}return _0x4d2262;};}function handleError(_0x2bfd95,_0x40e3c6){_0x40e3c6=_0x40e3c6||0x1f4;return function(_0x50cb92){logger[_0xd473('0x28')](_0x50cb92['stack']);if(_0x50cb92[_0xd473('0x29')]){delete _0x50cb92[_0xd473('0x29')];}_0x2bfd95[_0xd473('0x1d')](_0x40e3c6)[_0xd473('0x2a')](_0x50cb92);};}exports[_0xd473('0x2b')]=function(_0x3b1ea0,_0x29dc9e){var _0x5ab0dd={},_0x2c1ce4={},_0x85e804={'count':0x0,'rows':[]};var _0x421dea=_[_0xd473('0x2c')](db['ZendeskField'][_0xd473('0x2d')],function(_0xaa59ed){return{'name':_0xaa59ed[_0xd473('0x2e')],'type':_0xaa59ed[_0xd473('0x2f')][_0xd473('0x30')]};});_0x2c1ce4[_0xd473('0x31')]=_[_0xd473('0x2c')](_0x421dea,'name');_0x2c1ce4[_0xd473('0x32')]=_['keys'](_0x3b1ea0[_0xd473('0x32')]);_0x2c1ce4['filters']=_[_0xd473('0x33')](_0x2c1ce4[_0xd473('0x31')],_0x2c1ce4[_0xd473('0x32')]);_0x5ab0dd['attributes']=_[_0xd473('0x33')](_0x2c1ce4[_0xd473('0x31')],qs[_0xd473('0x34')](_0x3b1ea0['query'][_0xd473('0x34')]));_0x5ab0dd[_0xd473('0x35')]=_0x5ab0dd[_0xd473('0x35')]['length']?_0x5ab0dd[_0xd473('0x35')]:_0x2c1ce4[_0xd473('0x31')];if(!_0x3b1ea0[_0xd473('0x32')]['hasOwnProperty']('nolimit')){_0x5ab0dd[_0xd473('0x22')]=qs[_0xd473('0x22')](_0x3b1ea0[_0xd473('0x32')][_0xd473('0x22')]);_0x5ab0dd[_0xd473('0x21')]=qs[_0xd473('0x21')](_0x3b1ea0[_0xd473('0x32')][_0xd473('0x21')]);}_0x5ab0dd[_0xd473('0x36')]=qs[_0xd473('0x37')](_0x3b1ea0[_0xd473('0x32')]['sort']);_0x5ab0dd[_0xd473('0x38')]=qs[_0xd473('0x39')](_[_0xd473('0x3a')](_0x3b1ea0[_0xd473('0x32')],_0x2c1ce4[_0xd473('0x39')]),_0x421dea);if(_0x3b1ea0[_0xd473('0x32')]['filter']){_0x5ab0dd['where']=_[_0xd473('0x3b')](_0x5ab0dd['where'],{'$or':_['map'](_0x421dea,function(_0x14d59a){if(_0x14d59a[_0xd473('0x2f')]!=='VIRTUAL'){var _0x4d8657={};_0x4d8657[_0x14d59a['name']]={'$like':'%'+_0x3b1ea0[_0xd473('0x32')]['filter']+'%'};return _0x4d8657;}})});}_0x5ab0dd=_['merge']({},_0x5ab0dd,_0x3b1ea0[_0xd473('0x3c')]);var _0x974d72={'where':_0x5ab0dd[_0xd473('0x38')]};return db[_0xd473('0x3d')][_0xd473('0x20')](_0x974d72)[_0xd473('0x27')](function(_0x20116e){_0x85e804[_0xd473('0x20')]=_0x20116e;if(_0x3b1ea0[_0xd473('0x32')][_0xd473('0x3e')]){_0x5ab0dd['include']=[{'all':!![]}];}return db[_0xd473('0x3d')][_0xd473('0x3f')](_0x5ab0dd);})[_0xd473('0x27')](function(_0x3d1caf){_0x85e804['rows']=_0x3d1caf;return _0x85e804;})[_0xd473('0x27')](respondWithFilteredResult(_0x29dc9e,_0x5ab0dd))[_0xd473('0x40')](handleError(_0x29dc9e,null));};exports[_0xd473('0x41')]=function(_0x3337fb,_0x46fe2d){var _0x3d2e44={'raw':!![],'where':{'id':_0x3337fb['params']['id']}},_0xede03a={};_0xede03a[_0xd473('0x31')]=_['keys'](db[_0xd473('0x3d')]['rawAttributes']);_0xede03a['query']=_[_0xd473('0x42')](_0x3337fb[_0xd473('0x32')]);_0xede03a[_0xd473('0x39')]=_['intersection'](_0xede03a[_0xd473('0x31')],_0xede03a[_0xd473('0x32')]);_0x3d2e44[_0xd473('0x35')]=_[_0xd473('0x33')](_0xede03a['model'],qs[_0xd473('0x34')](_0x3337fb[_0xd473('0x32')][_0xd473('0x34')]));_0x3d2e44[_0xd473('0x35')]=_0x3d2e44[_0xd473('0x35')][_0xd473('0x43')]?_0x3d2e44[_0xd473('0x35')]:_0xede03a['model'];if(_0x3337fb[_0xd473('0x32')]['includeAll']){_0x3d2e44[_0xd473('0x44')]=[{'all':!![]}];}_0x3d2e44=_[_0xd473('0x3b')]({},_0x3d2e44,_0x3337fb[_0xd473('0x3c')]);return db[_0xd473('0x3d')][_0xd473('0x45')](_0x3d2e44)[_0xd473('0x27')](handleEntityNotFound(_0x46fe2d,null))[_0xd473('0x27')](respondWithResult(_0x46fe2d,null))['catch'](handleError(_0x46fe2d,null));};exports[_0xd473('0x46')]=function(_0x189272,_0xdadb53){return db[_0xd473('0x3d')]['create'](_0x189272[_0xd473('0x47')],{})['then'](respondWithResult(_0xdadb53,0xc9))[_0xd473('0x40')](handleError(_0xdadb53,null));};exports[_0xd473('0x26')]=function(_0x1872d5,_0x21400d){if(_0x1872d5[_0xd473('0x47')]['id']){delete _0x1872d5['body']['id'];}return db['ZendeskField'][_0xd473('0x45')]({'where':{'id':_0x1872d5[_0xd473('0x48')]['id']}})[_0xd473('0x27')](handleEntityNotFound(_0x21400d,null))[_0xd473('0x27')](saveUpdates(_0x1872d5['body'],null))[_0xd473('0x27')](respondWithResult(_0x21400d,null))[_0xd473('0x40')](handleError(_0x21400d,null));};exports[_0xd473('0x49')]=function(_0x537c0d,_0x2ae785){return db[_0xd473('0x3d')][_0xd473('0x45')]({'where':{'id':_0x537c0d['params']['id']}})[_0xd473('0x27')](handleEntityNotFound(_0x2ae785,null))[_0xd473('0x27')](removeEntity(_0x2ae785,null))['catch'](handleError(_0x2ae785,null));};