Built motion from commit 14588770.|2.5.38
[motion2.git] / server / api / intDeskField / intDeskField.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 _0x3e26=['filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','options','includeAll','rows','catch','show','params','include','create','update','body','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','save','then','stack','name','index','map','DeskField','fieldName','key','query','keys'];(function(_0x4f426d,_0x1fea33){var _0x2a6263=function(_0x18b9ae){while(--_0x18b9ae){_0x4f426d['push'](_0x4f426d['shift']());}};_0x2a6263(++_0x1fea33);}(_0x3e26,0xed));var _0x63e2=function(_0x1734a8,_0x24987e){_0x1734a8=_0x1734a8-0x0;var _0x3ab0d1=_0x3e26[_0x1734a8];return _0x3ab0d1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x63e2('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x63e2('0x1'));var rp=require(_0x63e2('0x2'));var moment=require(_0x63e2('0x3'));var BPromise=require(_0x63e2('0x4'));var Mustache=require(_0x63e2('0x5'));var util=require(_0x63e2('0x6'));var path=require(_0x63e2('0x7'));var sox=require(_0x63e2('0x8'));var csv=require(_0x63e2('0x9'));var ejs=require(_0x63e2('0xa'));var fs=require('fs');var fs_extra=require(_0x63e2('0xb'));var _=require(_0x63e2('0xc'));var squel=require(_0x63e2('0xd'));var crypto=require('crypto');var jsforce=require(_0x63e2('0xe'));var deskjs=require(_0x63e2('0xf'));var toCsv=require(_0x63e2('0x9'));var querystring=require(_0x63e2('0x10'));var Papa=require(_0x63e2('0x11'));var Redis=require('ioredis');var authService=require(_0x63e2('0x12'));var qs=require(_0x63e2('0x13'));var as=require(_0x63e2('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x63e2('0x15'))(_0x63e2('0x16'));var utils=require('../../config/utils');var config=require(_0x63e2('0x17'));var licenseUtil=require(_0x63e2('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3c2fc0,_0x42f74f){_0x42f74f=_0x42f74f||0xcc;return function(_0x37a805){if(_0x37a805){return _0x3c2fc0[_0x63e2('0x19')](_0x42f74f);}return _0x3c2fc0['status'](_0x42f74f)[_0x63e2('0x1a')]();};}function respondWithResult(_0x13e7c4,_0x3b4e81){_0x3b4e81=_0x3b4e81||0xc8;return function(_0x313298){if(_0x313298){return _0x13e7c4['status'](_0x3b4e81)[_0x63e2('0x1b')](_0x313298);}};}function respondWithFilteredResult(_0x3b1ec5,_0x44a6c6){return function(_0x4e0a86){if(_0x4e0a86){var _0x21533a=typeof _0x44a6c6[_0x63e2('0x1c')]===_0x63e2('0x1d')&&typeof _0x44a6c6[_0x63e2('0x1e')]==='undefined';var _0x4eea95=_0x4e0a86[_0x63e2('0x1f')];var _0x353227=_0x21533a?0x0:_0x44a6c6[_0x63e2('0x1c')];var _0x496c4d=_0x21533a?_0x4e0a86[_0x63e2('0x1f')]:_0x44a6c6[_0x63e2('0x1c')]+_0x44a6c6[_0x63e2('0x1e')];var _0x2889c2;if(_0x496c4d>=_0x4eea95){_0x496c4d=_0x4eea95;_0x2889c2=0xc8;}else{_0x2889c2=0xce;}_0x3b1ec5[_0x63e2('0x20')](_0x2889c2);return _0x3b1ec5[_0x63e2('0x21')](_0x63e2('0x22'),_0x353227+'-'+_0x496c4d+'/'+_0x4eea95)[_0x63e2('0x1b')](_0x4e0a86);}return null;};}function patchUpdates(_0x11623b){return function(_0x4a4a45){try{jsonpatch[_0x63e2('0x23')](_0x4a4a45,_0x11623b,!![]);}catch(_0x433884){return BPromise['reject'](_0x433884);}return _0x4a4a45[_0x63e2('0x24')]();};}function saveUpdates(_0x5d3e0,_0x4d80aa){return function(_0x4e774d){if(_0x4e774d){return _0x4e774d['update'](_0x5d3e0)[_0x63e2('0x25')](function(_0x45ea41){return _0x45ea41;});}return null;};}function removeEntity(_0x30cab3,_0x2a473e){return function(_0x36ead9){if(_0x36ead9){return _0x36ead9['destroy']()['then'](function(){_0x30cab3['status'](0xcc)[_0x63e2('0x1a')]();});}};}function handleEntityNotFound(_0x1373bb,_0x1baa56){return function(_0x5da753){if(!_0x5da753){_0x1373bb[_0x63e2('0x19')](0x194);}return _0x5da753;};}function handleError(_0x1fe923,_0x5ec82f){_0x5ec82f=_0x5ec82f||0x1f4;return function(_0x411208){logger['error'](_0x411208[_0x63e2('0x26')]);if(_0x411208[_0x63e2('0x27')]){delete _0x411208[_0x63e2('0x27')];}_0x1fe923[_0x63e2('0x20')](_0x5ec82f)['send'](_0x411208);};}exports[_0x63e2('0x28')]=function(_0x5878dc,_0x4d1150){var _0x164298={},_0x2dd96f={},_0x227678={'count':0x0,'rows':[]};var _0x445d26=_[_0x63e2('0x29')](db[_0x63e2('0x2a')]['rawAttributes'],function(_0x3b23c7){return{'name':_0x3b23c7[_0x63e2('0x2b')],'type':_0x3b23c7['type'][_0x63e2('0x2c')]};});_0x2dd96f['model']=_[_0x63e2('0x29')](_0x445d26,_0x63e2('0x27'));_0x2dd96f[_0x63e2('0x2d')]=_[_0x63e2('0x2e')](_0x5878dc[_0x63e2('0x2d')]);_0x2dd96f[_0x63e2('0x2f')]=_['intersection'](_0x2dd96f[_0x63e2('0x30')],_0x2dd96f[_0x63e2('0x2d')]);_0x164298[_0x63e2('0x31')]=_[_0x63e2('0x32')](_0x2dd96f['model'],qs['fields'](_0x5878dc[_0x63e2('0x2d')][_0x63e2('0x33')]));_0x164298['attributes']=_0x164298[_0x63e2('0x31')][_0x63e2('0x34')]?_0x164298[_0x63e2('0x31')]:_0x2dd96f[_0x63e2('0x30')];if(!_0x5878dc[_0x63e2('0x2d')][_0x63e2('0x35')](_0x63e2('0x36'))){_0x164298[_0x63e2('0x1e')]=qs[_0x63e2('0x1e')](_0x5878dc[_0x63e2('0x2d')]['limit']);_0x164298[_0x63e2('0x1c')]=qs[_0x63e2('0x1c')](_0x5878dc[_0x63e2('0x2d')][_0x63e2('0x1c')]);}_0x164298[_0x63e2('0x37')]=qs[_0x63e2('0x38')](_0x5878dc[_0x63e2('0x2d')][_0x63e2('0x38')]);_0x164298[_0x63e2('0x39')]=qs['filters'](_['pick'](_0x5878dc[_0x63e2('0x2d')],_0x2dd96f['filters']),_0x445d26);if(_0x5878dc[_0x63e2('0x2d')][_0x63e2('0x3a')]){_0x164298[_0x63e2('0x39')]=_[_0x63e2('0x3b')](_0x164298[_0x63e2('0x39')],{'$or':_['map'](_0x445d26,function(_0x58a803){if(_0x58a803[_0x63e2('0x3c')]!=='VIRTUAL'){var _0x2aa1a3={};_0x2aa1a3[_0x58a803[_0x63e2('0x27')]]={'$like':'%'+_0x5878dc[_0x63e2('0x2d')][_0x63e2('0x3a')]+'%'};return _0x2aa1a3;}})});}_0x164298=_['merge']({},_0x164298,_0x5878dc[_0x63e2('0x3d')]);var _0x38191e={'where':_0x164298['where']};return db[_0x63e2('0x2a')][_0x63e2('0x1f')](_0x38191e)['then'](function(_0x7d4d6e){_0x227678['count']=_0x7d4d6e;if(_0x5878dc[_0x63e2('0x2d')][_0x63e2('0x3e')]){_0x164298['include']=[{'all':!![]}];}return db[_0x63e2('0x2a')]['findAll'](_0x164298);})[_0x63e2('0x25')](function(_0x5bd5af){_0x227678[_0x63e2('0x3f')]=_0x5bd5af;return _0x227678;})[_0x63e2('0x25')](respondWithFilteredResult(_0x4d1150,_0x164298))[_0x63e2('0x40')](handleError(_0x4d1150,null));};exports[_0x63e2('0x41')]=function(_0x386977,_0x25e18c){var _0x4a3d24={'raw':!![],'where':{'id':_0x386977[_0x63e2('0x42')]['id']}},_0x4f7afc={};_0x4f7afc['model']=_['keys'](db['DeskField']['rawAttributes']);_0x4f7afc[_0x63e2('0x2d')]=_[_0x63e2('0x2e')](_0x386977[_0x63e2('0x2d')]);_0x4f7afc[_0x63e2('0x2f')]=_[_0x63e2('0x32')](_0x4f7afc['model'],_0x4f7afc[_0x63e2('0x2d')]);_0x4a3d24['attributes']=_[_0x63e2('0x32')](_0x4f7afc['model'],qs[_0x63e2('0x33')](_0x386977[_0x63e2('0x2d')]['fields']));_0x4a3d24[_0x63e2('0x31')]=_0x4a3d24[_0x63e2('0x31')][_0x63e2('0x34')]?_0x4a3d24['attributes']:_0x4f7afc[_0x63e2('0x30')];if(_0x386977[_0x63e2('0x2d')][_0x63e2('0x3e')]){_0x4a3d24[_0x63e2('0x43')]=[{'all':!![]}];}_0x4a3d24=_['merge']({},_0x4a3d24,_0x386977['options']);return db[_0x63e2('0x2a')]['find'](_0x4a3d24)['then'](handleEntityNotFound(_0x25e18c,null))[_0x63e2('0x25')](respondWithResult(_0x25e18c,null))[_0x63e2('0x40')](handleError(_0x25e18c,null));};exports['create']=function(_0x1e16e2,_0x305a75){return db[_0x63e2('0x2a')][_0x63e2('0x44')](_0x1e16e2['body'],{})[_0x63e2('0x25')](respondWithResult(_0x305a75,0xc9))['catch'](handleError(_0x305a75,null));};exports[_0x63e2('0x45')]=function(_0x50df69,_0x44c8ff){if(_0x50df69['body']['id']){delete _0x50df69[_0x63e2('0x46')]['id'];}return db[_0x63e2('0x2a')]['find']({'where':{'id':_0x50df69['params']['id']}})['then'](handleEntityNotFound(_0x44c8ff,null))[_0x63e2('0x25')](saveUpdates(_0x50df69[_0x63e2('0x46')],null))['then'](respondWithResult(_0x44c8ff,null))[_0x63e2('0x40')](handleError(_0x44c8ff,null));};exports['destroy']=function(_0x5e4896,_0x7e827d){return db[_0x63e2('0x2a')]['find']({'where':{'id':_0x5e4896[_0x63e2('0x42')]['id']}})[_0x63e2('0x25')](handleEntityNotFound(_0x7e827d,null))['then'](removeEntity(_0x7e827d,null))[_0x63e2('0x40')](handleError(_0x7e827d,null));};