Built motion from commit (unavailable).|2.5.10
[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 _0xc305=['crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','update','then','stack','name','send','index','map','FreshdeskField','rawAttributes','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','include','findAll','rows','catch','show','params','length','includeAll','options','find','create','body','destroy','html-pdf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0xc305,0xcf));var _0x5c30=function(_0x171fdc,_0x16ae91){_0x171fdc=_0x171fdc-0x0;var _0x3782ea=_0xc305[_0x171fdc];return _0x3782ea;};'use strict';var pdf=require(_0x5c30('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x5c30('0x1'));var jsonpatch=require(_0x5c30('0x2'));var rp=require('request-promise');var moment=require(_0x5c30('0x3'));var BPromise=require(_0x5c30('0x4'));var Mustache=require(_0x5c30('0x5'));var util=require(_0x5c30('0x6'));var path=require(_0x5c30('0x7'));var sox=require('sox');var csv=require(_0x5c30('0x8'));var ejs=require(_0x5c30('0x9'));var fs=require('fs');var _=require(_0x5c30('0xa'));var squel=require(_0x5c30('0xb'));var crypto=require(_0x5c30('0xc'));var jsforce=require(_0x5c30('0xd'));var deskjs=require(_0x5c30('0xe'));var toCsv=require(_0x5c30('0x8'));var querystring=require('querystring');var Papa=require(_0x5c30('0xf'));var Redis=require(_0x5c30('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x5c30('0x11'));var as=require(_0x5c30('0x12'));var hardwareService=require(_0x5c30('0x13'));var logger=require(_0x5c30('0x14'))(_0x5c30('0x15'));var utils=require('../../config/utils');var config=require(_0x5c30('0x16'));var licenseUtil=require(_0x5c30('0x17'));var db=require(_0x5c30('0x18'))['db'];function respondWithStatusCode(_0x48940f,_0x405774){_0x405774=_0x405774||0xcc;return function(_0x14a8a8){if(_0x14a8a8){return _0x48940f[_0x5c30('0x19')](_0x405774);}return _0x48940f[_0x5c30('0x1a')](_0x405774)[_0x5c30('0x1b')]();};}function respondWithResult(_0x599c21,_0x2694b0){_0x2694b0=_0x2694b0||0xc8;return function(_0x4286b5){if(_0x4286b5){return _0x599c21[_0x5c30('0x1a')](_0x2694b0)[_0x5c30('0x1c')](_0x4286b5);}};}function respondWithFilteredResult(_0x28282d,_0x21e1dd){return function(_0x3ba8f9){if(_0x3ba8f9){var _0x4838ab=_0x3ba8f9[_0x5c30('0x1d')],_0x18bd18=_0x21e1dd[_0x5c30('0x1e')],_0x5e88a4=_0x21e1dd[_0x5c30('0x1e')]+_0x21e1dd[_0x5c30('0x1f')],_0x221eb8;if(_0x5e88a4>=_0x4838ab){_0x5e88a4=_0x4838ab;_0x221eb8=0xc8;}else{_0x221eb8=0xce;}_0x28282d[_0x5c30('0x1a')](_0x221eb8);return _0x28282d[_0x5c30('0x20')](_0x5c30('0x21'),_0x18bd18+'-'+_0x5e88a4+'/'+_0x4838ab)[_0x5c30('0x1c')](_0x3ba8f9);}return null;};}function patchUpdates(_0xca55cc){return function(_0x18bc51){try{jsonpatch['apply'](_0x18bc51,_0xca55cc,!![]);}catch(_0x3d130){return BPromise[_0x5c30('0x22')](_0x3d130);}return _0x18bc51['save']();};}function saveUpdates(_0x28b4f0,_0x5ef77){return function(_0x48a8e4){if(_0x48a8e4){return _0x48a8e4[_0x5c30('0x23')](_0x28b4f0)[_0x5c30('0x24')](function(_0x3cf6b4){return _0x3cf6b4;});}return null;};}function removeEntity(_0x526db8,_0x160648){return function(_0x1da5d5){if(_0x1da5d5){return _0x1da5d5['destroy']()['then'](function(){_0x526db8[_0x5c30('0x1a')](0xcc)[_0x5c30('0x1b')]();});}};}function handleEntityNotFound(_0x3d2bb0,_0x38d6d9){return function(_0x4eed54){if(!_0x4eed54){_0x3d2bb0[_0x5c30('0x19')](0x194);}return _0x4eed54;};}function handleError(_0x268b8f,_0x3b3d66){_0x3b3d66=_0x3b3d66||0x1f4;return function(_0x439928){logger['error'](_0x439928[_0x5c30('0x25')]);if(_0x439928[_0x5c30('0x26')]){delete _0x439928[_0x5c30('0x26')];}_0x268b8f[_0x5c30('0x1a')](_0x3b3d66)[_0x5c30('0x27')](_0x439928);};}exports[_0x5c30('0x28')]=function(_0x49daa4,_0x43369c){var _0x5546b9={},_0x467a61={},_0x44b4b6={'count':0x0,'rows':[]};var _0x219a05=_[_0x5c30('0x29')](db[_0x5c30('0x2a')][_0x5c30('0x2b')],function(_0xeb65f7){return{'name':_0xeb65f7['fieldName'],'type':_0xeb65f7['type']['key']};});_0x467a61[_0x5c30('0x2c')]=_[_0x5c30('0x29')](_0x219a05,_0x5c30('0x26'));_0x467a61[_0x5c30('0x2d')]=_[_0x5c30('0x2e')](_0x49daa4[_0x5c30('0x2d')]);_0x467a61[_0x5c30('0x2f')]=_[_0x5c30('0x30')](_0x467a61[_0x5c30('0x2c')],_0x467a61[_0x5c30('0x2d')]);_0x5546b9['attributes']=_['intersection'](_0x467a61[_0x5c30('0x2c')],qs[_0x5c30('0x31')](_0x49daa4['query']['fields']));_0x5546b9[_0x5c30('0x32')]=_0x5546b9['attributes']['length']?_0x5546b9[_0x5c30('0x32')]:_0x467a61[_0x5c30('0x2c')];if(!_0x49daa4[_0x5c30('0x2d')][_0x5c30('0x33')](_0x5c30('0x34'))){_0x5546b9[_0x5c30('0x1f')]=qs[_0x5c30('0x1f')](_0x49daa4['query'][_0x5c30('0x1f')]);_0x5546b9[_0x5c30('0x1e')]=qs[_0x5c30('0x1e')](_0x49daa4['query'][_0x5c30('0x1e')]);}_0x5546b9[_0x5c30('0x35')]=qs[_0x5c30('0x36')](_0x49daa4[_0x5c30('0x2d')][_0x5c30('0x36')]);_0x5546b9[_0x5c30('0x37')]=qs[_0x5c30('0x2f')](_[_0x5c30('0x38')](_0x49daa4[_0x5c30('0x2d')],_0x467a61['filters']),_0x219a05);if(_0x49daa4[_0x5c30('0x2d')]['filter']){_0x5546b9[_0x5c30('0x37')]=_[_0x5c30('0x39')](_0x5546b9['where'],{'$or':_[_0x5c30('0x29')](_0x219a05,function(_0x4842b7){if(_0x4842b7['type']!==_0x5c30('0x3a')){var _0x2418cc={};_0x2418cc[_0x4842b7[_0x5c30('0x26')]]={'$like':'%'+_0x49daa4[_0x5c30('0x2d')][_0x5c30('0x3b')]+'%'};return _0x2418cc;}})});}_0x5546b9=_[_0x5c30('0x39')]({},_0x5546b9,_0x49daa4['options']);var _0x12a69c={'where':_0x5546b9['where']};return db[_0x5c30('0x2a')]['count'](_0x12a69c)[_0x5c30('0x24')](function(_0x4f9c62){_0x44b4b6[_0x5c30('0x1d')]=_0x4f9c62;if(_0x49daa4[_0x5c30('0x2d')]['includeAll']){_0x5546b9[_0x5c30('0x3c')]=[{'all':!![]}];}return db['FreshdeskField'][_0x5c30('0x3d')](_0x5546b9);})[_0x5c30('0x24')](function(_0xda3e1){_0x44b4b6[_0x5c30('0x3e')]=_0xda3e1;return _0x44b4b6;})['then'](respondWithFilteredResult(_0x43369c,_0x5546b9))[_0x5c30('0x3f')](handleError(_0x43369c,null));};exports[_0x5c30('0x40')]=function(_0x3e68db,_0x1a9025){var _0x5a68ec={'raw':!![],'where':{'id':_0x3e68db[_0x5c30('0x41')]['id']}},_0x491224={};_0x491224[_0x5c30('0x2c')]=_[_0x5c30('0x2e')](db[_0x5c30('0x2a')][_0x5c30('0x2b')]);_0x491224[_0x5c30('0x2d')]=_['keys'](_0x3e68db[_0x5c30('0x2d')]);_0x491224['filters']=_['intersection'](_0x491224[_0x5c30('0x2c')],_0x491224[_0x5c30('0x2d')]);_0x5a68ec[_0x5c30('0x32')]=_[_0x5c30('0x30')](_0x491224[_0x5c30('0x2c')],qs[_0x5c30('0x31')](_0x3e68db[_0x5c30('0x2d')][_0x5c30('0x31')]));_0x5a68ec[_0x5c30('0x32')]=_0x5a68ec[_0x5c30('0x32')][_0x5c30('0x42')]?_0x5a68ec['attributes']:_0x491224[_0x5c30('0x2c')];if(_0x3e68db['query'][_0x5c30('0x43')]){_0x5a68ec[_0x5c30('0x3c')]=[{'all':!![]}];}_0x5a68ec=_[_0x5c30('0x39')]({},_0x5a68ec,_0x3e68db[_0x5c30('0x44')]);return db[_0x5c30('0x2a')][_0x5c30('0x45')](_0x5a68ec)[_0x5c30('0x24')](handleEntityNotFound(_0x1a9025,null))[_0x5c30('0x24')](respondWithResult(_0x1a9025,null))[_0x5c30('0x3f')](handleError(_0x1a9025,null));};exports['create']=function(_0x5a6392,_0x409407){return db[_0x5c30('0x2a')][_0x5c30('0x46')](_0x5a6392[_0x5c30('0x47')],{})[_0x5c30('0x24')](respondWithResult(_0x409407,0xc9))['catch'](handleError(_0x409407,null));};exports[_0x5c30('0x23')]=function(_0xfb2c51,_0x243f21){if(_0xfb2c51['body']['id']){delete _0xfb2c51[_0x5c30('0x47')]['id'];}return db[_0x5c30('0x2a')]['find']({'where':{'id':_0xfb2c51[_0x5c30('0x41')]['id']}})[_0x5c30('0x24')](handleEntityNotFound(_0x243f21,null))['then'](saveUpdates(_0xfb2c51[_0x5c30('0x47')],null))[_0x5c30('0x24')](respondWithResult(_0x243f21,null))['catch'](handleError(_0x243f21,null));};exports[_0x5c30('0x48')]=function(_0x384f2d,_0x3e009f){return db['FreshdeskField'][_0x5c30('0x45')]({'where':{'id':_0x384f2d[_0x5c30('0x41')]['id']}})['then'](handleEntityNotFound(_0x3e009f,null))[_0x5c30('0x24')](removeEntity(_0x3e009f,null))[_0x5c30('0x3f')](handleError(_0x3e009f,null));};