Built motion from commit 3c2ce842.|2.6.31
[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 _0x657b=['order','sort','pick','filter','merge','VIRTUAL','options','where','include','findAll','rows','catch','params','includeAll','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','save','update','then','sendStatus','error','stack','name','send','index','map','FreshdeskField','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty'];(function(_0x36deab,_0x943434){var _0x3c907d=function(_0x5a339a){while(--_0x5a339a){_0x36deab['push'](_0x36deab['shift']());}};_0x3c907d(++_0x943434);}(_0x657b,0x131));var _0xb657=function(_0x216843,_0xea9e59){_0x216843=_0x216843-0x0;var _0x4c98bf=_0x657b[_0x216843];return _0x4c98bf;};'use strict';var emlformat=require(_0xb657('0x0'));var rimraf=require(_0xb657('0x1'));var zipdir=require(_0xb657('0x2'));var jsonpatch=require(_0xb657('0x3'));var rp=require(_0xb657('0x4'));var moment=require('moment');var BPromise=require(_0xb657('0x5'));var Mustache=require(_0xb657('0x6'));var util=require('util');var path=require(_0xb657('0x7'));var sox=require(_0xb657('0x8'));var csv=require(_0xb657('0x9'));var ejs=require(_0xb657('0xa'));var fs=require('fs');var fs_extra=require(_0xb657('0xb'));var _=require('lodash');var squel=require(_0xb657('0xc'));var crypto=require('crypto');var jsforce=require(_0xb657('0xd'));var deskjs=require(_0xb657('0xe'));var toCsv=require(_0xb657('0x9'));var querystring=require('querystring');var Papa=require(_0xb657('0xf'));var Redis=require('ioredis');var authService=require(_0xb657('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xb657('0x11'));var hardwareService=require(_0xb657('0x12'));var logger=require(_0xb657('0x13'))('api');var utils=require(_0xb657('0x14'));var config=require(_0xb657('0x15'));var licenseUtil=require(_0xb657('0x16'));var db=require(_0xb657('0x17'))['db'];function respondWithStatusCode(_0x51228b,_0x3e1ea1){_0x3e1ea1=_0x3e1ea1||0xcc;return function(_0x3ebcc2){if(_0x3ebcc2){return _0x51228b['sendStatus'](_0x3e1ea1);}return _0x51228b[_0xb657('0x18')](_0x3e1ea1)[_0xb657('0x19')]();};}function respondWithResult(_0xf04de9,_0x3ca0b4){_0x3ca0b4=_0x3ca0b4||0xc8;return function(_0x4aedb7){if(_0x4aedb7){return _0xf04de9[_0xb657('0x18')](_0x3ca0b4)[_0xb657('0x1a')](_0x4aedb7);}};}function respondWithFilteredResult(_0x511057,_0x4d253b){return function(_0x144eaf){if(_0x144eaf){var _0xbde891=typeof _0x4d253b[_0xb657('0x1b')]===_0xb657('0x1c')&&typeof _0x4d253b[_0xb657('0x1d')]===_0xb657('0x1c');var _0x20919b=_0x144eaf[_0xb657('0x1e')];var _0x9e98be=_0xbde891?0x0:_0x4d253b[_0xb657('0x1b')];var _0x2f0ba0=_0xbde891?_0x144eaf['count']:_0x4d253b[_0xb657('0x1b')]+_0x4d253b[_0xb657('0x1d')];var _0x21474b;if(_0x2f0ba0>=_0x20919b){_0x2f0ba0=_0x20919b;_0x21474b=0xc8;}else{_0x21474b=0xce;}_0x511057[_0xb657('0x18')](_0x21474b);return _0x511057['set']('Content-Range',_0x9e98be+'-'+_0x2f0ba0+'/'+_0x20919b)[_0xb657('0x1a')](_0x144eaf);}return null;};}function patchUpdates(_0x926b57){return function(_0xee3c7e){try{jsonpatch['apply'](_0xee3c7e,_0x926b57,!![]);}catch(_0x19f1e9){return BPromise['reject'](_0x19f1e9);}return _0xee3c7e[_0xb657('0x1f')]();};}function saveUpdates(_0x466a42,_0x2895ab){return function(_0x12fd7d){if(_0x12fd7d){return _0x12fd7d[_0xb657('0x20')](_0x466a42)['then'](function(_0x3de4eb){return _0x3de4eb;});}return null;};}function removeEntity(_0x13cea8,_0x38b4a0){return function(_0xfdd680){if(_0xfdd680){return _0xfdd680['destroy']()[_0xb657('0x21')](function(){_0x13cea8['status'](0xcc)[_0xb657('0x19')]();});}};}function handleEntityNotFound(_0x4e8587,_0x221794){return function(_0x4fe1c5){if(!_0x4fe1c5){_0x4e8587[_0xb657('0x22')](0x194);}return _0x4fe1c5;};}function handleError(_0x154f83,_0x5d4b01){_0x5d4b01=_0x5d4b01||0x1f4;return function(_0x241301){logger[_0xb657('0x23')](_0x241301[_0xb657('0x24')]);if(_0x241301['name']){delete _0x241301[_0xb657('0x25')];}_0x154f83[_0xb657('0x18')](_0x5d4b01)[_0xb657('0x26')](_0x241301);};}exports[_0xb657('0x27')]=function(_0x37a5af,_0xba9c05){var _0x66d5af={},_0x3be5de={},_0x291a32={'count':0x0,'rows':[]};var _0x410a93=_[_0xb657('0x28')](db[_0xb657('0x29')][_0xb657('0x2a')],function(_0x292fb1){return{'name':_0x292fb1[_0xb657('0x2b')],'type':_0x292fb1[_0xb657('0x2c')][_0xb657('0x2d')]};});_0x3be5de['model']=_[_0xb657('0x28')](_0x410a93,'name');_0x3be5de[_0xb657('0x2e')]=_[_0xb657('0x2f')](_0x37a5af['query']);_0x3be5de[_0xb657('0x30')]=_[_0xb657('0x31')](_0x3be5de[_0xb657('0x32')],_0x3be5de[_0xb657('0x2e')]);_0x66d5af[_0xb657('0x33')]=_['intersection'](_0x3be5de[_0xb657('0x32')],qs[_0xb657('0x34')](_0x37a5af[_0xb657('0x2e')][_0xb657('0x34')]));_0x66d5af[_0xb657('0x33')]=_0x66d5af['attributes'][_0xb657('0x35')]?_0x66d5af[_0xb657('0x33')]:_0x3be5de[_0xb657('0x32')];if(!_0x37a5af['query'][_0xb657('0x36')]('nolimit')){_0x66d5af[_0xb657('0x1d')]=qs[_0xb657('0x1d')](_0x37a5af[_0xb657('0x2e')][_0xb657('0x1d')]);_0x66d5af[_0xb657('0x1b')]=qs[_0xb657('0x1b')](_0x37a5af[_0xb657('0x2e')][_0xb657('0x1b')]);}_0x66d5af[_0xb657('0x37')]=qs[_0xb657('0x38')](_0x37a5af[_0xb657('0x2e')]['sort']);_0x66d5af['where']=qs[_0xb657('0x30')](_[_0xb657('0x39')](_0x37a5af[_0xb657('0x2e')],_0x3be5de[_0xb657('0x30')]),_0x410a93);if(_0x37a5af[_0xb657('0x2e')][_0xb657('0x3a')]){_0x66d5af['where']=_[_0xb657('0x3b')](_0x66d5af['where'],{'$or':_[_0xb657('0x28')](_0x410a93,function(_0xb37c21){if(_0xb37c21[_0xb657('0x2c')]!==_0xb657('0x3c')){var _0x3e854e={};_0x3e854e[_0xb37c21['name']]={'$like':'%'+_0x37a5af[_0xb657('0x2e')][_0xb657('0x3a')]+'%'};return _0x3e854e;}})});}_0x66d5af=_[_0xb657('0x3b')]({},_0x66d5af,_0x37a5af[_0xb657('0x3d')]);var _0x53941c={'where':_0x66d5af[_0xb657('0x3e')]};return db[_0xb657('0x29')][_0xb657('0x1e')](_0x53941c)[_0xb657('0x21')](function(_0x229f48){_0x291a32['count']=_0x229f48;if(_0x37a5af[_0xb657('0x2e')]['includeAll']){_0x66d5af[_0xb657('0x3f')]=[{'all':!![]}];}return db['FreshdeskField'][_0xb657('0x40')](_0x66d5af);})[_0xb657('0x21')](function(_0x2397c3){_0x291a32[_0xb657('0x41')]=_0x2397c3;return _0x291a32;})[_0xb657('0x21')](respondWithFilteredResult(_0xba9c05,_0x66d5af))[_0xb657('0x42')](handleError(_0xba9c05,null));};exports['show']=function(_0x199b64,_0x3583f1){var _0x22b735={'raw':!![],'where':{'id':_0x199b64[_0xb657('0x43')]['id']}},_0x5c9c67={};_0x5c9c67[_0xb657('0x32')]=_[_0xb657('0x2f')](db[_0xb657('0x29')][_0xb657('0x2a')]);_0x5c9c67[_0xb657('0x2e')]=_[_0xb657('0x2f')](_0x199b64[_0xb657('0x2e')]);_0x5c9c67[_0xb657('0x30')]=_['intersection'](_0x5c9c67[_0xb657('0x32')],_0x5c9c67['query']);_0x22b735[_0xb657('0x33')]=_[_0xb657('0x31')](_0x5c9c67['model'],qs[_0xb657('0x34')](_0x199b64['query']['fields']));_0x22b735[_0xb657('0x33')]=_0x22b735[_0xb657('0x33')][_0xb657('0x35')]?_0x22b735[_0xb657('0x33')]:_0x5c9c67['model'];if(_0x199b64[_0xb657('0x2e')][_0xb657('0x44')]){_0x22b735[_0xb657('0x3f')]=[{'all':!![]}];}_0x22b735=_[_0xb657('0x3b')]({},_0x22b735,_0x199b64[_0xb657('0x3d')]);return db['FreshdeskField'][_0xb657('0x45')](_0x22b735)['then'](handleEntityNotFound(_0x3583f1,null))['then'](respondWithResult(_0x3583f1,null))['catch'](handleError(_0x3583f1,null));};exports[_0xb657('0x46')]=function(_0x4a4a38,_0x2367aa){return db[_0xb657('0x29')][_0xb657('0x46')](_0x4a4a38['body'],{})[_0xb657('0x21')](respondWithResult(_0x2367aa,0xc9))[_0xb657('0x42')](handleError(_0x2367aa,null));};exports[_0xb657('0x20')]=function(_0x8178df,_0x2b957b){if(_0x8178df[_0xb657('0x47')]['id']){delete _0x8178df['body']['id'];}return db[_0xb657('0x29')][_0xb657('0x45')]({'where':{'id':_0x8178df['params']['id']}})[_0xb657('0x21')](handleEntityNotFound(_0x2b957b,null))['then'](saveUpdates(_0x8178df[_0xb657('0x47')],null))['then'](respondWithResult(_0x2b957b,null))[_0xb657('0x42')](handleError(_0x2b957b,null));};exports['destroy']=function(_0x385228,_0x5b6e64){return db[_0xb657('0x29')][_0xb657('0x45')]({'where':{'id':_0x385228[_0xb657('0x43')]['id']}})[_0xb657('0x21')](handleEntityNotFound(_0x5b6e64,null))[_0xb657('0x21')](removeEntity(_0x5b6e64,null))['catch'](handleError(_0x5b6e64,null));};