a153170e7d18497d561234d6bf902be67c4f3780
[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 _0xa3ba=['rawAttributes','length','find','create','body','html-pdf','rimraf','zip-dir','request-promise','moment','path','sox','ejs','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','then','stack','name','send','index','fieldName','type','key','model','map','query','keys','filters','attributes','intersection','fields','sort','pick','merge','where','filter','options','ZendeskField','includeAll','include','findAll','rows','catch','params'];(function(_0x3e5086,_0x48f4a2){var _0xfeb102=function(_0x5a945f){while(--_0x5a945f){_0x3e5086['push'](_0x3e5086['shift']());}};_0xfeb102(++_0x48f4a2);}(_0xa3ba,0x197));var _0xaa3b=function(_0x2f54b6,_0x3cc6cb){_0x2f54b6=_0x2f54b6-0x0;var _0x169f21=_0xa3ba[_0x2f54b6];return _0x169f21;};'use strict';var pdf=require(_0xaa3b('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xaa3b('0x1'));var zipdir=require(_0xaa3b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xaa3b('0x3'));var moment=require(_0xaa3b('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xaa3b('0x5'));var sox=require(_0xaa3b('0x6'));var csv=require('to-csv');var ejs=require(_0xaa3b('0x7'));var fs=require('fs');var _=require('lodash');var squel=require(_0xaa3b('0x8'));var crypto=require(_0xaa3b('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xaa3b('0xa'));var toCsv=require(_0xaa3b('0xb'));var querystring=require(_0xaa3b('0xc'));var Papa=require(_0xaa3b('0xd'));var Redis=require(_0xaa3b('0xe'));var authService=require(_0xaa3b('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xaa3b('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xaa3b('0x11'))('api');var utils=require('../../config/utils');var config=require(_0xaa3b('0x12'));var db=require(_0xaa3b('0x13'))['db'];function respondWithStatusCode(_0xdb4528,_0x262892){_0x262892=_0x262892||0xcc;return function(_0x49e0c7){if(_0x49e0c7){return _0xdb4528[_0xaa3b('0x14')](_0x262892);}return _0xdb4528[_0xaa3b('0x15')](_0x262892)[_0xaa3b('0x16')]();};}function respondWithResult(_0x592ded,_0x2b7010){_0x2b7010=_0x2b7010||0xc8;return function(_0xb0c09e){if(_0xb0c09e){return _0x592ded[_0xaa3b('0x15')](_0x2b7010)[_0xaa3b('0x17')](_0xb0c09e);}};}function respondWithFilteredResult(_0x5c6a94,_0x101056){return function(_0x58c3bc){if(_0x58c3bc){var _0x4f7976=_0x58c3bc[_0xaa3b('0x18')],_0x2967f0=_0x101056[_0xaa3b('0x19')],_0x22c29b=_0x101056[_0xaa3b('0x19')]+_0x101056[_0xaa3b('0x1a')],_0x4cfb47;if(_0x22c29b>=_0x4f7976){_0x22c29b=_0x4f7976;_0x4cfb47=0xc8;}else{_0x4cfb47=0xce;}_0x5c6a94['status'](_0x4cfb47);return _0x5c6a94[_0xaa3b('0x1b')](_0xaa3b('0x1c'),_0x2967f0+'-'+_0x22c29b+'/'+_0x4f7976)[_0xaa3b('0x17')](_0x58c3bc);}return null;};}function patchUpdates(_0x35b562){return function(_0x14461a){try{jsonpatch[_0xaa3b('0x1d')](_0x14461a,_0x35b562,!![]);}catch(_0x25ecbb){return BPromise['reject'](_0x25ecbb);}return _0x14461a[_0xaa3b('0x1e')]();};}function saveUpdates(_0x3cbaa3,_0x52672f){return function(_0x3b8980){if(_0x3b8980){return _0x3b8980[_0xaa3b('0x1f')](_0x3cbaa3)['then'](function(_0x5d8e27){return _0x5d8e27;});}return null;};}function removeEntity(_0x3bd999,_0x5b5864){return function(_0x401452){if(_0x401452){return _0x401452[_0xaa3b('0x20')]()[_0xaa3b('0x21')](function(){_0x3bd999[_0xaa3b('0x15')](0xcc)[_0xaa3b('0x16')]();});}};}function handleEntityNotFound(_0x402c31,_0x41f7ad){return function(_0x57cf7f){if(!_0x57cf7f){_0x402c31[_0xaa3b('0x14')](0x194);}return _0x57cf7f;};}function handleError(_0x124633,_0x5c9e10){_0x5c9e10=_0x5c9e10||0x1f4;return function(_0x53ef5e){logger['error'](_0x53ef5e[_0xaa3b('0x22')]);if(_0x53ef5e[_0xaa3b('0x23')]){delete _0x53ef5e[_0xaa3b('0x23')];}_0x124633[_0xaa3b('0x15')](_0x5c9e10)[_0xaa3b('0x24')](_0x53ef5e);};}exports[_0xaa3b('0x25')]=function(_0x15379d,_0x273e76){var _0x36a752={},_0xbcdd35={},_0x22f0e1={'count':0x0,'rows':[]};var _0x331b04=_['map'](db['ZendeskField']['rawAttributes'],function(_0x58c5e7){return{'name':_0x58c5e7[_0xaa3b('0x26')],'type':_0x58c5e7[_0xaa3b('0x27')][_0xaa3b('0x28')]};});_0xbcdd35[_0xaa3b('0x29')]=_[_0xaa3b('0x2a')](_0x331b04,_0xaa3b('0x23'));_0xbcdd35[_0xaa3b('0x2b')]=_[_0xaa3b('0x2c')](_0x15379d[_0xaa3b('0x2b')]);_0xbcdd35[_0xaa3b('0x2d')]=_['intersection'](_0xbcdd35['model'],_0xbcdd35[_0xaa3b('0x2b')]);_0x36a752[_0xaa3b('0x2e')]=_[_0xaa3b('0x2f')](_0xbcdd35[_0xaa3b('0x29')],qs[_0xaa3b('0x30')](_0x15379d[_0xaa3b('0x2b')][_0xaa3b('0x30')]));_0x36a752[_0xaa3b('0x2e')]=_0x36a752[_0xaa3b('0x2e')]['length']?_0x36a752[_0xaa3b('0x2e')]:_0xbcdd35[_0xaa3b('0x29')];if(!_0x15379d[_0xaa3b('0x2b')]['hasOwnProperty']('nolimit')){_0x36a752[_0xaa3b('0x1a')]=qs[_0xaa3b('0x1a')](_0x15379d['query'][_0xaa3b('0x1a')]);_0x36a752['offset']=qs[_0xaa3b('0x19')](_0x15379d['query'][_0xaa3b('0x19')]);}_0x36a752['order']=qs[_0xaa3b('0x31')](_0x15379d[_0xaa3b('0x2b')][_0xaa3b('0x31')]);_0x36a752['where']=qs[_0xaa3b('0x2d')](_[_0xaa3b('0x32')](_0x15379d[_0xaa3b('0x2b')],_0xbcdd35[_0xaa3b('0x2d')]),_0x331b04);if(_0x15379d[_0xaa3b('0x2b')]['filter']){_0x36a752['where']=_[_0xaa3b('0x33')](_0x36a752[_0xaa3b('0x34')],{'$or':_[_0xaa3b('0x2a')](_0x331b04,function(_0x493352){if(_0x493352[_0xaa3b('0x27')]!=='VIRTUAL'){var _0x220412={};_0x220412[_0x493352[_0xaa3b('0x23')]]={'$like':'%'+_0x15379d[_0xaa3b('0x2b')][_0xaa3b('0x35')]+'%'};return _0x220412;}})});}_0x36a752=_[_0xaa3b('0x33')]({},_0x36a752,_0x15379d[_0xaa3b('0x36')]);var _0x45eb50={'where':_0x36a752[_0xaa3b('0x34')]};return db[_0xaa3b('0x37')][_0xaa3b('0x18')](_0x45eb50)[_0xaa3b('0x21')](function(_0x358e9c){_0x22f0e1['count']=_0x358e9c;if(_0x15379d['query'][_0xaa3b('0x38')]){_0x36a752[_0xaa3b('0x39')]=[{'all':!![]}];}return db[_0xaa3b('0x37')][_0xaa3b('0x3a')](_0x36a752);})[_0xaa3b('0x21')](function(_0x2dac75){_0x22f0e1[_0xaa3b('0x3b')]=_0x2dac75;return _0x22f0e1;})[_0xaa3b('0x21')](respondWithFilteredResult(_0x273e76,_0x36a752))[_0xaa3b('0x3c')](handleError(_0x273e76,null));};exports['show']=function(_0x518f80,_0x4e6f24){var _0xb5d59d={'raw':!![],'where':{'id':_0x518f80[_0xaa3b('0x3d')]['id']}},_0x3c340d={};_0x3c340d['model']=_[_0xaa3b('0x2c')](db[_0xaa3b('0x37')][_0xaa3b('0x3e')]);_0x3c340d[_0xaa3b('0x2b')]=_[_0xaa3b('0x2c')](_0x518f80[_0xaa3b('0x2b')]);_0x3c340d[_0xaa3b('0x2d')]=_[_0xaa3b('0x2f')](_0x3c340d[_0xaa3b('0x29')],_0x3c340d[_0xaa3b('0x2b')]);_0xb5d59d['attributes']=_['intersection'](_0x3c340d[_0xaa3b('0x29')],qs[_0xaa3b('0x30')](_0x518f80[_0xaa3b('0x2b')][_0xaa3b('0x30')]));_0xb5d59d[_0xaa3b('0x2e')]=_0xb5d59d['attributes'][_0xaa3b('0x3f')]?_0xb5d59d[_0xaa3b('0x2e')]:_0x3c340d[_0xaa3b('0x29')];if(_0x518f80[_0xaa3b('0x2b')][_0xaa3b('0x38')]){_0xb5d59d[_0xaa3b('0x39')]=[{'all':!![]}];}_0xb5d59d=_['merge']({},_0xb5d59d,_0x518f80[_0xaa3b('0x36')]);return db[_0xaa3b('0x37')][_0xaa3b('0x40')](_0xb5d59d)[_0xaa3b('0x21')](handleEntityNotFound(_0x4e6f24,null))[_0xaa3b('0x21')](respondWithResult(_0x4e6f24,null))[_0xaa3b('0x3c')](handleError(_0x4e6f24,null));};exports['create']=function(_0x3b7e74,_0x3666fa){return db[_0xaa3b('0x37')][_0xaa3b('0x41')](_0x3b7e74['body'],{})[_0xaa3b('0x21')](respondWithResult(_0x3666fa,0xc9))['catch'](handleError(_0x3666fa,null));};exports['update']=function(_0x2fbcc6,_0x275d08){if(_0x2fbcc6[_0xaa3b('0x42')]['id']){delete _0x2fbcc6[_0xaa3b('0x42')]['id'];}return db[_0xaa3b('0x37')][_0xaa3b('0x40')]({'where':{'id':_0x2fbcc6['params']['id']}})['then'](handleEntityNotFound(_0x275d08,null))[_0xaa3b('0x21')](saveUpdates(_0x2fbcc6[_0xaa3b('0x42')],null))[_0xaa3b('0x21')](respondWithResult(_0x275d08,null))[_0xaa3b('0x3c')](handleError(_0x275d08,null));};exports['destroy']=function(_0x9fe6b3,_0x227483){return db[_0xaa3b('0x37')][_0xaa3b('0x40')]({'where':{'id':_0x9fe6b3[_0xaa3b('0x3d')]['id']}})['then'](handleEntityNotFound(_0x227483,null))[_0xaa3b('0x21')](removeEntity(_0x227483,null))[_0xaa3b('0x3c')](handleError(_0x227483,null));};