a6913b1fa83fb9e1a657252933da7773d1e1a90e
[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 _0x9904=['util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','sendStatus','status','offset','undefined','limit','count','Content-Range','json','reject','update','destroy','error','name','ZendeskField','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','order','sort','where','pick','merge','VIRTUAL','filter','includeAll','include','then','find','catch','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache'];(function(_0x22f75e,_0x4a9e06){var _0x1f6ab3=function(_0x1479d4){while(--_0x1479d4){_0x22f75e['push'](_0x22f75e['shift']());}};_0x1f6ab3(++_0x4a9e06);}(_0x9904,0xf5));var _0x4990=function(_0x151e4f,_0x45b100){_0x151e4f=_0x151e4f-0x0;var _0x3a7128=_0x9904[_0x151e4f];return _0x3a7128;};'use strict';var emlformat=require(_0x4990('0x0'));var rimraf=require(_0x4990('0x1'));var zipdir=require(_0x4990('0x2'));var jsonpatch=require(_0x4990('0x3'));var rp=require('request-promise');var moment=require(_0x4990('0x4'));var BPromise=require(_0x4990('0x5'));var Mustache=require(_0x4990('0x6'));var util=require(_0x4990('0x7'));var path=require(_0x4990('0x8'));var sox=require('sox');var csv=require(_0x4990('0x9'));var ejs=require(_0x4990('0xa'));var fs=require('fs');var fs_extra=require(_0x4990('0xb'));var _=require('lodash');var squel=require(_0x4990('0xc'));var crypto=require(_0x4990('0xd'));var jsforce=require(_0x4990('0xe'));var deskjs=require(_0x4990('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x4990('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x4990('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4990('0x12'));var logger=require(_0x4990('0x13'))('api');var utils=require(_0x4990('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x18ee83,_0x4d9ba1){_0x4d9ba1=_0x4d9ba1||0xcc;return function(_0x59206b){if(_0x59206b){return _0x18ee83[_0x4990('0x15')](_0x4d9ba1);}return _0x18ee83[_0x4990('0x16')](_0x4d9ba1)['end']();};}function respondWithResult(_0x5600e8,_0x1a51ab){_0x1a51ab=_0x1a51ab||0xc8;return function(_0x3fcd05){if(_0x3fcd05){return _0x5600e8[_0x4990('0x16')](_0x1a51ab)['json'](_0x3fcd05);}};}function respondWithFilteredResult(_0x325411,_0x586745){return function(_0x56c1e9){if(_0x56c1e9){var _0x11c611=typeof _0x586745[_0x4990('0x17')]===_0x4990('0x18')&&typeof _0x586745[_0x4990('0x19')]===_0x4990('0x18');var _0x1b36f7=_0x56c1e9['count'];var _0x271e8c=_0x11c611?0x0:_0x586745[_0x4990('0x17')];var _0xb0ef4a=_0x11c611?_0x56c1e9[_0x4990('0x1a')]:_0x586745['offset']+_0x586745[_0x4990('0x19')];var _0x2e7b5d;if(_0xb0ef4a>=_0x1b36f7){_0xb0ef4a=_0x1b36f7;_0x2e7b5d=0xc8;}else{_0x2e7b5d=0xce;}_0x325411[_0x4990('0x16')](_0x2e7b5d);return _0x325411['set'](_0x4990('0x1b'),_0x271e8c+'-'+_0xb0ef4a+'/'+_0x1b36f7)[_0x4990('0x1c')](_0x56c1e9);}return null;};}function patchUpdates(_0x124270){return function(_0x20f75e){try{jsonpatch['apply'](_0x20f75e,_0x124270,!![]);}catch(_0x2a738f){return BPromise[_0x4990('0x1d')](_0x2a738f);}return _0x20f75e['save']();};}function saveUpdates(_0x148829,_0x40fe0f){return function(_0x4bc0c8){if(_0x4bc0c8){return _0x4bc0c8[_0x4990('0x1e')](_0x148829)['then'](function(_0x5ebcba){return _0x5ebcba;});}return null;};}function removeEntity(_0x44796e,_0x15f603){return function(_0x3800c7){if(_0x3800c7){return _0x3800c7[_0x4990('0x1f')]()['then'](function(){_0x44796e[_0x4990('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ff4d0,_0x252ed4){return function(_0x481e69){if(!_0x481e69){_0x2ff4d0[_0x4990('0x15')](0x194);}return _0x481e69;};}function handleError(_0x119fbe,_0x522bec){_0x522bec=_0x522bec||0x1f4;return function(_0x56bda1){logger[_0x4990('0x20')](_0x56bda1['stack']);if(_0x56bda1[_0x4990('0x21')]){delete _0x56bda1[_0x4990('0x21')];}_0x119fbe[_0x4990('0x16')](_0x522bec)['send'](_0x56bda1);};}exports['index']=function(_0x1d5d5c,_0x1e63d4){var _0x116a77={},_0x3569bf={},_0x111fdf={'count':0x0,'rows':[]};var _0x35b5b1=_['map'](db[_0x4990('0x22')][_0x4990('0x23')],function(_0x974e70){return{'name':_0x974e70[_0x4990('0x24')],'type':_0x974e70[_0x4990('0x25')][_0x4990('0x26')]};});_0x3569bf[_0x4990('0x27')]=_[_0x4990('0x28')](_0x35b5b1,_0x4990('0x21'));_0x3569bf[_0x4990('0x29')]=_[_0x4990('0x2a')](_0x1d5d5c[_0x4990('0x29')]);_0x3569bf[_0x4990('0x2b')]=_[_0x4990('0x2c')](_0x3569bf[_0x4990('0x27')],_0x3569bf[_0x4990('0x29')]);_0x116a77[_0x4990('0x2d')]=_[_0x4990('0x2c')](_0x3569bf[_0x4990('0x27')],qs[_0x4990('0x2e')](_0x1d5d5c[_0x4990('0x29')]['fields']));_0x116a77[_0x4990('0x2d')]=_0x116a77[_0x4990('0x2d')][_0x4990('0x2f')]?_0x116a77[_0x4990('0x2d')]:_0x3569bf['model'];if(!_0x1d5d5c[_0x4990('0x29')]['hasOwnProperty']('nolimit')){_0x116a77[_0x4990('0x19')]=qs['limit'](_0x1d5d5c[_0x4990('0x29')]['limit']);_0x116a77[_0x4990('0x17')]=qs[_0x4990('0x17')](_0x1d5d5c['query'][_0x4990('0x17')]);}_0x116a77[_0x4990('0x30')]=qs[_0x4990('0x31')](_0x1d5d5c[_0x4990('0x29')][_0x4990('0x31')]);_0x116a77[_0x4990('0x32')]=qs[_0x4990('0x2b')](_[_0x4990('0x33')](_0x1d5d5c['query'],_0x3569bf[_0x4990('0x2b')]),_0x35b5b1);if(_0x1d5d5c['query']['filter']){_0x116a77[_0x4990('0x32')]=_[_0x4990('0x34')](_0x116a77['where'],{'$or':_['map'](_0x35b5b1,function(_0x21ce72){if(_0x21ce72[_0x4990('0x25')]!==_0x4990('0x35')){var _0x5032a6={};_0x5032a6[_0x21ce72['name']]={'$like':'%'+_0x1d5d5c[_0x4990('0x29')][_0x4990('0x36')]+'%'};return _0x5032a6;}})});}_0x116a77=_[_0x4990('0x34')]({},_0x116a77,_0x1d5d5c['options']);var _0x1246e0={'where':_0x116a77[_0x4990('0x32')]};return db[_0x4990('0x22')]['count'](_0x1246e0)['then'](function(_0x283a4b){_0x111fdf[_0x4990('0x1a')]=_0x283a4b;if(_0x1d5d5c[_0x4990('0x29')][_0x4990('0x37')]){_0x116a77[_0x4990('0x38')]=[{'all':!![]}];}return db[_0x4990('0x22')]['findAll'](_0x116a77);})[_0x4990('0x39')](function(_0x22c39d){_0x111fdf['rows']=_0x22c39d;return _0x111fdf;})[_0x4990('0x39')](respondWithFilteredResult(_0x1e63d4,_0x116a77))['catch'](handleError(_0x1e63d4,null));};exports['show']=function(_0x3dfdff,_0x334610){var _0x1c723b={'raw':!![],'where':{'id':_0x3dfdff['params']['id']}},_0x298aae={};_0x298aae[_0x4990('0x27')]=_['keys'](db[_0x4990('0x22')][_0x4990('0x23')]);_0x298aae[_0x4990('0x29')]=_[_0x4990('0x2a')](_0x3dfdff[_0x4990('0x29')]);_0x298aae[_0x4990('0x2b')]=_[_0x4990('0x2c')](_0x298aae[_0x4990('0x27')],_0x298aae[_0x4990('0x29')]);_0x1c723b[_0x4990('0x2d')]=_[_0x4990('0x2c')](_0x298aae[_0x4990('0x27')],qs['fields'](_0x3dfdff[_0x4990('0x29')][_0x4990('0x2e')]));_0x1c723b[_0x4990('0x2d')]=_0x1c723b['attributes'][_0x4990('0x2f')]?_0x1c723b[_0x4990('0x2d')]:_0x298aae[_0x4990('0x27')];if(_0x3dfdff[_0x4990('0x29')][_0x4990('0x37')]){_0x1c723b[_0x4990('0x38')]=[{'all':!![]}];}_0x1c723b=_[_0x4990('0x34')]({},_0x1c723b,_0x3dfdff['options']);return db[_0x4990('0x22')][_0x4990('0x3a')](_0x1c723b)[_0x4990('0x39')](handleEntityNotFound(_0x334610,null))[_0x4990('0x39')](respondWithResult(_0x334610,null))[_0x4990('0x3b')](handleError(_0x334610,null));};exports[_0x4990('0x3c')]=function(_0x141001,_0x54cea2){return db[_0x4990('0x22')][_0x4990('0x3c')](_0x141001[_0x4990('0x3d')],{})[_0x4990('0x39')](respondWithResult(_0x54cea2,0xc9))[_0x4990('0x3b')](handleError(_0x54cea2,null));};exports['update']=function(_0x16d00f,_0x1d074e){if(_0x16d00f[_0x4990('0x3d')]['id']){delete _0x16d00f[_0x4990('0x3d')]['id'];}return db[_0x4990('0x22')][_0x4990('0x3a')]({'where':{'id':_0x16d00f['params']['id']}})['then'](handleEntityNotFound(_0x1d074e,null))['then'](saveUpdates(_0x16d00f[_0x4990('0x3d')],null))[_0x4990('0x39')](respondWithResult(_0x1d074e,null))[_0x4990('0x3b')](handleError(_0x1d074e,null));};exports[_0x4990('0x1f')]=function(_0x1807e4,_0x21f2a2){return db[_0x4990('0x22')][_0x4990('0x3a')]({'where':{'id':_0x1807e4[_0x4990('0x3e')]['id']}})['then'](handleEntityNotFound(_0x21f2a2,null))['then'](removeEntity(_0x21f2a2,null))[_0x4990('0x3b')](handleError(_0x21f2a2,null));};