29e01ad1537ec2f2fadbfab854be5b16d2b015e7
[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 _0x2d8c=['offset','limit','set','Content-Range','json','apply','reject','update','destroy','then','end','error','name','index','map','ZendeskField','rawAttributes','fieldName','model','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','type','include','findAll','rows','catch','show','params','fields','includeAll','options','find','create','body','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','count'];(function(_0x1ad144,_0x56a7f5){var _0x292504=function(_0x212413){while(--_0x212413){_0x1ad144['push'](_0x1ad144['shift']());}};_0x292504(++_0x56a7f5);}(_0x2d8c,0x1f0));var _0xc2d8=function(_0x218972,_0x1f9794){_0x218972=_0x218972-0x0;var _0x1bb1a8=_0x2d8c[_0x218972];return _0x1bb1a8;};'use strict';var pdf=require(_0xc2d8('0x0'));var emlformat=require(_0xc2d8('0x1'));var rimraf=require(_0xc2d8('0x2'));var zipdir=require(_0xc2d8('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc2d8('0x4'));var moment=require(_0xc2d8('0x5'));var BPromise=require(_0xc2d8('0x6'));var Mustache=require('mustache');var util=require(_0xc2d8('0x7'));var path=require(_0xc2d8('0x8'));var sox=require(_0xc2d8('0x9'));var csv=require(_0xc2d8('0xa'));var ejs=require(_0xc2d8('0xb'));var fs=require('fs');var _=require(_0xc2d8('0xc'));var squel=require('squel');var crypto=require(_0xc2d8('0xd'));var jsforce=require(_0xc2d8('0xe'));var deskjs=require(_0xc2d8('0xf'));var toCsv=require('to-csv');var querystring=require(_0xc2d8('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xc2d8('0x11'));var qs=require(_0xc2d8('0x12'));var as=require(_0xc2d8('0x13'));var hardwareService=require(_0xc2d8('0x14'));var logger=require(_0xc2d8('0x15'))(_0xc2d8('0x16'));var utils=require(_0xc2d8('0x17'));var config=require(_0xc2d8('0x18'));var db=require(_0xc2d8('0x19'))['db'];function respondWithStatusCode(_0x3dba07,_0x146d41){_0x146d41=_0x146d41||0xcc;return function(_0x2fe35a){if(_0x2fe35a){return _0x3dba07[_0xc2d8('0x1a')](_0x146d41);}return _0x3dba07[_0xc2d8('0x1b')](_0x146d41)['end']();};}function respondWithResult(_0x4f022f,_0x4fba92){_0x4fba92=_0x4fba92||0xc8;return function(_0x58b009){if(_0x58b009){return _0x4f022f[_0xc2d8('0x1b')](_0x4fba92)['json'](_0x58b009);}};}function respondWithFilteredResult(_0x48fc68,_0x4a0320){return function(_0x5b4ea3){if(_0x5b4ea3){var _0x31c2a2=_0x5b4ea3[_0xc2d8('0x1c')],_0x274848=_0x4a0320[_0xc2d8('0x1d')],_0x401a7d=_0x4a0320[_0xc2d8('0x1d')]+_0x4a0320[_0xc2d8('0x1e')],_0x19d9ae;if(_0x401a7d>=_0x31c2a2){_0x401a7d=_0x31c2a2;_0x19d9ae=0xc8;}else{_0x19d9ae=0xce;}_0x48fc68[_0xc2d8('0x1b')](_0x19d9ae);return _0x48fc68[_0xc2d8('0x1f')](_0xc2d8('0x20'),_0x274848+'-'+_0x401a7d+'/'+_0x31c2a2)[_0xc2d8('0x21')](_0x5b4ea3);}return null;};}function patchUpdates(_0x4d745a){return function(_0x5a099f){try{jsonpatch[_0xc2d8('0x22')](_0x5a099f,_0x4d745a,!![]);}catch(_0x1bd5ec){return BPromise[_0xc2d8('0x23')](_0x1bd5ec);}return _0x5a099f['save']();};}function saveUpdates(_0x375846,_0x14c111){return function(_0x380fdf){if(_0x380fdf){return _0x380fdf[_0xc2d8('0x24')](_0x375846)['then'](function(_0x50fe18){return _0x50fe18;});}return null;};}function removeEntity(_0x1a81d0,_0x245de3){return function(_0x2a7ee1){if(_0x2a7ee1){return _0x2a7ee1[_0xc2d8('0x25')]()[_0xc2d8('0x26')](function(){_0x1a81d0[_0xc2d8('0x1b')](0xcc)[_0xc2d8('0x27')]();});}};}function handleEntityNotFound(_0x1d70f6,_0x395f9c){return function(_0x2ffe2c){if(!_0x2ffe2c){_0x1d70f6[_0xc2d8('0x1a')](0x194);}return _0x2ffe2c;};}function handleError(_0x144e0a,_0x22f1dd){_0x22f1dd=_0x22f1dd||0x1f4;return function(_0x51aa20){logger[_0xc2d8('0x28')](_0x51aa20['stack']);if(_0x51aa20['name']){delete _0x51aa20[_0xc2d8('0x29')];}_0x144e0a['status'](_0x22f1dd)['send'](_0x51aa20);};}exports[_0xc2d8('0x2a')]=function(_0x45df37,_0x1cf1ed){var _0x257883={},_0x121289={},_0x3ce418={'count':0x0,'rows':[]};var _0x103e76=_[_0xc2d8('0x2b')](db[_0xc2d8('0x2c')][_0xc2d8('0x2d')],function(_0x241e9a){return{'name':_0x241e9a[_0xc2d8('0x2e')],'type':_0x241e9a['type']['key']};});_0x121289[_0xc2d8('0x2f')]=_[_0xc2d8('0x2b')](_0x103e76,_0xc2d8('0x29'));_0x121289[_0xc2d8('0x30')]=_[_0xc2d8('0x31')](_0x45df37[_0xc2d8('0x30')]);_0x121289['filters']=_[_0xc2d8('0x32')](_0x121289[_0xc2d8('0x2f')],_0x121289[_0xc2d8('0x30')]);_0x257883[_0xc2d8('0x33')]=_['intersection'](_0x121289['model'],qs['fields'](_0x45df37[_0xc2d8('0x30')]['fields']));_0x257883['attributes']=_0x257883[_0xc2d8('0x33')][_0xc2d8('0x34')]?_0x257883['attributes']:_0x121289['model'];if(!_0x45df37['query'][_0xc2d8('0x35')](_0xc2d8('0x36'))){_0x257883[_0xc2d8('0x1e')]=qs[_0xc2d8('0x1e')](_0x45df37[_0xc2d8('0x30')][_0xc2d8('0x1e')]);_0x257883[_0xc2d8('0x1d')]=qs[_0xc2d8('0x1d')](_0x45df37[_0xc2d8('0x30')]['offset']);}_0x257883[_0xc2d8('0x37')]=qs[_0xc2d8('0x38')](_0x45df37[_0xc2d8('0x30')]['sort']);_0x257883[_0xc2d8('0x39')]=qs[_0xc2d8('0x3a')](_[_0xc2d8('0x3b')](_0x45df37[_0xc2d8('0x30')],_0x121289['filters']),_0x103e76);if(_0x45df37[_0xc2d8('0x30')][_0xc2d8('0x3c')]){_0x257883[_0xc2d8('0x39')]=_[_0xc2d8('0x3d')](_0x257883[_0xc2d8('0x39')],{'$or':_[_0xc2d8('0x2b')](_0x103e76,function(_0x235e06){if(_0x235e06[_0xc2d8('0x3e')]!=='VIRTUAL'){var _0x3e1ce2={};_0x3e1ce2[_0x235e06['name']]={'$like':'%'+_0x45df37[_0xc2d8('0x30')][_0xc2d8('0x3c')]+'%'};return _0x3e1ce2;}})});}_0x257883=_[_0xc2d8('0x3d')]({},_0x257883,_0x45df37['options']);var _0x3113f8={'where':_0x257883[_0xc2d8('0x39')]};return db[_0xc2d8('0x2c')]['count'](_0x3113f8)[_0xc2d8('0x26')](function(_0x1d7d24){_0x3ce418['count']=_0x1d7d24;if(_0x45df37[_0xc2d8('0x30')]['includeAll']){_0x257883[_0xc2d8('0x3f')]=[{'all':!![]}];}return db[_0xc2d8('0x2c')][_0xc2d8('0x40')](_0x257883);})['then'](function(_0x2d88d6){_0x3ce418[_0xc2d8('0x41')]=_0x2d88d6;return _0x3ce418;})[_0xc2d8('0x26')](respondWithFilteredResult(_0x1cf1ed,_0x257883))[_0xc2d8('0x42')](handleError(_0x1cf1ed,null));};exports[_0xc2d8('0x43')]=function(_0x2e9440,_0x169e31){var _0x20aac9={'raw':!![],'where':{'id':_0x2e9440[_0xc2d8('0x44')]['id']}},_0x227e31={};_0x227e31['model']=_[_0xc2d8('0x31')](db['ZendeskField']['rawAttributes']);_0x227e31[_0xc2d8('0x30')]=_[_0xc2d8('0x31')](_0x2e9440['query']);_0x227e31[_0xc2d8('0x3a')]=_[_0xc2d8('0x32')](_0x227e31[_0xc2d8('0x2f')],_0x227e31['query']);_0x20aac9[_0xc2d8('0x33')]=_[_0xc2d8('0x32')](_0x227e31['model'],qs[_0xc2d8('0x45')](_0x2e9440['query'][_0xc2d8('0x45')]));_0x20aac9['attributes']=_0x20aac9[_0xc2d8('0x33')][_0xc2d8('0x34')]?_0x20aac9[_0xc2d8('0x33')]:_0x227e31[_0xc2d8('0x2f')];if(_0x2e9440[_0xc2d8('0x30')][_0xc2d8('0x46')]){_0x20aac9[_0xc2d8('0x3f')]=[{'all':!![]}];}_0x20aac9=_[_0xc2d8('0x3d')]({},_0x20aac9,_0x2e9440[_0xc2d8('0x47')]);return db[_0xc2d8('0x2c')][_0xc2d8('0x48')](_0x20aac9)['then'](handleEntityNotFound(_0x169e31,null))[_0xc2d8('0x26')](respondWithResult(_0x169e31,null))['catch'](handleError(_0x169e31,null));};exports[_0xc2d8('0x49')]=function(_0x334bfd,_0x153241){return db[_0xc2d8('0x2c')][_0xc2d8('0x49')](_0x334bfd[_0xc2d8('0x4a')],{})[_0xc2d8('0x26')](respondWithResult(_0x153241,0xc9))[_0xc2d8('0x42')](handleError(_0x153241,null));};exports[_0xc2d8('0x24')]=function(_0x1bb50a,_0x453230){if(_0x1bb50a[_0xc2d8('0x4a')]['id']){delete _0x1bb50a[_0xc2d8('0x4a')]['id'];}return db['ZendeskField'][_0xc2d8('0x48')]({'where':{'id':_0x1bb50a['params']['id']}})['then'](handleEntityNotFound(_0x453230,null))[_0xc2d8('0x26')](saveUpdates(_0x1bb50a['body'],null))[_0xc2d8('0x26')](respondWithResult(_0x453230,null))[_0xc2d8('0x42')](handleError(_0x453230,null));};exports[_0xc2d8('0x25')]=function(_0x5931f8,_0x269c82){return db[_0xc2d8('0x2c')][_0xc2d8('0x48')]({'where':{'id':_0x5931f8[_0xc2d8('0x44')]['id']}})[_0xc2d8('0x26')](handleEntityNotFound(_0x269c82,null))['then'](removeEntity(_0x269c82,null))['catch'](handleError(_0x269c82,null));};