Built motion from commit 9d7072cc.|2.5.39
[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 _0xc368=['sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','destroy','then','error','name','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','FreshdeskField','include','findAll','rows','catch','show','params','includeAll','options','find','create','body','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x32e803,_0xb4641e){var _0x50e9bd=function(_0x8c07df){while(--_0x8c07df){_0x32e803['push'](_0x32e803['shift']());}};_0x50e9bd(++_0xb4641e);}(_0xc368,0x7b));var _0x8c36=function(_0x9cacc,_0x131a39){_0x9cacc=_0x9cacc-0x0;var _0x1d3716=_0xc368[_0x9cacc];return _0x1d3716;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8c36('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8c36('0x1'));var rp=require(_0x8c36('0x2'));var moment=require(_0x8c36('0x3'));var BPromise=require(_0x8c36('0x4'));var Mustache=require(_0x8c36('0x5'));var util=require('util');var path=require(_0x8c36('0x6'));var sox=require(_0x8c36('0x7'));var csv=require(_0x8c36('0x8'));var ejs=require(_0x8c36('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8c36('0xa'));var crypto=require(_0x8c36('0xb'));var jsforce=require(_0x8c36('0xc'));var deskjs=require(_0x8c36('0xd'));var toCsv=require(_0x8c36('0x8'));var querystring=require(_0x8c36('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8c36('0xf'));var as=require(_0x8c36('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8c36('0x11'))(_0x8c36('0x12'));var utils=require(_0x8c36('0x13'));var config=require(_0x8c36('0x14'));var licenseUtil=require(_0x8c36('0x15'));var db=require(_0x8c36('0x16'))['db'];function respondWithStatusCode(_0xa09884,_0x23eb71){_0x23eb71=_0x23eb71||0xcc;return function(_0x205d5c){if(_0x205d5c){return _0xa09884[_0x8c36('0x17')](_0x23eb71);}return _0xa09884[_0x8c36('0x18')](_0x23eb71)[_0x8c36('0x19')]();};}function respondWithResult(_0x3c824b,_0x220f18){_0x220f18=_0x220f18||0xc8;return function(_0x5dfcd5){if(_0x5dfcd5){return _0x3c824b[_0x8c36('0x18')](_0x220f18)['json'](_0x5dfcd5);}};}function respondWithFilteredResult(_0xea7509,_0x3f83aa){return function(_0x29e791){if(_0x29e791){var _0x1fc68e=typeof _0x3f83aa[_0x8c36('0x1a')]===_0x8c36('0x1b')&&typeof _0x3f83aa[_0x8c36('0x1c')]===_0x8c36('0x1b');var _0x30229e=_0x29e791['count'];var _0x2be9b0=_0x1fc68e?0x0:_0x3f83aa[_0x8c36('0x1a')];var _0x47832a=_0x1fc68e?_0x29e791[_0x8c36('0x1d')]:_0x3f83aa[_0x8c36('0x1a')]+_0x3f83aa['limit'];var _0x15100f;if(_0x47832a>=_0x30229e){_0x47832a=_0x30229e;_0x15100f=0xc8;}else{_0x15100f=0xce;}_0xea7509[_0x8c36('0x18')](_0x15100f);return _0xea7509[_0x8c36('0x1e')](_0x8c36('0x1f'),_0x2be9b0+'-'+_0x47832a+'/'+_0x30229e)[_0x8c36('0x20')](_0x29e791);}return null;};}function patchUpdates(_0x2b07ad){return function(_0xfb9763){try{jsonpatch[_0x8c36('0x21')](_0xfb9763,_0x2b07ad,!![]);}catch(_0x153735){return BPromise[_0x8c36('0x22')](_0x153735);}return _0xfb9763[_0x8c36('0x23')]();};}function saveUpdates(_0x14ee6b,_0x46645d){return function(_0x51fd6c){if(_0x51fd6c){return _0x51fd6c['update'](_0x14ee6b)['then'](function(_0x55b844){return _0x55b844;});}return null;};}function removeEntity(_0x2269f5,_0x7effb8){return function(_0x2088aa){if(_0x2088aa){return _0x2088aa[_0x8c36('0x24')]()[_0x8c36('0x25')](function(){_0x2269f5[_0x8c36('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1d39ca,_0x49f6f9){return function(_0x40b66f){if(!_0x40b66f){_0x1d39ca['sendStatus'](0x194);}return _0x40b66f;};}function handleError(_0x10613e,_0x1afee4){_0x1afee4=_0x1afee4||0x1f4;return function(_0x271ec4){logger[_0x8c36('0x26')](_0x271ec4['stack']);if(_0x271ec4['name']){delete _0x271ec4[_0x8c36('0x27')];}_0x10613e[_0x8c36('0x18')](_0x1afee4)['send'](_0x271ec4);};}exports['index']=function(_0x418663,_0x2b5a8c){var _0x502fa3={},_0x1280a1={},_0xb29f20={'count':0x0,'rows':[]};var _0x3ca98e=_['map'](db['FreshdeskField'][_0x8c36('0x28')],function(_0x1531fc){return{'name':_0x1531fc[_0x8c36('0x29')],'type':_0x1531fc[_0x8c36('0x2a')][_0x8c36('0x2b')]};});_0x1280a1[_0x8c36('0x2c')]=_[_0x8c36('0x2d')](_0x3ca98e,_0x8c36('0x27'));_0x1280a1[_0x8c36('0x2e')]=_[_0x8c36('0x2f')](_0x418663[_0x8c36('0x2e')]);_0x1280a1[_0x8c36('0x30')]=_[_0x8c36('0x31')](_0x1280a1[_0x8c36('0x2c')],_0x1280a1[_0x8c36('0x2e')]);_0x502fa3[_0x8c36('0x32')]=_[_0x8c36('0x31')](_0x1280a1['model'],qs['fields'](_0x418663['query'][_0x8c36('0x33')]));_0x502fa3[_0x8c36('0x32')]=_0x502fa3[_0x8c36('0x32')][_0x8c36('0x34')]?_0x502fa3[_0x8c36('0x32')]:_0x1280a1[_0x8c36('0x2c')];if(!_0x418663[_0x8c36('0x2e')]['hasOwnProperty'](_0x8c36('0x35'))){_0x502fa3['limit']=qs[_0x8c36('0x1c')](_0x418663['query'][_0x8c36('0x1c')]);_0x502fa3[_0x8c36('0x1a')]=qs[_0x8c36('0x1a')](_0x418663['query'][_0x8c36('0x1a')]);}_0x502fa3[_0x8c36('0x36')]=qs[_0x8c36('0x37')](_0x418663[_0x8c36('0x2e')][_0x8c36('0x37')]);_0x502fa3[_0x8c36('0x38')]=qs[_0x8c36('0x30')](_[_0x8c36('0x39')](_0x418663[_0x8c36('0x2e')],_0x1280a1[_0x8c36('0x30')]),_0x3ca98e);if(_0x418663[_0x8c36('0x2e')][_0x8c36('0x3a')]){_0x502fa3[_0x8c36('0x38')]=_[_0x8c36('0x3b')](_0x502fa3[_0x8c36('0x38')],{'$or':_[_0x8c36('0x2d')](_0x3ca98e,function(_0x292b5f){if(_0x292b5f['type']!==_0x8c36('0x3c')){var _0x5ee15b={};_0x5ee15b[_0x292b5f[_0x8c36('0x27')]]={'$like':'%'+_0x418663[_0x8c36('0x2e')][_0x8c36('0x3a')]+'%'};return _0x5ee15b;}})});}_0x502fa3=_[_0x8c36('0x3b')]({},_0x502fa3,_0x418663['options']);var _0x5a50d6={'where':_0x502fa3[_0x8c36('0x38')]};return db[_0x8c36('0x3d')][_0x8c36('0x1d')](_0x5a50d6)['then'](function(_0x4f6f06){_0xb29f20[_0x8c36('0x1d')]=_0x4f6f06;if(_0x418663['query']['includeAll']){_0x502fa3[_0x8c36('0x3e')]=[{'all':!![]}];}return db[_0x8c36('0x3d')][_0x8c36('0x3f')](_0x502fa3);})[_0x8c36('0x25')](function(_0x2a0272){_0xb29f20[_0x8c36('0x40')]=_0x2a0272;return _0xb29f20;})[_0x8c36('0x25')](respondWithFilteredResult(_0x2b5a8c,_0x502fa3))[_0x8c36('0x41')](handleError(_0x2b5a8c,null));};exports[_0x8c36('0x42')]=function(_0xb65040,_0x508ed9){var _0x3543b0={'raw':!![],'where':{'id':_0xb65040[_0x8c36('0x43')]['id']}},_0x24505c={};_0x24505c[_0x8c36('0x2c')]=_[_0x8c36('0x2f')](db['FreshdeskField'][_0x8c36('0x28')]);_0x24505c[_0x8c36('0x2e')]=_[_0x8c36('0x2f')](_0xb65040[_0x8c36('0x2e')]);_0x24505c[_0x8c36('0x30')]=_[_0x8c36('0x31')](_0x24505c['model'],_0x24505c[_0x8c36('0x2e')]);_0x3543b0[_0x8c36('0x32')]=_[_0x8c36('0x31')](_0x24505c[_0x8c36('0x2c')],qs[_0x8c36('0x33')](_0xb65040[_0x8c36('0x2e')][_0x8c36('0x33')]));_0x3543b0['attributes']=_0x3543b0[_0x8c36('0x32')][_0x8c36('0x34')]?_0x3543b0[_0x8c36('0x32')]:_0x24505c[_0x8c36('0x2c')];if(_0xb65040[_0x8c36('0x2e')][_0x8c36('0x44')]){_0x3543b0[_0x8c36('0x3e')]=[{'all':!![]}];}_0x3543b0=_[_0x8c36('0x3b')]({},_0x3543b0,_0xb65040[_0x8c36('0x45')]);return db[_0x8c36('0x3d')][_0x8c36('0x46')](_0x3543b0)[_0x8c36('0x25')](handleEntityNotFound(_0x508ed9,null))['then'](respondWithResult(_0x508ed9,null))['catch'](handleError(_0x508ed9,null));};exports[_0x8c36('0x47')]=function(_0x476b51,_0xd46608){return db[_0x8c36('0x3d')]['create'](_0x476b51[_0x8c36('0x48')],{})[_0x8c36('0x25')](respondWithResult(_0xd46608,0xc9))['catch'](handleError(_0xd46608,null));};exports['update']=function(_0x4edf8e,_0xb4ebae){if(_0x4edf8e[_0x8c36('0x48')]['id']){delete _0x4edf8e[_0x8c36('0x48')]['id'];}return db[_0x8c36('0x3d')][_0x8c36('0x46')]({'where':{'id':_0x4edf8e[_0x8c36('0x43')]['id']}})['then'](handleEntityNotFound(_0xb4ebae,null))[_0x8c36('0x25')](saveUpdates(_0x4edf8e[_0x8c36('0x48')],null))[_0x8c36('0x25')](respondWithResult(_0xb4ebae,null))[_0x8c36('0x41')](handleError(_0xb4ebae,null));};exports['destroy']=function(_0x5e668d,_0x599116){return db[_0x8c36('0x3d')][_0x8c36('0x46')]({'where':{'id':_0x5e668d[_0x8c36('0x43')]['id']}})[_0x8c36('0x25')](handleEntityNotFound(_0x599116,null))[_0x8c36('0x25')](removeEntity(_0x599116,null))[_0x8c36('0x41')](handleError(_0x599116,null));};