22213ddceae7f8d695b424c4b83cc64f262ee8ca
[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 _0x101a=['request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','update','destroy','then','end','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter','merge','options','ZendeskField','includeAll','include','findAll','rows','catch','show','params','create','body','find','zip-dir','fast-json-patch'];(function(_0x29c80b,_0x473d30){var _0x4640b4=function(_0x281a22){while(--_0x281a22){_0x29c80b['push'](_0x29c80b['shift']());}};_0x4640b4(++_0x473d30);}(_0x101a,0x11a));var _0xa101=function(_0x14c240,_0x33f160){_0x14c240=_0x14c240-0x0;var _0xe1e4b5=_0x101a[_0x14c240];return _0xe1e4b5;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xa101('0x0'));var jsonpatch=require(_0xa101('0x1'));var rp=require(_0xa101('0x2'));var moment=require(_0xa101('0x3'));var BPromise=require(_0xa101('0x4'));var Mustache=require(_0xa101('0x5'));var util=require(_0xa101('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xa101('0x7'));var ejs=require(_0xa101('0x8'));var fs=require('fs');var fs_extra=require(_0xa101('0x9'));var _=require('lodash');var squel=require(_0xa101('0xa'));var crypto=require('crypto');var jsforce=require(_0xa101('0xb'));var deskjs=require(_0xa101('0xc'));var toCsv=require(_0xa101('0x7'));var querystring=require(_0xa101('0xd'));var Papa=require(_0xa101('0xe'));var Redis=require(_0xa101('0xf'));var authService=require(_0xa101('0x10'));var qs=require(_0xa101('0x11'));var as=require(_0xa101('0x12'));var hardwareService=require(_0xa101('0x13'));var logger=require(_0xa101('0x14'))(_0xa101('0x15'));var utils=require(_0xa101('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xa101('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5aac38,_0x261070){_0x261070=_0x261070||0xcc;return function(_0x35fddf){if(_0x35fddf){return _0x5aac38[_0xa101('0x18')](_0x261070);}return _0x5aac38[_0xa101('0x19')](_0x261070)['end']();};}function respondWithResult(_0x1bd9db,_0x5a16a0){_0x5a16a0=_0x5a16a0||0xc8;return function(_0x25f5de){if(_0x25f5de){return _0x1bd9db[_0xa101('0x19')](_0x5a16a0)[_0xa101('0x1a')](_0x25f5de);}};}function respondWithFilteredResult(_0x4c49b5,_0x4c9074){return function(_0x38575e){if(_0x38575e){var _0x4af614=typeof _0x4c9074[_0xa101('0x1b')]===_0xa101('0x1c')&&typeof _0x4c9074[_0xa101('0x1d')]==='undefined';var _0x5521a1=_0x38575e[_0xa101('0x1e')];var _0x339161=_0x4af614?0x0:_0x4c9074[_0xa101('0x1b')];var _0x40d98a=_0x4af614?_0x38575e[_0xa101('0x1e')]:_0x4c9074[_0xa101('0x1b')]+_0x4c9074[_0xa101('0x1d')];var _0x281838;if(_0x40d98a>=_0x5521a1){_0x40d98a=_0x5521a1;_0x281838=0xc8;}else{_0x281838=0xce;}_0x4c49b5[_0xa101('0x19')](_0x281838);return _0x4c49b5['set']('Content-Range',_0x339161+'-'+_0x40d98a+'/'+_0x5521a1)['json'](_0x38575e);}return null;};}function patchUpdates(_0x39b2d9){return function(_0x13858e){try{jsonpatch['apply'](_0x13858e,_0x39b2d9,!![]);}catch(_0x3168b6){return BPromise['reject'](_0x3168b6);}return _0x13858e['save']();};}function saveUpdates(_0x2da999,_0x47b684){return function(_0xa3ec1d){if(_0xa3ec1d){return _0xa3ec1d[_0xa101('0x1f')](_0x2da999)['then'](function(_0x41e6d8){return _0x41e6d8;});}return null;};}function removeEntity(_0x541562,_0xa065d4){return function(_0x198a50){if(_0x198a50){return _0x198a50[_0xa101('0x20')]()[_0xa101('0x21')](function(){_0x541562[_0xa101('0x19')](0xcc)[_0xa101('0x22')]();});}};}function handleEntityNotFound(_0x37432d,_0x4032fd){return function(_0x16680e){if(!_0x16680e){_0x37432d[_0xa101('0x18')](0x194);}return _0x16680e;};}function handleError(_0x5c24ea,_0x34a54b){_0x34a54b=_0x34a54b||0x1f4;return function(_0x1f6e9d){logger['error'](_0x1f6e9d['stack']);if(_0x1f6e9d['name']){delete _0x1f6e9d[_0xa101('0x23')];}_0x5c24ea[_0xa101('0x19')](_0x34a54b)[_0xa101('0x24')](_0x1f6e9d);};}exports[_0xa101('0x25')]=function(_0x1ecec4,_0x21941a){var _0x5537c4={},_0x156662={},_0x3cc385={'count':0x0,'rows':[]};var _0x1d2a1d=_[_0xa101('0x26')](db['ZendeskField'][_0xa101('0x27')],function(_0xb6bc07){return{'name':_0xb6bc07[_0xa101('0x28')],'type':_0xb6bc07[_0xa101('0x29')][_0xa101('0x2a')]};});_0x156662['model']=_[_0xa101('0x26')](_0x1d2a1d,_0xa101('0x23'));_0x156662[_0xa101('0x2b')]=_[_0xa101('0x2c')](_0x1ecec4[_0xa101('0x2b')]);_0x156662[_0xa101('0x2d')]=_[_0xa101('0x2e')](_0x156662[_0xa101('0x2f')],_0x156662[_0xa101('0x2b')]);_0x5537c4['attributes']=_[_0xa101('0x2e')](_0x156662[_0xa101('0x2f')],qs[_0xa101('0x30')](_0x1ecec4[_0xa101('0x2b')][_0xa101('0x30')]));_0x5537c4[_0xa101('0x31')]=_0x5537c4[_0xa101('0x31')][_0xa101('0x32')]?_0x5537c4[_0xa101('0x31')]:_0x156662['model'];if(!_0x1ecec4[_0xa101('0x2b')][_0xa101('0x33')](_0xa101('0x34'))){_0x5537c4[_0xa101('0x1d')]=qs['limit'](_0x1ecec4[_0xa101('0x2b')][_0xa101('0x1d')]);_0x5537c4['offset']=qs[_0xa101('0x1b')](_0x1ecec4[_0xa101('0x2b')][_0xa101('0x1b')]);}_0x5537c4[_0xa101('0x35')]=qs[_0xa101('0x36')](_0x1ecec4[_0xa101('0x2b')][_0xa101('0x36')]);_0x5537c4[_0xa101('0x37')]=qs[_0xa101('0x2d')](_['pick'](_0x1ecec4[_0xa101('0x2b')],_0x156662['filters']),_0x1d2a1d);if(_0x1ecec4[_0xa101('0x2b')]['filter']){_0x5537c4[_0xa101('0x37')]=_['merge'](_0x5537c4[_0xa101('0x37')],{'$or':_[_0xa101('0x26')](_0x1d2a1d,function(_0x526294){if(_0x526294['type']!==_0xa101('0x38')){var _0xaa04a2={};_0xaa04a2[_0x526294[_0xa101('0x23')]]={'$like':'%'+_0x1ecec4['query'][_0xa101('0x39')]+'%'};return _0xaa04a2;}})});}_0x5537c4=_[_0xa101('0x3a')]({},_0x5537c4,_0x1ecec4[_0xa101('0x3b')]);var _0x91c81b={'where':_0x5537c4[_0xa101('0x37')]};return db[_0xa101('0x3c')][_0xa101('0x1e')](_0x91c81b)['then'](function(_0x470971){_0x3cc385[_0xa101('0x1e')]=_0x470971;if(_0x1ecec4['query'][_0xa101('0x3d')]){_0x5537c4[_0xa101('0x3e')]=[{'all':!![]}];}return db[_0xa101('0x3c')][_0xa101('0x3f')](_0x5537c4);})[_0xa101('0x21')](function(_0x1d7ef1){_0x3cc385[_0xa101('0x40')]=_0x1d7ef1;return _0x3cc385;})[_0xa101('0x21')](respondWithFilteredResult(_0x21941a,_0x5537c4))[_0xa101('0x41')](handleError(_0x21941a,null));};exports[_0xa101('0x42')]=function(_0x28bdee,_0x42b4f5){var _0x35c68e={'raw':!![],'where':{'id':_0x28bdee[_0xa101('0x43')]['id']}},_0x569a79={};_0x569a79[_0xa101('0x2f')]=_[_0xa101('0x2c')](db[_0xa101('0x3c')]['rawAttributes']);_0x569a79['query']=_['keys'](_0x28bdee['query']);_0x569a79[_0xa101('0x2d')]=_[_0xa101('0x2e')](_0x569a79[_0xa101('0x2f')],_0x569a79[_0xa101('0x2b')]);_0x35c68e[_0xa101('0x31')]=_['intersection'](_0x569a79[_0xa101('0x2f')],qs[_0xa101('0x30')](_0x28bdee[_0xa101('0x2b')][_0xa101('0x30')]));_0x35c68e[_0xa101('0x31')]=_0x35c68e[_0xa101('0x31')][_0xa101('0x32')]?_0x35c68e[_0xa101('0x31')]:_0x569a79['model'];if(_0x28bdee[_0xa101('0x2b')]['includeAll']){_0x35c68e[_0xa101('0x3e')]=[{'all':!![]}];}_0x35c68e=_[_0xa101('0x3a')]({},_0x35c68e,_0x28bdee[_0xa101('0x3b')]);return db[_0xa101('0x3c')]['find'](_0x35c68e)[_0xa101('0x21')](handleEntityNotFound(_0x42b4f5,null))[_0xa101('0x21')](respondWithResult(_0x42b4f5,null))[_0xa101('0x41')](handleError(_0x42b4f5,null));};exports[_0xa101('0x44')]=function(_0x42e4a2,_0x5b9ef0){return db[_0xa101('0x3c')][_0xa101('0x44')](_0x42e4a2[_0xa101('0x45')],{})[_0xa101('0x21')](respondWithResult(_0x5b9ef0,0xc9))[_0xa101('0x41')](handleError(_0x5b9ef0,null));};exports[_0xa101('0x1f')]=function(_0x15385f,_0x50fcbb){if(_0x15385f[_0xa101('0x45')]['id']){delete _0x15385f['body']['id'];}return db['ZendeskField'][_0xa101('0x46')]({'where':{'id':_0x15385f[_0xa101('0x43')]['id']}})[_0xa101('0x21')](handleEntityNotFound(_0x50fcbb,null))[_0xa101('0x21')](saveUpdates(_0x15385f[_0xa101('0x45')],null))['then'](respondWithResult(_0x50fcbb,null))[_0xa101('0x41')](handleError(_0x50fcbb,null));};exports[_0xa101('0x20')]=function(_0x319d2d,_0x531efd){return db[_0xa101('0x3c')][_0xa101('0x46')]({'where':{'id':_0x319d2d[_0xa101('0x43')]['id']}})[_0xa101('0x21')](handleEntityNotFound(_0x531efd,null))[_0xa101('0x21')](removeEntity(_0x531efd,null))['catch'](handleError(_0x531efd,null));};