29b785789bbc0c1a0d67eaef943bd126b6da3e59
[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 _0xbe0f=['then','includeAll','include','findAll','rows','show','params','find','catch','create','body','eml-format','rimraf','request-promise','bluebird','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','error','name','send','index','map','ZendeskField','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','options'];(function(_0x3510dd,_0x28476c){var _0x4b47e2=function(_0x3bdf30){while(--_0x3bdf30){_0x3510dd['push'](_0x3510dd['shift']());}};_0x4b47e2(++_0x28476c);}(_0xbe0f,0x1d3));var _0xfbe0=function(_0x16ec8d,_0x4bf3f0){_0x16ec8d=_0x16ec8d-0x0;var _0x12bdbf=_0xbe0f[_0x16ec8d];return _0x12bdbf;};'use strict';var emlformat=require(_0xfbe0('0x0'));var rimraf=require(_0xfbe0('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xfbe0('0x2'));var moment=require('moment');var BPromise=require(_0xfbe0('0x3'));var Mustache=require('mustache');var util=require(_0xfbe0('0x4'));var path=require(_0xfbe0('0x5'));var sox=require(_0xfbe0('0x6'));var csv=require('to-csv');var ejs=require(_0xfbe0('0x7'));var fs=require('fs');var fs_extra=require(_0xfbe0('0x8'));var _=require('lodash');var squel=require(_0xfbe0('0x9'));var crypto=require(_0xfbe0('0xa'));var jsforce=require(_0xfbe0('0xb'));var deskjs=require(_0xfbe0('0xc'));var toCsv=require(_0xfbe0('0xd'));var querystring=require('querystring');var Papa=require(_0xfbe0('0xe'));var Redis=require(_0xfbe0('0xf'));var authService=require(_0xfbe0('0x10'));var qs=require(_0xfbe0('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfbe0('0x12'));var logger=require(_0xfbe0('0x13'))(_0xfbe0('0x14'));var utils=require(_0xfbe0('0x15'));var config=require(_0xfbe0('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xfbe0('0x17'))['db'];function respondWithStatusCode(_0x266dc8,_0x50eb9b){_0x50eb9b=_0x50eb9b||0xcc;return function(_0x69f1f9){if(_0x69f1f9){return _0x266dc8[_0xfbe0('0x18')](_0x50eb9b);}return _0x266dc8[_0xfbe0('0x19')](_0x50eb9b)[_0xfbe0('0x1a')]();};}function respondWithResult(_0xa82657,_0xfdc0c5){_0xfdc0c5=_0xfdc0c5||0xc8;return function(_0x1124e1){if(_0x1124e1){return _0xa82657[_0xfbe0('0x19')](_0xfdc0c5)[_0xfbe0('0x1b')](_0x1124e1);}};}function respondWithFilteredResult(_0x2c4f8f,_0x1dc43a){return function(_0x3fc06d){if(_0x3fc06d){var _0x33e4dc=typeof _0x1dc43a[_0xfbe0('0x1c')]===_0xfbe0('0x1d')&&typeof _0x1dc43a[_0xfbe0('0x1e')]===_0xfbe0('0x1d');var _0x583a10=_0x3fc06d['count'];var _0x5db910=_0x33e4dc?0x0:_0x1dc43a[_0xfbe0('0x1c')];var _0x3bb90d=_0x33e4dc?_0x3fc06d[_0xfbe0('0x1f')]:_0x1dc43a['offset']+_0x1dc43a[_0xfbe0('0x1e')];var _0xf28e67;if(_0x3bb90d>=_0x583a10){_0x3bb90d=_0x583a10;_0xf28e67=0xc8;}else{_0xf28e67=0xce;}_0x2c4f8f['status'](_0xf28e67);return _0x2c4f8f[_0xfbe0('0x20')](_0xfbe0('0x21'),_0x5db910+'-'+_0x3bb90d+'/'+_0x583a10)[_0xfbe0('0x1b')](_0x3fc06d);}return null;};}function patchUpdates(_0x3bdb0b){return function(_0x22dfa4){try{jsonpatch[_0xfbe0('0x22')](_0x22dfa4,_0x3bdb0b,!![]);}catch(_0x133aef){return BPromise[_0xfbe0('0x23')](_0x133aef);}return _0x22dfa4[_0xfbe0('0x24')]();};}function saveUpdates(_0x36fe1d,_0x1821bb){return function(_0x55eaf4){if(_0x55eaf4){return _0x55eaf4[_0xfbe0('0x25')](_0x36fe1d)['then'](function(_0x2e5755){return _0x2e5755;});}return null;};}function removeEntity(_0x103e31,_0x4bab8d){return function(_0x4ca905){if(_0x4ca905){return _0x4ca905[_0xfbe0('0x26')]()['then'](function(){_0x103e31[_0xfbe0('0x19')](0xcc)[_0xfbe0('0x1a')]();});}};}function handleEntityNotFound(_0x5af540,_0x57918d){return function(_0x5e7a5c){if(!_0x5e7a5c){_0x5af540[_0xfbe0('0x18')](0x194);}return _0x5e7a5c;};}function handleError(_0xe1392b,_0xc2d77c){_0xc2d77c=_0xc2d77c||0x1f4;return function(_0x1b5788){logger[_0xfbe0('0x27')](_0x1b5788['stack']);if(_0x1b5788[_0xfbe0('0x28')]){delete _0x1b5788[_0xfbe0('0x28')];}_0xe1392b[_0xfbe0('0x19')](_0xc2d77c)[_0xfbe0('0x29')](_0x1b5788);};}exports[_0xfbe0('0x2a')]=function(_0xfae62d,_0x106388){var _0xa170a6={},_0x1e5f2e={},_0x4f1463={'count':0x0,'rows':[]};var _0x248e81=_[_0xfbe0('0x2b')](db[_0xfbe0('0x2c')][_0xfbe0('0x2d')],function(_0x11d116){return{'name':_0x11d116[_0xfbe0('0x2e')],'type':_0x11d116[_0xfbe0('0x2f')][_0xfbe0('0x30')]};});_0x1e5f2e[_0xfbe0('0x31')]=_[_0xfbe0('0x2b')](_0x248e81,_0xfbe0('0x28'));_0x1e5f2e[_0xfbe0('0x32')]=_['keys'](_0xfae62d[_0xfbe0('0x32')]);_0x1e5f2e[_0xfbe0('0x33')]=_[_0xfbe0('0x34')](_0x1e5f2e[_0xfbe0('0x31')],_0x1e5f2e[_0xfbe0('0x32')]);_0xa170a6['attributes']=_[_0xfbe0('0x34')](_0x1e5f2e[_0xfbe0('0x31')],qs['fields'](_0xfae62d['query'][_0xfbe0('0x35')]));_0xa170a6[_0xfbe0('0x36')]=_0xa170a6[_0xfbe0('0x36')][_0xfbe0('0x37')]?_0xa170a6['attributes']:_0x1e5f2e[_0xfbe0('0x31')];if(!_0xfae62d[_0xfbe0('0x32')][_0xfbe0('0x38')](_0xfbe0('0x39'))){_0xa170a6[_0xfbe0('0x1e')]=qs[_0xfbe0('0x1e')](_0xfae62d[_0xfbe0('0x32')][_0xfbe0('0x1e')]);_0xa170a6[_0xfbe0('0x1c')]=qs[_0xfbe0('0x1c')](_0xfae62d[_0xfbe0('0x32')][_0xfbe0('0x1c')]);}_0xa170a6[_0xfbe0('0x3a')]=qs[_0xfbe0('0x3b')](_0xfae62d['query'][_0xfbe0('0x3b')]);_0xa170a6[_0xfbe0('0x3c')]=qs[_0xfbe0('0x33')](_[_0xfbe0('0x3d')](_0xfae62d[_0xfbe0('0x32')],_0x1e5f2e[_0xfbe0('0x33')]),_0x248e81);if(_0xfae62d['query']['filter']){_0xa170a6[_0xfbe0('0x3c')]=_[_0xfbe0('0x3e')](_0xa170a6[_0xfbe0('0x3c')],{'$or':_[_0xfbe0('0x2b')](_0x248e81,function(_0x21176c){if(_0x21176c[_0xfbe0('0x2f')]!==_0xfbe0('0x3f')){var _0x11eaf1={};_0x11eaf1[_0x21176c[_0xfbe0('0x28')]]={'$like':'%'+_0xfae62d[_0xfbe0('0x32')]['filter']+'%'};return _0x11eaf1;}})});}_0xa170a6=_[_0xfbe0('0x3e')]({},_0xa170a6,_0xfae62d[_0xfbe0('0x40')]);var _0x11d2fa={'where':_0xa170a6[_0xfbe0('0x3c')]};return db[_0xfbe0('0x2c')]['count'](_0x11d2fa)[_0xfbe0('0x41')](function(_0xbe6054){_0x4f1463[_0xfbe0('0x1f')]=_0xbe6054;if(_0xfae62d[_0xfbe0('0x32')][_0xfbe0('0x42')]){_0xa170a6[_0xfbe0('0x43')]=[{'all':!![]}];}return db[_0xfbe0('0x2c')][_0xfbe0('0x44')](_0xa170a6);})['then'](function(_0x2c4121){_0x4f1463[_0xfbe0('0x45')]=_0x2c4121;return _0x4f1463;})[_0xfbe0('0x41')](respondWithFilteredResult(_0x106388,_0xa170a6))['catch'](handleError(_0x106388,null));};exports[_0xfbe0('0x46')]=function(_0x395cae,_0xcc4a21){var _0x128736={'raw':!![],'where':{'id':_0x395cae[_0xfbe0('0x47')]['id']}},_0x24bce4={};_0x24bce4[_0xfbe0('0x31')]=_['keys'](db[_0xfbe0('0x2c')]['rawAttributes']);_0x24bce4[_0xfbe0('0x32')]=_['keys'](_0x395cae[_0xfbe0('0x32')]);_0x24bce4[_0xfbe0('0x33')]=_['intersection'](_0x24bce4[_0xfbe0('0x31')],_0x24bce4[_0xfbe0('0x32')]);_0x128736[_0xfbe0('0x36')]=_[_0xfbe0('0x34')](_0x24bce4['model'],qs[_0xfbe0('0x35')](_0x395cae[_0xfbe0('0x32')][_0xfbe0('0x35')]));_0x128736[_0xfbe0('0x36')]=_0x128736[_0xfbe0('0x36')][_0xfbe0('0x37')]?_0x128736[_0xfbe0('0x36')]:_0x24bce4[_0xfbe0('0x31')];if(_0x395cae[_0xfbe0('0x32')][_0xfbe0('0x42')]){_0x128736['include']=[{'all':!![]}];}_0x128736=_[_0xfbe0('0x3e')]({},_0x128736,_0x395cae[_0xfbe0('0x40')]);return db[_0xfbe0('0x2c')][_0xfbe0('0x48')](_0x128736)['then'](handleEntityNotFound(_0xcc4a21,null))[_0xfbe0('0x41')](respondWithResult(_0xcc4a21,null))[_0xfbe0('0x49')](handleError(_0xcc4a21,null));};exports[_0xfbe0('0x4a')]=function(_0x593349,_0x182753){return db[_0xfbe0('0x2c')][_0xfbe0('0x4a')](_0x593349['body'],{})[_0xfbe0('0x41')](respondWithResult(_0x182753,0xc9))[_0xfbe0('0x49')](handleError(_0x182753,null));};exports['update']=function(_0x125a3a,_0x3745ee){if(_0x125a3a[_0xfbe0('0x4b')]['id']){delete _0x125a3a[_0xfbe0('0x4b')]['id'];}return db[_0xfbe0('0x2c')][_0xfbe0('0x48')]({'where':{'id':_0x125a3a[_0xfbe0('0x47')]['id']}})[_0xfbe0('0x41')](handleEntityNotFound(_0x3745ee,null))[_0xfbe0('0x41')](saveUpdates(_0x125a3a['body'],null))[_0xfbe0('0x41')](respondWithResult(_0x3745ee,null))[_0xfbe0('0x49')](handleError(_0x3745ee,null));};exports[_0xfbe0('0x26')]=function(_0x3769ee,_0x52eb57){return db[_0xfbe0('0x2c')][_0xfbe0('0x48')]({'where':{'id':_0x3769ee[_0xfbe0('0x47')]['id']}})[_0xfbe0('0x41')](handleEntityNotFound(_0x52eb57,null))['then'](removeEntity(_0x52eb57,null))[_0xfbe0('0x49')](handleError(_0x52eb57,null));};