4e1ff91cb0b739a8a9817e8588ef1551b7ac69d2
[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 _0x1177=['limit','count','set','Content-Range','json','apply','reject','save','update','destroy','stack','send','index','ZendeskField','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','order','sort','merge','where','VIRTUAL','name','findAll','then','rows','catch','show','fields','includeAll','include','find','create','body','params','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','fs-extra','squel','crypto','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined'];(function(_0x107454,_0x109c76){var _0x109266=function(_0x386ce9){while(--_0x386ce9){_0x107454['push'](_0x107454['shift']());}};_0x109266(++_0x109c76);}(_0x1177,0x10b));var _0x7117=function(_0x1a1087,_0x4f43f3){_0x1a1087=_0x1a1087-0x0;var _0x5d7081=_0x1177[_0x1a1087];return _0x5d7081;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7117('0x0'));var zipdir=require(_0x7117('0x1'));var jsonpatch=require(_0x7117('0x2'));var rp=require('request-promise');var moment=require(_0x7117('0x3'));var BPromise=require(_0x7117('0x4'));var Mustache=require(_0x7117('0x5'));var util=require(_0x7117('0x6'));var path=require('path');var sox=require(_0x7117('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7117('0x8'));var _=require('lodash');var squel=require(_0x7117('0x9'));var crypto=require(_0x7117('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x7117('0xb'));var querystring=require(_0x7117('0xc'));var Papa=require('papaparse');var Redis=require(_0x7117('0xd'));var authService=require(_0x7117('0xe'));var qs=require(_0x7117('0xf'));var as=require(_0x7117('0x10'));var hardwareService=require(_0x7117('0x11'));var logger=require(_0x7117('0x12'))(_0x7117('0x13'));var utils=require(_0x7117('0x14'));var config=require(_0x7117('0x15'));var licenseUtil=require(_0x7117('0x16'));var db=require(_0x7117('0x17'))['db'];function respondWithStatusCode(_0x1fedc5,_0x932183){_0x932183=_0x932183||0xcc;return function(_0x5726e6){if(_0x5726e6){return _0x1fedc5[_0x7117('0x18')](_0x932183);}return _0x1fedc5[_0x7117('0x19')](_0x932183)[_0x7117('0x1a')]();};}function respondWithResult(_0x69d407,_0x32d0db){_0x32d0db=_0x32d0db||0xc8;return function(_0x134ea7){if(_0x134ea7){return _0x69d407[_0x7117('0x19')](_0x32d0db)['json'](_0x134ea7);}};}function respondWithFilteredResult(_0x54bf02,_0x417377){return function(_0x30b0b4){if(_0x30b0b4){var _0x536011=typeof _0x417377[_0x7117('0x1b')]===_0x7117('0x1c')&&typeof _0x417377[_0x7117('0x1d')]===_0x7117('0x1c');var _0x3c403c=_0x30b0b4[_0x7117('0x1e')];var _0x495698=_0x536011?0x0:_0x417377[_0x7117('0x1b')];var _0x4116a6=_0x536011?_0x30b0b4[_0x7117('0x1e')]:_0x417377[_0x7117('0x1b')]+_0x417377[_0x7117('0x1d')];var _0x31f57f;if(_0x4116a6>=_0x3c403c){_0x4116a6=_0x3c403c;_0x31f57f=0xc8;}else{_0x31f57f=0xce;}_0x54bf02['status'](_0x31f57f);return _0x54bf02[_0x7117('0x1f')](_0x7117('0x20'),_0x495698+'-'+_0x4116a6+'/'+_0x3c403c)[_0x7117('0x21')](_0x30b0b4);}return null;};}function patchUpdates(_0x36ef6d){return function(_0x5a79e2){try{jsonpatch[_0x7117('0x22')](_0x5a79e2,_0x36ef6d,!![]);}catch(_0x3f91ee){return BPromise[_0x7117('0x23')](_0x3f91ee);}return _0x5a79e2[_0x7117('0x24')]();};}function saveUpdates(_0x501936,_0xde8ef9){return function(_0x4966b8){if(_0x4966b8){return _0x4966b8[_0x7117('0x25')](_0x501936)['then'](function(_0x1b8027){return _0x1b8027;});}return null;};}function removeEntity(_0x17f8b9,_0x10314a){return function(_0x46bf5f){if(_0x46bf5f){return _0x46bf5f[_0x7117('0x26')]()['then'](function(){_0x17f8b9[_0x7117('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2d2c9d,_0x1f44d6){return function(_0x277197){if(!_0x277197){_0x2d2c9d[_0x7117('0x18')](0x194);}return _0x277197;};}function handleError(_0x416f86,_0x45a37d){_0x45a37d=_0x45a37d||0x1f4;return function(_0x36b7e2){logger['error'](_0x36b7e2[_0x7117('0x27')]);if(_0x36b7e2['name']){delete _0x36b7e2['name'];}_0x416f86[_0x7117('0x19')](_0x45a37d)[_0x7117('0x28')](_0x36b7e2);};}exports[_0x7117('0x29')]=function(_0x35ec01,_0xd77bcf){var _0x2f9bab={},_0x4413d8={},_0x47bcf5={'count':0x0,'rows':[]};var _0x3d7ca5=_['map'](db[_0x7117('0x2a')][_0x7117('0x2b')],function(_0x4d7050){return{'name':_0x4d7050[_0x7117('0x2c')],'type':_0x4d7050[_0x7117('0x2d')][_0x7117('0x2e')]};});_0x4413d8['model']=_[_0x7117('0x2f')](_0x3d7ca5,'name');_0x4413d8[_0x7117('0x30')]=_[_0x7117('0x31')](_0x35ec01[_0x7117('0x30')]);_0x4413d8[_0x7117('0x32')]=_[_0x7117('0x33')](_0x4413d8[_0x7117('0x34')],_0x4413d8[_0x7117('0x30')]);_0x2f9bab[_0x7117('0x35')]=_['intersection'](_0x4413d8['model'],qs['fields'](_0x35ec01[_0x7117('0x30')]['fields']));_0x2f9bab['attributes']=_0x2f9bab['attributes'][_0x7117('0x36')]?_0x2f9bab[_0x7117('0x35')]:_0x4413d8[_0x7117('0x34')];if(!_0x35ec01[_0x7117('0x30')][_0x7117('0x37')]('nolimit')){_0x2f9bab[_0x7117('0x1d')]=qs['limit'](_0x35ec01[_0x7117('0x30')][_0x7117('0x1d')]);_0x2f9bab[_0x7117('0x1b')]=qs[_0x7117('0x1b')](_0x35ec01[_0x7117('0x30')][_0x7117('0x1b')]);}_0x2f9bab[_0x7117('0x38')]=qs[_0x7117('0x39')](_0x35ec01[_0x7117('0x30')]['sort']);_0x2f9bab['where']=qs['filters'](_['pick'](_0x35ec01[_0x7117('0x30')],_0x4413d8[_0x7117('0x32')]),_0x3d7ca5);if(_0x35ec01[_0x7117('0x30')]['filter']){_0x2f9bab['where']=_[_0x7117('0x3a')](_0x2f9bab[_0x7117('0x3b')],{'$or':_[_0x7117('0x2f')](_0x3d7ca5,function(_0x403865){if(_0x403865[_0x7117('0x2d')]!==_0x7117('0x3c')){var _0x561967={};_0x561967[_0x403865[_0x7117('0x3d')]]={'$like':'%'+_0x35ec01[_0x7117('0x30')]['filter']+'%'};return _0x561967;}})});}_0x2f9bab=_[_0x7117('0x3a')]({},_0x2f9bab,_0x35ec01['options']);var _0x346c3f={'where':_0x2f9bab[_0x7117('0x3b')]};return db['ZendeskField'][_0x7117('0x1e')](_0x346c3f)['then'](function(_0x2189f1){_0x47bcf5[_0x7117('0x1e')]=_0x2189f1;if(_0x35ec01['query']['includeAll']){_0x2f9bab['include']=[{'all':!![]}];}return db['ZendeskField'][_0x7117('0x3e')](_0x2f9bab);})[_0x7117('0x3f')](function(_0x5c554c){_0x47bcf5[_0x7117('0x40')]=_0x5c554c;return _0x47bcf5;})[_0x7117('0x3f')](respondWithFilteredResult(_0xd77bcf,_0x2f9bab))[_0x7117('0x41')](handleError(_0xd77bcf,null));};exports[_0x7117('0x42')]=function(_0x180664,_0x240d63){var _0x18b0d={'raw':!![],'where':{'id':_0x180664['params']['id']}},_0x5342d8={};_0x5342d8['model']=_['keys'](db[_0x7117('0x2a')]['rawAttributes']);_0x5342d8[_0x7117('0x30')]=_[_0x7117('0x31')](_0x180664[_0x7117('0x30')]);_0x5342d8[_0x7117('0x32')]=_[_0x7117('0x33')](_0x5342d8[_0x7117('0x34')],_0x5342d8['query']);_0x18b0d[_0x7117('0x35')]=_[_0x7117('0x33')](_0x5342d8[_0x7117('0x34')],qs['fields'](_0x180664[_0x7117('0x30')][_0x7117('0x43')]));_0x18b0d['attributes']=_0x18b0d[_0x7117('0x35')][_0x7117('0x36')]?_0x18b0d['attributes']:_0x5342d8[_0x7117('0x34')];if(_0x180664[_0x7117('0x30')][_0x7117('0x44')]){_0x18b0d[_0x7117('0x45')]=[{'all':!![]}];}_0x18b0d=_['merge']({},_0x18b0d,_0x180664['options']);return db[_0x7117('0x2a')][_0x7117('0x46')](_0x18b0d)[_0x7117('0x3f')](handleEntityNotFound(_0x240d63,null))[_0x7117('0x3f')](respondWithResult(_0x240d63,null))[_0x7117('0x41')](handleError(_0x240d63,null));};exports[_0x7117('0x47')]=function(_0xdde239,_0x4194fd){return db[_0x7117('0x2a')][_0x7117('0x47')](_0xdde239[_0x7117('0x48')],{})[_0x7117('0x3f')](respondWithResult(_0x4194fd,0xc9))[_0x7117('0x41')](handleError(_0x4194fd,null));};exports[_0x7117('0x25')]=function(_0x2b376a,_0x36abf4){if(_0x2b376a[_0x7117('0x48')]['id']){delete _0x2b376a[_0x7117('0x48')]['id'];}return db[_0x7117('0x2a')][_0x7117('0x46')]({'where':{'id':_0x2b376a['params']['id']}})[_0x7117('0x3f')](handleEntityNotFound(_0x36abf4,null))['then'](saveUpdates(_0x2b376a['body'],null))[_0x7117('0x3f')](respondWithResult(_0x36abf4,null))[_0x7117('0x41')](handleError(_0x36abf4,null));};exports[_0x7117('0x26')]=function(_0x16901f,_0x361555){return db[_0x7117('0x2a')][_0x7117('0x46')]({'where':{'id':_0x16901f[_0x7117('0x49')]['id']}})[_0x7117('0x3f')](handleEntityNotFound(_0x361555,null))[_0x7117('0x3f')](removeEntity(_0x361555,null))[_0x7117('0x41')](handleError(_0x361555,null));};