59fa077697edb932a14cd46e8a04a482837f5671
[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 _0x5ef5=['filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','find','create','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','send','index','map','ZendeskField','rawAttributes','fieldName','type','model','name','keys','query'];(function(_0x2cb060,_0x31785d){var _0x394897=function(_0x579fed){while(--_0x579fed){_0x2cb060['push'](_0x2cb060['shift']());}};_0x394897(++_0x31785d);}(_0x5ef5,0xa7));var _0x55ef=function(_0x492ad4,_0x529100){_0x492ad4=_0x492ad4-0x0;var _0x12a762=_0x5ef5[_0x492ad4];return _0x12a762;};'use strict';var emlformat=require(_0x55ef('0x0'));var rimraf=require(_0x55ef('0x1'));var zipdir=require(_0x55ef('0x2'));var jsonpatch=require(_0x55ef('0x3'));var rp=require(_0x55ef('0x4'));var moment=require(_0x55ef('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x55ef('0x6'));var path=require('path');var sox=require(_0x55ef('0x7'));var csv=require('to-csv');var ejs=require(_0x55ef('0x8'));var fs=require('fs');var fs_extra=require(_0x55ef('0x9'));var _=require(_0x55ef('0xa'));var squel=require('squel');var crypto=require(_0x55ef('0xb'));var jsforce=require(_0x55ef('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x55ef('0xd'));var Papa=require(_0x55ef('0xe'));var Redis=require(_0x55ef('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x55ef('0x10'));var logger=require(_0x55ef('0x11'))('api');var utils=require(_0x55ef('0x12'));var config=require(_0x55ef('0x13'));var licenseUtil=require(_0x55ef('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5e7d51,_0x5107ac){_0x5107ac=_0x5107ac||0xcc;return function(_0xf4a497){if(_0xf4a497){return _0x5e7d51[_0x55ef('0x15')](_0x5107ac);}return _0x5e7d51[_0x55ef('0x16')](_0x5107ac)[_0x55ef('0x17')]();};}function respondWithResult(_0x14d0df,_0x33e866){_0x33e866=_0x33e866||0xc8;return function(_0x2960c7){if(_0x2960c7){return _0x14d0df['status'](_0x33e866)['json'](_0x2960c7);}};}function respondWithFilteredResult(_0x2cbc4c,_0x3bf0c6){return function(_0x4bd04f){if(_0x4bd04f){var _0x472f0a=typeof _0x3bf0c6[_0x55ef('0x18')]===_0x55ef('0x19')&&typeof _0x3bf0c6['limit']===_0x55ef('0x19');var _0x4e8c88=_0x4bd04f[_0x55ef('0x1a')];var _0x3f2915=_0x472f0a?0x0:_0x3bf0c6['offset'];var _0xfab3a0=_0x472f0a?_0x4bd04f[_0x55ef('0x1a')]:_0x3bf0c6['offset']+_0x3bf0c6[_0x55ef('0x1b')];var _0x2051ee;if(_0xfab3a0>=_0x4e8c88){_0xfab3a0=_0x4e8c88;_0x2051ee=0xc8;}else{_0x2051ee=0xce;}_0x2cbc4c[_0x55ef('0x16')](_0x2051ee);return _0x2cbc4c[_0x55ef('0x1c')](_0x55ef('0x1d'),_0x3f2915+'-'+_0xfab3a0+'/'+_0x4e8c88)['json'](_0x4bd04f);}return null;};}function patchUpdates(_0x15f9a6){return function(_0x4bad9c){try{jsonpatch[_0x55ef('0x1e')](_0x4bad9c,_0x15f9a6,!![]);}catch(_0x4079d5){return BPromise[_0x55ef('0x1f')](_0x4079d5);}return _0x4bad9c[_0x55ef('0x20')]();};}function saveUpdates(_0x24e8a3,_0x48db14){return function(_0x4b7c87){if(_0x4b7c87){return _0x4b7c87[_0x55ef('0x21')](_0x24e8a3)[_0x55ef('0x22')](function(_0x45e1f6){return _0x45e1f6;});}return null;};}function removeEntity(_0x38236b,_0x5a28da){return function(_0x39ba3d){if(_0x39ba3d){return _0x39ba3d['destroy']()[_0x55ef('0x22')](function(){_0x38236b[_0x55ef('0x16')](0xcc)[_0x55ef('0x17')]();});}};}function handleEntityNotFound(_0x49aec9,_0x1a8153){return function(_0x479232){if(!_0x479232){_0x49aec9[_0x55ef('0x15')](0x194);}return _0x479232;};}function handleError(_0x55b0ca,_0x3cd0e6){_0x3cd0e6=_0x3cd0e6||0x1f4;return function(_0x5ad425){logger['error'](_0x5ad425['stack']);if(_0x5ad425['name']){delete _0x5ad425['name'];}_0x55b0ca[_0x55ef('0x16')](_0x3cd0e6)[_0x55ef('0x23')](_0x5ad425);};}exports[_0x55ef('0x24')]=function(_0x3e9c03,_0x204c86){var _0x3bca42={},_0x46724f={},_0x32c261={'count':0x0,'rows':[]};var _0x175dbc=_[_0x55ef('0x25')](db[_0x55ef('0x26')][_0x55ef('0x27')],function(_0x5dbe06){return{'name':_0x5dbe06[_0x55ef('0x28')],'type':_0x5dbe06[_0x55ef('0x29')]['key']};});_0x46724f[_0x55ef('0x2a')]=_[_0x55ef('0x25')](_0x175dbc,_0x55ef('0x2b'));_0x46724f['query']=_[_0x55ef('0x2c')](_0x3e9c03[_0x55ef('0x2d')]);_0x46724f[_0x55ef('0x2e')]=_['intersection'](_0x46724f[_0x55ef('0x2a')],_0x46724f[_0x55ef('0x2d')]);_0x3bca42[_0x55ef('0x2f')]=_[_0x55ef('0x30')](_0x46724f[_0x55ef('0x2a')],qs[_0x55ef('0x31')](_0x3e9c03[_0x55ef('0x2d')]['fields']));_0x3bca42[_0x55ef('0x2f')]=_0x3bca42['attributes'][_0x55ef('0x32')]?_0x3bca42['attributes']:_0x46724f[_0x55ef('0x2a')];if(!_0x3e9c03[_0x55ef('0x2d')][_0x55ef('0x33')](_0x55ef('0x34'))){_0x3bca42[_0x55ef('0x1b')]=qs[_0x55ef('0x1b')](_0x3e9c03[_0x55ef('0x2d')][_0x55ef('0x1b')]);_0x3bca42[_0x55ef('0x18')]=qs[_0x55ef('0x18')](_0x3e9c03[_0x55ef('0x2d')]['offset']);}_0x3bca42[_0x55ef('0x35')]=qs[_0x55ef('0x36')](_0x3e9c03[_0x55ef('0x2d')][_0x55ef('0x36')]);_0x3bca42[_0x55ef('0x37')]=qs['filters'](_[_0x55ef('0x38')](_0x3e9c03[_0x55ef('0x2d')],_0x46724f[_0x55ef('0x2e')]),_0x175dbc);if(_0x3e9c03[_0x55ef('0x2d')][_0x55ef('0x39')]){_0x3bca42[_0x55ef('0x37')]=_[_0x55ef('0x3a')](_0x3bca42['where'],{'$or':_[_0x55ef('0x25')](_0x175dbc,function(_0xe1afa3){if(_0xe1afa3[_0x55ef('0x29')]!==_0x55ef('0x3b')){var _0x458851={};_0x458851[_0xe1afa3[_0x55ef('0x2b')]]={'$like':'%'+_0x3e9c03[_0x55ef('0x2d')][_0x55ef('0x39')]+'%'};return _0x458851;}})});}_0x3bca42=_['merge']({},_0x3bca42,_0x3e9c03[_0x55ef('0x3c')]);var _0x40fbb0={'where':_0x3bca42[_0x55ef('0x37')]};return db['ZendeskField'][_0x55ef('0x1a')](_0x40fbb0)[_0x55ef('0x22')](function(_0x32ec2b){_0x32c261[_0x55ef('0x1a')]=_0x32ec2b;if(_0x3e9c03[_0x55ef('0x2d')][_0x55ef('0x3d')]){_0x3bca42[_0x55ef('0x3e')]=[{'all':!![]}];}return db[_0x55ef('0x26')]['findAll'](_0x3bca42);})[_0x55ef('0x22')](function(_0x2c6b03){_0x32c261[_0x55ef('0x3f')]=_0x2c6b03;return _0x32c261;})[_0x55ef('0x22')](respondWithFilteredResult(_0x204c86,_0x3bca42))[_0x55ef('0x40')](handleError(_0x204c86,null));};exports[_0x55ef('0x41')]=function(_0x2c0338,_0x2000a2){var _0xee7dfc={'raw':!![],'where':{'id':_0x2c0338[_0x55ef('0x42')]['id']}},_0x288f01={};_0x288f01[_0x55ef('0x2a')]=_[_0x55ef('0x2c')](db[_0x55ef('0x26')][_0x55ef('0x27')]);_0x288f01[_0x55ef('0x2d')]=_[_0x55ef('0x2c')](_0x2c0338[_0x55ef('0x2d')]);_0x288f01['filters']=_[_0x55ef('0x30')](_0x288f01['model'],_0x288f01['query']);_0xee7dfc['attributes']=_[_0x55ef('0x30')](_0x288f01[_0x55ef('0x2a')],qs[_0x55ef('0x31')](_0x2c0338[_0x55ef('0x2d')][_0x55ef('0x31')]));_0xee7dfc['attributes']=_0xee7dfc[_0x55ef('0x2f')][_0x55ef('0x32')]?_0xee7dfc[_0x55ef('0x2f')]:_0x288f01[_0x55ef('0x2a')];if(_0x2c0338[_0x55ef('0x2d')][_0x55ef('0x3d')]){_0xee7dfc[_0x55ef('0x3e')]=[{'all':!![]}];}_0xee7dfc=_[_0x55ef('0x3a')]({},_0xee7dfc,_0x2c0338[_0x55ef('0x3c')]);return db['ZendeskField'][_0x55ef('0x43')](_0xee7dfc)[_0x55ef('0x22')](handleEntityNotFound(_0x2000a2,null))[_0x55ef('0x22')](respondWithResult(_0x2000a2,null))['catch'](handleError(_0x2000a2,null));};exports[_0x55ef('0x44')]=function(_0x380572,_0xc6c75a){return db[_0x55ef('0x26')]['create'](_0x380572['body'],{})['then'](respondWithResult(_0xc6c75a,0xc9))['catch'](handleError(_0xc6c75a,null));};exports[_0x55ef('0x21')]=function(_0xa3f1b7,_0x590783){if(_0xa3f1b7[_0x55ef('0x45')]['id']){delete _0xa3f1b7[_0x55ef('0x45')]['id'];}return db[_0x55ef('0x26')][_0x55ef('0x43')]({'where':{'id':_0xa3f1b7[_0x55ef('0x42')]['id']}})[_0x55ef('0x22')](handleEntityNotFound(_0x590783,null))[_0x55ef('0x22')](saveUpdates(_0xa3f1b7['body'],null))['then'](respondWithResult(_0x590783,null))['catch'](handleError(_0x590783,null));};exports[_0x55ef('0x46')]=function(_0x4083f5,_0x419c40){return db[_0x55ef('0x26')][_0x55ef('0x43')]({'where':{'id':_0x4083f5[_0x55ef('0x42')]['id']}})[_0x55ef('0x22')](handleEntityNotFound(_0x419c40,null))[_0x55ef('0x22')](removeEntity(_0x419c40,null))[_0x55ef('0x40')](handleError(_0x419c40,null));};