849aec415e6865ed8f5d276b83383d08e10e09e8
[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 _0xaa31=['api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','ZendeskField','rawAttributes','fieldName','key','model','map','query','filters','intersection','attributes','fields','nolimit','limit','order','sort','where','filter','type','VIRTUAL','options','includeAll','include','rows','params','keys','merge','find','catch','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger'];(function(_0x187399,_0x40c56d){var _0x40fa92=function(_0x36058c){while(--_0x36058c){_0x187399['push'](_0x187399['shift']());}};_0x40fa92(++_0x40c56d);}(_0xaa31,0x115));var _0x1aa3=function(_0x616290,_0x280b7f){_0x616290=_0x616290-0x0;var _0x453879=_0xaa31[_0x616290];return _0x453879;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x1aa3('0x0'));var rimraf=require(_0x1aa3('0x1'));var zipdir=require(_0x1aa3('0x2'));var jsonpatch=require(_0x1aa3('0x3'));var rp=require(_0x1aa3('0x4'));var moment=require(_0x1aa3('0x5'));var BPromise=require(_0x1aa3('0x6'));var Mustache=require(_0x1aa3('0x7'));var util=require(_0x1aa3('0x8'));var path=require(_0x1aa3('0x9'));var sox=require(_0x1aa3('0xa'));var csv=require(_0x1aa3('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x1aa3('0xc'));var squel=require(_0x1aa3('0xd'));var crypto=require(_0x1aa3('0xe'));var jsforce=require(_0x1aa3('0xf'));var deskjs=require(_0x1aa3('0x10'));var toCsv=require(_0x1aa3('0xb'));var querystring=require(_0x1aa3('0x11'));var Papa=require(_0x1aa3('0x12'));var Redis=require('ioredis');var authService=require(_0x1aa3('0x13'));var qs=require(_0x1aa3('0x14'));var as=require(_0x1aa3('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1aa3('0x16'))(_0x1aa3('0x17'));var utils=require(_0x1aa3('0x18'));var config=require(_0x1aa3('0x19'));var db=require(_0x1aa3('0x1a'))['db'];function respondWithStatusCode(_0x1ea2b4,_0x52a668){_0x52a668=_0x52a668||0xcc;return function(_0x280008){if(_0x280008){return _0x1ea2b4[_0x1aa3('0x1b')](_0x52a668);}return _0x1ea2b4[_0x1aa3('0x1c')](_0x52a668)[_0x1aa3('0x1d')]();};}function respondWithResult(_0x5b10d8,_0x44abda){_0x44abda=_0x44abda||0xc8;return function(_0xcbcfcb){if(_0xcbcfcb){return _0x5b10d8[_0x1aa3('0x1c')](_0x44abda)[_0x1aa3('0x1e')](_0xcbcfcb);}};}function respondWithFilteredResult(_0x369a39,_0x3167f7){return function(_0x3e3da5){if(_0x3e3da5){var _0xce63b=_0x3e3da5[_0x1aa3('0x1f')],_0x53a5f5=_0x3167f7[_0x1aa3('0x20')],_0x5110e6=_0x3167f7[_0x1aa3('0x20')]+_0x3167f7['limit'],_0x50a200;if(_0x5110e6>=_0xce63b){_0x5110e6=_0xce63b;_0x50a200=0xc8;}else{_0x50a200=0xce;}_0x369a39[_0x1aa3('0x1c')](_0x50a200);return _0x369a39[_0x1aa3('0x21')](_0x1aa3('0x22'),_0x53a5f5+'-'+_0x5110e6+'/'+_0xce63b)[_0x1aa3('0x1e')](_0x3e3da5);}return null;};}function patchUpdates(_0x44d3fd){return function(_0x39af){try{jsonpatch[_0x1aa3('0x23')](_0x39af,_0x44d3fd,!![]);}catch(_0x2254f3){return BPromise[_0x1aa3('0x24')](_0x2254f3);}return _0x39af[_0x1aa3('0x25')]();};}function saveUpdates(_0x42f0b0,_0x280bc4){return function(_0x2c1f79){if(_0x2c1f79){return _0x2c1f79[_0x1aa3('0x26')](_0x42f0b0)[_0x1aa3('0x27')](function(_0x5a7b57){return _0x5a7b57;});}return null;};}function removeEntity(_0x2e751d,_0x484ff6){return function(_0x7caaed){if(_0x7caaed){return _0x7caaed[_0x1aa3('0x28')]()[_0x1aa3('0x27')](function(){_0x2e751d[_0x1aa3('0x1c')](0xcc)[_0x1aa3('0x1d')]();});}};}function handleEntityNotFound(_0x48994e,_0xc33bc0){return function(_0x504e6c){if(!_0x504e6c){_0x48994e[_0x1aa3('0x1b')](0x194);}return _0x504e6c;};}function handleError(_0x538222,_0x3ab91d){_0x3ab91d=_0x3ab91d||0x1f4;return function(_0x5e8066){logger[_0x1aa3('0x29')](_0x5e8066[_0x1aa3('0x2a')]);if(_0x5e8066['name']){delete _0x5e8066[_0x1aa3('0x2b')];}_0x538222['status'](_0x3ab91d)[_0x1aa3('0x2c')](_0x5e8066);};}exports['index']=function(_0x204c4f,_0x4561c9){var _0x2c6771={},_0x3b3289={},_0x3f2a9a={'count':0x0,'rows':[]};var _0x5aaff1=_['map'](db[_0x1aa3('0x2d')][_0x1aa3('0x2e')],function(_0x1f580b){return{'name':_0x1f580b[_0x1aa3('0x2f')],'type':_0x1f580b['type'][_0x1aa3('0x30')]};});_0x3b3289[_0x1aa3('0x31')]=_[_0x1aa3('0x32')](_0x5aaff1,'name');_0x3b3289['query']=_['keys'](_0x204c4f[_0x1aa3('0x33')]);_0x3b3289[_0x1aa3('0x34')]=_[_0x1aa3('0x35')](_0x3b3289['model'],_0x3b3289[_0x1aa3('0x33')]);_0x2c6771[_0x1aa3('0x36')]=_[_0x1aa3('0x35')](_0x3b3289[_0x1aa3('0x31')],qs[_0x1aa3('0x37')](_0x204c4f['query'][_0x1aa3('0x37')]));_0x2c6771[_0x1aa3('0x36')]=_0x2c6771[_0x1aa3('0x36')]['length']?_0x2c6771[_0x1aa3('0x36')]:_0x3b3289['model'];if(!_0x204c4f[_0x1aa3('0x33')]['hasOwnProperty'](_0x1aa3('0x38'))){_0x2c6771[_0x1aa3('0x39')]=qs['limit'](_0x204c4f[_0x1aa3('0x33')][_0x1aa3('0x39')]);_0x2c6771['offset']=qs[_0x1aa3('0x20')](_0x204c4f[_0x1aa3('0x33')][_0x1aa3('0x20')]);}_0x2c6771[_0x1aa3('0x3a')]=qs[_0x1aa3('0x3b')](_0x204c4f['query'][_0x1aa3('0x3b')]);_0x2c6771[_0x1aa3('0x3c')]=qs[_0x1aa3('0x34')](_['pick'](_0x204c4f[_0x1aa3('0x33')],_0x3b3289[_0x1aa3('0x34')]),_0x5aaff1);if(_0x204c4f['query'][_0x1aa3('0x3d')]){_0x2c6771[_0x1aa3('0x3c')]=_['merge'](_0x2c6771['where'],{'$or':_[_0x1aa3('0x32')](_0x5aaff1,function(_0x6e565a){if(_0x6e565a[_0x1aa3('0x3e')]!==_0x1aa3('0x3f')){var _0x1898ac={};_0x1898ac[_0x6e565a[_0x1aa3('0x2b')]]={'$like':'%'+_0x204c4f[_0x1aa3('0x33')][_0x1aa3('0x3d')]+'%'};return _0x1898ac;}})});}_0x2c6771=_['merge']({},_0x2c6771,_0x204c4f[_0x1aa3('0x40')]);var _0x37ee6b={'where':_0x2c6771['where']};return db[_0x1aa3('0x2d')][_0x1aa3('0x1f')](_0x37ee6b)[_0x1aa3('0x27')](function(_0x3bbede){_0x3f2a9a[_0x1aa3('0x1f')]=_0x3bbede;if(_0x204c4f[_0x1aa3('0x33')][_0x1aa3('0x41')]){_0x2c6771[_0x1aa3('0x42')]=[{'all':!![]}];}return db[_0x1aa3('0x2d')]['findAll'](_0x2c6771);})['then'](function(_0x110d77){_0x3f2a9a[_0x1aa3('0x43')]=_0x110d77;return _0x3f2a9a;})[_0x1aa3('0x27')](respondWithFilteredResult(_0x4561c9,_0x2c6771))['catch'](handleError(_0x4561c9,null));};exports['show']=function(_0x1455a8,_0x3a6978){var _0x2c3ed8={'raw':!![],'where':{'id':_0x1455a8[_0x1aa3('0x44')]['id']}},_0x2ca6ce={};_0x2ca6ce['model']=_['keys'](db[_0x1aa3('0x2d')][_0x1aa3('0x2e')]);_0x2ca6ce[_0x1aa3('0x33')]=_[_0x1aa3('0x45')](_0x1455a8[_0x1aa3('0x33')]);_0x2ca6ce[_0x1aa3('0x34')]=_[_0x1aa3('0x35')](_0x2ca6ce[_0x1aa3('0x31')],_0x2ca6ce[_0x1aa3('0x33')]);_0x2c3ed8[_0x1aa3('0x36')]=_[_0x1aa3('0x35')](_0x2ca6ce['model'],qs[_0x1aa3('0x37')](_0x1455a8['query']['fields']));_0x2c3ed8[_0x1aa3('0x36')]=_0x2c3ed8[_0x1aa3('0x36')]['length']?_0x2c3ed8[_0x1aa3('0x36')]:_0x2ca6ce[_0x1aa3('0x31')];if(_0x1455a8[_0x1aa3('0x33')][_0x1aa3('0x41')]){_0x2c3ed8[_0x1aa3('0x42')]=[{'all':!![]}];}_0x2c3ed8=_[_0x1aa3('0x46')]({},_0x2c3ed8,_0x1455a8[_0x1aa3('0x40')]);return db['ZendeskField'][_0x1aa3('0x47')](_0x2c3ed8)[_0x1aa3('0x27')](handleEntityNotFound(_0x3a6978,null))[_0x1aa3('0x27')](respondWithResult(_0x3a6978,null))[_0x1aa3('0x48')](handleError(_0x3a6978,null));};exports[_0x1aa3('0x49')]=function(_0x5cdeaa,_0x52d803){return db[_0x1aa3('0x2d')][_0x1aa3('0x49')](_0x5cdeaa[_0x1aa3('0x4a')],{})[_0x1aa3('0x27')](respondWithResult(_0x52d803,0xc9))[_0x1aa3('0x48')](handleError(_0x52d803,null));};exports[_0x1aa3('0x26')]=function(_0x2f0318,_0x1c6399){if(_0x2f0318[_0x1aa3('0x4a')]['id']){delete _0x2f0318[_0x1aa3('0x4a')]['id'];}return db[_0x1aa3('0x2d')][_0x1aa3('0x47')]({'where':{'id':_0x2f0318['params']['id']}})[_0x1aa3('0x27')](handleEntityNotFound(_0x1c6399,null))['then'](saveUpdates(_0x2f0318[_0x1aa3('0x4a')],null))['then'](respondWithResult(_0x1c6399,null))[_0x1aa3('0x48')](handleError(_0x1c6399,null));};exports[_0x1aa3('0x28')]=function(_0x2fa0cf,_0x1b7625){return db[_0x1aa3('0x2d')][_0x1aa3('0x47')]({'where':{'id':_0x2fa0cf['params']['id']}})[_0x1aa3('0x27')](handleEntityNotFound(_0x1b7625,null))['then'](removeEntity(_0x1b7625,null))[_0x1aa3('0x48')](handleError(_0x1b7625,null));};