Built motion from commit b5996064.|2.6.21
[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 _0x8ea7=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','reject','save','update','then','destroy','error','stack','name','send','index','map','ZendeskField','fieldName','type','keys','filters','query','attributes','intersection','model','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','includeAll','include','catch','show','params','options','find','create','body','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra'];(function(_0x447db0,_0x1536b7){var _0x274a49=function(_0x20eff2){while(--_0x20eff2){_0x447db0['push'](_0x447db0['shift']());}};_0x274a49(++_0x1536b7);}(_0x8ea7,0xdb));var _0x78ea=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x8ea7[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x78ea('0x0'));var rimraf=require(_0x78ea('0x1'));var zipdir=require(_0x78ea('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x78ea('0x3'));var moment=require('moment');var BPromise=require(_0x78ea('0x4'));var Mustache=require(_0x78ea('0x5'));var util=require(_0x78ea('0x6'));var path=require(_0x78ea('0x7'));var sox=require(_0x78ea('0x8'));var csv=require(_0x78ea('0x9'));var ejs=require(_0x78ea('0xa'));var fs=require('fs');var fs_extra=require(_0x78ea('0xb'));var _=require(_0x78ea('0xc'));var squel=require(_0x78ea('0xd'));var crypto=require(_0x78ea('0xe'));var jsforce=require(_0x78ea('0xf'));var deskjs=require(_0x78ea('0x10'));var toCsv=require(_0x78ea('0x9'));var querystring=require(_0x78ea('0x11'));var Papa=require(_0x78ea('0x12'));var Redis=require(_0x78ea('0x13'));var authService=require(_0x78ea('0x14'));var qs=require(_0x78ea('0x15'));var as=require(_0x78ea('0x16'));var hardwareService=require(_0x78ea('0x17'));var logger=require(_0x78ea('0x18'))(_0x78ea('0x19'));var utils=require(_0x78ea('0x1a'));var config=require(_0x78ea('0x1b'));var licenseUtil=require(_0x78ea('0x1c'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x30df0c,_0x5ac18b){_0x5ac18b=_0x5ac18b||0xcc;return function(_0x526daf){if(_0x526daf){return _0x30df0c[_0x78ea('0x1d')](_0x5ac18b);}return _0x30df0c['status'](_0x5ac18b)[_0x78ea('0x1e')]();};}function respondWithResult(_0x4c9ac2,_0x3e144d){_0x3e144d=_0x3e144d||0xc8;return function(_0x40cc4a){if(_0x40cc4a){return _0x4c9ac2['status'](_0x3e144d)[_0x78ea('0x1f')](_0x40cc4a);}};}function respondWithFilteredResult(_0x4dd890,_0x5a7317){return function(_0x262ecd){if(_0x262ecd){var _0x4683c3=typeof _0x5a7317[_0x78ea('0x20')]===_0x78ea('0x21')&&typeof _0x5a7317[_0x78ea('0x22')]==='undefined';var _0x353037=_0x262ecd[_0x78ea('0x23')];var _0x2115f7=_0x4683c3?0x0:_0x5a7317[_0x78ea('0x20')];var _0x32f438=_0x4683c3?_0x262ecd[_0x78ea('0x23')]:_0x5a7317[_0x78ea('0x20')]+_0x5a7317[_0x78ea('0x22')];var _0x34ed31;if(_0x32f438>=_0x353037){_0x32f438=_0x353037;_0x34ed31=0xc8;}else{_0x34ed31=0xce;}_0x4dd890[_0x78ea('0x24')](_0x34ed31);return _0x4dd890[_0x78ea('0x25')](_0x78ea('0x26'),_0x2115f7+'-'+_0x32f438+'/'+_0x353037)[_0x78ea('0x1f')](_0x262ecd);}return null;};}function patchUpdates(_0x5a691f){return function(_0x4d19fe){try{jsonpatch['apply'](_0x4d19fe,_0x5a691f,!![]);}catch(_0x2588da){return BPromise[_0x78ea('0x27')](_0x2588da);}return _0x4d19fe[_0x78ea('0x28')]();};}function saveUpdates(_0x55d448,_0x235892){return function(_0x3f28b5){if(_0x3f28b5){return _0x3f28b5[_0x78ea('0x29')](_0x55d448)[_0x78ea('0x2a')](function(_0xf4766a){return _0xf4766a;});}return null;};}function removeEntity(_0x2ea37d,_0x3fe2cd){return function(_0x2e1084){if(_0x2e1084){return _0x2e1084[_0x78ea('0x2b')]()['then'](function(){_0x2ea37d[_0x78ea('0x24')](0xcc)[_0x78ea('0x1e')]();});}};}function handleEntityNotFound(_0x1eb458,_0x445a7c){return function(_0x2a5647){if(!_0x2a5647){_0x1eb458[_0x78ea('0x1d')](0x194);}return _0x2a5647;};}function handleError(_0x341b35,_0x1b9f6e){_0x1b9f6e=_0x1b9f6e||0x1f4;return function(_0x58f809){logger[_0x78ea('0x2c')](_0x58f809[_0x78ea('0x2d')]);if(_0x58f809['name']){delete _0x58f809[_0x78ea('0x2e')];}_0x341b35[_0x78ea('0x24')](_0x1b9f6e)[_0x78ea('0x2f')](_0x58f809);};}exports[_0x78ea('0x30')]=function(_0x81a387,_0x4634f8){var _0x2726e6={},_0x267d73={},_0x113184={'count':0x0,'rows':[]};var _0x2dde62=_[_0x78ea('0x31')](db[_0x78ea('0x32')]['rawAttributes'],function(_0x3587fd){return{'name':_0x3587fd[_0x78ea('0x33')],'type':_0x3587fd[_0x78ea('0x34')]['key']};});_0x267d73['model']=_[_0x78ea('0x31')](_0x2dde62,_0x78ea('0x2e'));_0x267d73['query']=_[_0x78ea('0x35')](_0x81a387['query']);_0x267d73[_0x78ea('0x36')]=_['intersection'](_0x267d73['model'],_0x267d73[_0x78ea('0x37')]);_0x2726e6[_0x78ea('0x38')]=_[_0x78ea('0x39')](_0x267d73[_0x78ea('0x3a')],qs[_0x78ea('0x3b')](_0x81a387[_0x78ea('0x37')][_0x78ea('0x3b')]));_0x2726e6[_0x78ea('0x38')]=_0x2726e6[_0x78ea('0x38')][_0x78ea('0x3c')]?_0x2726e6[_0x78ea('0x38')]:_0x267d73[_0x78ea('0x3a')];if(!_0x81a387[_0x78ea('0x37')][_0x78ea('0x3d')](_0x78ea('0x3e'))){_0x2726e6[_0x78ea('0x22')]=qs[_0x78ea('0x22')](_0x81a387['query']['limit']);_0x2726e6[_0x78ea('0x20')]=qs[_0x78ea('0x20')](_0x81a387[_0x78ea('0x37')]['offset']);}_0x2726e6['order']=qs[_0x78ea('0x3f')](_0x81a387[_0x78ea('0x37')][_0x78ea('0x3f')]);_0x2726e6[_0x78ea('0x40')]=qs['filters'](_['pick'](_0x81a387[_0x78ea('0x37')],_0x267d73['filters']),_0x2dde62);if(_0x81a387['query'][_0x78ea('0x41')]){_0x2726e6[_0x78ea('0x40')]=_[_0x78ea('0x42')](_0x2726e6[_0x78ea('0x40')],{'$or':_['map'](_0x2dde62,function(_0x4b58d4){if(_0x4b58d4['type']!==_0x78ea('0x43')){var _0x36839f={};_0x36839f[_0x4b58d4[_0x78ea('0x2e')]]={'$like':'%'+_0x81a387[_0x78ea('0x37')][_0x78ea('0x41')]+'%'};return _0x36839f;}})});}_0x2726e6=_['merge']({},_0x2726e6,_0x81a387['options']);var _0x21f552={'where':_0x2726e6[_0x78ea('0x40')]};return db[_0x78ea('0x32')][_0x78ea('0x23')](_0x21f552)[_0x78ea('0x2a')](function(_0x2d3785){_0x113184['count']=_0x2d3785;if(_0x81a387[_0x78ea('0x37')][_0x78ea('0x44')]){_0x2726e6[_0x78ea('0x45')]=[{'all':!![]}];}return db[_0x78ea('0x32')]['findAll'](_0x2726e6);})[_0x78ea('0x2a')](function(_0x3fbcb3){_0x113184['rows']=_0x3fbcb3;return _0x113184;})[_0x78ea('0x2a')](respondWithFilteredResult(_0x4634f8,_0x2726e6))[_0x78ea('0x46')](handleError(_0x4634f8,null));};exports[_0x78ea('0x47')]=function(_0x520e9f,_0x42d2d9){var _0x40a696={'raw':!![],'where':{'id':_0x520e9f[_0x78ea('0x48')]['id']}},_0x16a61c={};_0x16a61c[_0x78ea('0x3a')]=_[_0x78ea('0x35')](db['ZendeskField']['rawAttributes']);_0x16a61c[_0x78ea('0x37')]=_[_0x78ea('0x35')](_0x520e9f[_0x78ea('0x37')]);_0x16a61c[_0x78ea('0x36')]=_[_0x78ea('0x39')](_0x16a61c[_0x78ea('0x3a')],_0x16a61c[_0x78ea('0x37')]);_0x40a696['attributes']=_[_0x78ea('0x39')](_0x16a61c[_0x78ea('0x3a')],qs[_0x78ea('0x3b')](_0x520e9f['query'][_0x78ea('0x3b')]));_0x40a696[_0x78ea('0x38')]=_0x40a696[_0x78ea('0x38')][_0x78ea('0x3c')]?_0x40a696[_0x78ea('0x38')]:_0x16a61c[_0x78ea('0x3a')];if(_0x520e9f[_0x78ea('0x37')][_0x78ea('0x44')]){_0x40a696['include']=[{'all':!![]}];}_0x40a696=_[_0x78ea('0x42')]({},_0x40a696,_0x520e9f[_0x78ea('0x49')]);return db['ZendeskField'][_0x78ea('0x4a')](_0x40a696)[_0x78ea('0x2a')](handleEntityNotFound(_0x42d2d9,null))[_0x78ea('0x2a')](respondWithResult(_0x42d2d9,null))[_0x78ea('0x46')](handleError(_0x42d2d9,null));};exports[_0x78ea('0x4b')]=function(_0x37a5a5,_0x462d49){return db[_0x78ea('0x32')]['create'](_0x37a5a5[_0x78ea('0x4c')],{})[_0x78ea('0x2a')](respondWithResult(_0x462d49,0xc9))[_0x78ea('0x46')](handleError(_0x462d49,null));};exports[_0x78ea('0x29')]=function(_0x332ebd,_0x2fe271){if(_0x332ebd[_0x78ea('0x4c')]['id']){delete _0x332ebd[_0x78ea('0x4c')]['id'];}return db['ZendeskField']['find']({'where':{'id':_0x332ebd[_0x78ea('0x48')]['id']}})['then'](handleEntityNotFound(_0x2fe271,null))[_0x78ea('0x2a')](saveUpdates(_0x332ebd['body'],null))[_0x78ea('0x2a')](respondWithResult(_0x2fe271,null))[_0x78ea('0x46')](handleError(_0x2fe271,null));};exports['destroy']=function(_0x2363fb,_0x27e7de){return db['ZendeskField'][_0x78ea('0x4a')]({'where':{'id':_0x2363fb[_0x78ea('0x48')]['id']}})['then'](handleEntityNotFound(_0x27e7de,null))[_0x78ea('0x2a')](removeEntity(_0x27e7de,null))[_0x78ea('0x46')](handleError(_0x27e7de,null));};