a2374f5ec0022d6b1222142af51b6ce3e2e8bb55
[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 _0xda3d=['apply','save','update','then','destroy','error','name','send','index','map','fieldName','type','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','ZendeskField','findAll','catch','show','params','keys','find','create','body','zip-dir','request-promise','moment','bluebird','util','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','limit','undefined','count','offset','set','Content-Range','json'];(function(_0x1f8b93,_0xa62d9a){var _0x4ac2f1=function(_0x5d8700){while(--_0x5d8700){_0x1f8b93['push'](_0x1f8b93['shift']());}};_0x4ac2f1(++_0xa62d9a);}(_0xda3d,0x1d7));var _0xdda3=function(_0xaf97b4,_0x48aa05){_0xaf97b4=_0xaf97b4-0x0;var _0x1a133c=_0xda3d[_0xaf97b4];return _0x1a133c;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xdda3('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0xdda3('0x1'));var moment=require(_0xdda3('0x2'));var BPromise=require(_0xdda3('0x3'));var Mustache=require('mustache');var util=require(_0xdda3('0x4'));var path=require('path');var sox=require(_0xdda3('0x5'));var csv=require('to-csv');var ejs=require(_0xdda3('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xdda3('0x7'));var crypto=require(_0xdda3('0x8'));var jsforce=require(_0xdda3('0x9'));var deskjs=require(_0xdda3('0xa'));var toCsv=require(_0xdda3('0xb'));var querystring=require(_0xdda3('0xc'));var Papa=require(_0xdda3('0xd'));var Redis=require(_0xdda3('0xe'));var authService=require(_0xdda3('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xdda3('0x10'));var hardwareService=require(_0xdda3('0x11'));var logger=require(_0xdda3('0x12'))(_0xdda3('0x13'));var utils=require(_0xdda3('0x14'));var config=require(_0xdda3('0x15'));var licenseUtil=require(_0xdda3('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x350c7f,_0x4105a0){_0x4105a0=_0x4105a0||0xcc;return function(_0x3b7116){if(_0x3b7116){return _0x350c7f[_0xdda3('0x17')](_0x4105a0);}return _0x350c7f[_0xdda3('0x18')](_0x4105a0)[_0xdda3('0x19')]();};}function respondWithResult(_0x5c9116,_0x515072){_0x515072=_0x515072||0xc8;return function(_0x4d5e2c){if(_0x4d5e2c){return _0x5c9116[_0xdda3('0x18')](_0x515072)['json'](_0x4d5e2c);}};}function respondWithFilteredResult(_0x3f45d6,_0x5c1954){return function(_0x18761d){if(_0x18761d){var _0x39b2a0=typeof _0x5c1954['offset']==='undefined'&&typeof _0x5c1954[_0xdda3('0x1a')]===_0xdda3('0x1b');var _0xeb22d3=_0x18761d[_0xdda3('0x1c')];var _0x17a0f7=_0x39b2a0?0x0:_0x5c1954['offset'];var _0xbc772b=_0x39b2a0?_0x18761d[_0xdda3('0x1c')]:_0x5c1954[_0xdda3('0x1d')]+_0x5c1954['limit'];var _0x352492;if(_0xbc772b>=_0xeb22d3){_0xbc772b=_0xeb22d3;_0x352492=0xc8;}else{_0x352492=0xce;}_0x3f45d6[_0xdda3('0x18')](_0x352492);return _0x3f45d6[_0xdda3('0x1e')](_0xdda3('0x1f'),_0x17a0f7+'-'+_0xbc772b+'/'+_0xeb22d3)[_0xdda3('0x20')](_0x18761d);}return null;};}function patchUpdates(_0x344c83){return function(_0x5e99fe){try{jsonpatch[_0xdda3('0x21')](_0x5e99fe,_0x344c83,!![]);}catch(_0x3b02b3){return BPromise['reject'](_0x3b02b3);}return _0x5e99fe[_0xdda3('0x22')]();};}function saveUpdates(_0x3bdec7,_0x29b059){return function(_0x189f27){if(_0x189f27){return _0x189f27[_0xdda3('0x23')](_0x3bdec7)[_0xdda3('0x24')](function(_0xb2d79d){return _0xb2d79d;});}return null;};}function removeEntity(_0x1c243a,_0x4f16c4){return function(_0x350c2c){if(_0x350c2c){return _0x350c2c[_0xdda3('0x25')]()['then'](function(){_0x1c243a['status'](0xcc)[_0xdda3('0x19')]();});}};}function handleEntityNotFound(_0xfb49b4,_0xe9195){return function(_0x2cc584){if(!_0x2cc584){_0xfb49b4['sendStatus'](0x194);}return _0x2cc584;};}function handleError(_0x37576a,_0x32930b){_0x32930b=_0x32930b||0x1f4;return function(_0x14caad){logger[_0xdda3('0x26')](_0x14caad['stack']);if(_0x14caad[_0xdda3('0x27')]){delete _0x14caad[_0xdda3('0x27')];}_0x37576a[_0xdda3('0x18')](_0x32930b)[_0xdda3('0x28')](_0x14caad);};}exports[_0xdda3('0x29')]=function(_0x3cbc6a,_0x463dd8){var _0x5a33f9={},_0x1aab58={},_0x3a0f90={'count':0x0,'rows':[]};var _0x1908e9=_[_0xdda3('0x2a')](db['ZendeskField']['rawAttributes'],function(_0x4d1459){return{'name':_0x4d1459[_0xdda3('0x2b')],'type':_0x4d1459[_0xdda3('0x2c')]['key']};});_0x1aab58['model']=_[_0xdda3('0x2a')](_0x1908e9,_0xdda3('0x27'));_0x1aab58[_0xdda3('0x2d')]=_['keys'](_0x3cbc6a[_0xdda3('0x2d')]);_0x1aab58[_0xdda3('0x2e')]=_[_0xdda3('0x2f')](_0x1aab58[_0xdda3('0x30')],_0x1aab58[_0xdda3('0x2d')]);_0x5a33f9[_0xdda3('0x31')]=_[_0xdda3('0x2f')](_0x1aab58[_0xdda3('0x30')],qs[_0xdda3('0x32')](_0x3cbc6a['query']['fields']));_0x5a33f9[_0xdda3('0x31')]=_0x5a33f9[_0xdda3('0x31')][_0xdda3('0x33')]?_0x5a33f9[_0xdda3('0x31')]:_0x1aab58[_0xdda3('0x30')];if(!_0x3cbc6a[_0xdda3('0x2d')][_0xdda3('0x34')](_0xdda3('0x35'))){_0x5a33f9[_0xdda3('0x1a')]=qs['limit'](_0x3cbc6a[_0xdda3('0x2d')][_0xdda3('0x1a')]);_0x5a33f9[_0xdda3('0x1d')]=qs[_0xdda3('0x1d')](_0x3cbc6a[_0xdda3('0x2d')][_0xdda3('0x1d')]);}_0x5a33f9[_0xdda3('0x36')]=qs['sort'](_0x3cbc6a[_0xdda3('0x2d')][_0xdda3('0x37')]);_0x5a33f9[_0xdda3('0x38')]=qs[_0xdda3('0x2e')](_[_0xdda3('0x39')](_0x3cbc6a[_0xdda3('0x2d')],_0x1aab58[_0xdda3('0x2e')]),_0x1908e9);if(_0x3cbc6a[_0xdda3('0x2d')][_0xdda3('0x3a')]){_0x5a33f9['where']=_[_0xdda3('0x3b')](_0x5a33f9[_0xdda3('0x38')],{'$or':_[_0xdda3('0x2a')](_0x1908e9,function(_0x165d73){if(_0x165d73[_0xdda3('0x2c')]!=='VIRTUAL'){var _0x267e30={};_0x267e30[_0x165d73[_0xdda3('0x27')]]={'$like':'%'+_0x3cbc6a[_0xdda3('0x2d')][_0xdda3('0x3a')]+'%'};return _0x267e30;}})});}_0x5a33f9=_[_0xdda3('0x3b')]({},_0x5a33f9,_0x3cbc6a[_0xdda3('0x3c')]);var _0x26e5c5={'where':_0x5a33f9[_0xdda3('0x38')]};return db['ZendeskField'][_0xdda3('0x1c')](_0x26e5c5)[_0xdda3('0x24')](function(_0x306427){_0x3a0f90[_0xdda3('0x1c')]=_0x306427;if(_0x3cbc6a[_0xdda3('0x2d')][_0xdda3('0x3d')]){_0x5a33f9[_0xdda3('0x3e')]=[{'all':!![]}];}return db[_0xdda3('0x3f')][_0xdda3('0x40')](_0x5a33f9);})[_0xdda3('0x24')](function(_0x4f6725){_0x3a0f90['rows']=_0x4f6725;return _0x3a0f90;})[_0xdda3('0x24')](respondWithFilteredResult(_0x463dd8,_0x5a33f9))[_0xdda3('0x41')](handleError(_0x463dd8,null));};exports[_0xdda3('0x42')]=function(_0x51e221,_0x520b68){var _0x52a2d1={'raw':!![],'where':{'id':_0x51e221[_0xdda3('0x43')]['id']}},_0x558d1c={};_0x558d1c[_0xdda3('0x30')]=_['keys'](db[_0xdda3('0x3f')]['rawAttributes']);_0x558d1c[_0xdda3('0x2d')]=_[_0xdda3('0x44')](_0x51e221[_0xdda3('0x2d')]);_0x558d1c[_0xdda3('0x2e')]=_[_0xdda3('0x2f')](_0x558d1c[_0xdda3('0x30')],_0x558d1c[_0xdda3('0x2d')]);_0x52a2d1[_0xdda3('0x31')]=_[_0xdda3('0x2f')](_0x558d1c['model'],qs[_0xdda3('0x32')](_0x51e221[_0xdda3('0x2d')][_0xdda3('0x32')]));_0x52a2d1[_0xdda3('0x31')]=_0x52a2d1[_0xdda3('0x31')][_0xdda3('0x33')]?_0x52a2d1[_0xdda3('0x31')]:_0x558d1c['model'];if(_0x51e221[_0xdda3('0x2d')][_0xdda3('0x3d')]){_0x52a2d1[_0xdda3('0x3e')]=[{'all':!![]}];}_0x52a2d1=_[_0xdda3('0x3b')]({},_0x52a2d1,_0x51e221[_0xdda3('0x3c')]);return db[_0xdda3('0x3f')][_0xdda3('0x45')](_0x52a2d1)[_0xdda3('0x24')](handleEntityNotFound(_0x520b68,null))[_0xdda3('0x24')](respondWithResult(_0x520b68,null))['catch'](handleError(_0x520b68,null));};exports[_0xdda3('0x46')]=function(_0x168396,_0x1820d4){return db[_0xdda3('0x3f')]['create'](_0x168396[_0xdda3('0x47')],{})[_0xdda3('0x24')](respondWithResult(_0x1820d4,0xc9))[_0xdda3('0x41')](handleError(_0x1820d4,null));};exports[_0xdda3('0x23')]=function(_0x4dc4e8,_0x2ee529){if(_0x4dc4e8[_0xdda3('0x47')]['id']){delete _0x4dc4e8[_0xdda3('0x47')]['id'];}return db[_0xdda3('0x3f')]['find']({'where':{'id':_0x4dc4e8[_0xdda3('0x43')]['id']}})['then'](handleEntityNotFound(_0x2ee529,null))['then'](saveUpdates(_0x4dc4e8['body'],null))[_0xdda3('0x24')](respondWithResult(_0x2ee529,null))[_0xdda3('0x41')](handleError(_0x2ee529,null));};exports['destroy']=function(_0x5eb726,_0x236c9d){return db['ZendeskField']['find']({'where':{'id':_0x5eb726[_0xdda3('0x43')]['id']}})[_0xdda3('0x24')](handleEntityNotFound(_0x236c9d,null))[_0xdda3('0x24')](removeEntity(_0x236c9d,null))[_0xdda3('0x41')](handleError(_0x236c9d,null));};