Built motion from commit (unavailable).|2.5.15
[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 _0x006d=['fields','attributes','length','hasOwnProperty','nolimit','sort','where','merge','options','FreshdeskField','includeAll','include','findAll','rows','catch','show','params','filters','find','create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','sendStatus','status','count','offset','limit','Content-Range','json','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','map','rawAttributes','type','model','query','keys','intersection'];(function(_0xa121d2,_0x53bf78){var _0x4fd840=function(_0x2a0092){while(--_0x2a0092){_0xa121d2['push'](_0xa121d2['shift']());}};_0x4fd840(++_0x53bf78);}(_0x006d,0xea));var _0xd006=function(_0x453a60,_0x28716d){_0x453a60=_0x453a60-0x0;var _0x5b362c=_0x006d[_0x453a60];return _0x5b362c;};'use strict';var pdf=require(_0xd006('0x0'));var emlformat=require(_0xd006('0x1'));var rimraf=require(_0xd006('0x2'));var zipdir=require(_0xd006('0x3'));var jsonpatch=require(_0xd006('0x4'));var rp=require(_0xd006('0x5'));var moment=require(_0xd006('0x6'));var BPromise=require(_0xd006('0x7'));var Mustache=require('mustache');var util=require('util');var path=require(_0xd006('0x8'));var sox=require(_0xd006('0x9'));var csv=require('to-csv');var ejs=require(_0xd006('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xd006('0xb'));var crypto=require(_0xd006('0xc'));var jsforce=require(_0xd006('0xd'));var deskjs=require(_0xd006('0xe'));var toCsv=require('to-csv');var querystring=require(_0xd006('0xf'));var Papa=require(_0xd006('0x10'));var Redis=require(_0xd006('0x11'));var authService=require(_0xd006('0x12'));var qs=require(_0xd006('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd006('0x14'));var logger=require('../../config/logger')(_0xd006('0x15'));var utils=require('../../config/utils');var config=require(_0xd006('0x16'));var licenseUtil=require(_0xd006('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x176ecb,_0x4479fe){_0x4479fe=_0x4479fe||0xcc;return function(_0x531f5c){if(_0x531f5c){return _0x176ecb[_0xd006('0x18')](_0x4479fe);}return _0x176ecb['status'](_0x4479fe)['end']();};}function respondWithResult(_0x2af77c,_0x426e4d){_0x426e4d=_0x426e4d||0xc8;return function(_0x57f130){if(_0x57f130){return _0x2af77c[_0xd006('0x19')](_0x426e4d)['json'](_0x57f130);}};}function respondWithFilteredResult(_0x348765,_0x1c2690){return function(_0x1f87c8){if(_0x1f87c8){var _0x599f72=_0x1f87c8[_0xd006('0x1a')],_0x22c827=_0x1c2690[_0xd006('0x1b')],_0x1fe13b=_0x1c2690[_0xd006('0x1b')]+_0x1c2690[_0xd006('0x1c')],_0x10711b;if(_0x1fe13b>=_0x599f72){_0x1fe13b=_0x599f72;_0x10711b=0xc8;}else{_0x10711b=0xce;}_0x348765['status'](_0x10711b);return _0x348765['set'](_0xd006('0x1d'),_0x22c827+'-'+_0x1fe13b+'/'+_0x599f72)[_0xd006('0x1e')](_0x1f87c8);}return null;};}function patchUpdates(_0x13fba9){return function(_0x1d1f4a){try{jsonpatch[_0xd006('0x1f')](_0x1d1f4a,_0x13fba9,!![]);}catch(_0x4043c0){return BPromise[_0xd006('0x20')](_0x4043c0);}return _0x1d1f4a[_0xd006('0x21')]();};}function saveUpdates(_0x2aa324,_0x289f10){return function(_0x4e0eb9){if(_0x4e0eb9){return _0x4e0eb9[_0xd006('0x22')](_0x2aa324)[_0xd006('0x23')](function(_0x137fa3){return _0x137fa3;});}return null;};}function removeEntity(_0x6e4b96,_0x7135f9){return function(_0x174018){if(_0x174018){return _0x174018[_0xd006('0x24')]()[_0xd006('0x23')](function(){_0x6e4b96[_0xd006('0x19')](0xcc)[_0xd006('0x25')]();});}};}function handleEntityNotFound(_0x2e25fc,_0x550617){return function(_0x5f1733){if(!_0x5f1733){_0x2e25fc[_0xd006('0x18')](0x194);}return _0x5f1733;};}function handleError(_0x3237c2,_0x34e886){_0x34e886=_0x34e886||0x1f4;return function(_0x47190a){logger[_0xd006('0x26')](_0x47190a[_0xd006('0x27')]);if(_0x47190a[_0xd006('0x28')]){delete _0x47190a[_0xd006('0x28')];}_0x3237c2[_0xd006('0x19')](_0x34e886)[_0xd006('0x29')](_0x47190a);};}exports[_0xd006('0x2a')]=function(_0x562bf2,_0x29aa62){var _0x4980df={},_0x398215={},_0x5d7830={'count':0x0,'rows':[]};var _0x329e96=_[_0xd006('0x2b')](db['FreshdeskField'][_0xd006('0x2c')],function(_0xaa6dd3){return{'name':_0xaa6dd3['fieldName'],'type':_0xaa6dd3[_0xd006('0x2d')]['key']};});_0x398215[_0xd006('0x2e')]=_[_0xd006('0x2b')](_0x329e96,_0xd006('0x28'));_0x398215[_0xd006('0x2f')]=_[_0xd006('0x30')](_0x562bf2[_0xd006('0x2f')]);_0x398215['filters']=_[_0xd006('0x31')](_0x398215['model'],_0x398215[_0xd006('0x2f')]);_0x4980df['attributes']=_[_0xd006('0x31')](_0x398215[_0xd006('0x2e')],qs[_0xd006('0x32')](_0x562bf2['query']['fields']));_0x4980df[_0xd006('0x33')]=_0x4980df[_0xd006('0x33')][_0xd006('0x34')]?_0x4980df['attributes']:_0x398215[_0xd006('0x2e')];if(!_0x562bf2['query'][_0xd006('0x35')](_0xd006('0x36'))){_0x4980df[_0xd006('0x1c')]=qs['limit'](_0x562bf2[_0xd006('0x2f')][_0xd006('0x1c')]);_0x4980df[_0xd006('0x1b')]=qs[_0xd006('0x1b')](_0x562bf2[_0xd006('0x2f')]['offset']);}_0x4980df['order']=qs[_0xd006('0x37')](_0x562bf2[_0xd006('0x2f')]['sort']);_0x4980df[_0xd006('0x38')]=qs['filters'](_['pick'](_0x562bf2[_0xd006('0x2f')],_0x398215['filters']),_0x329e96);if(_0x562bf2[_0xd006('0x2f')]['filter']){_0x4980df['where']=_[_0xd006('0x39')](_0x4980df[_0xd006('0x38')],{'$or':_[_0xd006('0x2b')](_0x329e96,function(_0xa65b91){if(_0xa65b91[_0xd006('0x2d')]!=='VIRTUAL'){var _0x1e77b8={};_0x1e77b8[_0xa65b91['name']]={'$like':'%'+_0x562bf2['query']['filter']+'%'};return _0x1e77b8;}})});}_0x4980df=_[_0xd006('0x39')]({},_0x4980df,_0x562bf2[_0xd006('0x3a')]);var _0x1ebd79={'where':_0x4980df[_0xd006('0x38')]};return db[_0xd006('0x3b')]['count'](_0x1ebd79)[_0xd006('0x23')](function(_0x320316){_0x5d7830['count']=_0x320316;if(_0x562bf2[_0xd006('0x2f')][_0xd006('0x3c')]){_0x4980df[_0xd006('0x3d')]=[{'all':!![]}];}return db['FreshdeskField'][_0xd006('0x3e')](_0x4980df);})[_0xd006('0x23')](function(_0x5dcf42){_0x5d7830[_0xd006('0x3f')]=_0x5dcf42;return _0x5d7830;})['then'](respondWithFilteredResult(_0x29aa62,_0x4980df))[_0xd006('0x40')](handleError(_0x29aa62,null));};exports[_0xd006('0x41')]=function(_0x1a7d80,_0x74bb02){var _0x2502c5={'raw':!![],'where':{'id':_0x1a7d80[_0xd006('0x42')]['id']}},_0x27e0e2={};_0x27e0e2[_0xd006('0x2e')]=_[_0xd006('0x30')](db[_0xd006('0x3b')][_0xd006('0x2c')]);_0x27e0e2['query']=_[_0xd006('0x30')](_0x1a7d80[_0xd006('0x2f')]);_0x27e0e2[_0xd006('0x43')]=_[_0xd006('0x31')](_0x27e0e2[_0xd006('0x2e')],_0x27e0e2[_0xd006('0x2f')]);_0x2502c5['attributes']=_[_0xd006('0x31')](_0x27e0e2[_0xd006('0x2e')],qs['fields'](_0x1a7d80['query']['fields']));_0x2502c5[_0xd006('0x33')]=_0x2502c5[_0xd006('0x33')][_0xd006('0x34')]?_0x2502c5[_0xd006('0x33')]:_0x27e0e2['model'];if(_0x1a7d80[_0xd006('0x2f')][_0xd006('0x3c')]){_0x2502c5[_0xd006('0x3d')]=[{'all':!![]}];}_0x2502c5=_['merge']({},_0x2502c5,_0x1a7d80[_0xd006('0x3a')]);return db[_0xd006('0x3b')][_0xd006('0x44')](_0x2502c5)[_0xd006('0x23')](handleEntityNotFound(_0x74bb02,null))[_0xd006('0x23')](respondWithResult(_0x74bb02,null))['catch'](handleError(_0x74bb02,null));};exports[_0xd006('0x45')]=function(_0xc12a1f,_0x48cfe2){return db['FreshdeskField'][_0xd006('0x45')](_0xc12a1f['body'],{})[_0xd006('0x23')](respondWithResult(_0x48cfe2,0xc9))[_0xd006('0x40')](handleError(_0x48cfe2,null));};exports['update']=function(_0x323c80,_0x5d8433){if(_0x323c80[_0xd006('0x46')]['id']){delete _0x323c80[_0xd006('0x46')]['id'];}return db[_0xd006('0x3b')]['find']({'where':{'id':_0x323c80[_0xd006('0x42')]['id']}})['then'](handleEntityNotFound(_0x5d8433,null))['then'](saveUpdates(_0x323c80[_0xd006('0x46')],null))[_0xd006('0x23')](respondWithResult(_0x5d8433,null))['catch'](handleError(_0x5d8433,null));};exports[_0xd006('0x24')]=function(_0x1505c7,_0x2a4bbc){return db[_0xd006('0x3b')]['find']({'where':{'id':_0x1505c7[_0xd006('0x42')]['id']}})[_0xd006('0x23')](handleEntityNotFound(_0x2a4bbc,null))[_0xd006('0x23')](removeEntity(_0x2a4bbc,null))[_0xd006('0x40')](handleError(_0x2a4bbc,null));};