Built motion from commit 936e8062.|2.5.33
[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 _0x95b9=['status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','update','then','destroy','name','send','index','map','ZendeskField','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','nolimit','order','sort','where','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','create','body','find','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus'];(function(_0x286609,_0x555192){var _0x2162f9=function(_0x465b30){while(--_0x465b30){_0x286609['push'](_0x286609['shift']());}};_0x2162f9(++_0x555192);}(_0x95b9,0x10c));var _0x995b=function(_0x281176,_0x583ac9){_0x281176=_0x281176-0x0;var _0x4aca24=_0x95b9[_0x281176];return _0x4aca24;};'use strict';var emlformat=require(_0x995b('0x0'));var rimraf=require(_0x995b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x995b('0x2'));var rp=require('request-promise');var moment=require(_0x995b('0x3'));var BPromise=require(_0x995b('0x4'));var Mustache=require(_0x995b('0x5'));var util=require(_0x995b('0x6'));var path=require(_0x995b('0x7'));var sox=require('sox');var csv=require(_0x995b('0x8'));var ejs=require(_0x995b('0x9'));var fs=require('fs');var fs_extra=require(_0x995b('0xa'));var _=require(_0x995b('0xb'));var squel=require(_0x995b('0xc'));var crypto=require(_0x995b('0xd'));var jsforce=require(_0x995b('0xe'));var deskjs=require(_0x995b('0xf'));var toCsv=require(_0x995b('0x8'));var querystring=require(_0x995b('0x10'));var Papa=require(_0x995b('0x11'));var Redis=require(_0x995b('0x12'));var authService=require(_0x995b('0x13'));var qs=require(_0x995b('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x995b('0x15'));var logger=require(_0x995b('0x16'))(_0x995b('0x17'));var utils=require(_0x995b('0x18'));var config=require(_0x995b('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x995b('0x1a'))['db'];function respondWithStatusCode(_0x50beda,_0x296c51){_0x296c51=_0x296c51||0xcc;return function(_0x52c4b2){if(_0x52c4b2){return _0x50beda[_0x995b('0x1b')](_0x296c51);}return _0x50beda[_0x995b('0x1c')](_0x296c51)[_0x995b('0x1d')]();};}function respondWithResult(_0x19f808,_0x29795c){_0x29795c=_0x29795c||0xc8;return function(_0x2e11fe){if(_0x2e11fe){return _0x19f808[_0x995b('0x1c')](_0x29795c)[_0x995b('0x1e')](_0x2e11fe);}};}function respondWithFilteredResult(_0x4d0aaf,_0x46ba54){return function(_0x5ec537){if(_0x5ec537){var _0x24549e=typeof _0x46ba54[_0x995b('0x1f')]==='undefined'&&typeof _0x46ba54['limit']===_0x995b('0x20');var _0x5d6c0f=_0x5ec537[_0x995b('0x21')];var _0x154f5b=_0x24549e?0x0:_0x46ba54[_0x995b('0x1f')];var _0x3ad787=_0x24549e?_0x5ec537[_0x995b('0x21')]:_0x46ba54['offset']+_0x46ba54[_0x995b('0x22')];var _0x3c989f;if(_0x3ad787>=_0x5d6c0f){_0x3ad787=_0x5d6c0f;_0x3c989f=0xc8;}else{_0x3c989f=0xce;}_0x4d0aaf[_0x995b('0x1c')](_0x3c989f);return _0x4d0aaf['set'](_0x995b('0x23'),_0x154f5b+'-'+_0x3ad787+'/'+_0x5d6c0f)['json'](_0x5ec537);}return null;};}function patchUpdates(_0x6b3552){return function(_0x57dc9b){try{jsonpatch[_0x995b('0x24')](_0x57dc9b,_0x6b3552,!![]);}catch(_0xf887fc){return BPromise[_0x995b('0x25')](_0xf887fc);}return _0x57dc9b['save']();};}function saveUpdates(_0x5e9c7e,_0x48459f){return function(_0x4240c2){if(_0x4240c2){return _0x4240c2[_0x995b('0x26')](_0x5e9c7e)[_0x995b('0x27')](function(_0xc314e7){return _0xc314e7;});}return null;};}function removeEntity(_0x539755,_0x1fc8f8){return function(_0x944e34){if(_0x944e34){return _0x944e34[_0x995b('0x28')]()['then'](function(){_0x539755[_0x995b('0x1c')](0xcc)[_0x995b('0x1d')]();});}};}function handleEntityNotFound(_0x5dbcf8,_0xfdfd71){return function(_0x2fd72c){if(!_0x2fd72c){_0x5dbcf8['sendStatus'](0x194);}return _0x2fd72c;};}function handleError(_0x5c6882,_0x422244){_0x422244=_0x422244||0x1f4;return function(_0x5b183d){logger['error'](_0x5b183d['stack']);if(_0x5b183d[_0x995b('0x29')]){delete _0x5b183d[_0x995b('0x29')];}_0x5c6882[_0x995b('0x1c')](_0x422244)[_0x995b('0x2a')](_0x5b183d);};}exports[_0x995b('0x2b')]=function(_0x599f45,_0x352052){var _0x3cac34={},_0x151e05={},_0x2d9c75={'count':0x0,'rows':[]};var _0x3796a8=_[_0x995b('0x2c')](db[_0x995b('0x2d')][_0x995b('0x2e')],function(_0x4f4915){return{'name':_0x4f4915[_0x995b('0x2f')],'type':_0x4f4915['type'][_0x995b('0x30')]};});_0x151e05[_0x995b('0x31')]=_[_0x995b('0x2c')](_0x3796a8,_0x995b('0x29'));_0x151e05[_0x995b('0x32')]=_[_0x995b('0x33')](_0x599f45['query']);_0x151e05[_0x995b('0x34')]=_['intersection'](_0x151e05['model'],_0x151e05[_0x995b('0x32')]);_0x3cac34[_0x995b('0x35')]=_[_0x995b('0x36')](_0x151e05[_0x995b('0x31')],qs[_0x995b('0x37')](_0x599f45[_0x995b('0x32')][_0x995b('0x37')]));_0x3cac34[_0x995b('0x35')]=_0x3cac34[_0x995b('0x35')][_0x995b('0x38')]?_0x3cac34[_0x995b('0x35')]:_0x151e05[_0x995b('0x31')];if(!_0x599f45['query']['hasOwnProperty'](_0x995b('0x39'))){_0x3cac34[_0x995b('0x22')]=qs[_0x995b('0x22')](_0x599f45['query'][_0x995b('0x22')]);_0x3cac34[_0x995b('0x1f')]=qs[_0x995b('0x1f')](_0x599f45['query'][_0x995b('0x1f')]);}_0x3cac34[_0x995b('0x3a')]=qs[_0x995b('0x3b')](_0x599f45[_0x995b('0x32')][_0x995b('0x3b')]);_0x3cac34[_0x995b('0x3c')]=qs[_0x995b('0x34')](_['pick'](_0x599f45[_0x995b('0x32')],_0x151e05['filters']),_0x3796a8);if(_0x599f45[_0x995b('0x32')][_0x995b('0x3d')]){_0x3cac34[_0x995b('0x3c')]=_[_0x995b('0x3e')](_0x3cac34[_0x995b('0x3c')],{'$or':_['map'](_0x3796a8,function(_0xfde005){if(_0xfde005['type']!==_0x995b('0x3f')){var _0x50f560={};_0x50f560[_0xfde005['name']]={'$like':'%'+_0x599f45[_0x995b('0x32')][_0x995b('0x3d')]+'%'};return _0x50f560;}})});}_0x3cac34=_[_0x995b('0x3e')]({},_0x3cac34,_0x599f45[_0x995b('0x40')]);var _0x2ed949={'where':_0x3cac34['where']};return db[_0x995b('0x2d')][_0x995b('0x21')](_0x2ed949)[_0x995b('0x27')](function(_0x332bc4){_0x2d9c75['count']=_0x332bc4;if(_0x599f45[_0x995b('0x32')]['includeAll']){_0x3cac34[_0x995b('0x41')]=[{'all':!![]}];}return db[_0x995b('0x2d')][_0x995b('0x42')](_0x3cac34);})[_0x995b('0x27')](function(_0x1ff2bd){_0x2d9c75[_0x995b('0x43')]=_0x1ff2bd;return _0x2d9c75;})[_0x995b('0x27')](respondWithFilteredResult(_0x352052,_0x3cac34))[_0x995b('0x44')](handleError(_0x352052,null));};exports[_0x995b('0x45')]=function(_0x25f35a,_0x12f887){var _0x5ceeb6={'raw':!![],'where':{'id':_0x25f35a[_0x995b('0x46')]['id']}},_0x171cea={};_0x171cea[_0x995b('0x31')]=_[_0x995b('0x33')](db[_0x995b('0x2d')]['rawAttributes']);_0x171cea[_0x995b('0x32')]=_['keys'](_0x25f35a[_0x995b('0x32')]);_0x171cea[_0x995b('0x34')]=_['intersection'](_0x171cea[_0x995b('0x31')],_0x171cea['query']);_0x5ceeb6[_0x995b('0x35')]=_[_0x995b('0x36')](_0x171cea['model'],qs['fields'](_0x25f35a[_0x995b('0x32')][_0x995b('0x37')]));_0x5ceeb6[_0x995b('0x35')]=_0x5ceeb6['attributes']['length']?_0x5ceeb6[_0x995b('0x35')]:_0x171cea[_0x995b('0x31')];if(_0x25f35a['query']['includeAll']){_0x5ceeb6[_0x995b('0x41')]=[{'all':!![]}];}_0x5ceeb6=_['merge']({},_0x5ceeb6,_0x25f35a['options']);return db[_0x995b('0x2d')]['find'](_0x5ceeb6)[_0x995b('0x27')](handleEntityNotFound(_0x12f887,null))['then'](respondWithResult(_0x12f887,null))[_0x995b('0x44')](handleError(_0x12f887,null));};exports[_0x995b('0x47')]=function(_0x352937,_0x25aaf4){return db['ZendeskField']['create'](_0x352937[_0x995b('0x48')],{})[_0x995b('0x27')](respondWithResult(_0x25aaf4,0xc9))['catch'](handleError(_0x25aaf4,null));};exports[_0x995b('0x26')]=function(_0x280c39,_0x140985){if(_0x280c39[_0x995b('0x48')]['id']){delete _0x280c39[_0x995b('0x48')]['id'];}return db[_0x995b('0x2d')][_0x995b('0x49')]({'where':{'id':_0x280c39[_0x995b('0x46')]['id']}})[_0x995b('0x27')](handleEntityNotFound(_0x140985,null))[_0x995b('0x27')](saveUpdates(_0x280c39[_0x995b('0x48')],null))['then'](respondWithResult(_0x140985,null))['catch'](handleError(_0x140985,null));};exports[_0x995b('0x28')]=function(_0x126a4f,_0x152e92){return db['ZendeskField'][_0x995b('0x49')]({'where':{'id':_0x126a4f[_0x995b('0x46')]['id']}})[_0x995b('0x27')](handleEntityNotFound(_0x152e92,null))[_0x995b('0x27')](removeEntity(_0x152e92,null))[_0x995b('0x44')](handleError(_0x152e92,null));};