Built motion from commit (unavailable).|2.4.20
[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 _0x5a9f=['includeAll','include','findAll','rows','catch','show','params','options','find','body','html-pdf','eml-format','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','end','json','count','offset','set','apply','reject','save','update','then','destroy','error','name','send','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','type','merge','FreshdeskField'];(function(_0x18b4bb,_0x3f638e){var _0x445f0f=function(_0x555bd6){while(--_0x555bd6){_0x18b4bb['push'](_0x18b4bb['shift']());}};_0x445f0f(++_0x3f638e);}(_0x5a9f,0x1e6));var _0xf5a9=function(_0x1003e7,_0x54af3b){_0x1003e7=_0x1003e7-0x0;var _0x1df45c=_0x5a9f[_0x1003e7];return _0x1df45c;};'use strict';var pdf=require(_0xf5a9('0x0'));var emlformat=require(_0xf5a9('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xf5a9('0x2'));var jsonpatch=require(_0xf5a9('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xf5a9('0x4'));var Mustache=require(_0xf5a9('0x5'));var util=require(_0xf5a9('0x6'));var path=require(_0xf5a9('0x7'));var sox=require(_0xf5a9('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xf5a9('0x9'));var jsforce=require(_0xf5a9('0xa'));var deskjs=require(_0xf5a9('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xf5a9('0xc'));var Redis=require(_0xf5a9('0xd'));var authService=require(_0xf5a9('0xe'));var qs=require(_0xf5a9('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf5a9('0x10'));var logger=require(_0xf5a9('0x11'))(_0xf5a9('0x12'));var utils=require('../../config/utils');var config=require(_0xf5a9('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5e03c8,_0x23fd26){_0x23fd26=_0x23fd26||0xcc;return function(_0x45d8d7){if(_0x45d8d7){return _0x5e03c8[_0xf5a9('0x14')](_0x23fd26);}return _0x5e03c8[_0xf5a9('0x15')](_0x23fd26)[_0xf5a9('0x16')]();};}function respondWithResult(_0x57bc2f,_0x3970f1){_0x3970f1=_0x3970f1||0xc8;return function(_0x392a17){if(_0x392a17){return _0x57bc2f[_0xf5a9('0x15')](_0x3970f1)[_0xf5a9('0x17')](_0x392a17);}};}function respondWithFilteredResult(_0x2c2754,_0x1e834b){return function(_0x572675){if(_0x572675){var _0xc95528=_0x572675[_0xf5a9('0x18')],_0x44a733=_0x1e834b[_0xf5a9('0x19')],_0x561767=_0x1e834b['offset']+_0x1e834b['limit'],_0x423489;if(_0x561767>=_0xc95528){_0x561767=_0xc95528;_0x423489=0xc8;}else{_0x423489=0xce;}_0x2c2754[_0xf5a9('0x15')](_0x423489);return _0x2c2754[_0xf5a9('0x1a')]('Content-Range',_0x44a733+'-'+_0x561767+'/'+_0xc95528)[_0xf5a9('0x17')](_0x572675);}return null;};}function patchUpdates(_0x23d601){return function(_0x5b2933){try{jsonpatch[_0xf5a9('0x1b')](_0x5b2933,_0x23d601,!![]);}catch(_0x5c9d99){return BPromise[_0xf5a9('0x1c')](_0x5c9d99);}return _0x5b2933[_0xf5a9('0x1d')]();};}function saveUpdates(_0xc9397b,_0x44441b){return function(_0x92de5f){if(_0x92de5f){return _0x92de5f[_0xf5a9('0x1e')](_0xc9397b)[_0xf5a9('0x1f')](function(_0x5ea7a7){return _0x5ea7a7;});}return null;};}function removeEntity(_0x548cc2,_0x12b8c4){return function(_0x1a0d5e){if(_0x1a0d5e){return _0x1a0d5e[_0xf5a9('0x20')]()[_0xf5a9('0x1f')](function(){_0x548cc2['status'](0xcc)[_0xf5a9('0x16')]();});}};}function handleEntityNotFound(_0x517e21,_0x5cffab){return function(_0x150a4b){if(!_0x150a4b){_0x517e21[_0xf5a9('0x14')](0x194);}return _0x150a4b;};}function handleError(_0x4a212c,_0x35758d){_0x35758d=_0x35758d||0x1f4;return function(_0x466fd5){logger[_0xf5a9('0x21')](_0x466fd5['stack']);if(_0x466fd5[_0xf5a9('0x22')]){delete _0x466fd5[_0xf5a9('0x22')];}_0x4a212c[_0xf5a9('0x15')](_0x35758d)[_0xf5a9('0x23')](_0x466fd5);};}exports['index']=function(_0x201ce1,_0x496d41){var _0x134b3f={},_0x37f42e={},_0x13641c={'count':0x0,'rows':[]};var _0x47c061=_[_0xf5a9('0x24')](db['FreshdeskField'][_0xf5a9('0x25')],function(_0x278b82){return{'name':_0x278b82[_0xf5a9('0x26')],'type':_0x278b82['type'][_0xf5a9('0x27')]};});_0x37f42e[_0xf5a9('0x28')]=_['map'](_0x47c061,'name');_0x37f42e[_0xf5a9('0x29')]=_[_0xf5a9('0x2a')](_0x201ce1[_0xf5a9('0x29')]);_0x37f42e[_0xf5a9('0x2b')]=_[_0xf5a9('0x2c')](_0x37f42e[_0xf5a9('0x28')],_0x37f42e['query']);_0x134b3f[_0xf5a9('0x2d')]=_[_0xf5a9('0x2c')](_0x37f42e[_0xf5a9('0x28')],qs[_0xf5a9('0x2e')](_0x201ce1['query'][_0xf5a9('0x2e')]));_0x134b3f[_0xf5a9('0x2d')]=_0x134b3f['attributes'][_0xf5a9('0x2f')]?_0x134b3f[_0xf5a9('0x2d')]:_0x37f42e[_0xf5a9('0x28')];if(!_0x201ce1[_0xf5a9('0x29')][_0xf5a9('0x30')](_0xf5a9('0x31'))){_0x134b3f[_0xf5a9('0x32')]=qs[_0xf5a9('0x32')](_0x201ce1['query'][_0xf5a9('0x32')]);_0x134b3f[_0xf5a9('0x19')]=qs[_0xf5a9('0x19')](_0x201ce1[_0xf5a9('0x29')]['offset']);}_0x134b3f[_0xf5a9('0x33')]=qs['sort'](_0x201ce1[_0xf5a9('0x29')][_0xf5a9('0x34')]);_0x134b3f[_0xf5a9('0x35')]=qs[_0xf5a9('0x2b')](_['pick'](_0x201ce1[_0xf5a9('0x29')],_0x37f42e[_0xf5a9('0x2b')]));if(_0x201ce1[_0xf5a9('0x29')][_0xf5a9('0x36')]){_0x134b3f[_0xf5a9('0x35')]=_['merge'](_0x134b3f[_0xf5a9('0x35')],{'$or':_['map'](_0x47c061,function(_0x132cbb){if(_0x132cbb[_0xf5a9('0x37')]!=='VIRTUAL'){var _0xa7cd43={};_0xa7cd43[_0x132cbb[_0xf5a9('0x22')]]={'$like':'%'+_0x201ce1['query'][_0xf5a9('0x36')]+'%'};return _0xa7cd43;}})});}_0x134b3f=_[_0xf5a9('0x38')]({},_0x134b3f,_0x201ce1['options']);var _0xd35bf8={'where':_0x134b3f[_0xf5a9('0x35')]};return db[_0xf5a9('0x39')][_0xf5a9('0x18')](_0xd35bf8)['then'](function(_0x88dd2){_0x13641c[_0xf5a9('0x18')]=_0x88dd2;if(_0x201ce1['query'][_0xf5a9('0x3a')]){_0x134b3f[_0xf5a9('0x3b')]=[{'all':!![]}];}return db[_0xf5a9('0x39')][_0xf5a9('0x3c')](_0x134b3f);})['then'](function(_0x13f1ba){_0x13641c[_0xf5a9('0x3d')]=_0x13f1ba;return _0x13641c;})['then'](respondWithFilteredResult(_0x496d41,_0x134b3f))[_0xf5a9('0x3e')](handleError(_0x496d41,null));};exports[_0xf5a9('0x3f')]=function(_0x5a241b,_0x2c9535){var _0x1e627c={'raw':!![],'where':{'id':_0x5a241b[_0xf5a9('0x40')]['id']}},_0x4f0bf4={};_0x4f0bf4[_0xf5a9('0x28')]=_['keys'](db[_0xf5a9('0x39')][_0xf5a9('0x25')]);_0x4f0bf4[_0xf5a9('0x29')]=_['keys'](_0x5a241b[_0xf5a9('0x29')]);_0x4f0bf4[_0xf5a9('0x2b')]=_[_0xf5a9('0x2c')](_0x4f0bf4[_0xf5a9('0x28')],_0x4f0bf4['query']);_0x1e627c[_0xf5a9('0x2d')]=_['intersection'](_0x4f0bf4[_0xf5a9('0x28')],qs['fields'](_0x5a241b[_0xf5a9('0x29')][_0xf5a9('0x2e')]));_0x1e627c['attributes']=_0x1e627c[_0xf5a9('0x2d')][_0xf5a9('0x2f')]?_0x1e627c['attributes']:_0x4f0bf4[_0xf5a9('0x28')];if(_0x5a241b[_0xf5a9('0x29')][_0xf5a9('0x3a')]){_0x1e627c[_0xf5a9('0x3b')]=[{'all':!![]}];}_0x1e627c=_[_0xf5a9('0x38')]({},_0x1e627c,_0x5a241b[_0xf5a9('0x41')]);return db[_0xf5a9('0x39')][_0xf5a9('0x42')](_0x1e627c)[_0xf5a9('0x1f')](handleEntityNotFound(_0x2c9535,null))[_0xf5a9('0x1f')](respondWithResult(_0x2c9535,null))[_0xf5a9('0x3e')](handleError(_0x2c9535,null));};exports['create']=function(_0x4bf43f,_0x700d31){return db['FreshdeskField']['create'](_0x4bf43f[_0xf5a9('0x43')],{})[_0xf5a9('0x1f')](respondWithResult(_0x700d31,0xc9))[_0xf5a9('0x3e')](handleError(_0x700d31,null));};exports[_0xf5a9('0x1e')]=function(_0x1b6db9,_0x1aa31b){if(_0x1b6db9[_0xf5a9('0x43')]['id']){delete _0x1b6db9[_0xf5a9('0x43')]['id'];}return db[_0xf5a9('0x39')][_0xf5a9('0x42')]({'where':{'id':_0x1b6db9['params']['id']}})[_0xf5a9('0x1f')](handleEntityNotFound(_0x1aa31b,null))[_0xf5a9('0x1f')](saveUpdates(_0x1b6db9[_0xf5a9('0x43')],null))[_0xf5a9('0x1f')](respondWithResult(_0x1aa31b,null))['catch'](handleError(_0x1aa31b,null));};exports[_0xf5a9('0x20')]=function(_0x519667,_0x58a36b){return db[_0xf5a9('0x39')]['find']({'where':{'id':_0x519667[_0xf5a9('0x40')]['id']}})['then'](handleEntityNotFound(_0x58a36b,null))[_0xf5a9('0x1f')](removeEntity(_0x58a36b,null))[_0xf5a9('0x3e')](handleError(_0x58a36b,null));};