cc1681de3a99aec00c825c4d64741d51903bb130
[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 _0x4513=['find','catch','eml-format','rimraf','zip-dir','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','offset','undefined','count','limit','set','apply','save','update','then','destroy','error','stack','name','send','render','merge','body','message','agent','interaction','index','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','options','ZendeskField','includeAll','findAll','params','include'];(function(_0x1aba25,_0x1faed1){var _0x47d997=function(_0x4f9e11){while(--_0x4f9e11){_0x1aba25['push'](_0x1aba25['shift']());}};_0x47d997(++_0x1faed1);}(_0x4513,0x92));var _0x3451=function(_0x4b369d,_0x265eb8){_0x4b369d=_0x4b369d-0x0;var _0x571a98=_0x4513[_0x4b369d];return _0x571a98;};'use strict';var emlformat=require(_0x3451('0x0'));var rimraf=require(_0x3451('0x1'));var zipdir=require(_0x3451('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3451('0x3'));var Mustache=require(_0x3451('0x4'));var util=require(_0x3451('0x5'));var path=require(_0x3451('0x6'));var sox=require('sox');var csv=require(_0x3451('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3451('0x8'));var _=require(_0x3451('0x9'));var squel=require(_0x3451('0xa'));var crypto=require(_0x3451('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3451('0x7'));var querystring=require(_0x3451('0xc'));var Papa=require(_0x3451('0xd'));var Redis=require(_0x3451('0xe'));var authService=require(_0x3451('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3451('0x10'))(_0x3451('0x11'));var utils=require(_0x3451('0x12'));var config=require(_0x3451('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x3451('0x14'))['db'];function respondWithStatusCode(_0x2be2ef,_0x467182){_0x467182=_0x467182||0xcc;return function(_0x59c2cf){if(_0x59c2cf){return _0x2be2ef[_0x3451('0x15')](_0x467182);}return _0x2be2ef['status'](_0x467182)[_0x3451('0x16')]();};}function respondWithResult(_0x23e0fc,_0x301101){_0x301101=_0x301101||0xc8;return function(_0x45089d){if(_0x45089d){return _0x23e0fc[_0x3451('0x17')](_0x301101)['json'](_0x45089d);}};}function respondWithFilteredResult(_0x36fcd8,_0x42d9a5){return function(_0x251532){if(_0x251532){var _0x5cb7d4=typeof _0x42d9a5[_0x3451('0x18')]===_0x3451('0x19')&&typeof _0x42d9a5['limit']==='undefined';var _0x547677=_0x251532[_0x3451('0x1a')];var _0xf9d66a=_0x5cb7d4?0x0:_0x42d9a5[_0x3451('0x18')];var _0x1f9102=_0x5cb7d4?_0x251532[_0x3451('0x1a')]:_0x42d9a5[_0x3451('0x18')]+_0x42d9a5[_0x3451('0x1b')];var _0x2d1fd6;if(_0x1f9102>=_0x547677){_0x1f9102=_0x547677;_0x2d1fd6=0xc8;}else{_0x2d1fd6=0xce;}_0x36fcd8[_0x3451('0x17')](_0x2d1fd6);return _0x36fcd8[_0x3451('0x1c')]('Content-Range',_0xf9d66a+'-'+_0x1f9102+'/'+_0x547677)['json'](_0x251532);}return null;};}function patchUpdates(_0x3dc450){return function(_0x22b243){try{jsonpatch[_0x3451('0x1d')](_0x22b243,_0x3dc450,!![]);}catch(_0x391576){return BPromise['reject'](_0x391576);}return _0x22b243[_0x3451('0x1e')]();};}function saveUpdates(_0x297eaf,_0x397c3c){return function(_0x54cb59){if(_0x54cb59){return _0x54cb59[_0x3451('0x1f')](_0x297eaf)[_0x3451('0x20')](function(_0xe41086){return _0xe41086;});}return null;};}function removeEntity(_0x54d80e,_0x3235c6){return function(_0x22294d){if(_0x22294d){return _0x22294d[_0x3451('0x21')]()[_0x3451('0x20')](function(){_0x54d80e[_0x3451('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4e0978,_0xa771ab){return function(_0x3e41ea){if(!_0x3e41ea){_0x4e0978[_0x3451('0x15')](0x194);}return _0x3e41ea;};}function handleError(_0x139e0f,_0x245d3c){_0x245d3c=_0x245d3c||0x1f4;return function(_0x5b6618){logger[_0x3451('0x22')](_0x5b6618[_0x3451('0x23')]);if(_0x5b6618[_0x3451('0x24')]){delete _0x5b6618['name'];}_0x139e0f['status'](_0x245d3c)[_0x3451('0x25')](_0x5b6618);};}function getMustacheRender(_0x2dee06,_0x3d01b3){return Mustache[_0x3451('0x26')](_0x2dee06,_[_0x3451('0x27')](_0x3d01b3[_0x3451('0x28')],{'contact':_0x3d01b3['contact'],'message':_0x3d01b3[_0x3451('0x29')],'agent':_0x3d01b3[_0x3451('0x2a')],'interaction':_0x3d01b3[_0x3451('0x2b')],'account':_0x3d01b3['account']}))||'';}exports[_0x3451('0x2c')]=function(_0x252ac0,_0x598a00){var _0x16ebd2={},_0x272978={},_0x27207b={'count':0x0,'rows':[]};var _0x23ba64=_['map'](db['ZendeskField'][_0x3451('0x2d')],function(_0x36d5ad){return{'name':_0x36d5ad[_0x3451('0x2e')],'type':_0x36d5ad[_0x3451('0x2f')][_0x3451('0x30')]};});_0x272978['model']=_[_0x3451('0x31')](_0x23ba64,_0x3451('0x24'));_0x272978[_0x3451('0x32')]=_[_0x3451('0x33')](_0x252ac0[_0x3451('0x32')]);_0x272978[_0x3451('0x34')]=_[_0x3451('0x35')](_0x272978[_0x3451('0x36')],_0x272978[_0x3451('0x32')]);_0x16ebd2[_0x3451('0x37')]=_[_0x3451('0x35')](_0x272978[_0x3451('0x36')],qs[_0x3451('0x38')](_0x252ac0[_0x3451('0x32')][_0x3451('0x38')]));_0x16ebd2[_0x3451('0x37')]=_0x16ebd2[_0x3451('0x37')]['length']?_0x16ebd2[_0x3451('0x37')]:_0x272978[_0x3451('0x36')];if(!_0x252ac0[_0x3451('0x32')][_0x3451('0x39')]('nolimit')){_0x16ebd2[_0x3451('0x1b')]=qs[_0x3451('0x1b')](_0x252ac0['query'][_0x3451('0x1b')]);_0x16ebd2[_0x3451('0x18')]=qs['offset'](_0x252ac0[_0x3451('0x32')]['offset']);}_0x16ebd2[_0x3451('0x3a')]=qs[_0x3451('0x3b')](_0x252ac0[_0x3451('0x32')]['sort']);_0x16ebd2[_0x3451('0x3c')]=qs[_0x3451('0x34')](_[_0x3451('0x3d')](_0x252ac0[_0x3451('0x32')],_0x272978[_0x3451('0x34')]),_0x23ba64);if(_0x252ac0['query'][_0x3451('0x3e')]){_0x16ebd2['where']=_['merge'](_0x16ebd2[_0x3451('0x3c')],{'$or':_[_0x3451('0x31')](_0x23ba64,function(_0x4023af){if(_0x4023af[_0x3451('0x2f')]!==_0x3451('0x3f')){var _0x39148a={};_0x39148a[_0x4023af[_0x3451('0x24')]]={'$like':'%'+_0x252ac0['query'][_0x3451('0x3e')]+'%'};return _0x39148a;}})});}_0x16ebd2=_[_0x3451('0x27')]({},_0x16ebd2,_0x252ac0[_0x3451('0x40')]);var _0x306169={'where':_0x16ebd2[_0x3451('0x3c')]};return db[_0x3451('0x41')][_0x3451('0x1a')](_0x306169)[_0x3451('0x20')](function(_0x2c2268){_0x27207b[_0x3451('0x1a')]=_0x2c2268;if(_0x252ac0[_0x3451('0x32')][_0x3451('0x42')]){_0x16ebd2['include']=[{'all':!![]}];}return db[_0x3451('0x41')][_0x3451('0x43')](_0x16ebd2);})[_0x3451('0x20')](function(_0x5ed72d){_0x27207b['rows']=_0x5ed72d;return _0x27207b;})[_0x3451('0x20')](respondWithFilteredResult(_0x598a00,_0x16ebd2))['catch'](handleError(_0x598a00,null));};exports['show']=function(_0x11ddcd,_0x5e033c){var _0x1d8f02={'raw':!![],'where':{'id':_0x11ddcd[_0x3451('0x44')]['id']}},_0x2bb161={};_0x2bb161[_0x3451('0x36')]=_['keys'](db[_0x3451('0x41')]['rawAttributes']);_0x2bb161['query']=_[_0x3451('0x33')](_0x11ddcd['query']);_0x2bb161[_0x3451('0x34')]=_[_0x3451('0x35')](_0x2bb161['model'],_0x2bb161[_0x3451('0x32')]);_0x1d8f02[_0x3451('0x37')]=_['intersection'](_0x2bb161[_0x3451('0x36')],qs['fields'](_0x11ddcd[_0x3451('0x32')]['fields']));_0x1d8f02[_0x3451('0x37')]=_0x1d8f02[_0x3451('0x37')]['length']?_0x1d8f02[_0x3451('0x37')]:_0x2bb161[_0x3451('0x36')];if(_0x11ddcd[_0x3451('0x32')][_0x3451('0x42')]){_0x1d8f02[_0x3451('0x45')]=[{'all':!![]}];}_0x1d8f02=_[_0x3451('0x27')]({},_0x1d8f02,_0x11ddcd[_0x3451('0x40')]);return db['ZendeskField'][_0x3451('0x46')](_0x1d8f02)[_0x3451('0x20')](handleEntityNotFound(_0x5e033c,null))[_0x3451('0x20')](respondWithResult(_0x5e033c,null))[_0x3451('0x47')](handleError(_0x5e033c,null));};exports['create']=function(_0x45396e,_0x3f0442){return db[_0x3451('0x41')]['create'](_0x45396e[_0x3451('0x28')],{})[_0x3451('0x20')](respondWithResult(_0x3f0442,0xc9))[_0x3451('0x47')](handleError(_0x3f0442,null));};exports[_0x3451('0x1f')]=function(_0x55fdf4,_0x3c9a56){if(_0x55fdf4[_0x3451('0x28')]['id']){delete _0x55fdf4[_0x3451('0x28')]['id'];}return db[_0x3451('0x41')][_0x3451('0x46')]({'where':{'id':_0x55fdf4[_0x3451('0x44')]['id']}})[_0x3451('0x20')](handleEntityNotFound(_0x3c9a56,null))['then'](saveUpdates(_0x55fdf4[_0x3451('0x28')],null))[_0x3451('0x20')](respondWithResult(_0x3c9a56,null))[_0x3451('0x47')](handleError(_0x3c9a56,null));};exports[_0x3451('0x21')]=function(_0x2b3920,_0x7516d1){return db[_0x3451('0x41')][_0x3451('0x46')]({'where':{'id':_0x2b3920['params']['id']}})[_0x3451('0x20')](handleEntityNotFound(_0x7516d1,null))['then'](removeEntity(_0x7516d1,null))[_0x3451('0x47')](handleError(_0x7516d1,null));};