c7beaf3f50c875ca36864e8e584bfacb77639009
[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 _0x5f2f=['count','offset','limit','set','Content-Range','json','reject','then','error','stack','name','send','rawAttributes','fieldName','model','map','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filters','type','filter','ZendeskField','includeAll','include','findAll','rows','catch','show','params','merge','options','find','create','body','update','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status'];(function(_0x559407,_0x52ebf5){var _0x3e7cb4=function(_0x4790e6){while(--_0x4790e6){_0x559407['push'](_0x559407['shift']());}};_0x3e7cb4(++_0x52ebf5);}(_0x5f2f,0x73));var _0xf5f2=function(_0x14e07f,_0x208aff){_0x14e07f=_0x14e07f-0x0;var _0x4b0c7e=_0x5f2f[_0x14e07f];return _0x4b0c7e;};'use strict';var pdf=require(_0xf5f2('0x0'));var emlformat=require(_0xf5f2('0x1'));var rimraf=require(_0xf5f2('0x2'));var zipdir=require(_0xf5f2('0x3'));var jsonpatch=require(_0xf5f2('0x4'));var rp=require(_0xf5f2('0x5'));var moment=require(_0xf5f2('0x6'));var BPromise=require(_0xf5f2('0x7'));var Mustache=require('mustache');var util=require('util');var path=require(_0xf5f2('0x8'));var sox=require(_0xf5f2('0x9'));var csv=require(_0xf5f2('0xa'));var ejs=require(_0xf5f2('0xb'));var fs=require('fs');var _=require(_0xf5f2('0xc'));var squel=require(_0xf5f2('0xd'));var crypto=require('crypto');var jsforce=require(_0xf5f2('0xe'));var deskjs=require(_0xf5f2('0xf'));var toCsv=require(_0xf5f2('0xa'));var querystring=require('querystring');var Papa=require(_0xf5f2('0x10'));var Redis=require(_0xf5f2('0x11'));var authService=require(_0xf5f2('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xf5f2('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xf5f2('0x14'));var utils=require(_0xf5f2('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xf5f2('0x16'));var db=require(_0xf5f2('0x17'))['db'];function respondWithStatusCode(_0x331482,_0x3f2997){_0x3f2997=_0x3f2997||0xcc;return function(_0x59bb6c){if(_0x59bb6c){return _0x331482[_0xf5f2('0x18')](_0x3f2997);}return _0x331482['status'](_0x3f2997)[_0xf5f2('0x19')]();};}function respondWithResult(_0xea612c,_0x269909){_0x269909=_0x269909||0xc8;return function(_0x1c1a5c){if(_0x1c1a5c){return _0xea612c[_0xf5f2('0x1a')](_0x269909)['json'](_0x1c1a5c);}};}function respondWithFilteredResult(_0xafe430,_0x286197){return function(_0x17d656){if(_0x17d656){var _0x1b6dd2=_0x17d656[_0xf5f2('0x1b')],_0x23e23a=_0x286197[_0xf5f2('0x1c')],_0x3a9dbb=_0x286197[_0xf5f2('0x1c')]+_0x286197[_0xf5f2('0x1d')],_0xdb61b3;if(_0x3a9dbb>=_0x1b6dd2){_0x3a9dbb=_0x1b6dd2;_0xdb61b3=0xc8;}else{_0xdb61b3=0xce;}_0xafe430[_0xf5f2('0x1a')](_0xdb61b3);return _0xafe430[_0xf5f2('0x1e')](_0xf5f2('0x1f'),_0x23e23a+'-'+_0x3a9dbb+'/'+_0x1b6dd2)[_0xf5f2('0x20')](_0x17d656);}return null;};}function patchUpdates(_0x626999){return function(_0x1bf655){try{jsonpatch['apply'](_0x1bf655,_0x626999,!![]);}catch(_0x34706d){return BPromise[_0xf5f2('0x21')](_0x34706d);}return _0x1bf655['save']();};}function saveUpdates(_0x47acfc,_0x2d2805){return function(_0x388e6c){if(_0x388e6c){return _0x388e6c['update'](_0x47acfc)[_0xf5f2('0x22')](function(_0x170042){return _0x170042;});}return null;};}function removeEntity(_0x39e44a,_0x39c024){return function(_0x36f1cb){if(_0x36f1cb){return _0x36f1cb['destroy']()[_0xf5f2('0x22')](function(){_0x39e44a[_0xf5f2('0x1a')](0xcc)[_0xf5f2('0x19')]();});}};}function handleEntityNotFound(_0x2833fe,_0x287ad5){return function(_0x5bdf4a){if(!_0x5bdf4a){_0x2833fe['sendStatus'](0x194);}return _0x5bdf4a;};}function handleError(_0x5f1124,_0x3f79d5){_0x3f79d5=_0x3f79d5||0x1f4;return function(_0x13da6f){logger[_0xf5f2('0x23')](_0x13da6f[_0xf5f2('0x24')]);if(_0x13da6f[_0xf5f2('0x25')]){delete _0x13da6f[_0xf5f2('0x25')];}_0x5f1124[_0xf5f2('0x1a')](_0x3f79d5)[_0xf5f2('0x26')](_0x13da6f);};}exports['index']=function(_0xaa2602,_0x102449){var _0x375ca8={},_0x31bfcb={},_0x198c73={'count':0x0,'rows':[]};var _0x477604=_['map'](db['ZendeskField'][_0xf5f2('0x27')],function(_0x14c829){return{'name':_0x14c829[_0xf5f2('0x28')],'type':_0x14c829['type']['key']};});_0x31bfcb[_0xf5f2('0x29')]=_[_0xf5f2('0x2a')](_0x477604,_0xf5f2('0x25'));_0x31bfcb[_0xf5f2('0x2b')]=_[_0xf5f2('0x2c')](_0xaa2602['query']);_0x31bfcb['filters']=_[_0xf5f2('0x2d')](_0x31bfcb['model'],_0x31bfcb[_0xf5f2('0x2b')]);_0x375ca8['attributes']=_[_0xf5f2('0x2d')](_0x31bfcb[_0xf5f2('0x29')],qs[_0xf5f2('0x2e')](_0xaa2602[_0xf5f2('0x2b')][_0xf5f2('0x2e')]));_0x375ca8[_0xf5f2('0x2f')]=_0x375ca8[_0xf5f2('0x2f')][_0xf5f2('0x30')]?_0x375ca8['attributes']:_0x31bfcb[_0xf5f2('0x29')];if(!_0xaa2602[_0xf5f2('0x2b')][_0xf5f2('0x31')](_0xf5f2('0x32'))){_0x375ca8[_0xf5f2('0x1d')]=qs[_0xf5f2('0x1d')](_0xaa2602[_0xf5f2('0x2b')]['limit']);_0x375ca8[_0xf5f2('0x1c')]=qs[_0xf5f2('0x1c')](_0xaa2602['query'][_0xf5f2('0x1c')]);}_0x375ca8['order']=qs[_0xf5f2('0x33')](_0xaa2602[_0xf5f2('0x2b')][_0xf5f2('0x33')]);_0x375ca8[_0xf5f2('0x34')]=qs['filters'](_['pick'](_0xaa2602[_0xf5f2('0x2b')],_0x31bfcb[_0xf5f2('0x35')]),_0x477604);if(_0xaa2602[_0xf5f2('0x2b')]['filter']){_0x375ca8[_0xf5f2('0x34')]=_['merge'](_0x375ca8[_0xf5f2('0x34')],{'$or':_['map'](_0x477604,function(_0x46f464){if(_0x46f464[_0xf5f2('0x36')]!=='VIRTUAL'){var _0x29694f={};_0x29694f[_0x46f464[_0xf5f2('0x25')]]={'$like':'%'+_0xaa2602[_0xf5f2('0x2b')][_0xf5f2('0x37')]+'%'};return _0x29694f;}})});}_0x375ca8=_['merge']({},_0x375ca8,_0xaa2602['options']);var _0x3d328f={'where':_0x375ca8[_0xf5f2('0x34')]};return db[_0xf5f2('0x38')][_0xf5f2('0x1b')](_0x3d328f)[_0xf5f2('0x22')](function(_0xe62b57){_0x198c73[_0xf5f2('0x1b')]=_0xe62b57;if(_0xaa2602['query'][_0xf5f2('0x39')]){_0x375ca8[_0xf5f2('0x3a')]=[{'all':!![]}];}return db['ZendeskField'][_0xf5f2('0x3b')](_0x375ca8);})[_0xf5f2('0x22')](function(_0x71b0e7){_0x198c73[_0xf5f2('0x3c')]=_0x71b0e7;return _0x198c73;})[_0xf5f2('0x22')](respondWithFilteredResult(_0x102449,_0x375ca8))[_0xf5f2('0x3d')](handleError(_0x102449,null));};exports[_0xf5f2('0x3e')]=function(_0x2083b3,_0x574f24){var _0x31c3c={'raw':!![],'where':{'id':_0x2083b3[_0xf5f2('0x3f')]['id']}},_0x34792f={};_0x34792f['model']=_['keys'](db['ZendeskField'][_0xf5f2('0x27')]);_0x34792f[_0xf5f2('0x2b')]=_['keys'](_0x2083b3[_0xf5f2('0x2b')]);_0x34792f[_0xf5f2('0x35')]=_[_0xf5f2('0x2d')](_0x34792f[_0xf5f2('0x29')],_0x34792f[_0xf5f2('0x2b')]);_0x31c3c[_0xf5f2('0x2f')]=_[_0xf5f2('0x2d')](_0x34792f[_0xf5f2('0x29')],qs[_0xf5f2('0x2e')](_0x2083b3[_0xf5f2('0x2b')][_0xf5f2('0x2e')]));_0x31c3c[_0xf5f2('0x2f')]=_0x31c3c[_0xf5f2('0x2f')][_0xf5f2('0x30')]?_0x31c3c['attributes']:_0x34792f[_0xf5f2('0x29')];if(_0x2083b3['query'][_0xf5f2('0x39')]){_0x31c3c[_0xf5f2('0x3a')]=[{'all':!![]}];}_0x31c3c=_[_0xf5f2('0x40')]({},_0x31c3c,_0x2083b3[_0xf5f2('0x41')]);return db[_0xf5f2('0x38')][_0xf5f2('0x42')](_0x31c3c)['then'](handleEntityNotFound(_0x574f24,null))[_0xf5f2('0x22')](respondWithResult(_0x574f24,null))[_0xf5f2('0x3d')](handleError(_0x574f24,null));};exports[_0xf5f2('0x43')]=function(_0x29b108,_0x12124d){return db[_0xf5f2('0x38')][_0xf5f2('0x43')](_0x29b108[_0xf5f2('0x44')],{})['then'](respondWithResult(_0x12124d,0xc9))[_0xf5f2('0x3d')](handleError(_0x12124d,null));};exports[_0xf5f2('0x45')]=function(_0x45db9a,_0x492eea){if(_0x45db9a[_0xf5f2('0x44')]['id']){delete _0x45db9a[_0xf5f2('0x44')]['id'];}return db[_0xf5f2('0x38')]['find']({'where':{'id':_0x45db9a['params']['id']}})[_0xf5f2('0x22')](handleEntityNotFound(_0x492eea,null))[_0xf5f2('0x22')](saveUpdates(_0x45db9a['body'],null))[_0xf5f2('0x22')](respondWithResult(_0x492eea,null))['catch'](handleError(_0x492eea,null));};exports[_0xf5f2('0x46')]=function(_0x497eb8,_0x2cbd9d){return db['ZendeskField'][_0xf5f2('0x42')]({'where':{'id':_0x497eb8[_0xf5f2('0x3f')]['id']}})[_0xf5f2('0x22')](handleEntityNotFound(_0x2cbd9d,null))[_0xf5f2('0x22')](removeEntity(_0x2cbd9d,null))['catch'](handleError(_0x2cbd9d,null));};