66df685dacf992f586534f830ab6150da6f0bdae
[motion2.git] / server / api / intFreshdeskField / intFreshdeskField.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 _0x9511=['map','options','count','includeAll','include','findAll','rows','show','params','filters','length','catch','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','FreshdeskField','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge'];(function(_0x4e6ae6,_0x49dba6){var _0x23c108=function(_0x1bc103){while(--_0x1bc103){_0x4e6ae6['push'](_0x4e6ae6['shift']());}};_0x23c108(++_0x49dba6);}(_0x9511,0x13b));var _0x1951=function(_0x58fa7f,_0x4ed6e3){_0x58fa7f=_0x58fa7f-0x0;var _0x526007=_0x9511[_0x58fa7f];return _0x526007;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x1951('0x0'));var rimraf=require(_0x1951('0x1'));var zipdir=require(_0x1951('0x2'));var jsonpatch=require(_0x1951('0x3'));var rp=require(_0x1951('0x4'));var moment=require(_0x1951('0x5'));var BPromise=require(_0x1951('0x6'));var Mustache=require('mustache');var util=require(_0x1951('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1951('0x8'));var fs=require('fs');var _=require(_0x1951('0x9'));var squel=require(_0x1951('0xa'));var crypto=require('crypto');var jsforce=require(_0x1951('0xb'));var deskjs=require(_0x1951('0xc'));var toCsv=require(_0x1951('0xd'));var querystring=require(_0x1951('0xe'));var Papa=require('papaparse');var Redis=require(_0x1951('0xf'));var authService=require(_0x1951('0x10'));var qs=require(_0x1951('0x11'));var as=require(_0x1951('0x12'));var hardwareService=require(_0x1951('0x13'));var logger=require(_0x1951('0x14'))(_0x1951('0x15'));var utils=require(_0x1951('0x16'));var config=require(_0x1951('0x17'));var db=require(_0x1951('0x18'))['db'];function respondWithStatusCode(_0x47312d,_0x18b684){_0x18b684=_0x18b684||0xcc;return function(_0x1e1aea){if(_0x1e1aea){return _0x47312d[_0x1951('0x19')](_0x18b684);}return _0x47312d[_0x1951('0x1a')](_0x18b684)[_0x1951('0x1b')]();};}function respondWithResult(_0x22b374,_0x592dad){_0x592dad=_0x592dad||0xc8;return function(_0x790b44){if(_0x790b44){return _0x22b374['status'](_0x592dad)['json'](_0x790b44);}};}function respondWithFilteredResult(_0xa4548,_0x248e93){return function(_0x54b013){if(_0x54b013){var _0x180c84=_0x54b013['count'],_0x1866d2=_0x248e93[_0x1951('0x1c')],_0x4b1754=_0x248e93[_0x1951('0x1c')]+_0x248e93[_0x1951('0x1d')],_0x2c0c5b;if(_0x4b1754>=_0x180c84){_0x4b1754=_0x180c84;_0x2c0c5b=0xc8;}else{_0x2c0c5b=0xce;}_0xa4548[_0x1951('0x1a')](_0x2c0c5b);return _0xa4548[_0x1951('0x1e')](_0x1951('0x1f'),_0x1866d2+'-'+_0x4b1754+'/'+_0x180c84)['json'](_0x54b013);}return null;};}function patchUpdates(_0x262b5a){return function(_0x5403d4){try{jsonpatch[_0x1951('0x20')](_0x5403d4,_0x262b5a,!![]);}catch(_0x16df13){return BPromise[_0x1951('0x21')](_0x16df13);}return _0x5403d4[_0x1951('0x22')]();};}function saveUpdates(_0x5329cd,_0x28ddf6){return function(_0x216e77){if(_0x216e77){return _0x216e77[_0x1951('0x23')](_0x5329cd)[_0x1951('0x24')](function(_0x250b19){return _0x250b19;});}return null;};}function removeEntity(_0xe41547,_0x5d4740){return function(_0xadbd79){if(_0xadbd79){return _0xadbd79[_0x1951('0x25')]()[_0x1951('0x24')](function(){_0xe41547[_0x1951('0x1a')](0xcc)[_0x1951('0x1b')]();});}};}function handleEntityNotFound(_0x32da19,_0xfba3d9){return function(_0xf8f67b){if(!_0xf8f67b){_0x32da19[_0x1951('0x19')](0x194);}return _0xf8f67b;};}function handleError(_0x5cf40b,_0x1a879e){_0x1a879e=_0x1a879e||0x1f4;return function(_0x2b7983){logger['error'](_0x2b7983[_0x1951('0x26')]);if(_0x2b7983[_0x1951('0x27')]){delete _0x2b7983[_0x1951('0x27')];}_0x5cf40b[_0x1951('0x1a')](_0x1a879e)[_0x1951('0x28')](_0x2b7983);};}exports[_0x1951('0x29')]=function(_0x454730,_0x55021f){var _0x3d7baf={},_0x38cca5={},_0x4328f1={'count':0x0,'rows':[]};var _0x17576c=_['map'](db[_0x1951('0x2a')][_0x1951('0x2b')],function(_0x240f89){return{'name':_0x240f89[_0x1951('0x2c')],'type':_0x240f89[_0x1951('0x2d')][_0x1951('0x2e')]};});_0x38cca5[_0x1951('0x2f')]=_['map'](_0x17576c,'name');_0x38cca5[_0x1951('0x30')]=_[_0x1951('0x31')](_0x454730[_0x1951('0x30')]);_0x38cca5['filters']=_[_0x1951('0x32')](_0x38cca5['model'],_0x38cca5['query']);_0x3d7baf[_0x1951('0x33')]=_[_0x1951('0x32')](_0x38cca5[_0x1951('0x2f')],qs['fields'](_0x454730[_0x1951('0x30')][_0x1951('0x34')]));_0x3d7baf[_0x1951('0x33')]=_0x3d7baf['attributes']['length']?_0x3d7baf[_0x1951('0x33')]:_0x38cca5[_0x1951('0x2f')];if(!_0x454730[_0x1951('0x30')][_0x1951('0x35')](_0x1951('0x36'))){_0x3d7baf[_0x1951('0x1d')]=qs[_0x1951('0x1d')](_0x454730[_0x1951('0x30')][_0x1951('0x1d')]);_0x3d7baf[_0x1951('0x1c')]=qs['offset'](_0x454730[_0x1951('0x30')][_0x1951('0x1c')]);}_0x3d7baf['order']=qs[_0x1951('0x37')](_0x454730[_0x1951('0x30')][_0x1951('0x37')]);_0x3d7baf[_0x1951('0x38')]=qs['filters'](_[_0x1951('0x39')](_0x454730[_0x1951('0x30')],_0x38cca5['filters']));if(_0x454730[_0x1951('0x30')][_0x1951('0x3a')]){_0x3d7baf['where']=_[_0x1951('0x3b')](_0x3d7baf[_0x1951('0x38')],{'$or':_[_0x1951('0x3c')](_0x17576c,function(_0x2af8b8){if(_0x2af8b8['type']!=='VIRTUAL'){var _0xbf718={};_0xbf718[_0x2af8b8['name']]={'$like':'%'+_0x454730[_0x1951('0x30')][_0x1951('0x3a')]+'%'};return _0xbf718;}})});}_0x3d7baf=_['merge']({},_0x3d7baf,_0x454730[_0x1951('0x3d')]);var _0x4cab0c={'where':_0x3d7baf[_0x1951('0x38')]};return db[_0x1951('0x2a')][_0x1951('0x3e')](_0x4cab0c)[_0x1951('0x24')](function(_0xc35fbd){_0x4328f1[_0x1951('0x3e')]=_0xc35fbd;if(_0x454730[_0x1951('0x30')][_0x1951('0x3f')]){_0x3d7baf[_0x1951('0x40')]=[{'all':!![]}];}return db[_0x1951('0x2a')][_0x1951('0x41')](_0x3d7baf);})['then'](function(_0x22c3e6){_0x4328f1[_0x1951('0x42')]=_0x22c3e6;return _0x4328f1;})[_0x1951('0x24')](respondWithFilteredResult(_0x55021f,_0x3d7baf))['catch'](handleError(_0x55021f,null));};exports[_0x1951('0x43')]=function(_0x5cb441,_0x30fd0e){var _0x38e9dd={'raw':!![],'where':{'id':_0x5cb441[_0x1951('0x44')]['id']}},_0x44606e={};_0x44606e[_0x1951('0x2f')]=_['keys'](db['FreshdeskField'][_0x1951('0x2b')]);_0x44606e['query']=_[_0x1951('0x31')](_0x5cb441[_0x1951('0x30')]);_0x44606e[_0x1951('0x45')]=_[_0x1951('0x32')](_0x44606e['model'],_0x44606e['query']);_0x38e9dd['attributes']=_[_0x1951('0x32')](_0x44606e[_0x1951('0x2f')],qs['fields'](_0x5cb441[_0x1951('0x30')][_0x1951('0x34')]));_0x38e9dd[_0x1951('0x33')]=_0x38e9dd[_0x1951('0x33')][_0x1951('0x46')]?_0x38e9dd[_0x1951('0x33')]:_0x44606e[_0x1951('0x2f')];if(_0x5cb441[_0x1951('0x30')][_0x1951('0x3f')]){_0x38e9dd[_0x1951('0x40')]=[{'all':!![]}];}_0x38e9dd=_[_0x1951('0x3b')]({},_0x38e9dd,_0x5cb441[_0x1951('0x3d')]);return db[_0x1951('0x2a')]['find'](_0x38e9dd)[_0x1951('0x24')](handleEntityNotFound(_0x30fd0e,null))[_0x1951('0x24')](respondWithResult(_0x30fd0e,null))[_0x1951('0x47')](handleError(_0x30fd0e,null));};exports[_0x1951('0x48')]=function(_0x2512ca,_0x313d41){return db['FreshdeskField'][_0x1951('0x48')](_0x2512ca[_0x1951('0x49')],{})['then'](respondWithResult(_0x313d41,0xc9))[_0x1951('0x47')](handleError(_0x313d41,null));};exports['update']=function(_0x4194a5,_0x5cff58){if(_0x4194a5[_0x1951('0x49')]['id']){delete _0x4194a5[_0x1951('0x49')]['id'];}return db[_0x1951('0x2a')][_0x1951('0x4a')]({'where':{'id':_0x4194a5[_0x1951('0x44')]['id']}})[_0x1951('0x24')](handleEntityNotFound(_0x5cff58,null))[_0x1951('0x24')](saveUpdates(_0x4194a5[_0x1951('0x49')],null))[_0x1951('0x24')](respondWithResult(_0x5cff58,null))[_0x1951('0x47')](handleError(_0x5cff58,null));};exports[_0x1951('0x25')]=function(_0x2cc943,_0x50294f){return db[_0x1951('0x2a')][_0x1951('0x4a')]({'where':{'id':_0x2cc943[_0x1951('0x44')]['id']}})[_0x1951('0x24')](handleEntityNotFound(_0x50294f,null))['then'](removeEntity(_0x50294f,null))['catch'](handleError(_0x50294f,null));};